501 karma · joined September 24, 2022
It's very sad to see the road we're on, and to see that these kind of socialist/communist violations of ownership are embraced here on Hacker News. Celebration of the fact that your hard work is now anonymous common property through AI "washing".
The music/art/code you worked hard to build is now "authored" by everyone and their dog.
Highly recommended!
https://bugfix-66.com/50788214f539d50382528e86242eb3c846b03f...
More about the key removal algorithm:
https://bugfix-66.com/1a9b138bf3fc839703afecc4f64c865bdceb21...
Accidental self-poisonings working with minimal safety measures (keeping the window open), etc.
A story from the time before safety mattered.
Site is intended to be like the book Hacker's Delight, but recast into a game.
Or maybe like professional programming, where you're mostly trying to understand/modify other people's code.
Or maybe like programming in a post-GPT3 world where you're checking/fixing a transformer language model's plagiarized/regurgitated code. Our dystopian future.
Later this week I'll add a Hash Treap puzzle (the fastest and simplest balanced binary tree) following up on the reroot and remove-root puzzles (amazing little algorithms that allow treap insertion and removal, top-down, no rotations).
I'll launch the site properly once I have enough puzzles, maybe early next year.
1. (of body tissue or an organ) waste away, especially as a result of the degeneration of cells, or become vestigial during evolution.
"without exercise, the muscles will atrophy"https://en.m.wikipedia.org/wiki/Z-order_curve
The Morton space-filling curve allows, for example, linear representations of 3D voxel spaces for efficient GPU rendering.
Do you understand the mechanism well enough to fix the tiny bug in the Go code?
You have a mechanism that can regurgitate (digest, remix, emit) without attribution all of the world's code and all of the world's art.
With these systems, you're giving everyone the ability to plagiarize everything, effortlessly and unknowingly. No skill, no effort, no time required. No awareness of the sources of the derivative work.
My work is now your work. Everyone can "write" my code, without ever knowing I wrote it, without ever knowing I existed. Everyone can use my hard work, regurgitated anonymously, stripped of all credit, stripped of all attribution, stripped of all identity and ancestry and citation.
It's a new kind of use not known (or imagined?) when the copyright laws were written.
Training must be opt in, not opt out.
Every artist, every creative individual, must EXPLICITLY OPT IN to having their hard work regurgitated anonymously by Copilot or Dall-E or whatever.
If you want to donate your code or your painting or your music so it can easily be "written" or "painted", in whole or in part, by everyone else, without attribution, then go ahead and opt in.
But if an author or artist does not EXPLICITLY OPT IN, you can't use their creative work to train these systems.
All these code/art washing systems, that absorb and mix and regurgitate the hard work of creative people must be strictly opt in.
That's how the law needs to be.
Copilot and Dall-E (and so on) are all bad in the same way.
Many of us agree with you.
Training must be opt in, not opt out.
Every artist, every creative individual, must EXPLICITLY OPT IN to having their hard work regurgitated anonymously by Copilot or Dall-E or whatever.
If you want to donate your code or your painting or your music so it can easily be "written" or "painted", in whole or in part, by everyone else, without attribution, then go ahead and opt in.
But if they don't EXPLICITLY OPT IN, you can't use the artist's or author's creative work for training.
All these code/art washing systems, that absorb and mix and regurgitate the hard work of creative people must be strictly opt in.
Every artist, every creative individual, must EXPLICITLY OPT IN to having their hard work regurgitated anonymously by Copilot or Dall-E or whatever.
If you want to donate your code or your painting or your music, so it can be used ("written", "painted"), in whole or in part, by everyone else, without attribution, then go ahead and opt in.
Otherwise, you can't use the artist's or author's creative work for training.
All these code/art washing systems, that absorb and mix and regurgitate the hard work of creative people must be strictly opt in.
You want to use my code, without ever knowing I wrote it? You want to use my hard work, regurgitated anonymously, stripped of all credit, stripped of all attribution, stripped of all identity and ancestry and citation? FUCK YOU
There's no need to defend something so obviously harmful, so why do you do it?
The law should be amended to make this kind of theft illegal.
It's not ambiguous.
i += i & -i
adds the least-significant bit of i to i. This is not specific to Fenwick trees, it's a very common idiom.Essentially, it doubles the size of the fragment to find the containing fragment. The addition can carry, for example 12+4 = 16 so the next larger fragment can be more than twice as large as the fragment we modified.
The idea is that these puzzles are very simple to fix. But you have to ponder the code (or research it elsewhere) to understand it enough to pinpoint the problem.
To fix the bug, simply change
sum := 0
to sum := f.tree[0]
I think BUGFIX-66 may be too difficult for most people here on Hacker News. Even problem #1, which is almost trivial, is only solved by 2% of people who attempt it!https://bugfix-66.com/834f0677c85b23c0bf1047d3654ab7c27ff054...
at := b.dat[at]
to at = b.dat[at]
to solve the puzzle.Vultr is cheap but flaky. It's good for experiments.
https://bugfix-66.com/7f0f425d3eee8def16e1102d054fd45394d027...
A video explaining how it works:
https://bugfix-66.com/5c92ae4bfe4b19be55b1f8136d7f844b630fa8...
Above is the most efficient known disjoint-set algorithm: Martin Rem's union-find.
if is1 {
to if !is1 {
to fix the bug.And the decoder:
https://bugfix-66.com/618a1b3b0c80f1439a36cd83cd79f3a5e0b34d...
See if you can make the simple fix yourself.
From wikipedia:
Arithmetic coding (AC) is a form of entropy encoding used in data compression. Normally, a string of characters is represented using a fixed number of bits per character, as in the ASCII code. When a string is converted to arithmetic encoding, frequently used characters will be stored with fewer bits and not-so-frequently occurring characters will be stored with more bits, resulting in fewer bits used in total. Arithmetic coding differs from other forms of entropy encoding, such as Huffman coding, in that rather than separating the input into component symbols and replacing each with a code, arithmetic coding encodes the entire message into a single number, an arbitrary-precision fraction q, where 0.0 ≤ q < 1.0. It represents the current information as a range, defined by two numbers.
It's also hard to care about art when you know no human was trying to communicate something.
It's cheap, disposable, and purely derivative.
https://en.m.wikipedia.org/wiki/Bitap_algorithm
Change
maybe := prefixes << 1
to maybe := prefixes<<1 + 1
to fix the bug.There are many experienced developers who (through long experience fighting C++) have come to understand that using a simple language (like Go or C) allows you focus on the algorithms and complexity of the problem you're trying to solve. This is part of the Go culture.
A junior developer might not understand this yet. He's still having fun finding obscure and convoluted contortions of the language that allow him to save little or no effort... not yet realizing that nobody gives a shit and he's wasting his time and the time of his coworkers.
https://www.cec.uchile.cl/cinetica/pcordero/MC_libros/Numeri...
Now I use Go for most purposes, and C or CUDA when appropriate.
Good riddance.