HNHacker News
TopNewBestAskShowJobs

zeta0134

5,672 karma · joined November 3, 2015

I am a terrible fool
submissionscomments
zeta0134··on A new California law says all operating systems need to have age verification
I'm trying to understand how this is even a bad thing. Where is the privacy invading verification? Surely a given OS can implement the API response however it wants? If you're root, tell me your age. If you're not, (a child account), the admin (their parent) sets the age. Seems fine?
zeta0134··on RAM now represents 35 percent of bill of materials for HP PCs
The need to use optimal patterns didn't go away, but the techniques certainly did. Just as a quick example, it's usually a bad idea now to use lookup tables to accelerate small math workloads. The lookup table creates memory pressure on the cache, which ends up degrading performance on modern systems. Back in the 1980s, lookup tables were by far the dominant technique because math was *slow.*
zeta0134··on Psychology suggests making a shopping list is a sign of sharper thinking
I don't use a list generally, because I have a fairly fixed path through my local grocery store and I know what I regularly need to stock up on. On occasion however, if I'm unsure, I'll close my eyes and browse the kitchen, pantry and linen closet in my mind's eye, to check the contents of the shelves. As long as the last time I looked at them matches reality, I get a pretty accurate inventory and can usually spot things I'm forgetting.

Recipes are the exception. If I'm cooking something I've never made before, there is no way I'm committing that ingredients list to memory.

zeta0134··on Micropayments as a reality check for news sites
Sorta depends on how you define the concept. A sign on the side of a storefront is definitely marketing. If I walk into a department store, every product on the shelf is wrapped in advertising, from its packaging to the brand name to the picture of what the product is for. When I visit Amazon, and start searching for something to buy, every single thing that comes up could be thought of as an ad for itself, since otherwise I wouldn't be able to find it in the first place.

These are contextually relevant ads. Of course they are, right? The task is buying stuff. That's the time, and the place. The best time, really. My wallet is out and I'm ready to go with the purchase.

If it's a little hard for me to discover that a product exists, so that I know to seek it out, I think that's okay. We could do with more curation and less firehose-of-attention in that department. Needing to coordinate those sponsorships ahead of time should act as a stronger filter. The newspaper knowing which ad it is running alongside today's article might not have been such a bad idea. The ones that cheapen out and print nonsense damage their reputation in the process, right?

zeta0134··on Micropayments as a reality check for news sites
The irritating thing to me here is that I actually don't mind the concept of advertising. Mostly it's the implementation. Newspaper ads don't bug me one bit, because they're not physically capable of moving, animating, dancing, and trying to get my attention. They're not physically capable of tracking my habits and reporting them back to the mothership. They're just... there. Passive. Occasionally interesting, or at least pleasantly designed.

If internet advertising was more like newspaper advertising, I wouldn't feel quite so compelled to go out of my way to block it. But no, someone somewhere along the way decided it had to be actively distracting, and track those impressions, and the industry just can't help itself. It's rotten to the core.

zeta0134··on Pink noise reduces REM sleep and may harm sleep quality
My options are "fairly loud, low rumbly, mostly full spectrum noise" or "continual, nonstop barking." Only one of these options makes sleep possible. :) I'd prefer quiet, but it's so rare to actually have it.
zeta0134··on News publishers limit Internet Archive access due to AI scraping concerns
The second thing that came to mind was paywall evasion. Any time a news article behind a paywall gets posted here, someone in the comments has the archive link ready to go, because of course they do.

The incentives for online news are really wacky just to begin with. A coin at the convenience store for the whole dang paper used to be the simplest thing in the world.

zeta0134··on uBlock filter list to hide all YouTube Shorts
The main benefit for me is hiding content I'm actively uninterested in seeing. Shorts are portrait mode content that pretty much never seem to be long enough to discuss anything interesting. I watch on widescreen monitors, so I just don't care for them. There's nothing else to it really.
zeta0134··on In a genre where spoilers are devastating, how do we talk about puzzle games?
The strategy I see with the most success in online communities is something to the effect of, "If it appears in the trailer, or what is very obviously the earlygame tutorial area, it's basically fair game. Otherwise use spoiler tags." Some puzzle games are best experienced entirely unspoiled (Outer Wilds) and others benefit from sortof a layered hints approach.

