Recent submissions

Comment · 28 days ago
In casual convo, I often hear strong typing conflated with static typing. Its generally fine unless im being pedantic for sport. Typescript has a stronger typing system than javascript, but depending on your audience, some might not consider typescript a strongly typed language because of things like `any`, type assertions, and lack of runtime guarantees to name a few
Comment · 3 years ago
The products we're building are more complex than they used to be, but I don't know if its true that backend development has inherently become more complex than it was in the past.

I've worked on everything from dinosaurs older than me to new greenfield projects using all the latest tech. I think over-complexity emerges in many ways, notably: too much abstraction, ignorance, dogma, and just straight up carelessness.

I think the abstraction problem is the most common and severe though. In enterprise software, I've spent an entire day in the past combing through several layers of services and repositories just to get the full picture of how a response object is being created for a single controller method.

Let me give another example: think about the great debate over ORM vs No-ORM. It's fundamentally a battle about the balances and costs of abstraction in software development. On one hand, you have a (hopefully) simple interface for defining a db's schema, but do I really want to obfuscate the developer from the implementation details of that `findBy` method and trust that the ORM will be 1) used correctly and 2) generate a performant, sensible query? What about security handling? Should I have my developers concerned about preventing potential SQL injections, or just let the ORM take care of that too? The answer depends on a lot of things.

Anyway, I believe for every abstraction:

- something significantly useful should be added (this seems like a truism as I write this, but i've seen a startling amount of useless abstractions)

- the cost should be carefully calculated

- understand where complexity is being added and subtracted

I believe thinking about abstraction in this way would've cut down a lot of the complexity I've seen in softwares past.

Comment · 4 years ago
There's a lot of C out there homie
Comment · 4 years ago
> even Stalin would tell you that you are making an error in politicizing technology.

Thank you, I loved this haha.

Comment · 5 years ago
Vendor lock-in can be a real issue as you scale. I work at a company going through a hypergrowth phase, and we're more or less locked into Azure, which has been objectively awful for us
Comment · 5 years ago
It's been a year since I touched an AWS lambda, but I'd bet money that cold starts are still an issue. There is a common hack that half works: have your function run every minute (you can use eventbridge rules for this); in the function handler, the first thing you should evaluate is whether or not it's a warming event or not, and exit 0 if it is. Your results may vary (mine did lol)
Comment · 5 years ago
Cool
Comment · 6 years ago
That doesnt surprise me. They will let highly problematic security issues persist for weeks
Comment · 7 years ago
>signatures that are 3 lines long

What hath God wrought

Comment · 7 years ago
I came here to say this. Literally every company ever does this. In marketing it's called a value-first proposition. I don't see it as evil by any means
Comment · 7 years ago
Any miscers checking in?
Comment · 7 years ago
That's kind of a blanket statement don't you think?
Comment · 7 years ago
Wow, imagine not having to charge your earbuds! Revolutionary
Comment · 7 years ago
lol this needs more visibility
Comment · 7 years ago
I do both and it's probably less effective (comparatively)

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton