HNHacker News
TopNewBestAskShowJobs

xscott

1,569 karma · joined August 5, 2019

submissionscomments
xscott··on Ask HN: What Terminal apps (via homebrew) support 24 bit color on macOS Tahoe?
If you just want to see the colors in action, here's some some JavaScript you could run with Deno:

    const encoder = new TextEncoder();

    function csi(text, ... args) {
        const filt = args.filter(xx => xx !== null);
        const output = "\x1b[" + filt.join(";") + "m" + text;
        Deno.stdout.writeSync(encoder.encode(output));
    }

    csi("True Color RGB:\n");
    for (let ii = 0; ii<32; ++ii) {
        for (let jj = 0; jj<64; ++jj) {
            const fg_rr = jj*4;
            const fg_bb = ii*8;
            const fg_gg = (fg_rr + 3*fg_bb)>>2;

            const bg_rr = 255 - ii*8;
            const bg_gg = 127;
            const bg_bb = 255 - jj*4;
            csi("+",
                38, 2, fg_rr, fg_gg, fg_bb,
                48, 2, bg_rr, bg_gg, bg_bb,
            );
        }
        csi("\n");
    }
xscott··on God created the real numbers
You don't know if those 9s repeat forever in this problem. It's output from a program, and the program could switch to 3s in 1000 more digits. The "adding" program is reading text digits from two other programs and can't see how they work. It can't assume a bunch of 9s mean there will be more 9s.
xscott··on God created the real numbers
I did say we needed to be careful with the definitions. I'm sure you can look at Wikipedia to see that Minsky gave a definition like I used. You're not wrong to use a new definition though.
xscott··on God created the real numbers
> It seems like you're suggesting that mathematicians replace the reals with the computables.

No, not any more. :-)

I liked the idea a year or two ago, but I've come to believe that even the Integers are too bizarre to worry about. For now, I'm content just playing with fixed and floating point, maybe with arbitrary precision. Stuff I can reason about.

I just think people are a little too casual thinking they are really using the Reals. It might be like Feynman's quote about saying you understand QM.

xscott··on The Lobster Programming Language
I don't know. I wrote a compiler with a syntax that's close to all the curly languages, but different in some ways. ChatGPT had no problem cranking out some test cases after I explained the rules and gave minimal examples. I guarantee it wasn't trained on any source code of my language, because none existed more than two months ago.
xscott··on The Lobster Programming Language
I agree with your point in general, and I'm curious if it's a problem in Lobster. Here's one in Rust:

    let i = 1;
    let j = 1;
    print!("i: {:?}\n", !i);
    print!("j: {:?}\n", !j);

    // pretend there's a lot of code here

    // spooky action at a distance
    let v = vec![1, 2, 3];
    v[i];

You might think those two print statements would print the same value. They do not.
xscott··on God created the real numbers
Are there any operations you can even perform on the computables in the general case? Take addition, it seems simple until you try to add two computable numbers:

      0.59999999999999999999999...
    + 0.00000000000000000000000...
    ------------------------------
      0.?
Until you see a non-nine in that first number, or a non-zero in the second, you can't even emit the first digit of the output. From outside the black box, you don't know if the nines and zeros will stop or continue forever.

I think you can make pathological cases for every arithmetic operation, so maybe (I'm not sure) none of the operations are computable. (Need to be careful with the definitions though, and I'm being pretty sloppy)

xscott··on God created the real numbers
> [...] but there are many things expressible in reals not possible in integers

Are you sure there is anything we can express in the Reals that isn't an integer in disguise?

The first answer might be the sqrt(2) or pi, but we can write a finite program to spit out digits of those forever (assuming a Turing machine with integer positions on a countably infinite length tape). The binary encoding of the program represents the number, and it only needs to be finite, not even an integer at infinity.

Then you might say Chaitin's constant, but that's just a name for one value we don't know and can't figure out. You can approximate it to some number of digits, but that doesn't seem good enough to express it. You can prove a program can't emit all the digits indefinitely. And even if you could, is giving one Real number a name enough? Names are countable, and again arguably finite.

It seems to me we can prove there are more Reals than there are Integer or Computable numbers, but we can't "express" more than a finite number of those which aren't computable. Integers in disguise.

xscott··on The Lobster Programming Language
I had seen Lobster before, but not really looked closely. Seeing it again now, I think I was wrong to dismiss it. Just at the syntactic level with semantics described in the link, it looks like it really might be "Python done right". The link mentions lots of features, but the following bits caught my eye.

The let/var declarations for constants/variables is much better than implicit declaration, which silently hides typos and necessitates ugly global/nonlocal declarations. (Mojo offers this improvement too.)

I don't know for sure, but it seems like it's embraced block arguments comparable to how Ruby or SmallTalk does it. So you can add your own control flow, container visitors, etc. I think of this as another syntax for passing a lambda function as an argument, and I'm curious if Lobster's optimizer flattens it to a basic block when possible.

I think I'll try to learn more about it. I wonder if the name is a nod to Accelerando.

