HN user

smittywerben

265 karma
Posts2
Comments276
View on HN

That matches what I've heard, so I think you stated the trope perfectly. Your response is a good point about the actual difficulty. Perhaps I'm confused about what 'rolling your own encryption' means at an abstraction level. I just think it's weird that it comes up in an OS thread. Anyone who is serious about encryption is serious about the encryption hardware. At a higher level, WolfSSL limits the ciphers to a small, modern suite, which reduces the attack surface. Replacing OpenSSL is a fool's errand, I think; it's clearly the perfect implementation of OpenSSL, and it's a perfect security scapegoat. However, this is still about the x86 OS topic. Perhaps it's some TPM politics, similar to the decade-old stigma surrounding ZFS. Maybe I'm just questioning the limits of the x86 platform on any new operating system. Anyway, thanks for the response.

I don't believe in the "never roll your own encryption" it's literally giving up. Does it make economic sense, or is it just for a hobby? That's more debatable. It's also like a foil of 'don't use regex to parse html' or whatever, where the thread gets closed for comments.

The filesystem is so deeply connected to the OS I bet there's a lot of horror around swapping those interfaces. On the contrary, I've never heard anything bad about DragonflyBSD's HAMMER. But it's basically assumed you're using DragonFlyBSD.

Would I keep a company's database on a new filesystem? No, nobody would know how to recover it from failed disk hardware.

This isn't really my area but a Rust OS using a ZFS-like filesystem seems like a lot of classic Linux maintainer triggers. What a funny little project this is. It's the first I've heard of Redox.

Edit: reminds me of The Tarpit chapter from the Mythical Man Month

The fiercer the struggle, the more entangling the tar, and no beast is so strong or so skillful but that he ultimately sinks.

When this happened to me it was because, I can only guess, it was the Gemini servers were overloaded. Symptoms: Gemini model, Opaque API wrapper error, truncated responses. To be fair the Anthropic servers are overloaded a lot too but they have a clear error. I gave Gemini a few days on the bench and it fixed itself without any client side changes. YMMV.

Gemini in Chrome 10 months ago

Ah, the ol' Dropbox risk management tactic where they show you a random selection of your photos when you open the page. Or any page on the site. Suggested: "Remembering Summer Vacation 2020". By the way, do you want to compress your whole photo library to achieve Instagram quality while offering to consume more of the photos of your computer, disillusioned by the last few pennies of value that already fell. What's that? Your iCloud or Android device is out of space because the two ProRes videos your iPhone took after the commercial convinced the Apple user to engage the Apple proprietary video encoding button to maximize their Instagram engagement. The Samsung folds itself into a rolly-polly bug shell form. Eventually, all of your photos will be sent to Instagram, the final destination. Once there, after compressing your photos without asking, they will insist on your choosing ZSTD as the coffin.

So, on the consent-quality-useful triangle (WIP), Google is clearly eliminating quality and consent to provide you with a useful interface to the Google consentless compression box. Just what everyone wanted. The future is now.

Notification: You have 2 new views (details button: 2 ad-consenting views, 0 other views) on the photo you took of the compression artifact on a video that you suspect Google might have accidentally compressed without your consent, confusing itself to be Instagram. Unfortunately, your comparison photo gets equally confused and is compressed to be equally as bad as the compressed one. Now the photos look identical, and you look like a conspiracy theorist tweeting about "video encoding" from your Sesame Street Elmo phone, just like everyone else, with no issue at all. "We're in the Ourobouros. Maybe Paramount isn't the issue. Maybe it's Paramount Plus." The Samsung rolly-polly bug interrupts and insists this issue will have to wait because it's 2pm on Friday. Now, your Elmo phone is now the only device still working in the office, as you try to convince your wife why you have to stay late, "Because you're different than the rest of the people posting compression artifact-laden photos."