Steam guides for Blue Prince are fantastic about this, and were extremely welcome to me once the RNG nature of the game stopped being exciting and started being a tedious obstacle. There's nothing quite like needing to spend several real world hours to try a puzzle solution that may be a complete waste of time, simply because the game doesn't really like to spawn the needed rooms (in an acceptable configuration) very often.

zeta0134··on Microsoft forced me to switch to Linux
The giant bugbear in this conversation is always multiplayer. That's because almost all of the big players in that space currently favor rootkits in the form of overly invasive anti-cheat, which the Linux wrappers (mostly the wine project) refuse to support for security reasons.

If you don't play PvP specifically, the rest of the library is significantly more open to you. Personally I have always favored single player experiences and indie games from smaller studios, and for the most part those run great.

zeta0134··on The Vietnam government has banned rooted phones from using any banking app
Personally I just don't use a banking app. The website works fine? I don't like the idea of having to use something from the Apple App Store or the Google Play Store, both companies of which could randomly decide I don't need to exist and cut off my access. ... no thanks? So I don't run "apps" at all. If your business is only available that way, sorry! But "I don't have a smartphone" tends to signal to the receptionist that they'll need to explain the myriad of other ways to do business.
zeta0134··on Can I start using Wayland in 2026?
I've been using Kooha, but it's painful in a few ways, not least of which having aggressive compression that can't be disabled. SSR was nice because of the reduced time between "decide to record" to "draw a rectangle, done." OBS works, but is very clunky and cumbersome to reconfigure.

At some point I'll get irritated enough to seek out more alternatives and give them a whirl. Such is fate :)

zeta0134··on Can I start using Wayland in 2026?
KDE Plasma switched to Wayland by default sometime last year, and so far the main issue I run into is that a few screen recording tools I like stopped working. (Mostly simplescreenrecorder, which seems to be entirely unmaintained at this point.) Other than some initial instability with accelerated rendering on my GPU, which was quickly addressed, it kinda just works. I mostly don't notice.

Actually, GPU acceleration was why I initially switched. For whatever reason, this GPU (Radeon VII) crashes regularly under X11 nearly every time I open a new window, but is perfectly stable under wayland. Really frustrating! So, I had some encouragement, and I was waiting for plasma-wayland to stabilize enough to try it properly. I still have the X11 environment installed as a fallback, just in case, but I haven't needed to actually use it for months.

Minor pain points so far mostly include mouse acceleration curves being different and screen capture being slightly more annoying. Most programs do this OS-level popup and then so many follow that up with their own rectangle select tool after I already did that. I had some issues with sdl2-compat as well, but I'm not sure that was strictly wayland's fault, and it cleared up on its own after a round of updates. (I develop an SDL2 game that needs pretty low latency audio sync to run smoothly)

zeta0134··on I didn't realize my LG TV was spying on me until I turned off Live Plus
The ability to own a TV at all, since even the cheaper sets now have this nonsense built right in. Loosely I think the idea is to subsidize the cost of the hardware with the marketing deals, but I don't actually know.
zeta0134··on Two kinds of vibe coding
Helpfully, neither is "I won't solve it nor help anyone with it" actually normal. That's what documentation, mentorship, peer review and coaching is for. Someone has to actually write all that stuff. If I solved it initially, that someone is me. Now it's got my name on it (right there in the docs, as the author) and anyone else can tap on my shoulder. I'm happy to clarify (and improve that documentation) if something is unclear.

Here, of course, is finally where AI can plausibly enter the picture. It's pretty good at search! So if someone has learned, and understood, and written it down, that documentation can be consumed, surfaced, and learned by a new hire. But if the new hire doesn't actually learn from that, then they can't improve it with their own understanding. That's the danger.

zeta0134··on Two kinds of vibe coding
I am absolutely paid by the hour to learn stuff. The things I'm learning are mostly messy business domain bits: how does our internal API work, who wrote it, what were the constraints, which customer requested this feature, how much SLA will we lose if we break it to hotfix this CVE...

