Live data from Hacker News

Programming culture in the late aughts (2022)

morepablo.com

111–120 of 123 posts

Re: Programming culture in the late aughts (2022)

#111

Earlier quoted context omitted.

If your problem is needing to synchronize a complex mesh of services when you upgrade stuff, the solution is to not have a complex mesh of services that needs managing. I have a dist-directory, in it is a directory for with each release version, and a symlink current pointing to the current release. To deploy a new version, I create a new directory, unpack each service, and then redirect the symlink ... then "systemc…

Just read your article: https://www.marginalia.nu/log/09-system-upgrade/ You got rid of a lot but where did the functionality for those tools go? I understand wanting to get rid of containers & Kubernetes, but did you rewrite/bake the functionality in to your app? or maybe not care about monitoring and logs temporarily for now?

I mostly just got rid of the functionality. I do logs with grep and monitoring with vanilla prometheus.

Kubernetes and the surrounding ecosystem can create many of the problems they set out to solve.

Re: Programming culture in the late aughts (2022)

#112
post #17

Earlier quoted context omitted.

> International travel. Probably less harmful; the per-year CO2 emissions are similar (depending how long your commute is and how much travel you do), and travel has fewer of the other negative externalities (taking up road space and city space, killing people directly). > People need to get to work, nobody needs to backpack through Europe Perhaps, but I don't see how putting out an extra n tonnes of CO2 by driving a…

If the co2 emissions are similar and both are just for fun I don't see how you ethically justify the one and not the other. This looks elitist and classist.

Because, as I said, the CO2 emissions are not the only negative externality cars impose on other people.

Re: Programming culture in the late aughts (2022)

#113
post #66

12 years ago, even without AWS, you could get a Linode, host an app on its naked IP, and not made to feel too much like you weren't "serious" about hosting your app. These days you almost always need to know a fair bit of Docker and Docker Compose, a lot of people want to Kubernetes, ELBs got replaced by ALBs + NLBs which you gotta manage in VPCs which you gotta manage through Security Groups and your traffic gets ro…

I disagree. There are so many simpler options available. DO app platform is point and click deploy from GitHub for $5/month. Knowing docker these days is a huge boon - it immediately removes the "works on my machine" problem, and honestly the amount of docker knowledge required to deploy a basic even crud app is about 10 lines that can be copy and pasted from stack overflow by searching for "Dockerfile for X"

The problem isn't so much that it's hard to get started with Docker, it's debugging stuff when it goes wrong is so hard. There's this 80M dockerd binary that needs to run as root and last time I checked it's over a million lines of code – lots of potential for failure there, ranging from "Docker doesn't do the right thing and I can't figure out so let's just nuke the entire server and start up a new one" to "Oh dockerd magical firewall rules made my firewall ineffective".

Is that a good tradeoff? I don't know; it seems to me you can get 95% of what Docker gives you with 5% of the complexity. Luckily the ecosystem has started to realize that and better tools have started to materialize.

Re: Programming culture in the late aughts (2022)

#114

> Logs are structured and passed to a SaaS which will have a custom search syntax that takes tens of seconds to search them poorly, and they'll get lost in the noise of all those components. You'll spend a non-trivial amount of time devising systems for tracing requests through all these components. I feel this one. At a previous gig we had an entire project to try and pick a logging solution, and none on offer let y…

I have never found a logging tool that I like more than grep (or ripgrep, I suppose, combined with maybe some awk). In principle there's a lot that could be improved on grep/awk, but somehow all the tools that I've had to use thus far come with implementations that are so bad and constrained that grep still wins. It's almost like the people writing these things have never used it themselves.

Re: Programming culture in the late aughts (2022)

#115
post #30

> The story that solidified is: Use Boring Technology. Use [...] Ruby [...] > I think this narrative, while conventional, is bollocks. [...] Ruby's weird semantics are credited for how one person as able to use it to make a world-changing framework; to call Ruby a "boring" choice now is a testament to how successful the right weird tech can be! Sorry, but this whole section is bollocks. I've never heard anyone call R…

