this post was submitted on 03 Sep 2023
956 points (98.0% liked)

Programmer Humor

19503 readers
1263 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 102 points 1 year ago* (last edited 1 year ago) (3 children)

oh god i felt this one. Devs too busy, incompetent or just plain lazy to figure out why their code is so slow, so just have ops throw more CPU and memory at it to brute force performance. Then ops gets to try to explain to management why we are spending $500k per month to AWS to support 50 concurrent users.

[–] [email protected] 39 points 1 year ago

The sad thing: Throwing hardware at a problem was actually cheaper for a long time. You could buy that $1500 CPU and put it in your dedicated server, or spend 40 developer hours at $100 a pop. Obviously I'm talking about after the easy software side optimizations have already been put in (no amount of hardware will save you if you use the wrong data structures).

Nowadays you pay $500 a month for 4 measly CPU cores in Azure. Or "less than 1 core" for an SQL Server.

Obviously you have a lot more scalability and reliability in the cloud. But for $500 a month each we had a 16 core, 512 GB RAM machine in the datacenter (4 of them). That kind of hardware on AWS or Azure would bankrupt most companies in a year.

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (1 children)

Well, having been on the other side, sometimes the Dev is also trying to fight the good fight whilst having to use some crap 3rd party system/library that's imposed from above because somebody at the C-suite level after suitably dinned and wined (and who knows what more, including implied or even explicit promises for the future of their career) signed a massive agreement with one of the big corporate software providers so now those of us at the coalface have to justify to money spent on that contract by using every POS from said big corporate software provider.

I mean, I might be exagerating the overtly corrupt nature of the deal (in my experience its more a mix of CTO incompetence - or being pretty much powerless at the C-Suite level because his is not the core business, hence overriden - and the high-level management trading favours using company money and more for personal rather than corporate reasons) but even competent devs that know their thing can't really do much when they have to use a bug-riddled POS massive framework from some vendor that doesn't even have proper support, for "corporate reasons".

[–] [email protected] 8 points 1 year ago (1 children)

I got somebody at the C-suite level fired after I presented evidence of him wining and dining with a shit supplier (actually being buddy buddy and literally dining with him on a weekly basis), also for not knowing the consequences of his decisions and also for him bring unable to keep his hands off employees below him (me included).

Within 3 months there were 5 severe complaints against him with the CEO and humans resources.

The company had whistleblower protections but obviously fired me for my troubles as well anyway.

I don't care, the fucker was evil and the company honestly too and I'm happy I'm gone there.

[–] [email protected] 4 points 1 year ago (1 children)

That is good to hear (except the part about them firing you in the end).

[–] [email protected] 3 points 1 year ago

It sucked in the moment, but now I'm more than fine with it. I see the company for what it is now, quite evil and a detriment to society. I'm happy I'm gone there.

[–] [email protected] 4 points 1 year ago

You and me both

[–] [email protected] 70 points 1 year ago* (last edited 1 year ago) (5 children)

This happens all the time. Companies are bleeding money into the air every second to aws, but they have enough money to not care much.

AWS really was brilliant in how they built a cloud and how they marketed everything as "pay only for what you use".

[–] [email protected] 22 points 1 year ago

We worked with a business unit to predict how many people they would migrate on to their new system week 1-2 … they controlled the migration through some complicated salesforce code they had written.

We were told “half a million first week”. We reserved capacity to be ready to handle the onslaught.

8000 appeared week 1.

[–] [email protected] 11 points 1 year ago (2 children)

That this is deemed brilliant is the sad part.

[–] [email protected] 19 points 1 year ago* (last edited 1 year ago) (1 children)

I mean, I would put brilliant in quotes in the way that it's brilliant for their profits. Not brilliant in the way of making the world a better place.

[–] [email protected] 10 points 1 year ago (2 children)

Companies hate OpEx and love CapEx. That's the main driver as companies loathe hardware life cycle costs and prefer a pay as you go model. It is more expensive but it's more budget friendly as you avoid sticker shock every 3-4 years.

[–] [email protected] 4 points 1 year ago

There's more than just hardware and power cost to servers.

Primarily cost of employees taking care of the servers.

[–] [email protected] 3 points 1 year ago

Replacing hardware only every 6 to 8 years, makes it better.

[–] [email protected] 3 points 1 year ago

Lawful Evil is still evil.

load more comments (3 replies)
[–] [email protected] 42 points 1 year ago (1 children)

Meanwhile I'm given a 16gb of ram laptop to compile Gradle projects on.

My swap file is regularly 10+ gigs. Pain.

[–] [email protected] 9 points 1 year ago (1 children)

That reminded me about trying to compile a rust application (Pika Backup) on a laptop with 4 GB of RAM (because AUR).

That was a fun couple of attempts. Eventually I just gave up and installed a flatpak.

[–] [email protected] 4 points 1 year ago

God bless flatpack in times of need

[–] [email protected] 39 points 1 year ago (1 children)

I really hope those aren't factorials.

[–] [email protected] 22 points 1 year ago

Depends on which crappy software vendor I'm dealing with in any given week. lol

