362
submitted 1 month ago by mogoh@lemmy.ml to c/programmerhumor@lemmy.ml
top 43 comments
sorted by: hot top controversial new old
[-] BoppityBoop@lemmy.ml 65 points 1 month ago

10 years ago this meme said "compiling" shows how much docker has made things more "efficient"

[-] HurlingDurling@lemm.ee 18 points 4 weeks ago

Tbh, all of web development has become this... efficient. I remember the days where I could create a website in PHP and have it done in a couple of hours (per page), and now the only way I can do that would be using AI and going full on "vibe coding" mode.

[-] django@discuss.tchncs.de 5 points 4 weeks ago
[-] HurlingDurling@lemm.ee 2 points 4 weeks ago

Maybe it's time to go back to the good ol' days

[-] MangoCats@feddit.it 5 points 4 weeks ago

Nah, the good ol' days were when websites provided value to their users. The only competitively sustainable business model is the reverse: where users provide value to the website owners.

[-] porous_grey_matter@lemmy.ml 1 points 4 weeks ago

What do you mean? You can just make some react/typescript template and fastapi server thing, or any of dozens of equivalents, extremely quickly. I'm by no means an expert on web stuff as I develop software for controlling machines, but we used the above for some internal services in my last job and I could get a clean and functional site running in a day with no prior experience. I get that for public facing stuff you'll have some higher requirements but I couldn't imagine those wouldn't apply just because you're coding in PHP...

[-] MangoCats@feddit.it 10 points 4 weeks ago

a clean and functional site

But the specs no longer call for a clean, functional site. Today's "professional" web development specs call for user tracking, customized content per user per platform per locality the page is being served to. Then there's the backend dashboard services showing the overlords user behavior patterns and how they change based on tweaks made to their ui, I wouldn't be surprised if the algorithms auto-tune presentation to optimize behavior.

[-] HurlingDurling@lemm.ee 2 points 4 weeks ago

It's all the extra requirements, all the extra engineering that needs to be added that is IMO ruining web applications. Sure, they have huge benefits, but I hate when the application is simple but the backend is so overly engineered that it takes a week to completely build a fully fleshed out application. You have to organize your components, add styled-components.js, make sure it's compatible with mui.js, create test cases for each component, setup a DB and integrate it to hold all copy as well as any input from the customer, make sure that it's accessible (this part I admit that it's important), make sure your test cases always pass, setup routing tables, add analytics, add pixel campaign api, squash git conflicts, integrate some other weirdo apis that marketing and leadership pulled from some obscure service no one has ever heard off, debug some weird edge case error caused by a node dependency 3 levels down, present the finished website to leadership only to be destroyed and now you have to redo 75% of the site with leadership changes... rinse and repeat.

It's a good thing I fucking love my job 🙃

[-] MangoCats@feddit.it 4 points 4 weeks ago

You know what you didn't mention? Security. Privacy. Authenticity.

[-] porous_grey_matter@lemmy.ml 2 points 4 weeks ago

Ok yeah I totally get how that would be a burden... But I wouldn't like to attempt doing all that stuff in PHP ;)

[-] underscores@lemmy.zip 15 points 4 weeks ago

We've created this hell for ourselves

[-] CodeBlooded@programming.dev 11 points 4 weeks ago

For me, Docker has been amazing. It’s probably my single most favorite tool in my tool belt. It has made my life so much easier over the years. It’s far from hell for me! 🐳

[-] harsh3466@lemmy.ml 6 points 4 weeks ago

As a self-hoster, I love docker. It's been an amazing deployment tool.

[-] jadedwench@lemmy.dbzer0.com 2 points 4 weeks ago

Same. Now, it is complete shit on Windows, though supposedly it is better on W11, and that is a no go. However, on Mac, it is a dream. On Linux it is a dream. Pgadmin, postgres, mqtt, redis, all the arrs, qbittorrent, jellyfin, and whatever else I want to try and throw away if I don't like it.

[-] nate3d@lemmy.world 6 points 4 weeks ago

Someone doesn’t know how to leverage Docker BuildKit

[-] wpb@lemmy.world 3 points 4 weeks ago

Is there more to it than using multistage builds when appropriate?

[-] nate3d@lemmy.world 2 points 4 weeks ago

Oh yeah there is a lot you can implement to really get the most out of your architecture via docker and minimize your build times.

One is using BuildKit with BuildX and Docker Build Cache.

BuildX is the one I highly recommend getting familiar with as it’s essentially an extension of BuildKit.

I’m a solutions architect so I was literally building with these tools 15 minutes ago lol. Send any other questions my way if you have any!

[-] wpb@lemmy.world 3 points 4 weeks ago

Ah thanks, I do have another question actually! So aside from speeding up builds by parallelizing different stages, so that

FROM alpine AS two
RUN sleep 5 && touch /a
FROM alpine AS one
RUN sleep 5 && touch /b
FROM alpine AS three
COPY --from=two /a /a
COPY --from=one /b /b