It's "boring" in the sense that it's been around for a while and has proven itself to be fairly stable and reliable, is not going away any time soon, is no longer changing at a very rapid pace, has some good books written about it. Rust is also fast becoming "boring" in this sense (maybe it already is; I don't keep up that closely).

This is opposed to Rust from 5 years ago, or e.g. Zig today.

That's how I typically use "boring technology" anyway.

Re: Programming culture in the late aughts (2022)

#116
post #113
post #66

Earlier quoted context omitted.

I disagree. There are so many simpler options available. DO app platform is point and click deploy from GitHub for $5/month. Knowing docker these days is a huge boon - it immediately removes the "works on my machine" problem, and honestly the amount of docker knowledge required to deploy a basic even crud app is about 10 lines that can be copy and pasted from stack overflow by searching for "Dockerfile for X"

The problem isn't so much that it's hard to get started with Docker, it's debugging stuff when it goes wrong is so hard. There's this 80M dockerd binary that needs to run as root and last time I checked it's over a million lines of code – lots of potential for failure there, ranging from "Docker doesn't do the right thing and I can't figure out so let's just nuke the entire server and start up a new one" to "Oh docke…

Which alternatives are you thinking of?

Re: Programming culture in the late aughts (2022)

#117
post #113

Earlier quoted context omitted.

The problem isn't so much that it's hard to get started with Docker, it's debugging stuff when it goes wrong is so hard. There's this 80M dockerd binary that needs to run as root and last time I checked it's over a million lines of code – lots of potential for failure there, ranging from "Docker doesn't do the right thing and I can't figure out so let's just nuke the entire server and start up a new one" to "Oh docke…

Which alternatives are you thinking of?

I've used runc, which worked out well for me, but it's not a "drop-in replacement" for everything Docker does; it's essentially just an OCI runtime (originally extracted from Docker I believe), but 9 times out of 10 that's what I want.

There are other tools too, such as containerd (and more I don't recall the name of first-hand), but I don't have first-hand experience with them.

Re: Programming culture in the late aughts (2022)

#118

Earlier quoted context omitted.

But you literally don't have to do any such thing though. A simple make file and maybe a load balancer can easily let you launch large web applications used by millions of users. I do not understand where people are getting stuck here that they need all of this complexity. How many users do these apps have?

Not only that, half this supposedly necessary tech actually slows you down: containers and kubernetes, websockets galore, clients like giant barnacles on your server, then we get these best practices that weren’t thought out well: sessions, etc… mostly it’s the cargo cult implementation knee jerk response “gotta have it” like some frontend maniac from 2010 adding jquery to everything, when what is needed is to keep t…

> instead of calling it done and schlepping some guys tractor drag race motor around town delivering pizzas

This sounds way too specific to be a hypothetical

Re: Programming culture in the late aughts (2022)

#119
post #31

12 years ago, even without AWS, you could get a Linode, host an app on its naked IP, and not made to feel too much like you weren't "serious" about hosting your app. These days you almost always need to know a fair bit of Docker and Docker Compose, a lot of people want to Kubernetes, ELBs got replaced by ALBs + NLBs which you gotta manage in VPCs which you gotta manage through Security Groups and your traffic gets ro…

I feel fortunate to run one of my current projects in that aforementioned "Linode-esque" fashion. It is just so, so much simpler to debug and trace what's going on. It can handle a surprising amount of traffic and work before any actual issues come up. Nothing changes from an upstream vendor, at all. It really "just works". That said, I'm very aware there's a sweet spot and that this doesn't work past a certain point…

Niche is ok, niche is good. The entire western civilization was built on shopkeepers and tradesmen. The concepts of private domicile, personal freedom, even democracy itself one could argue, are firmly founded on skilled people doing niche work for their communities. Corporations are inherently imperialistic. Bring back niche entrepreneurship, I say!

Re: Programming culture in the late aughts (2022)

#120

Earlier quoted context omitted.

But you literally don't have to do any such thing though. A simple make file and maybe a load balancer can easily let you launch large web applications used by millions of users. I do not understand where people are getting stuck here that they need all of this complexity. How many users do these apps have?

Way less than people think they’re going to. When I started my current job, the project was veering into microservices hell by a team that did not understand how to build a web application. A rough back of envelope calculation of potential customer base and what the product was aimed at (B2B in renewables) told me that even with world domination, the backend of the application would at most have 50k active users ever…

Do you work where I left earlier this year? Exact same description: extremely small total user base, 30~ people company, deploying 30~ services on Kubernetes... I was being asked to take over repositories full of configuration files. No, thanks.
Post reply on HN