xscott··on Theft is not fair use
I hadn't thought about it before, but I think the nostalgia angle can explain a bunch of the US attitudes. It seems like a lot of people across the spectrum think the 1950s were a better time: The bigots because of race issues, the incels because of sexual expectations, the young generations envying (and resenting) how the boomers "had it easy", and the hippies thinking new technology is ending the world.

I think they're all wrong, but there's no fixing it. Assuming there are no civil or world wars in the near future that radically change the trajectory, China will rise and the US will end up lower on the ladder.

> nostalgia for when Britain was indeed Great

I'm sure you didn't intend it, but that capital G sure sounds a lot like the slogan for a US political party.

xscott··on Theft is not fair use
> Picking at tangential points while avoiding the main argument hmm....

I've tried (and occasionally failed) to avoid the parts of what you wrote which were just the typical flame war bait. And of course I'm guilty of trying to antagonize you in a few places. The topic is interesting, but our conversation about it was not.

I appreciate the link to the UK law, but the rest of this comment thread is mostly two people talking past each other.

xscott··on The U.S. Is Discussing Taking a Stake in Intel
I think one could argue that being able to make chips in the US is a national security concern. Leaving all the politics about who and why out of it, that kind of budget isn't out of the realm of possibility from that angle. Submarines, satellites, and aircraft cost a lot too.

Btw, I'm taking your word for it that it would require that amount of funding. I've wondered why Intel can't dig themselves out of the hole by adapting to the market. From my naive point of view, it sure seems like someone could make matrix multiply / relu chips a lot cheaper than Nvidia prices. I don't think people care much it being CUDA so long as they've got something to wrap up in Tensorflow or PyTorch or whatever.

xscott··on JetBrains working on higher-abstraction programming language
That's a good question, and I certainly don't know the answer. Floats are a bit messy, but I would guess it's solvable.
xscott··on JetBrains working on higher-abstraction programming language
Maybe this will be a good way for users to communicate to the LLMs, but I wonder if it would be better for LLMs to generate code in a more disciplined language. Something like Eiffel with pre/post invariants or Lean/Rocq for provable correctness. Then a rigorous compiler can check the LLM emitted what it promised. The verbosity is unpleasant for conventional human programmers, but it's almost a non-issue for the LLM.
xscott··on Another reason to use expendable email addresses for everything
I'm in a similar boat with slightly different details, but I did get my own domain(s). To me this feels like another single point of failure. Now I'm not just worried about losing access to my email provider - I need to worry about the company managing my MX records too.
xscott··on Theft is not fair use
> Your argument is like saying we shouldn't pay nurses a fair wage because it get's in the way of great care for everyone.

This argument strategy, where you make a strained analogy/metaphor, and then apply it back to the original topic - it's fragile and depends on how comparable the two ideas are. If you're just interested in winning discussions, it's a bad tactic because it opens up a whole new avenue for your opponent to attack.

Can I COPY nurses into equally valuable robots? Because if I can, then yeah - the world would be a MUCH better place with abundant and affordable nurse robots, and the human nurses can go find other jobs. I have some friends who are nurses, and after watching them fight with the medical system for their own health issues, I'm pretty sure they'd agree.

xscott··on Theft is not fair use
> Why is it one or the other?

Because that's how it works in reality. Once the copyright holders get their teeth in something, it gets paywalled. For instance, poor people don't have (free/legal/easy) access to lots of research papers/articles which were paid for with government grants. And copyright industry associations (MPAA, RIAA, CCC, AAP, ...) lobby to extend the laws so that creative works take lifetimes to enter the public domain.

You think you're arguing in favor of the little guy who made a series of blog posts or digital art? That's naive.

> My point is simply that in building the models they have to respect the current laws

So go enforce those laws. The rent seekers will thank you.

xscott··on Theft is not fair use
Yeah, the US is doing some terribly stupid stuff. No disagreement there.

However, the UK might be more relevant if you hadn't withdrawn from the EU. From the outside it sure looks like you guys decided it was more important to keep out the poor people (or other ethnic backgrounds) than to be part of something with actual collective bargaining power.

xscott··on Theft is not fair use
> The UK law is well drafted [...]

From what I read, I agree. However, UK law isn't very relevant to the matter. It's a small market among many that doesn't create the models or much of the content to train them.

xscott··on Theft is not fair use
> Ad hominem attack - great.

No, it was not. You moved the goal posts from artists deserving a livelihood to copyright issues, and I called you out for that.

> Note also that the kid didn't steal the books he learnt from.....

I should note this? I explicitly stated it as part of the hypothetical.

As I said above, there are already laws about copying. If you're sure they broke those laws, maybe you should criticize the powers that be for not enforcing them.

> The question is what's happening fair and good for society

I think this is a good question.

Personally, I think the benefit from having automated tutors that are attentive and patient and can answer questions about almost any topic known to man dwarfs the benefit from defending intellectual property. I hope they get cheap enough to be accessible to every person who can't afford a traditional education and accurate enough that we trust them more than typical teachers (not a high bar, unfortunately).

