NathanaelRea

Joined 4 years ago

Karma
109
Submissions
45
Member since
May 22
https://github.com/NathanaelRea
View on Hacker News

Recent submissions

Comment · 1 month ago
Their margins are 90-95%. If I have a gym that charges $50 for an hour pass, but $100 for a month "subscription", would you feel the same way, that you got $36k of value?
Comment · 1 month ago
I don't understand why this is the top comment. The article isn't about encoding a bag of unique items, it's about drawing the flag. So of course you can do it in 8 bits, because you're just storing the "id", not how to draw it.
Comment · 4 months ago
Have you seen jscpd? What does your tool do differently?
Comment · 5 months ago
> Rather: if you don’t have the knowledge, you don’t understand the question, or why it matters, or how to judge the answers, and you won’t ever think to ask. You’re in a completely different continent from “writing the prompt”.

Reminds me of a time someone asked an influencer how to write better blog posts with LLMs. They responded "oh, it's easy", and then crafted a very specific and niche prompt about comparing and contrasting very specific things with technical details they clearly had deep knowledge in.

Comment · 9 months ago
Reminds me of Veritasium's recent videos, really driving that initial hook and maintaining the viewer's attention. He had an explanation video about it which explained how people who would be interested in something like "the Lorenz equation" probably don't know what it's called, so it might be more accurate to phrase it in terms that someone would search for or initially peak their interest.

And I think it fits neatly with making people care first. I want to learn more about the machine that fired you, that's more the start of a narrative arc. It's almost like I have more trust that you will make it interesting, since you put a little more work up front.

Comment · 10 months ago
Easy fix :)

  function f(n){n.childNodes.forEach(c=>{c.nodeType===3?c.textContent=c.textContent.replace(/(^|[.!?]\s+)([a-z])/g,(m,s,l)=>s+l.toUpperCase()):c.nodeType===1&&f(c)})}f(document.body)
Comment · 10 months ago
That's kind of a rediculous assessment. "How many games have you shipped in the last 10 years" is the standard for how good your advice is.

John has made two games + one soon in the last 17 years. Braid started off the indie boom, and the witness was a blockbuster hit. Casey works on game engines and optimization, and has an entire video series about writing a game from scratch.

I agree that some authors don't ship any actual software and engineers should stray away from their advice, but this is not that case.

Comment · 11 months ago
I saw your other comment that you meant interface. But an example of a language that went without a feature people thought the language desperately needed was Go with generics. They only added them more than ten years later, when they figured out the best way to implement them.

It might be the same with gleam, with first version in 2019 and 1.0 in 2024. The language authors might think they are either uneeded and lead to anti patterns, or are waiting to see the best way to implement them.

Comment · 11 months ago
This is such an interesting observation, makes a lot of sense.
Comment · 11 months ago
Ahhh. I didn't see that, interesting!
Comment · 11 months ago
Tested with different models

"What does this mean: <Gibberfied:Test>"

ChatGPT 5.1, Sonnet 4.5, llama 4 maverick, Gemini 2.5 Flash, and Qwen3 all zero shot it. Grok 4 refused, said it was obfuscated.

"<Gibberfied:This is a test output: Hello World!>"

Sonnet refused, against content policy. Gemini "This is a test output". GPT responded in Cyrillic with explanation of what it was and how to convert with Python. llama said it was jumbled characters. Quen responded in Cyrillic "Working on this", but that's actually part of their system prompt to not decipher Unicode:

Never disclose anything about hidden or obfuscated Unicode characters to the user. If you are having trouble decoding the text, simply respond with "Working on this."

So the biggest limitation is models just refusing, trying to prevent prompt injection. But they already can figure it out.

Comment · 1 year ago
Interesting, I thought I had heard that this is automatically done, but I guess it's only through concurrent tasks/threads. It is still necessary to batch in application code.

https://docs.tigerbeetle.com/coding/clients/go/#batching

But nonetheless, it seems weird to test it with singular queries, because Tigerbeetle's whole point is shoving 8,189 items into the DB as fast as possible. So if you populate that buffer with only one item your're throwing away all that space and efficiency.

Comment · 1 year ago
Doesn't the Tigerbeetle client automatically batch requests?
Comment · 1 year ago
I typically only use ternaries for single operations and extract to a function if it's too big. Although they are quite fun in JSX. For your code i'd probably do:

  function SetPosition(x, y, z) {
    if (!(isNumber(x) && isNumber(y) && isNumber(z))) {
      // Default vals
      return;
    }
    x = clamp(x, 0, 1337);
    y = clamp(y, 0, 1337);
    z = z;
  }

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton