Hacker Newsnew | past | comments | ask | show | jobs | submit | commandlinefan's commentslogin

I still think it's useful - you can do your base case testing against ministack and only start incurring AWS charges to finalize your load testing.

Thanks - I was thinking, "this is cute, but I'm not sure I get it". Now it makes sense.

The core problem is the quixotic quest for efficiency. Right now I'll blame JIRA because that's the latest incarnation of this beast, but it's the mindset behind thinking that's a good idea in the first place. As long as I've been working I've been under artificial, meaningless time constraints that seem to only exist to catch cheaters, but that actually serve to make experimentation impossible.

As somebody else pointed out, I read the entire article and still can't figure out what the author is actually talking about. That said, this sounds an awful lot like the reddit moderator problem: when you rely on unpaid volunteers, they become activist crusaders.

I'm assuming this is related to the previous drama back in 2020:

https://lwn.net/Articles/833233/

Apparently TDF wanted to host LibreOffice Online for free, when it had previously been a source-only project. Collabora didn't like that as they did 95% of the development and wanted to be able to sell support for their own version, but they didn't want to be competing against TDF's version at the same time.


I can understand Collabora not being jazzed about it, but is there anything in the license that would prevent a third party who is neither Collabora nor TDF from doing the same? I mean, it's one Dockerfile away from anyone doing it, right? May as well be TDF who distributes an official binary.

I don't think so, I think it's more about TDF considering their involvement at that point a conflict of interest.

Are you not entertained?!

> "Batteries included" ecosystems are the only persistent solution

Or write your own stuff. Yes, that's right, I said it. Even HTTP. Even cryptography. Just because somebody else messed it up once doesn't mean nobody should ever do it. Professional quality software _should_ be customized. Professional developers absolutely can and should do this and get it right. When you use a third-party HTTP implementation (for example), you're invariably importing more functionality than you need anyway. If you're just querying a REST service, you don't need MIME encoding, but it's part of the HTTP library anyway because some clients do need it. That library (that imports all of its own libraries) is just unnecessary bloat, and this stuff really isn't that hard to get right.


> When you use a third-party HTTP implementation (for example), you're invariably importing more functionality than you need anyway. If you're just querying a REST service, you don't need MIME encoding, but it's part of the HTTP library anyway because some clients do need it. That library (that imports all of its own libraries) is just unnecessary bloat, and this stuff really isn't that hard to get right.

This post is modded down (I think because of the "roll your own crypto vibe", which I disagree with), but this is actually spot on the money for HTTP.

The surface area for HTTP is quite large, and your little API, which never needed range-requests, basic-auth, multipart form upload, etc suddenly gets owned because of a vulnerability in one of those things you not only never used, you also never knew existed!

"Surface area" is a problem, reducing it is one way to mitigate.


> the "roll your own crypto vibe", which I disagree with

Again, you run into the attack surface area here. Think about the Heartbleed vulnerability. It was a vulnerability in the DTLS implementation of OpenSSL, but it affected every single user, including the 99% that weren't using DTLS.

Experienced developers can, and should, be able to elide things like side-channel attacks and the other gotchas that scare folks off of rolling their own crypto. The right solution here is better-defined, well understood acceptance criteria and test cases, not blindly trusting something you downloaded from the internet.


The reason I disagree about crypto is because:

1. It's really really hard to verify that you have not left a vulnerability in (for a good time, try figuring out all the different "standards" needed in x509), but, more importantly,

2. You already have options for a reduced attack surface; You don't need to use OpenSSL just for TLS, you can use WolfSSL (I'm very happy with it, actually). You don't need WolfSSL just for public/private keys signing+encryption, use libsodium. You don't need libsodium just for bcrypt password hashing, there's already a single function to do that.

With crypto, you have some options to reduce your attack surface. With HTTP you have few to none; all the HTTP libs take great care to implement as much of the specification as possible.


> "standards" needed in x509

That's actually not really crypto, though - that's writing a parser (for a container that includes a lot of crypto-related data). And again... if you import a 3rd-party x.509 parser and you only need DER but not BER, you've got unnecessary bloat yet again.


> Even cryptography

Good luck


I wrote a standalone gzip decompressor in about 500 lines of code (including comments, with braces on the next line), with no dependencies at all: https://commandlinefanatic.com/cgi-bin/showarticle.cgi?artic...

When I started programming in the early 80's, personal computing had just recently become a thing. Before that, if you wanted to learn to program, you first needed access to a very rare piece of hardware that only a select few were granted access to. But when personal computing became a reality, programming exploded - anybody could learn it with a modest investment.

I suspect we're trending back to the pre-personal computing era where access to 'raw' computing power will be hard to come by. It will become harder and harder to learn to program just because it'll be harder and harder to get your hands on the necessary equipment.


I've never understood why emacs mode became the default. "set -o vi" is the _first_ command I type in a new shell.

remap Caps Lock to Ctrl and see the light from home row

It's always been this way - the people that rise to the top are the people who never had to deeply understand something, so they can't even comprehend what that would look like or why it should be important. They're trying to automate the "understanding" part, with predictably disastrous consequences that those of us who aren't the "rise to the top" type could see coming. Agentic AI is just another symptom.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: