HNHacker News
TopNewBestAskShowJobs

RedNifre

529 karma · joined October 19, 2014

submissionscomments
RedNifre··on The Color of White Light
Oh, interesting. So do all neon colors reflect ultraviolet as visible light? Would a neon color that reflects IR as visible be possible? Or is it already figured out, but more expensive than UV neon paint?
RedNifre··on The Color of White Light
You could go a long way by specifying the reflectiveness over the visible light spectrum and then do the same for light sources. That way, you could do GDR style truly monochrome sodium vapor lamps, which makes telling colors apart impossible.

To do neon colors, you would need some sort of frequency redirect in your texture data as in "this pixel absorbs 80% infrared, but reemits it as visible red". Then you could have black light light sources and cool poster textures as well.

I think doing textures in this format would take too much space, but doing a 256 color palette that way might be fine.

RedNifre··on Commodore 64 Basic for PostgreSQL
Neat! If you don't have a PostgreSQL DB ready, you can also compile Commodore 64 Basic for you HP 15-C calculator instead: https://forum.swissmicros.com/viewtopic.php?f=23&t=2194&p=11...
RedNifre··on On Labubu and the Hyperreal
They probably meant "Boomer" in the colloquial sense of "somewhat old person" like how "Boomer Shooters" are for GenX and older Millenials.
RedNifre··on A few interesting modern pixel fonts
Oooh, you mean people turned on sub pixel rendering while running their screen at a non-native resolution and thus got these colors all the time? Yeah, I guess that could cause nostalgia.

Thanks!

RedNifre··on A few interesting modern pixel fonts
Could somebody explain the Coral Pixel font? It makes no sense to me, given that the whole point of sub pixels was to look sharp without looking colorful. It only ever looked like that when you took a screenshot and then zoomed in, which seems extremely niche.
RedNifre··on AI is just unauthorised plagiarism at a bigger scale
I think it depends on the country. In Germany, everything you write is automatically copyrighted, unless you explicitly waive it. In the US, it's the other way around, you have to explicitly state that you want copyright (can somebody confirm this?).

I'm not a lawyer, but I guess a German posting on Hacker News effectively waives their copyright by sending their comment to the US, where an US company then publishes the comment on a US server.

RedNifre··on My Favorite Bugs: Invalid Surrogate Pairs
It depends on the language and/or used libraries. E.g. in Go, the problem does not exist, because it uses UTF-32; Rust uses UTF-8, but it makes sure that you can't cut a string between bytes that belong to the same character.

Fun Java/macos quirk: macos normalizes file names, so you can't have two files called ü in the same directory by writing ü as a single character and as composing characters. But unfortunately, this only happens on write, not on read, so if you type an ü on a German keyboard (produces a single character) into the Java source code file when writing a file name, the file will be saved with the decomposed name instead, but when trying to open the file, it will not be found when trying to open it with the single character name.

RedNifre··on Game devs explain the tricks involved with letting you pause a game
The way I remember it was that replay playback would only break if you played a replay with a different game version than it was recorded with.
RedNifre··on A case for Go as the best language for AI agents
They don't see the letters, so how could they possibly succeed at that? It's like asking a human how many infrared flowers they see.
RedNifre··on Porn depicting sex between step-relatives set to be banned in the UK
Is there some philosophical/ethics work done on the question which fictional crimes, taboo breaks or unethical behavior are okay and which aren't? Iirc Japan takes the extreme position of legalizing all fictional wrongdoings, whereas the west is okay with fictional violence (e.g. murder mysteries), but not okay with some other things. Where to draw the line?
RedNifre··on Tiny QR code achieved using electron microscope technology
QR codes store bits, arranged into bytes (A byte is the shape of a 3x3 square with one corner missing), so how more traditional can it get?
RedNifre··on I replaced Windows with Linux and everything's going great
Regarding the Minecraft issue:

If a Minecraft Java server has the special Geyser plugin ( https://geysermc.org/ ), Minecraft Bedrock clients can connect to it, so you can stick to Minecraft Java on Linux and still play together with your kids who are on Minecraft Bedrock on their iPads.

RedNifre··on One Number I Trust: Plain-Text Accounting for a Multi-Currency Household
Here is my explanation for "software people who understand databases". The structure of the explanation will be as follows:

  1. Explain how you would do simple accounting with a database
  2. Point out which indices you'd create for performance
  3. Show how the "double entry" part of double entry accounting is about the indices
1. The way you'd do accounting in a database is with two tables: One table for accounts (e.g. your checking account, or the supermarket account, which you don't own) and another table for transactions. The transactions move an amount of money from one account to another, e.g. from your checking account to the supermarket account. Or if you use it for budgeting, you might split your checking account into a groceries account, a rent account etc. (think "categories").

2. For performance, you would create indices based on the accounts in the transaction table, so you could easily check what's going on e.g. in your groceries account or how much you spent at the supermarket.