takes 5 iso 10 seconds, are there any other ways buildkit speeds up builds?

[-] nate3d@lemmy.world 3 points 4 weeks ago

Yeah! So the first thing that BuildKit provides that greatly improves build time is that it will detect and run the two stages (one, two) in parallel so the wall-clock time for your example is 5s (excluding any overhead). Without BuildKit, these would be built serially resulting in a wall-clock time of 10s (excluding any overhead).

Additionally, BuildKit uses a content-based cache rather than a step-by-step key cache used by classical Docker. This content-based cache is intelligently reused across different builds and even re-ordered instructions. If you were to build then rebuild your example, the sleep steps would be skipped entirely as those steps are fully completed and unchanged in the content-based cache from the previous build. It will detect changes and re-build accordingly.

Lastly, (albiet not a BuildKit feature directly) is to leverage inline build caching for things such as dependencies so they are persisted to your filesystem and mounted during build time such that you don't have to fetch them constantly. This isn't really necessary if leveraging BuildKit fully since the content-based cache will also handle the dependencies and only pull if changed. i.e:

RUN --mount=type=cache,target=/root/.cache \
    your-build-command
[-] phantomwise@lemmy.ml 4 points 4 weeks ago

I was going to watch a tuto on how to be more efficient but YouTube is still buffering

[-] Crashumbc@lemmy.world 2 points 4 weeks ago

Delayed because of your ad-blocker :p

[-] phantomwise@lemmy.ml 2 points 4 weeks ago

I swear it's gonna load any second now and I'll be able to do something productive!

Still better than ads, though 😄

[-] bizdelnick@lemmy.ml 3 points 1 month ago
[-] bjoern_tantau@swg-empire.de 23 points 4 weeks ago

I wonder what the dev part of devops means.

[-] defaultusername@lemmy.dbzer0.com 13 points 4 weeks ago

Short for devine

[-] embed_me@programming.dev 11 points 4 weeks ago
[-] wpb@lemmy.world 2 points 4 weeks ago

At my previous job, we had a "Devops" team. We even outsourced some ops to a third party in the worst possible way (I'm talking "oh you want to set up an alert for something related to your service? Send us an email and we'll look into it" and so on). All the pre-devops pain magnified by an order of magnitude. Sometimes devs would do their own ops (I know, big shock!), and they would call it "shadow devops". Nearly fell off my chair when I first heard it. Kinda glad I'm not with them anymore.

[-] qaz@lemmy.world 22 points 1 month ago

Why not? Why doesn't the programmer want to test a container?

[-] davel@lemmy.ml 16 points 1 month ago

True. Nothing beats running your unit tests in the actual container image that will be run in production.

[-] HiddenLayer555@lemmy.ml 10 points 4 weeks ago* (last edited 4 weeks ago)

Race condition that only happens on the much faster production hardware: Allow me to introduce myself

[-] davel@lemmy.ml 7 points 4 weeks ago

Unit tests can’t win ’em all. That’s where things like integration tests, staging environments, and load testing come in.

The final layer of protection is the deployment strategy, be it rolling, canary, or blue-geen.

[-] Qaz@lemmy.ml 6 points 4 weeks ago

Or an issue that only appears when using ARM and not on my AMD64 dev machine

[-] qaz@lemmy.world 5 points 1 month ago

Yeah, and it's useful to just check everything so you don't forget to add some essential system package for e.g. SSL, especially when working with Alpine.

[-] bjoern_tantau@swg-empire.de 4 points 4 weeks ago

I mean, isn't that kind of the point of containers? To basically have the same environment everywhere.

[-] bizdelnick@lemmy.ml 1 points 4 weeks ago

Unit tests? No matter where you run them, and normally this is done by CI in a prebuilt container image, so you don't have to wait for "docker building". Acceptance tests must be run in an environment as close to production as possible, but that's definitely not a programmer's job.

[-] PotatoesFall@discuss.tchncs.de 16 points 1 month ago

Most programmers are interacting with containers these days.

The real question is why their build is taking so long.

[-] fossilesque@mander.xyz 10 points 4 weeks ago

Because of a few strategically placed wait commands.

[-] mogoh@lemmy.ml 14 points 1 month ago

Guess I must turn in my programmer-badge.

[-] GammaGames@beehaw.org 8 points 1 month ago

Apparently doing more than one thing makes you not a programmer 😔

[-] qisope@lemmy.world 9 points 1 month ago

what if I'm doing my programming inside a devcontainer?

[-] bizdelnick@lemmy.ml 1 points 4 weeks ago

How often do you rebuild the image?

[-] beeng@discuss.tchncs.de 6 points 1 month ago* (last edited 1 month ago)

Devops isn't a role.

Platform Engineer maybe, but even then I'd say they were "developing" the platform.

[-] bizdelnick@lemmy.ml 1 points 4 weeks ago

Devops engineer is a role.

this post was submitted on 18 Jun 2025
362 points (100.0% liked)

Programmer Humor

37235 readers
51 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 6 years ago
MODERATORS