Yes the end result is at some small moment in time a thing that was built. But the value prop of the company isn't the software, it's the ability to solve business problems. The software is a means to that end. Understanding the problems is almost the entire job.

zeta0134··on Ask HN: What Are You Working On? (December 2025)
This weekend I'm working on a new song for my NES game, Tactus. I've been busy setting up the business and preparing for its first outing at a convention, so it was nice to relax and just create for a bit.

https://bsky.app/profile/zeta0134.bsky.social/post/3m7xuxuc3...

Currently mostly happy with where this has ended up, but the percussion is a tad too basic and needs more work. One thing at a time I suppose. :)

zeta0134··on When would you ever want bubblesort? (2023)
The primary complication is that objects move around between frames, so the list doesn't stay sorted. Insertion requires a second scan once I've found an object that is out of position, whereas bubble can swap right away. (The candidate object is always N-1, after all.)

My goal is to stop working as soon as possible; this is a 1.7 MHz CPU and it has many other tasks to perform on a given frame. It's hard to appreciate unless you sit down to actually do it, but on a processor this slow, the scanning of the list and the comparison of depth is not cheap. It's computed on the fly as we go, there isn't spare RAM to cache it, and it changes every frame anyway. All of that makes the scanning and comparisons way more expensive than the eventual swap.