3. Double entry accounting was formalized in the 15th century, way before computers became a thing, but bound paper books were already somewhat affordable. The way you'd do accounting is like this: During the business day, you would write down your transactions as they happen, into a scrapbook, similar to the transactions table mentioned above. At the end of the day, you'd do the "double entry" part, which means you take your "index" books where each book is about one account and you transcribe each transaction from your scrap book into the two books of the two accounts that are mentioned in the transaction, e.g. if you spent $10 from your groceries account into the supermarket account, you'd double enter that transaction both into your "groceries" book and into your "supermarket" book. Then, when you want to check on how much you spent at the supermarket in a particular month, you could easily look it up in the supermarket book (this would be very tedious when using the scrap book). These account centered books are like the indices in the database mentioned above.

So the double entry part is about clever index building for making it easier and faster to understand what's going on in your accounting system.

RedNifre··on Ask HN: What Are You Working On? (December 2025)
I just finished https://www.lexaloffle.com/bbs/?pid=178450#p , my Signalis themed version of the Regicide card game.

It's mainly a distraction from enterprise programming, but it does have some parts that might be interesting to Lua programmers, like automated test suits, functional programming point free style and deploying to a raspberrypi via justfile.

The git README kinda doubles as a blog post: https://gitlab.com/michaelzinn/replicide

RedNifre··on Are we stuck with the same Desktop UX forever? [video]
Because the LCARS GUI is only for simple recurring tasks, so it's easy to find an optimal interface.

Complex tasks are done vibe coding style, like La Forge vibe video editing a recording to find an alien: https://www.youtube.com/watch?v=4Faiu360W7Q

I do wonder if conversational interfaces will put an end to our GUI churn eventually...

RedNifre··on Are we stuck with the same Desktop UX forever? [video]
The lack of capitalism meant that the holodeck program authors had no need to optimize their programs for user retention to show them more ads. So much fewer people suffer from holodeck addiction in Star Trek than are glued to their screens in our world.
RedNifre··on The 'Toy Story' You Remember
"Cargo cult"? As in, "Looks like the genius artists at Pixar made everything extra green, so let's continue doing this, since it's surely genius."
RedNifre··on Result is all I need
Why does it have Either? Doesn't TypeScript have "A | B" style sum types?
RedNifre··on Result is all I need
Nice, what's the KMP plan there?

We currently use https://github.com/michaelbull/kotlin-result , which officially should work on KMP, but has some issues.

RedNifre··on Git, JSON and Markdown walk into bar
Looks easy to parse to me and you could also remove the commas in the array.

    { foo: "bar" baz: "bak" quux: [a b c d] lol: 9.7E+42 }
RedNifre··on Git, JSON and Markdown walk into bar
You can also remove the commas in the arrays.
RedNifre··on Git, JSON and Markdown walk into bar
If you already have quotation marks, what's the point of the commas?
RedNifre··on Context is the bottleneck for coding agents now
I vibe coded an invoice generator by first vibe coding a "template" command line tool as a bash script that substitutes {{words}} in a libre office writer document (those are just zipped xml files, so you can unpack them to a temp directory and substitute raw text without xml awareness), and in the end it calls libre office's cli to convert it to pdf. I also asked the AI to generate a documentation text file, so that the next AI conversation could use the command as a black box.

The vibe coded main invoice generator script then does the calendar calculations to figure out the pay cycle and examines existing invoices in the invoice directory to determine the next invoice number (the invoice number is in the file name, so it doesn't need to open the files). When it is done with the calculations, it uses the template command to generate the final invoice.

This is a very small example, but I do think that clearly defined modules/microservices/libraries are a good way to only put the relevant work context into the limited context window.

It also happens to be more human-friendly, I think?

RedNifre··on Xcode Is the Worst Piece of Professional Software I Have Ever Used
Right, but did this mean you had to deal with all the Xcode problems, or did you have more of an IntelliJ like experience?
RedNifre··on Xcode Is the Worst Piece of Professional Software I Have Ever Used
Could some Xcode uers explain to me why AppCode (IntelliJ IDE) did not take off as an Xcode replacement? I recently had to do some iOS work, knew that Xcode sucks, wanted to try AppCode, only to learn that it was discontinued because of lack of interest.
RedNifre··on I wasted weeks hand optimizing assembly because I benchmarked on random data
Ah, thanks for clarifying. I understood it as "Check that predicate first and if it doesn't match, run the old solution".
RedNifre··on If you're remote, ramble
We did something like that on a private Minecraft server 15 years ago, where everybody was required to have an identi.ca account for this server (status.net, like mastodon today). All messages appeared posted to the walls of a large library building in the middle of the world and people could post to their accounts from the ingame chat.

It worked really well for about half the people, the other half ignored it completely.

I wouldn't mind if today's office chats like Teams or Slack added a microblogging feature where you could subscribe to interesting colleagues.

RedNifre··on I couldn't submit a PR, so I got hired and fixed it myself
While you're at it, could you also change YouTube so that captions being on/off is a per-language thing and not a "The user turned off subtitles for language X, therefore it's the only they speak, therefore let's turn on subtitles for all other languages." thing? It's really annoying that whenever I watch a video that has a language different from the previous video I watched, the first thing I have to do is to turn off the captions.
RedNifre··on I wasted weeks hand optimizing assembly because I benchmarked on random data
Okay, but how about checking the 99.9% policy first and if it doesn't match, run Ken's solution?
Page 1 of 7Next →