Live data from Hacker News

The Stupid Programmer Manifesto

hasen.substack.com

121–130 of 239 posts

Re: The Stupid Programmer Manifesto

#121
Sigh. I hope this is satire. Or this person is only referring to their personal projects. Otherwise, I agree with their premise and suggest they find a different career.

HTTP Verbs? You really can't get more basic. At least you could try to wrap your brain around the idea that GET reads and POST writes.

Not using SQL? Okay. You're spending a lot of time and effort hand-rolling your own shitty database.

The combination of things suggests to me they have can't or don't want to deal with with non-trivial mental models. Things like transforming data between layers or figuring out how someone else will read your code.

The next person to work on their stuff is going to have a massive headache figuring out what "made sense" to this person.

Re: The Stupid Programmer Manifesto

#123

It’s important to keep in mind that pretty much all the techniques you’re too „stupid“ for all aren’t necessities for small projects, but rather being able to manage complexity (or workload) at scale. For an MVP or a small product, keeping with the simpler techniques is absolutely fine, and adhering to those standards in many cases can even be considered overengineering. Though there’s one thing I take issue with. „I…

> It’s important to keep in mind that pretty much all the techniques you’re too „stupid“ for all aren’t necessities for small projects, but rather being able to manage complexity (or workload) at scale

Most of the techniques people use to manage complexity at scale are too stupid to actually do that. Their only benefit is that following them prevents people from doing something even worse.

It also prevents people from doing anything better. Instead we dogmatically follow patterns with mountains of useless boilerplate and unnecessary abstraction, but somehow it's considered less complex.

I hate software sometimes.

Re: The Stupid Programmer Manifesto

#124

Unironically have no problem with any of this at at small and maybe even medium scale which is like 99% or more of applications. As long as the disk written data is being backed up rock and roll!! When they say 'compiled binary' are they using Java or are they writing web apps in C?

Probably Go. It is really well suited to this sort of thing.

Yeah lol this entire blog post is basically extolling the virtues if golang.

Re: The Stupid Programmer Manifesto

#125

Sigh. I hope this is satire. Or this person is only referring to their personal projects. Otherwise, I agree with their premise and suggest they find a different career. HTTP Verbs? You really can't get more basic. At least you could try to wrap your brain around the idea that GET reads and POST writes. Not using SQL? Okay. You're spending a lot of time and effort hand-rolling your own shitty database. The combinatio…

> The combination of things suggests to me they have can't or don't want to deal with with non-trivial mental models.

You mean… they’re stupid? Like they say in their title?

Re: The Stupid Programmer Manifesto

#126

Sigh. I hope this is satire. Or this person is only referring to their personal projects. Otherwise, I agree with their premise and suggest they find a different career. HTTP Verbs? You really can't get more basic. At least you could try to wrap your brain around the idea that GET reads and POST writes. Not using SQL? Okay. You're spending a lot of time and effort hand-rolling your own shitty database. The combinatio…

> HTTP Verbs? You really can't get more basic.

Every REST API codebase I've ever worked on would like a word. There's TONS of subtleties that determine whether you should be creating a GET, POST, PUT or PATCH for many different use cases.

And this isn't even taking into account the hundreds and hundreds, maybe thousands of endpoints I've come across that were obviously wrong, but some Senior or even Principal dev had somehow managed to completely botch it - NOT a rare occurence.

Re: The Stupid Programmer Manifesto

#127

Sigh. I hope this is satire. Or this person is only referring to their personal projects. Otherwise, I agree with their premise and suggest they find a different career. HTTP Verbs? You really can't get more basic. At least you could try to wrap your brain around the idea that GET reads and POST writes. Not using SQL? Okay. You're spending a lot of time and effort hand-rolling your own shitty database. The combinatio…

I'm okay with it until the database.

For http verb, I'm onboard with just using POST for everything.

The database is one area that you need more care. Even if just SQLite, storage persists and especially if this is for a company, needs to persist past you.

Re: The Stupid Programmer Manifesto

#128

Earlier quoted context omitted.

how does the "structure" of the data have anything to do with leaking information? Seems like data protection occurs way lower in the stack like https and encryption at rest.

Because of things like mass assignment or IDOR, or injection attacks, presumably. Handing data from the user (untrusted input) directly to the backend unchanged is going to in 99.9999999% of cases also mean it's unchecked. "I'm not smart enough to bother sanitizing my input, or to learn about stuff that's someone else's job like security" would fit right into this "manifesto".

You're taking about securing the data itself, which has nothing to do with its parent structure.

Re: The Stupid Programmer Manifesto

#129
post #72

Earlier quoted context omitted.

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.

Less state changes the better. Managing state is the number one enemy on software.

I agree wholeheartedly. I don't understand why everyone insists on repackaging the same data over and over.

Store it in one format in the database. Read from the database and transform it. Package that into a TO object and send it over the wire. Receive the TO object and repackage it into your local context Take the local context and repackage a bunch of parts of it into each view model as necessary.

Everyone just wants to bundle up data and throw it over a wall instead of working together to engineer end to end.

Re: The Stupid Programmer Manifesto

#130
Noob Observation: There is an element of knowing what saves you time and then on top of that why and how it does. The saving I will divide into two categories:

1. Easy wins category: Don't repeat code, cause you will take twice to change it. This is clearly visible to even the author.

2. What I call the "tougher" win category: When you require more executive function like breaking a bad habit, managing cognitive load; in short understanding why it saves you time in the long run. A reasonable example of this is using typing in python. I and many of you know that you can catch errors way faster using types+pyre(for example) than writing tons of unit tests, but it takes an old python programmer longer to get used to putting in the types and some times remembering to set up and use Pyre to get used to the idea of how it saves time. Pre-pyre used to python dev might just think "I will write tons of unit tests".

There is obviously a psychological/mental health component to this.

Post reply on HN