Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Years ago, I joined a company making games for handheld consoles.
Because a game's audio needs to be tested, too, I connected earphones to the console so that:
0. I wouldn't bother others w/ the sounds coming out of the console.
/* !Everyone wants to hear that crap. */
1. I could hear the sounds better.
PM: * Enters the room. *
Me: * Focused on testing the game. *
PM: * Walks up to me from the side, starts talking. *
Me: * Focused on testing the game. *
PM: * After approx. 30 seconds of complete lack of response from me, kind of irritated, knocks on my desk to get my attention. *
Me: * Take out the earphones. *
Oh, hi, how can I help you?
PM: Haven't you heard a word I said?
Me: Well, no. I am testing the game, including the audio.
PM: You need to pay attention to what's going on around you.
Me: Testing audio is one of my responsibilities. I am using earphones because of the reasons [0-1].
PM: Even still, you just need to pay attention to what's going on around you.
PM: * Finally explains the reason for him bothering me, then goes back to his lair. *
Moral of the story: Fuck being good at what you do && knowing your responsibilities.
When PM wants something from you, you better give him the attention he wants.
/* The expectation being I grow an extra pair of eyes && ears, so that I see the guy coming && am prepared to listen to him whenever he wants something _while_ doing the best job I possibly can. */13 -
Procastinator's tricks to be productive: Schedule messages
I hate to write people. They could answer. My whole plan might be thrown off. But when is the best time to answer them? The day after tomorrow? Too late. Tomorrow. Around 10? Thank you to all messengers that allow me to schedule a message. Instead of procrastinating, I answer, I schedule, and if I am in a bad mood, I later come back and abort and rewrite the message nicer.
Went perfectly swimmingly with my happy new year messages. Everyone got them at 00:00. Yes my friend, you're obviously the most important thing in my life, first thing I did was writing you!3 -
A software developer's experience life cycle:
0 - 5 years: attempt to replicate what your current senior is preaching, assuming that's the right way. Reading "Clean code" and preach it as gospel, even though you don't practice any of it.
6-12 years: gained the belief that you are better off coming up with solutions yourself, usually "sophisticated" and "elegant" which to everyone else (and also yourself a few years later) is an over-complicated inheritance ridden shit show. You have realised the "Clean code" movement is actually a cult but still believe code reuse is the holy grail.
13+ years: finally realized that simplicity and pragmatism is the most sensible way for most software development. Code is now readable, maintainable and functional. You took the few good bits from "Clean code" and ignored the extremism. These are the golden years.
The problem is most developers jump ship and stop developing before reaching the golden years, thus resulting in most software projects looking like shit.
Unpopular opinion, but it doesn't make it untrue.12 -
I didn't become a developer to be legacy's bitch. But we're all legacy's bitch.
I want to roam free. I want to piss in the rain and sing at strlen. I don't want to be in corporate meetings anymore.
I don't want to contort my ideas and good intentions to fit legacy's ugly painting.
I want to be free.
Please let coding be fun again.
I process more tickets than a brothel car park ticket machine10 -
Github Copilot is a dumb little shitstain
For the past years I've been trying to periodically give a go to various copilots every time they made an announcement like "our next version will replace programmers, it will make singularity look like child toys"
Unfortunately and unpleasantly, in 2025 copilot is the dumbest shit ever and even junior coworkers can produce better code.
I can make it do only bovine code like class mapping and simpleton tasks.
Delusional32 -
Soo... Turns out, if your laptop has usb-c charging and it has several such usb-c ports, you can use them simultaneously.
My lappy has issues with usb-c sharging, i.e. it becomes sluggish when charging w/ usbc (compared to on-battery and charging through barrel plug). Aaaaand Linux tends to occasionally crash if I unplug the charger while it's "awake". I wanted to change chargers, so I figured I could plug in the second one (hoping not to see any smoke) and unplug the first one. As soon as I plugged in the second one, all the lag disappeared and the battery keeps charging.
So if you have an usb-c charger that's too weak for your laptop, try using two of them :D
Never would have thought....16 -
Am I going crazy or is the web dev community on some otherworldly drug?
Now "server-side"-whatever is the coolest thing ever?
To the point where client side validation is not recommended anymore and actively discouraged? Are you kidding me? So, you mean to say after filling a long form with millions of fields, the page will RELOAD when I press submit and after waiting an eternity for your shitty server to respond then and only then will I know what fields are invalid?
GTFO with that bullshit.
How in the world is that good UX/UI?
I've always had this theory that we humans are the dumbest species to ever walk this earth. I mean, serisouly, how is this even a thing?
Imagine if a mobile app had to restart to tell you that your email is invalid in a simple form.
But.. but... but... what if the client has disabled javascript? Then fuck them! Who the fuck cares? What's next? Some dumb user is still using Android 2.1 Eclair and we should make our app support them? Fuck no! Fuck them, they should update.
Newsflash, if Javascript is disabled, then pretty much everything will be broken anyway.
Form validation should be instantenous. This isn't rocket science.
It should happen as the user types so they can see what's valid/invalid in real-time.
This does require effort and consideration, something many devs lack apparently.
This is just ridiculous.38 -
I have a new UNTRAINED bot on my site. It's based on openai now. And that's why it's blazing fast and blazing usless.
I can tell you why bots are so boring and will sure cause the dead internet theory. My datasets for example never contain real disturbing stuff ACCORDING TO NORMAL PEOPLE. EVERY TIME:
"The job failed due to an invalid training file. This training file was blocked by our moderation system because it contains too many examples that violate OpenAI's usage policies, or because it attempts to create model outputs that violate OpenAI's usage policies."
Now i'm really done. I gonna email them about their unusable training system.
In theory, i could test the message one by one if it is bad first. Don't want to do or pay for that. There should be an option to skip the data it considers disturbing instead of cancelling a whole data set for 0.1%. You also don't want to know how long it takes BEFORE he is finished validating you set. I think someone is doing it manually and clicks 'Uh uh..'-button..
Also, for the people who think they have gpt4o by having the API, you're lied to. The 'own gpt'-option on the paid openai is way more advanced than the ones you make locally.
They don't give us the real good stuff!
Oh, btw! The input data for my training is based on FORMER conversations with the bot. I automated a script to repeat a conversation I had and selected those messages and clicked 'train'. So it even complained about its OWN data! That data was already saying stuff like 'I can't help you with that' IN my training data. So, you 'corrected' and corrupted my data and now its still nog good enough for round 2?
I would really love to go back to local LLM's, but I can't imagine having ever a machine that generates as fast as the real GPT does. I also prefer to do it myself, but it's David vs. Goliath, even with a 5k computer. I'm sure.
Low quality rant, I know. I'm typing while still frustrated. For people who think censorship is needed often, this is the result! According to someone else, YOU are the one who has to be censored. Don't forget that.11 -
There’s a guy at work I hate so much. He doesn’t know when a problem shouldn’t exist, he never checks to see if there is a better more maintainable and efficient way to solve a problem, lacks attention to detail, has the attention span of a goldfish, writes shitty overly complicated code, fuuuck
If you talked to this guy in person, you’d think he’s a genius who has it all figured out, but he’s just a professional bullshitter14 -
Android Studio has been the bane of my life for at least the last decade. I hate it beyond description and have given up hope that it will ever improve.
I suffer more than most with it because I am cursed to use C++ on a daily basis, and it has long been obvious that the Google people absolutely do not give a fuck about C++ users.
I get that C++ is niche, a drop in the ocean of Java/Kotlin-centric users, but for the love of god could you Google people at least stop making it worse?
Code navigation is insanely slow. Entire minutes for it to find the right header file to open. "Find usages..." oh my god oh my god oh my god just fucking kill me now. There is no excuse for software ever being this slow.
And thats just doing basic source editing. The build system - cmake and ndkbuild - also defy adequate description. The gradle plugins are constantly going out of date and are often incompatible with whatever gradle version you have. You get no help at all when editing a gradle build file and good luck finding the right documentation.
It's all a giant stinking mess and I wish the whole damn thing would be dragged outside and shot.12 -
Overall worst part of being a Software Dev? Really, really loving it. How could that be a bad thing you ask? Because people, in general, in life, do not want you to code. Managers, family, kids, colleagues, they all want your attention, they all want to yap at you, they all abhor seeing you concentrate at a screen. In short, they just can't leave you the fuck alone to do what you trained yourself so hard for. Best one of all is being hauled up on a daily basis for an hour to answer "How can we go faster!?" IDK maybe just let me do my thing? So fucking frustrating. If you don't recognise this and have all the time in the world, feel blessed, for you are free.5
-
Need Help To Recover My Lost Crypto Funds / Visit Captain WebGenesis.
As a pioneering force in the digital asset recovery industry, Captain WebGenesis is dedicated to helping individuals and businesses reclaim their lost or stolen cryptocurrency assets. Their team of expert cryptographers, forensic analysts, and cybersecurity specialists work tirelessly to provide cutting-edge solutions to the most complex digital asset recovery challenges. Captain WebGenesis's comprehensive services include wallet recovery, private key retrieval, and crypto transaction tracing, ensuring that his clients receive the most effective and efficient solutions tailored to their specific needs.
Go to ( Captainwebgenesis. c om)
Mail ( captainwebgenesis@hackermail . c o m )
Whatsapp (+1) 501_(436) 93_62)16 -
Some two years ago I purchased a license for AV solution on Amazon UK which is my default place for shopping.
When attempting to activate the license, I kept getting this annoying error somewhere along the lines of:
'License from another region.'
I contact the support, they did their magic && the license got applied.
Fast forward some two years - the license is about to expire.
The software is actually good, so I make the choice to renew it.
Thing is, I keep getting redirected to the local site w/o an option of choosing the English language.
I edit the site's address to reach an English version of the site.
On UK's site I am unable to choose my country of residence so I can't complete the purchase form.
I try a few other things && finally reach the Global site where I am able to input the correct data for the purchase, but all attempts to finish the payment fail.
Fine... I'll purchase from the local site.
I purchased the license, activated it w/o problems, but when attempting to download the installer it keeps downloading the localized version which doesn't allow me to change the language.
I contact Support.
S: 'The license you've purchased can be used solely w/ localized version of the software. If you want to use the English version, you'll have to get a refund && purchase from our Global site here [link w/o redirection].'
_Fuck_ this trend of automatic redirection to localized sites && forced localized software.
One shouldn't have to go through all these hoops to get the software in the language of their choice, instead of having the localized version shoved down their throat.17 -
JavaScript has an exciting API for monitoring changes made to HTML elements. The API is called the MutationObserver API, and it was invented at the prestigious W3C—the global organization comprised of our genius software engineer overlords.
Unfortunately, the W3C has a history of occasionally forgetting to proofread new specifications before publishing them, after their large army of monkeys with typewriters have produced working draft specifications, but I'm sure those mistakes are all in the past. The MutationObserver API is receiving praise online. I'm sure it's well designed!
Let's dive in to how it all works.
The API works by calling (1) a specific function of yours any time (2) a specific kind of change is made to (3) a specific HTML element—all three configurable by you.
When a change occurs, your function is passed a collection of information about the change, known as a "record".
If you ask, that record can even include information about the state of the HTML element before the change occurred, available under the `oldValue` property. How convenient!
Oh, and one more thing. If several changes happen in a short window of time, your function may receive a whole list of records—instead of being run once for each change. You know, to save on computer resources.
Anyway, let's start using this powerful API! But wait, what's that?
The record doesn't contain the state of the HTML element when the change occurred?
No problem! That information doesn't have to be included in the record. I can just look at the element as it appears right now.
But what's this, now? I'm receiving a long list of records. I guess lots of changes happened in a short window of time, so all the records are bundled together.
So how do I know what the state was for each record?
If I look at the element as it appears right now, I can only see the end result. That won't tell me what the state was after each individual change.
I guess there's only one way to find out. For each record, I need to look at the next record and check that record's `oldValue` property.
I need to write look-ahead logic just to see the state at each record!
What kind of monkey wro—oh, right. The W3C wrote the MutationObserver API.
Just forget that I asked.3 -
That feeling you get when you write code so complicated, that a few weeks later, even with tutorial-level documentation, you don't know whats going on, so you just rewrite from scratch.
Yeah that just happened to me.
No time for deep work to re-grok what the fuck I was working toward, so I just rewrote the core of it to relearn the entire process.
Had comments, documentation, step-by-steps. Still the ability to understand and reason about it noped-the-fuck-out of the building apparently.
Might have had something to do with zero sleep three days in a row and too much red bull.
Sleep-deprived me operates on a whole different plane of existence.12 -
Fucking hell! Why is it so hard to just create a simple websocket!
C#: Yeah, you should use ASP.Net with SignalR! But heres a totally undocumented mess of a lib to get it to work. J.k. Deadlock!
Rust: async while let OK((some)) = ws.create.unwrap_or_else().suckadick()
Why the fuck is Rust so fucking dense! I want one line that means one thing! If I would compress my code with gzip it would be less information dense than this!
Zig: Yeah, Its in Beta and shits semi stable. Atleast i got it to work? Nope!
I've ben fussing aound with these three Languages for more than a week now and can say: Just use an established way to webdev. Its not worth it to try and make it as simple as possible!17 -
I inherited a nextjs project from an unknown guy and am fangirling the codebase
But the deeper I familiarise myself with it, the more the cracks begin to appear:
1) The dude Is incapable of grasping the basics of DRY concept. He actually setup a ton of stuff I may have done poorly if I'd started working straight out of the docs, so I feel like I owe him a shower of praise. I guess being new to nextjs makes it look more impressive than it actually is. He was paid off, yet getting the credit seems unearned to me. I'm just afraid reaching out to him might turn around to bite me in the ass
***
I had the above in my drafts, contemplating sending him a token to show some appreciation for unknowingly showing me the ropes. I was going to find him on LinkedIn using his commit names. But after doing everything I've done, undergoing the anxiety and severe pressure I faced at the hands of the project owners, I'm not sharing a farthing with anybody
Yes, I may not have known about zustand and persist middleware. Yes, he did all the ui. Yes, he created the base components and fancy wrappers around form and button html elements. For those, I'm grateful
But the amount of refactoring I had to do to, for an opportunity to implement my own target features, I'd say I can lay as much claim to the project as he does.
Side note #1: I have some newfound respect for front end devs. We used to discriminate against them for doing just css but that was only relevant in the jquery days. Now, they have to use cryptic css frameworks (sass, less, tailwind), they have to learn esoteric syntax of some js framework and write controllers/components as the case may be. They have to (the worst part), bind this data to an API, which would never make sense to me coming from a php ssr-natural world
Back rewarding the guy, some of the challenges I came back from were:
1) Next server outages: I still don't know the workaround this. The app terminates, browser giving an error about using up memory. I have to wait for about 10 minutes before I can access the app again
2) spring Webflux authentication not hydrating: I was unexpectedly asked to work on the back end too, where I got tortured with this horrifying condition. The most poorly documented framework for the Web has no upto date guide on how to implement jwt security measures. I opened a question on stackoverflow. A day later, both my question and the helpful answer got downvoted
3) Zustand not retrieving any data from localstorage once page reloads, until I miraculously stumbled on a hack: there's a config callback for reading state after rehydration or thereabout. So I interact with the state there. That's the only way content clearly in localstorage can get transmuted into dynamic format accessible by the code
4) Mongo database suddenly disconnecting: for no apparent reason, this bailed. Accessible on compass. This was even when I realised it was responsible for front end requests not going through. Eventually created a new database and requests surprisingly began connecting again. Thankfully, my laravel background taught me about seeders so I had them on standby from the onset. Wasn't difficult to just port to a fresh database after confirming the first one was inaccessible to the app
After this painful odyssey and the time constraints, threats of moving forward with someone else, I deserve every dime they deem me worthy of and more3 -
So, my wife's family has a "no shoes inside the house" rule, what is fine... until you realize that they mean "*no shoes inside the house*" - regardless if you are actually wearing the shoes or if those are in your luggage or something.
So you're supposed to leave all footwear on a shelf on this bench outside their door.
That proved to be tricky when my 10yo twin girls started freaking out that someone was going to steal their prized shoes if we left those outside the house during the night.
It would actually be a risk in our own neighborhood, infested with amazon-package kleptomaniacs, but here we are deep in the country.
Now, I've been to my in-laws place many times, and they absolutely cannot be reasoned with. I wish I could use their stubbornness to train a LLM into relentless compliance with company policy.
So, in order to spare my girls from some of my in-laws paranoia, I've spent some time before we came here rigging up a wifi cam to a facial detection service. (I know I've just exchanged their covid-style paranoia with my own surveillance-state-style paranoia. Those are the times we live in. But i can see the irony)
The server monitors the camera feed and stores the first few seconds before, during and after some face is detected.
I trained a facial rekognition model with our family's faces and had it notify me every time some unknown face appears on camera.
Finally, I've printed a "smile, you are on camera!" sign, taped it over the laces of my tracking boots, and hid the camera (and a powerbank) inside one of the boots.
My daughters were pacified with that solution, my wife laughed out loud with a devilish smile, and my in-laws completely ignored me when I tried to explain it all. Perfect.
The system has been up and running since before christmas. It notified us when some relatives arrived for celebrations and one package delivery - no shoe-related shenanigans. Until this morning.
My daughters have been playing with some neighbor kids, and a couple of those decided to fill their shoes with mud on this new-year morning, as a stupid childish prank.
I know because they kneeled in front of the camera earlier today.
Right when I was finishing up my stretches for the morning... less than 2m away from the door.
The wicked kids looked straight at the camera, and you can actually pinpoint the moment that they realize they have been caught. Then you can see when they hear me unlock the door...
I opened the door to find a bucket full of mud and no soul on sight.
I'm not posting the video, they are minors, after all. But my family is sure to laugh at it every year... and my in-laws will keep on bringing it up with the kids' grandparents forever :)12 -
tldr: I no longer like my job.
Several years ago I got hired at this company. It was great. Lots of things to learn. Able to make a big impact. The manager is great. Lots of flexibility. Raises were decent for the most part.
6+ years later. I have nothing to learn. I feel my career is stagnating. I'm quite good at my job but things are boring and there's no challenge. In the end my company has proved to me I do not make enough to justify my skills. I keep being told things are going to change and there will be new opportunities to change roles and learn/grow, but Ive heard that for years and trusted my leadership. They didn't lie to me but there are so many things out of their control that things just never happen.
My manager has become a good friend and I hate to think about leaving but finally just have to accept that all I'm doing is hurting myself and my career.14 -
Statistics. Tbh, it is way more. Didn't use the codeium plugin for a long time. Regarding key presses i'm in the 0.10%. Longest streak is not impressive. 21 on codeium and 40 on github or so.
At this moment I'm very happy with the plugin, it knows me completely. * tab tab tab *. Almost always knows what I want to do. It advanced a lot last year, I did quit a few times on it last year for few months because it often sucked. Now it's perfect. Especially under VIM it's very cool!2 -