Live data from Hacker News

The Stupid Programmer Manifesto

hasen.substack.com

71–80 of 239 posts

Re: The Stupid Programmer Manifesto

#71

Most projects don't need Docker. I have built multiple billion-dollar-a-year company websites from scratch (no, I don't make a lot of money, just a dev) that get tens of thousands of users a day and we barely ever need more than one or two instances of anything, all of which the major cloud providers can scale out of the box with Azure App Service / Elastic Beanstalk / etc. Docker/K8S is pure hype and never fills the…

> Docker/K8S is pure hype and never fills the "oh it simplifies development on various OS" argument. This is demonstrably untrue and a hilariously bad take. Docker absolutely simplifies things. Give me a docker-compose file any day over “install X version of Y and Z version of Q”.

Yea, except I literally never have that problem. Get latest Node and .NET (as an example) and you are good to go after NuGet restore or npm i. Sounds like you guys need to keep your libraries up-to-date. Which you will need to do anyway if you want your project to be maintainable. On a similar vein - don't pull in every single dependency you can all the time. Btw, this isn't directed at you specifically, obviously, just easier to phrase it that way.

Edit: I am actually not arguing just to argue and think about this a lot. A "real world" example is "well, I need to mock out AWS SQS locally and now I have to pull in a fake local queue" or "I need to mock out RabbitMQ locally", etc. The short answer to those things is that you mostly don't - test the endpoint handling queue messages independently / write integration tests for it if you have to. There is no point to having the whole system mocked on your local - SQS/Kafka/whatever will do what it's supposed to do for the most part.

Re: The Stupid Programmer Manifesto

#72
post #26

Earlier quoted context omitted.

Yeah, I really can't tell if it's satire. Especially things like this: > I’m not smart enough to figure out how to transform data between different layers of the system, so I just don’t. I use the same represetnation in the UI layer and the storage layer. OK, well then you might need to gather a little more work experience and meet the repercussions of decisions like this one. Or maybe the OP is a contractor and neve…

Transforming state data between different layers of the system if done wrong is one of the biggest nightmares in my opinion you could have.

I think the reality is that neither of those outcomes are desirable and your statement doesn't do anything to support the OPs case. Both are wrong.

Re: The Stupid Programmer Manifesto

#73
post #16
post #3

I can't tell if this is an honest call to keep things simple, or if it's meant to ridicule that idea. Because I strongly, deeply agree with some of these points, and am absolutely horrified by some of the others.

> I can't tell if this is an honest call to keep things simple, or if it's meant to ridicule that idea. Me neither. All of these things involve tradeoffs. Multiple repos vs monorepo highly depends on your organization. Microservices vs monolith has been discussed to death. A simple, locally-driven deploy process is great for solopreneurs but doesn't scale to full companies. Load balancers might be required depending…

Yeah this is a sane take. Completely agree except for I think theres more performance bottlenecks with a database than files on disk no?

Re: The Stupid Programmer Manifesto

#75
I used to consider myself 10x years ago. But now probably like the author. There are too many tools, too many configurations, too complicated to get it all to work together. That is no longer 'programming', it is fighting a dozen tools that rarely get along. This all becomes inertia that takes 10x and slows it down to .5x. The environment is no longer suited towards focused work. If the day is spent futzing around with some library that stopped working then it is not spent on problem solving.

Maybe that is the key, you are 10x if you are solving a real problem. But now you are spending that 10x on solving stupid problems with tooling, which is not aimed at the main problem.

(10x Programmer) - (9x time spent on tooling) = a 1x Programmer.

Re: The Stupid Programmer Manifesto

#76
post #2

How can you store program state on disk like that? You'd need serialization and deserialization. A DB might be easier.

> How can you store program state on disk like that? You'd need serialization and deserialization. You need serialization and deserialization when interacting with a DB, too. You're trusting a library to do most of that for you. This is the difference between a junior engineer and a senior engineer. As a junior engineer, you don't trust your own judgement and use a library. As a senior engineer, you don't trust the l…

Dunning-Kruger begs to differ...

Re: The Stupid Programmer Manifesto

#77
> embed the http server and data storage engine as libraries in my static binary.

That's very interesting, I've been looking for DB + web server + application server in one process solutions some time ago, but the only thing I found back then was Tarantool. I wonder which solution the author had in mind when he was writing this.

Re: The Stupid Programmer Manifesto

#78
post #51

I appreciate the attempt at honesty, but it's not true that you're too stupid. You're too lazy. A trained monkey could learn these things (I know, because I learned them!) and you're not stupid if you know how to program. There's no shame in being lazy. Let's call a spade a spade.

It's not an attempt at honesty, it's either allegorical or satire. Other recent posts by author are an article about BoltDB and B-Trees, https://hasen.substack.com/p/indexing-querying-boltdb . Juxtapose with "I'm not smart enough to figure out SQL queries."

Right. And it’s therefore quite lame. “Look at me I’m smart because I use Docker” is for sure a stupid thing to post under your own name. Youth is wasted on the young.

Re: The Stupid Programmer Manifesto

#79
It is all reasonable stuff for most apps that don’t need scale EXCEPT writing files to disk as a database. Doing that for “blobby” stuff like profile pic is OK but for shared data that needs granular mutation I feel you will end up with a buggy, adhoc, ill specified half of postgres in your app.

Re: The Stupid Programmer Manifesto

#80
post #26
post #3

I can't tell if this is an honest call to keep things simple, or if it's meant to ridicule that idea. Because I strongly, deeply agree with some of these points, and am absolutely horrified by some of the others.

Yeah, I really can't tell if it's satire. Especially things like this: > I’m not smart enough to figure out how to transform data between different layers of the system, so I just don’t. I use the same represetnation in the UI layer and the storage layer. OK, well then you might need to gather a little more work experience and meet the repercussions of decisions like this one. Or maybe the OP is a contractor and neve…

I think what they're really trying to say is "we can start out with this and in a lot of cases we won't ever have to change it".
Post reply on HN