I donated to Wikipedia for years specifically because of its educational value while being freely available. Watching people I know learn from LLMs, and do useful interesting things with what they learned, I think the potential is much higher.

xscott··on Theft is not fair use
> Here are the UK exceptions to copyright.

I assumed you were in the US, where companies like OpenAI, Google, and Anthropic are located. If they're breaking UK laws, you should appeal to your government to enforce those laws in your territory, or ban access to them, or whatever you think is relevant.

> [...] so your claim that it doesn't explicitly ban it is a red herring.

Why should I care about your laws any more than any other country I don't live in?

xscott··on Theft is not fair use
> Perhaps you think it's fine if I took a copy of ChatGPT model without permission [...]

There are laws about copyright and trade secret.

> They haven't lost anything - just took a copy.....

Correct. This is why it's a copyright violation and not a theft.

> [...] fair use....

Fair use is also a legal term, and it has some (reasonably) specific meanings. It's noteworthy that the large copyright protection industries don't respect those terms and have automated DMCA takedowns to abuse people for things which age legal:

"the fair use of a copyrighted work, including such use by reproduction in copies or phonorecords or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright."

https://en.wikipedia.org/wiki/Fair_use

xscott··on Theft is not fair use
> I edited it to make it more readable - not changed it's meaning.

I think you might have added the copying bit, and that changed its meaning if not the whole topic. Then you claim I'm confusing competition with theft instead of addressing the "right to a living" part. That's kind of insincere and dishonest on your part, but fine, this other topic is interesting to me too.

I have no idea whether OpenAI, Google, Meta, Anthropic, or any other company got valid licenses for all of the books they trained on. If they didn't, they likely broke some specific laws. Go after them for that if you want. This is copyright violation, not theft.

But if I legally obtain a hundred books and pay a really smart kid to read them all to learn their style, then I pay that kid to write a new book using the style he's learned, that all seems fair and legal to me. It's the way things have been for a very long time.

For any argument you're going to make about this, please imagine a really smart kid doing it instead of a computer. And if you think there should be different laws for computers vs really smart kids, go get it into legislature.

xscott··on Theft is not fair use
Did you edit your post above? Even slightly? Because I was replying specifically to the idea that artists have a right to a livelihood, and I think you changed a few words to add the copying bit. I should be more consistent about pasting in the text I'm replying to.

Regardless, you really should learn the difference between "theft", "copyright violation", and "training", because they are different things.

If I read a bunch of books, learn from the authors' use of word phrasing, then pick one of Vonnegut's 8 Story Shapes, and make a book in some author's style, it's not illegal. I don't see why I can't have a computer do that for me.

None of this really matters. If you feel strongly about it, you should go bribe congress to make a law. Because the existing laws about theft and copyright don't cover "learning from billions of examples and interpolating or extrapolating from them".

xscott··on Raised by Wolves Is Original Sci-Fi at Its Most Polarizing (2020)
Because it was worth a little but not a lot to him? I'll pay $20 for an audiobook, but I won't pay $100 for one.
xscott··on Theft is not fair use
> doesn't mean that I am allowed to illegally download it

That word "illegally" is carrying some weight there. You only get to have those rules in law because the rest of us agreed to them in some sense. And in this particular case, the laws were created by powerful and wealthy media industries bribing politicians.

There's not some universal truth about fairness here. It's just a set of conventions where people with guns show up and lock you in prison if you bypass someone else seeking rent.

xscott··on Theft is not fair use
Do you feel the same about spreadsheet software reducing the need for accountants? What about textile workers creating fabric for clothing by hand? Or do we only romanticize artists such that they're entitled to an income?
xscott··on Theft is not fair use
How come it's just an "artist" and not an "artist capitalist"? And isn't this "rent seeking" behavior on the part of the artist?

It would be nice if the world used clinical terms to describe what's actually going on instead of using emotional terms to equate "copying" to "stealing" or "pirating", but people would rather confuse the issue than argue it logically in good faith.

xscott··on Why F# could be the next mainstream programming language (2024)
I think any new user would stumble on Path, OsString, and OsStr pretty quickly when working with files and directories. Rust tried really hard to avoid string related errors at runtime by not allowing strings to have invalid data. It's a defensible goal, and the cost is having multiple string types. And then they've got another doubling of types because of their ownership model.

It's not the choice I would make, but my opinion doesn't really matter. Real world strings (UTF-8, WTF-8, UCS-16, arbitrary bytes) don't follow the rules 100% of the time, so you're always going to end up dealing with that complexity at runtime in one place or another. I think you might as well have one simple string type and accept that. This is what Go chose (not that I'm a regular Go user either).

xscott··on Why F# could be the next mainstream programming language (2024)
Yeah, having the multiple "record" types in Rust doesn't bother me either. I just disagreed that the situation is clearly simpler than it is in F#.

If you think of using C# libraries from F# as comparable to using other people's crates in Rust, you're going to get exposed to other people's choices for data structures in both.

← PreviousPage 5 of 25Next →