AboutJust an ordinary feral beast in his wild open savagery living off of his mediocre programming experience.
SkillsLinux, VIM, Shell Script, C/C++, PHP, Python, Perl, Vanilla JS, OOP, DDD, TDD, Cryptography, Software Architecture, Software Engineering, Embedded Systems, Game Development, Web Development, REST, Web Services
Joined devRant on 5/14/2019
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Yesterday I had a questionable pleasure of interviewing a young software engineer who (while answering one of earlier questions) used a principle of polymorphism but made a mistake. So I asked her to explain what polymorphism is.
She couldn't. When she said "let me start from the beginning" for the 3rd time I jestfully noted that if she's more used to virtual communication she can text me the answer, and she not only thought I was being serious but also thought it's a good idea, then texted me a duck emoji, a dog emoji... And got stuck again.
Obviously when we were discussing potential salary she had an answer for every question. Ridiculous answer but no communication issues whatsoever.24
So apparently there's a trend in non-educational games teaching kids how to handle real life crisis.
Last week I witnessed a 14 yo girl handling an anxiety attack of a grown ass person and she learned that from Ancestors: The Humankind Odyssey - https://devrant.com/rants/6229469/...
Now I hear 12 years ago there was a boy who saved his sister from a moose attack by... taunting - a skill he learned from World of Warcraft: https://nextnature.net/story/2010/...
Anyone has more stories like this?8
I am amazed. I witnessed (mostly heard) a 14 year old girl calm down a young adult female suffering an anxiety attack before I managed to push through people on the tram. She told her to close her eyes, breath, tell her what she smells, then open her eyes, name first thing that she sees, then look left, name first thing, etc.
This is called sensory grounding and it works. And yeah, what she did was pretty awesome but this isn't what amazed me the most. I asked where she learned that and she said "from a game about apes". And I knew exactly which game she meant. There's a title called Ancestors: The Humankind Odyssey and among many interesting mechanics there's one that puts the player in a state of anxiety when they venture into an unknown territory. The way to win that part is by analyzing surroundings by vision, hearing and the sense of smell before a panic countdown goes to zero. It's called "conquering your fear". Holly fuck, I played that and I didn't connect the dots. Are games nowadays teaching kids how to handle real life crisis? Where were those games when I was a kid??4
So today our CFO stepped into IT and angrily proclaimed someone using tech@ e-mail and fake name is defrauding company funds buying themselves... "used female lingerie with extra virgin juice" (sic!).
I work for an IPSP, we handle finance for commercial services (think PayPal but smaller). One of our clients is a big platform where girls can sell items like bath water, used socks and more. CFO demanded our admins found out who and when connected to that website, what URLs and so on.
As mentioned, said platform is pretty big, hence, from time to time we help them with their service when they ask us to, that's why we have a tech@ account. Last month there was a minor issue with one of the banks, someone fixed it and, as per usual, made a small payment of €1 topping up the account wallet to make sure everything works. It was an intern whose will to live is still strong and unencumbered with experience so she jokingly wrote "panties juice, extra virgin" in the payment note. What she *didn't know*, however, is that admins on that platform used the very same account to test new billing system they've implemented and our CFO received an invoice.9
Just a friendly reminder to fellow developers to take care of yourself.
If your system is constantly pumping out cortisol, even when threats are minor, it gets desensitized to the stress signals. We used to react to cortisol with the fight-or-flight response when our lives were in real danger. Nowadays it's produced when you disagree with your coworker or there's a deadline coming up. So your cortisol rises but you neither fight nor run. The result is a stress response that isn't functioning properly. This is when burnout symptoms develop. Same goes for testosterone, dopamine and some other hormones and neurotransmitters. Read up and start proper work hygiene that includes workouts, fresh air activities and manual hobbies.
Your back, wrists and eyes aren't the only things you have to watch out for when coding long hours. Cheers and have a fun weekend!8
Linux just made my day. Everybody knows how Windows won't let you shutdown your hardware until it updates, right? So last night I forgot I was upgrading Manjaro in a background terminal (full distro update, tons of packages) and hibernated my rig, plugged it off, took it to a different location. Today I hooked it up - different network, IP, etc. - it woke up, finished compiling whatever it ended up on then downloaded, compiled and installed everything else, said "Thank you very much!" and dropped the mic. Someone tell me this isn't pure awesomeness! 😂
It asked again for root password but other than that... shrugged off 12 hours difference like a boss!18
I have ME/CFS after Covid19. My manager says its an excuse. Can't wait for them to fire me because of my performance drop. Now I only do about 100% of my work instead of 140%.4
We had an obligatory training today about security of remote access to company resources.
We sat for an hour listening to some outdated advice regarding passwords and preparing a work environment at home. Finally the instructor said his goodbyes and left. The rest of us stayed in the call to pass some actual recommendations.
Then we received a join request from a waiting lobby. Everyone muted. I let the guy in. For the next 8 minutes we watched the unaware instructor eat his breakfast and sign some documents stamped with a logotype of our competition.
Then I cleared my throat very loudly. He will have to print some of those documents again.4
It's 5 AM and I don't want to shit on anybody's party but trust me when I say most of you here complaining about legacy code don't know the meaning of the word.
As someone who maintained a PHP4 codebase with an average file length of 3000+ lines for almost 4 years, I feel you, I feel your pain and your helplessness. But I've seen it all and I've done it all and unless you've witnessed your IDE struggle to highlight the syntax, unless you had to make regular changes in a test-less SVN's working copy that **is** the production and unless you are the reason that working copy exists because you've had enough of `new_2_old_final_newest.php` naming scheme, you do not know legacy. If you still don't believe me bare in mind I said "is" as in: "this system is still in production".
But also bare hope. Because as much grief as it cost me and countless before me, today of all days, without a warning, it got green lit for userbase migration to a newer platform. And if this 20 years of generous custom features and per client implemented services can be shut down even though it brings more profit than all the other products combined, so can happen to any of your projects. 🙏
Unfortunately, I do mean *any*.7
Last job search experience... It's fresh. I was being recruited by a girl from Aruba. During our 2nd video call she became... let's say "friendly", calling me "hun" and "sugar". Our 3rd conversation in attachment. I checked - the company is legit, she does work for them, it's not a scam. Fun fact - her full name is Jameelah but she doesn't use it at work because it's more suitable for a belly dancer than a professional IT recruiter. Her words, not mine.9
Guy: - Why the hell do you keep adding new tests with "TDD" in the commit log? Is this because you're wearing this stupid TDD t-shirt!? You're only supposed to maintain this! There's nothing to develop! Nothing here will ever be test-driven!
Cprn: (turns around)
T-shirt: *Technical Debt Development*6
Last week I watched a DIY video where at the end the guy dumped detergent water on the grass. I kindly commented it's a €150 fine. Their response was on the lines of "Oh yeah, Mr Proper? And what would you say if I told you I spray my whole garden with soap to get rid of weeds, huh?".
Well, you dumb fuck, I don't care what you do, I wasn't attacking you, I was being *nice* and warned you about the fucking fine that you're going to fucking pay because your channel name is your first and last name and your video shows the street and the house number but whatever.
Today I couldn't log into my YouTube account. Why was that, you might ask? Well, because the dumb fuck paid the fucking fine and assumed I was the one that ratted, so he made a video about it and his dumb fuck audience falsely reported all of my videos for child abuse and promoting terrorism.
I only upload unboxing videos that debunk scummy "deals". 🤦♂️12
I'm struggling with a bug. It's not my bug, it's in a lib - in an assembly function commented as "this is where the magic happens". After 27 hours of trying to determine what triggers said bug my best guess is it's a relationship between the position of Mimas and the mood of my neighbour's chonker. If it's not triggered by the Saturn's moon and a pet animal... I'm out of ideas.
Now how do I break it to my PM that we have to kill a cat?7
So I just realized (while rewriting some code) Python can't import stuff from a sibling directory without voodoo tricks. Seriously. In 21st century.26
There was a department. Long time ago their work was somewhat complicated: background checks of businesses, websites, ToSes, assuring agreement compliance, some risk management on top. They started as small 3 people team but over the years they were hiring new employees to catch up with the growing customer base. They were still struggling. Few years back we've integrated 3rd party services to help them and, finally, their backlog was gone!
In January they complained about how much more work they have since the merger so I inquired about which process was troublesome, what was the flow, etc., and it turned out to be very... Tinder-like - the issue was the sheer number of cases:
1. open a case,
2. check results in few windows,
3. if green + green + green, move right.
4. else move left.
It was ridiculous, I wouldn't stand for that. I sat for an hour, made some ghosting scripts that followed same business logic and saved results alongside their actual decisions. Last week I compared the two and there was zero difference so I green-lit it with my boss and pushed to prod.
Oh, the happiness on their faces when they heard the news, the disbelief, the tears of joy!
And then it happened. After 4 years of being cautious not to stir the waters I did it again. Yesterday I accidentally replaced 17 people department with 3 scripts. How was I supposed to know it was *all* they were doing??1
After 4 years of being cautious not to stir the waters it happened again. There was much gratefulness. Then there was much hate. Yesterday I accidentally replaced 17 people department with 3 scripts.9
So... Yesterday I ordered a meal and it had whole jalapenos in it. I didn't order jalapeños. I love the taste but I hate toilet visits after. Hence, was putting them aside. But then I got into that new code, jumping around this new project I'll be working on. We were getting intimate. I liked the architecture, I liked it a lot - it was using event sourcing and respected CQRS. Suddenly I realised I ate everything. Including jalapeños. And the only reason I noticed is because I was eating with my hands. And my eye got watery. And I wiped it.
So, yeah. Yesterday for the first time in my life I was pouring milk into my eyes. Does this count as a proper dev rant? I don't know. Fuck the protein interface that can't process simple food orders, though.6
Young 22 years old me, hungry for excitement of real world issues, full of whimsical witticisms, writing bootstrap scripts that'd spit meaningful information like...
> $ run bankhack
> Shutting down the old world...
> Checking world population...
> Initializing particle accelerator...
> Exploding sun...
> Entering hell...
> Starting daemons...
> Starting lesser daemons...
> Burning logic...
> Restoring balance in the universe...
> World peace achieved.
What a naive douche he was.1
Me: "Omg, I'm so not sorry you didn't get a response to your 2:00am text sent to my private phone number about that super duper not important thing that a four year old could solve... but my girlfriend gave me a wrist band thingy that puts my phone on silent whenever it thinks I'm sleeping."
Product Owner: "And you can't set it up properly!? Your title says `señor software engineer` for god's sake!"
Me: "Yeah, it does. This is a hardware issue, though."
...is what I told her and she bought it. 🤷♂️2
Most... Awkward... Video call... Ever!
Ended about 7 minutes ago. This one guy... Seriously! I mean... 🤷♂️ Everyone thought he's just uncomfortably open but when he finally got out of the shower he panicked, screamed like a girl, fell down and covered his camera asking: "Guys, when you were talking just now... Was there anything... Like... *Weird* on my stream?"10
We worked with that freelancer some time ago. Most talented coder I've ever known. Coding for only 3 years, and only 1 technology, but technical thinking already up to par with my own 15+ years of experience. Very rude but to the point. We loved it - "one of us". We hired that asshole for different remote projects over 20 times in 3 years. We send spec, answer questions, collaborate on chat, review work on svn, add tickets, get solutions. After about a year working like that we had minor issue with finance that revealed our prized freelancer is a chick.
A dev adds a nice range of categories that content creators can select from. Users get a neat filtering system to restrict the unwanted content.
And then...! People post everything in default category.3
During a health and safety course today I was asked to talk about the workspace ergonomics. Part of that course is to make sure everyone knows how to customise their seat, screen, keyboard, etc., so I told everyone to unfold those little feet on the bottom of their keyboards and everyone did... Everyone but a cheeky little customer service girl who was more interested in taking selfies of her skirt coincidentally matching the carpet. I cleared my throat and said again:
- "Please, unfold your keyboard's feet."
Nothing. Coughed. Nothing. Finally, quite annoyed, I repeated myself for the 3rd time:
- "Unfold the feet, please!"
She jumped. Eyes wide. Noticed everyone staring. And very very slowly, with a look of complete puzzlement, she spread her legs.8
This girl from financial department pissed me off so badly I took 15 minutes of my private time to slightly modify CSS and JS for her user in our intranet panel, made everything pink and blue, animate all the buttons to randomly barrel roll and made the mouse cursor explode colourful star particles with each click.
She *liked* it, said it was *sweet* and *apologized* for being an ass. Robbed me of all the satisfaction. :(7
WTF is going on in web development nowadays that makes people ask me to compile C# projects to Electron?
Let that sink. I'm being asked to compile a C# project that can run as a beautifully integrated seamless *native* and lightning fast application... to JS so it would run as a *website* in the Electron *browser*. Am I the only one seeing how much cancer that is?10
To all the masochists who spent hours debugging misspellings:
1. Learn your tools
2. Learn good practice
Every IDE should point out when you're not using a variable you've initiated or using an uninitiated variable as well as at least highlight, if not simply list, every occurrence of the variable under your cursor and let you find all references or even display the number of references next to a variable at all times, and finally, every IDE should autocomplete for you so when it doesn't you know you've messed up. Good IDE makes all the easy mistakes hard and all of the hard tasks easy. Including running tests. If you don't know how to configure your IDE to do all these things take time and learn it. If you still can't figure it out, replace your IDE maybe...?
Also use the debugger. Preferably one that nicely integrates with your IDE. If you don't, check point 1.
Also write tests and *run them*.
Also if your misspellings tend to consist of a missing `s` at the end of a plural noun just call it `entityCollection` instead of `entities`. And read up on more good programming practices and naming conventions.7
My No.1 interview question for UX developers:
What are the CSS default text and background colours?
The correct answer is: "undefined-on-undefined".
If your 1st thought was "black-on-white", you're the reason we can't have nice things.29
Today, during deployment on server without remote access:
Me (on the phone calling our data centre Admin): "There's a permissions mismatch. The following paths need write access from the following users..."
Admin: "Okay, okay, slow down... I'm still in the elevator." - 10 minutes later - "Okay, ready."
And I gave him the paths and he said: "Try now."
And I tried and it still didn't work. And then we tried all that again. And again. And finally he said:
Admin: "Okay, I give up, I'm going back down to get the screen."12