I avoided KDE after first experiencing several bad dates with Gnome. Skipped straight to xfce or a tiling wm. Years later, decided to try KDE again because someone made an arch linux joke about it. I don't remember the joke, but it screamed "I use arch btw". That's when I realized KDE and I had something going on.

In fact, my Gnome-fearing worldview was reinforced just last month by my construction of samba/s3/sftp windows NTFS-LFS FUSE netshare vpn on my Proxmox server to solve this issue of multiple desktop environments for the last and final time. Compatibility with everything? No issue.

I achieved a monumental 2kb/s transfer speed, slower than the modem speeds I experienced in my childhood on dial-up. My 2kb/s supercomputer environment was remarkably consistent across all protocols. Thanks to the Gnome community, I was glad to hear that the speeds I was getting were apparently a major improvement since the last release.

Surprisingly, nobody has provided me with any file access architecture memes from the thriving Arch Linux PDP-11 community. Needless to say, having the choice of a desktop environment is great. And KDE is just happy I showed up with a cool ride.

edit: less neg

Google claimed Protobuffers are the solution but Google's planetary engineers clearly have ZERO respect for the mixed-endian remote systems keeping the galactic federation afloat with their cheap CORBA knockoff. It's like, sure which Plan 9 mainframe do you want to connect to like we all live on planet Google. Like hello???

This might sound crazy, but what if we're hitting some sort of hardware limitation, like too many people are sharing a single phone line, and Slashdot is innovative, but is like near best case solution when we're still sharing the same phone line? It's hard to explain what I'm trying to say.

Like when your mom picks up the phone and it kicks you off the dial-up internet. Except these days, it's like 4 pancakes of getting kicked off since Cloudflare entered in the scene, 5 pancakes if you're in the EU, and sure, let's throw in Anubis the catgirl just to be extra safe with the computers.

A user's attempt to send a sticker reveals Valve's misguided implementation of the Y combinator, where Steam App and Steam Chat exist only to question each other's purpose.

The sole defender of this system, a user who bought a game from Steam on their mobile device, completely unaware of any Steam app, maintains that the portable wallet vacuum works as intended.

It's too late. Negative convergence of the Dyson vacuum's warranty appears inversely proportional to Gaben's proximity to retirement. The Y-combinator is reaching criticality.

The Steam Chat app opens.

Sent from my Steam™ (Claude x Gemini "Dew It Right" 2025 Black Edition).

I already spent time proofreading it, but I forgot that I couldn't edit it after so much time. Unless the merciful admin lets me roll the 12-sided dice to replace the above cringe with the below piece I carved out of soap.

---

I always check for maintained libraries for my programming languages for any messaging library. Bindings in many languages are consistent across Kafka, ZeroMQ, and NATS.

Kafka is a write-ahead log, not a queue per se. It handles transactions to the disk. The networking is a simple broadcast, not a shared queue. You also can't (canonically, at least) pop/insert/delete rows. It's append-only. It can do basic seeking, like replaying from the start.

ZeroMQ is a good choice for learning from its excellent documentation, and programmers interested in C programming. Probably a good lead into Beej's networking guide. ZeroMQ is the odd one as it has no central broker ("Zero" for zero broker); you copy your favorite broker.py pattern from the ZeroMQ guide.

Dropping anchor to throw in the POSIX standard sockets, the BSD kqueue, the Linux epoll, newer io_uring, and libuv for boring cross-platform asynchronous I/O.

https://zguide.zeromq.org/docs/preface/

https://beej.us/guide/bgnet/html/split/

https://pubs.opengroup.org/onlinepubs/9699919799/functions/p...

https://pubs.opengroup.org/onlinepubs/9699919799/functions/s...

https://man.freebsd.org/cgi/man.cgi?kqueue

https://man7.org/linux/man-pages/man7/epoll.7.html

https://man7.org/linux/man-pages/man7/io_uring.7.html

https://docs.libuv.org/en/v1.x/

Sir, your reply is more coherent than mine. I'll give you props for that.

Still, I disagree that Kafka is always overkill.