Insertion would be ideal here for a freshly spawned object, since we already know it is out of position and merely need to find its destination. (The work to shift the rest of the list down isn't super expensive, thankfully.) In practice this is already a big enough visual change that the player doesn't have much time to notice a depth error before it corrects itself.

zeta0134··on When would you ever want bubblesort? (2023)
I used bubblesort on purpose in a game project. Specifically, to sort sprites in an NES game back to front, lazily, spending as few CPU cycles as possible. Bubblesort on the very small list (a dozen objects max), and early exit after the first swap. It eventually completes, and that was just fine. It's tiny, incredibly simple, and somewhat resilient to the list changing from frame to frame as objects spawn and despawn. Each partial sort makes some progress no matter what.

A few other algorithms would have fit the bill just as well, but bubblesort is perfectly adequate, so that's what will likely ship. More complex algorithms end up losing out due to greater initial overhead or larger ROM size.

zeta0134··on PalmOS on FisherPrice Pixter Toy
6502 can do it in one. 12 opcodes are glitched in a way that permanently halts the CPU, by causing it to never reset the internal tick counter (...sortof) that starts the next instruction. Recovery is only possible with a power cycle.
zeta0134··on Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton
Sure. That also means it doesn't have to be kernel-level rootkits that fundamentally break the security model of my operating system and risk my bank account. Most people will be stopped by userland anticheat, right? It's inconvenient. So ... put it *there.*

And if someone does the kernel bypass thing, well, rely on server-side heuristics (which are imperfect, but also unknowable to the attacker) and you'll discourage enough of that with account bans.

Helpfully eSports players tend to have video captures of their gameplay, and most of these "undetectable" cheats are real obvious if you actually watch the footage. That catches most of the serious stuff at the upper level. It's why video verification has been a thing in the speedrunning scene for such a long time.

zeta0134··on Pebble Watch software is now open source
Honestly this feels like the best possible outcome. It's pretty unusual for an appstore implementation to support multiple feeds[0], but it's great resilience to large company failures when they do. This way, users can totally still access Rebble's feed (and pay for a subscription if they like) just as before, but they are free to also use something else.

It is the *end user* who decides which feeds to trust, as it should be. And since it's built right into the app as a core concept, it doesn't take massive engineering effort to switch feeds if some sort of drama occurs.

[0] I'd normally call these repositories, but I've used Eric's term for consistency with the article.

zeta0134··on Rebecca Heineman has died
Rebecca was well known in emulation circles for her high quality work on various games of the era, often pushing the hardware in unusual ways. This article is one of my favorites, detailing the wacky tricks she used to get Another World's 3D rendering system running acceptably on a Super Nintendo

https://fabiensanglard.net/another_world_polygons_SNES/

Rest in piece, you absolute legend.

zeta0134··on Valve is about to win the console generation
I just built one of these as well. For your Xbox controller, see if this works: find any Windows PC and download the Xbox Accessories app. Connect the controller (via USB) and update its firmware. Once I did this, I was able to pair it with the framework desktop via bluetooth (under linux) reliably, and it's been rock solid ever since. Apparently some of the models shipped with buggy firmware that linux really doesn't like for whatever reason.
zeta0134··on The 'Toy Story' You Remember
Ah yes, we often get folks in the nesdev community bickering over which "NES Palette" (sourced from their favorite emulator) is the "best" one. The reality is extraordinarily complicated and I'm barely qualified to explain it:

https://www.nesdev.org/wiki/PPU_palettes#2C02

In addition to CRTs having variable properties, it turns out a lot of consoles (understandably!) cheat a little bit when generating a composite signal. The PPU's voltages are slightly out of spec, its timing is weird to work around a color artifact issue, and it generates a square wave for the chroma carrier rather than an ideal sine wave, which produces even more fun problems near the edges. So we've got all of that going on, and then the varying properties of how each TV chooses to interpret the signal. Then we throw electrons at phosphors and the pesky real world and human perception gets involved... it's a real mess!

zeta0134··on Phone numbers for use in TV shows, films and creative works
I have one of these that I use when dealing with retailers for which the phrase "I don't have a smartphone" does not compute. Saves the hassle of having to explain it every time, and so far I'm the only one using my made up number, so they "remember me" or whatever. But they can't actually call, and that's the point.
zeta0134··on Ask HN: What are you working on? (October 2025)
Now that I can finally test on hardware, I completely rewrote input handling. I can now support original NES controllers, but also SNES and the Power Pad dance mat, for anyone crazy enough to try that. The hardest part was working around a particularly nasty hardware bug: if you try to read the input ports on even cycles while one of the sound channels is playing, the data becomes corrupted. Perform the exact same read on an odd cycle and it works every time.

The solution? Have the cartridge keep track of CPU parity (there's no simple way to do this with just the CPU), then check that, skip one cycle if needed... and very carefully cycle time the rest of the routine, making sure that your reads land on safe cycles, and your writes land in places that won't throw off the alignment.

But it works! It's quite reliable on every console revision I've thrown it at so far. Suuuper happy with that.

zeta0134··on Ask HN: How do you say “I don’t know, but I’ll get back to you” confidently?
What you're doing is perfectly fine and normal. If necessary, confidently walk through the steps you'll take to research the problem, especially if you have any idea of the soft resources (other people, internal docs) you'll need. Now you're communicating the process of task estimation to both the asker and any juniors in the room. This can really help managers to calibrate their own expectations of the work involved, which helps them to "spend your expertise" more wisely.
zeta0134··on Ask HN: What are you working on? (September 2025)
I've been busily porting my NES game, Tactus, to Windows, Mac, and Linux as a "native" build. It's been fun to consume my own emulator as middleware, and then lightly modify it to support things like a widescreen view, which the original console definitely cannot do. Here's what that looks like:

https://bsky.app/profile/zeta0134.bsky.social/post/3lzclakpp...

Right this second I'm getting the paperwork sorted to start my first business (gulp!) which should then let me get a Steam page set up and start messing around with the Steamworks SDK integrations. Tons more work to do, but it's coming together fast.

Even more exciting, the cartridges are finally working! I can play the game on real hardware. :D It's basically the same game code on both platforms, with the PC build just doing a bit of extra work to signal to its emulator "shell" that it has switched game modes. (This affects the widescreen display.) Real hardware capture here:

https://bsky.app/profile/zeta0134.bsky.social/post/3lysv53qk...

zeta0134··on An opinionated critique of Duolingo
Duolingo was exceptionally useful to get me started on my language learning journey (Spanish, a bit of Japanese) while knowing basically nothing. It tapered off pretty fast, is very slow to introduce new vocabulary, and the core lesson structure doesn't explain much unless you dig into the submenus with intent.

As a basic starter tool, it's cute and briefly enjoyable, and that's enough. But you'll need to supplement it with something else almost right away, and your daughter's structured classes and reading material were almost certainly that something else. I think Duolingo's *streak* is the only key feature worth imitating in any form, as it gamifies habit development, which is difficult for many people. If only the lesson content could keep up with that one good idea.

← PreviousPage 2 of 33Next →