[–] [email protected] 34 points 1 year ago (5 children)

Why did it change from 64 gb of ram to 1.268869321 E+89(64!) gb of ram

Also, 2.092278988 E+13(16!) gb is a lot more than 64 gb

[–] [email protected] 10 points 1 year ago

Said app is Chrome

load more comments (4 replies)
[–] [email protected] 32 points 1 year ago (2 children)

Bonus if the vendor refuses to provide any further support until your department signs off on the resource expansion.

In a just world that's when you drop the vendor. In a just world.

[–] [email protected] 14 points 1 year ago* (last edited 1 year ago)

*cough* Oracle *cough*

[–] [email protected] 4 points 1 year ago

Then we'd probably have to drop each and every vendor...😩

[–] [email protected] 31 points 1 year ago (1 children)

64! is a whole lot more than 64 though. It's a number with 90 digits.

[–] [email protected] 13 points 1 year ago (1 children)

Hmm is unexpected factorial a sub here yet?

[–] [email protected] 4 points 1 year ago (4 children)

They're called “communities”, not “subs”.

[–] [email protected] 3 points 1 year ago
[–] [email protected] 3 points 1 year ago (1 children)

Yeah it feels like "sub" has become something like "to google something"

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 19 points 1 year ago

For some reason I love this meme.

[–] [email protected] 19 points 1 year ago* (last edited 1 year ago) (1 children)

Flip side of the coin, I had a sysadmin who wouldn’t increase the tmp size from 1gb because ‘I don’t need more than that recommended size’. I deploy tons of etl jobs, and they download gbs of files for processing to this globally known temp storage. I got it changed for one server successfully after much back and forth, but the other one I just overrode it in my config files for every script.

[–] [email protected] 11 points 1 year ago (1 children)

This is why Java rocks with ETL, the language is built to access files via input/output streams.

It means you don't need to download a local copy of a file, you can drop it into a data lake (S3, HDFS, etc..) and pass around a URI reference.

Considering the size of Large Language Models I really am surprised at how poor streaming is handled within Python.

[–] [email protected] 8 points 1 year ago (1 children)

Yeah python does lack in such things. Half a decade ago, I setup an ml model for tableau using python, and things were fine until one day it just wouldn’t finish anymore. Turns out the model got bigger and python filled out the ram and the swap trying to load the whole model in memory.

[–] [email protected] 4 points 1 year ago

During the pandemic I had some unoccupied python graduates I wanted to teach data engineering to.

Initially I had them implement REST wrappers around Apache OpenNLP and SpaCy and then compare the results of random data sets (project Gutenberg, sharepoint, etc..).

I ended up stealing a grad data scientist because we couldn't find a difference (while there was a difference in confidence, the actual matches were identical).

SpaCy required 1vCPU and 12GiB of RAM to produce the same result as OpenNLP that was running on 0.5 vCPU and 4.5 GiB of RAM.

2 grads were assigned a Spring Boot/Camel/OpenNLP stack and 2 a Spacy/Flask application. It took both groups 4 weeks to get a working result.

The team slowly acquired lockdown staff so I introduced Minio/RabbitMQ/Nifi/Hadoop/Express/React and then different file types (not raw UTF-8, but what about doc, pdf, etc..) for NLP pipelines. They built a fairly complex NLP processing system with a data exploration UI.

I figured I had a group to help me figure out Python best approach in the space, but Python limitations just lead to stuff like needing a Kubernetes volume to host data.

Conversely none of the data scientists we acquired were willing to code in anything but Python.

I tried arguing in my company of the time there was a huge unsolved bit of market there (e.g. MLOP's)

Alas unless you can show profit on the first customer no business would invest. Which is why I am trying to start a business.

[–] [email protected] 19 points 1 year ago (2 children)

Yeah, almost certainly the software only uses 4GB because it limits itself to what memory it has available.

I have seen this conversation pan out a few times already. It has always been because of that, and once expanded things work much better. (Personally I have never took party at one, I guess that's luck.)

[–] [email protected] 6 points 1 year ago

I phrased that panel poorly. App in question always had 16 GB and still never used above 4.

[–] [email protected] 4 points 1 year ago (1 children)

Does the OS really eat up 7GB RAM?

[–] [email protected] 3 points 1 year ago

Oh, ok, I overlooked it has space to grow. This is one conversation I've never seen.

[–] [email protected] 15 points 1 year ago

Great. Now my left eye is twitching uncontrollably and I want to punch a sales drone into next quarter.

[–] [email protected] 9 points 1 year ago

narrows eyes

Look I don't "think" that was me this last few weeks. I'm pretty sure my support engineer butt was smart enough to check resources before blaming RAM...

But it totally could have been me, and in that case I blame dev.

[–] [email protected] 6 points 1 year ago

The second guy is the exact same type of person as my Dad.

[–] [email protected] 4 points 1 year ago

I loath memory reservation based scheduling. it's always a lie, always. Looking at you, Hadoop.

[–] [email protected] 4 points 1 year ago

snif

I feel so seen

load more comments
view more: next ›