When god opened a datagram socket on your computer, you needed to have been capturing this data X months ago, but weren't paying attention. You need to build warbot.py and put it into production before you have the chance to deal with cold storage. Kafka is my go-to if you can do this before you run out of disk space.

I frequently append JSON lines to a "data.json" file in Python. Add a socket server, compression, and typed bindings for 20+ languages. Boom. Kafka. Don't oversell it. Need to delete a row? Congratulations, you selected the wrong tool. It's appending JSON lines to a file. Kafka is a write-ahead log, not a queue.

To your point about Postgres, I've found Postgres has fantastic JSONB support and awesome developers who have been very influential in my life and whom I admire. Postgres is my preferred cold storage, which I connect to Kafka. It feels like swimming upstream because RMDBs are traditionally for normalized data, not denormalized JSON lines that make XML look hip again.

If you have a choice in DB, Postgres' JSONB has helped me avoid unnecessary normalization steps. It's good to have options.

ZeroMQ would call this the Titanic pattern and mic drop because the guide has a section on it. That's why I like ZeroMQ.

Edit: Apologies for typos/brevity. I have an ancient phone that only works with 20% of the web and phone apps. There are no apps or LLMs to help this dyslexic soul.

Reference for the Titanic pattern. The guide's author is cynical about me shoving spinning rust in the middle, but it doesn't say no. https://zguide.zeromq.org/docs/chapter4/#Disconnected-Reliab...

Kafka is a write-ahead log, not a queue per se. It handles transactions to the disk. Not across the network.

RabbitMQ is neat out of the box. But I went with ZeroMQ at the time.

ZeroMQ is cool but during current year I'd only use it to learn from their excellent documentation. Coming from Python, it taught me about Berkeley sockets and the process of building cross-language messaging patterns. After a few projects, it's like realizing I didn't need ZeroMQ to begin with I could make my own! If ZeroMQ's Hintjens were still with us I'd still be using it.

It's like the documented incremental process of designing a messaging queue to fit your problem domain, plus a thin wrapper easing some of lower level socket nastiness. At least that's my experience using it over the years. Me talking about it won't do it enough justice.

NATS does the lower level socket wrapper part very nicely. It's a but more modern too. Golang's designed to be like a slightly nicer C syntax, so it would make sense that it's high performance and sturdy. So it's similar to ZeroMQ there.

I'm not sure if either persist to disk out of the box. So either of these are going to be simpler and faster than Kafka.

The DB people are probably trying too hard to cater to the queues. Ideally I'd have normalized the data and modeled the relations such transactions don't lock up the whole table. Then I started questioning why I needed a queue at all when databases (sans SQLite which is fast enough as is) are made for pooling access to a database.

Kafka supports pipelining to a relational database but this part is where you kind of have to be experienced to not footgun and I'm not at that level. I think using it as a queue in that you're short-circuiting it from the relational database pipeline is non-standard for Kafka. I suspect that's where a lot of the Kafka hate is from. I could understand if the distributed transactions part is hell but at that point it's like why'd you skip the database then? Trying to get that free lunch I assume.

I have an alternative. Try inserting everything into a SQLite file. Running into concurrency issues? Use a second SQLite file. Two computers? send it over the network. More issues? Since it's SQL just switch to a real database that will pool the clients. Or switch to five of them. SQL is sorta cool that way. I assume that would avoid the reimplementing half of the JVM to sync across computers where you get Oracle Java showing up to sell you their database halfway into making your galactic scale software or the whatever.

I must be stressed today. Thanks for asking.

[gong sound]

The Master said, “I consider my not being present at the sacrifice, as if I did not sacrifice.”

The Analects (Confucius, 551-479 BCE), translated by James Legge (1815-1897)

C# has aged better but I feel like Java 8 approaching ANSI C level solid tools. If only Swing wasn't so ugly. They should poach Raymond Chen to make Java 8 Remastered I like his blog posts. There's probably a DOS joke in there. Also they should just use the JavaFX namespace so I don't have to change my code and I want the lawyer here to laugh too.

I don't understand how everyone hates Kafka I use it as a typed write-ahead JSON log with library support for most languages. Yes the systems I've built with this were overengineered but it worked and was reliable. I just bought a larger disk instead of using whatever remains of the great battle of the zookeeper. I just assumed the fact it has any integration support with standard RDBMs must be a byproduct of being Java as purely an accident.

You are correct to question the premise. I don't care about Wikipedia, I am asking about some systemic decisions from decades ago that most people take for granted these days. The Red Cross doesn't need defending because the AMA backs it up due to tax deductions and medical licensing/lobbying overlap. Yet, in this political thread, Wikipedia moderators argue that their curation is the value and that it's not political and not the contribution, similar to Stack Overflow moderators hollowing out their site.

This brings me to the handling of actual experts, like medical doctors. How could the Wikimedia Foundation justify removing a licensed doctor like James Heilman ("Doc James") from its Board, a decision even Jimmy Wales supported? I get that they put him back shortly after, but that's so arbitrary. Someone putting their professional credibility on the line to provide accurate public information without explaining the original removal publicly? Yes, he was reinstated shortly after, but the initial act and the lack of a clear public explanation for the original removal feel arbitrary and undermine trust. Here was someone putting their professional credibility on the line for accuracy, and they were treated in such a dismissive way. The exact type of caustic politics causes this split between public health advice and the medical profession. Frankly, I'd rather see funding go directly to the experts if this is how they treat people.

Imagine if Wikipedia were frozen as a "2017 Doc James Edition" snapshot. Would that be so bad if that could slash operating costs by 99%? I could live with a slightly outdated encyclopedia for a few years if it meant escaping the constant, resource-draining burden of moderation and the endless debates about needing more free contributions, now we're overloaded and needing more funding/moderators. Then the donations could go to archive.org, which I hope Wikipedia donates to, since I mostly use Wikipedia for links to archive.org snapshots, since I like to see the source, not what people "curate" for me.

The constant fundraising solicitations are grating when contrasted with how they treated Doc James, or when users are lectured about their "privilege" for accessing supposedly free information. It seems Wikipedia doesn't inherently need my contribution or money; they had a highly dedicated expert, pushed him out (temporarily, but damagingly), and kept asking for donations. Claiming that donating today supports the same original mission feels increasingly misleading. Doc James must have the patience of a saint. It infuriates me when that kind of undervaluation happens, and they get to deduct taxes "for the public good," I get yelled at by the moonlighting Wikipedia/Discord mods for even questioning it. It's no surprise he's focused on teaching now.

Anyways, thanks for not attacking me for a seemingly dumb question. I don't have the answer to my question either.

https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2...

How do I tell the difference between a profit-maximizing non-profit who says they contribute to the public using what I contributed 10 years ago to Wikipedia and thus not need to pay taxes under charity in 2025? Compared to actually helping? I would hate to be a non-profit surrounded by beggars it isn't sustainable.

Thanks for sharing I was just looking for what happened to Sun. I like the second-hand quote comparing the IBM and HP as "garbage trucks colliding" plus the inclusion of blog posts with links to the court filings.

Is it fair to say ZFS made most sense on Solaris using Solaris Containers on SPARK?

Someone made Adblock rules for Wikipedia ads that I use with Ublock Origin who refuses donations. https://gist.github.com/jnss95/0fb8872fa7ce73d7795916c84eb30...

Previous discussion calling Wikipedia wasteful was not well received but I'm inclined to agree. https://news.ycombinator.com/item?id=34106982

Can the administration be more direct about it? Like Wikipedia shouldn't be able to threaten to obstruct to take back the data then place a banner ad covering 90% of the screen that I receive 0% of just to access my own thankless contributions I'd rather just pay than be subjected to domestic ads but maybe it's leaking overseas that would be scary.