Details
-
SkillsC, C++, js
Joined devRant on 1/6/2019
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
-
A while back, I had a lot of telemarketers were calling me daily, and I mean A LOT of them.
I got so frustrated with he calls that I decided I had to figure out a better way to handle those calls.
At the time, I was working with a PBX software called Asterisk, which is used to handle hardware interfaces and network applications for phone calls.
I needed a suitable side project and there was a version of Asterisk designed for Raspberry Pi, so I made a fun little answering service for myself.
Whenever a telemarketer called, I asked them to call back later, but to "my personal number", and gave them the number to my phone robot. (which had a pre-paid SIM card in a GSM dongle mounted)
When it received a call, it would play a pre-recorded phrase, wait for 1000 ms of silence and then play the next phrase.
After all 16 phrases had been played, it would start from phrase 7 again and repeat until the caller gave up.
I had this set up running for a while, and then added another robot for english speaking callers.
The calls stopped after a few months.
MISSION ACCOMPLISHED!13 -
My mom got audited for storing sensitive client information in her gmail account without using a vpn or any other real security.
I had been telling her this was an issue for literally the last three years and shes brushed me off every time.
I got yelled at for not telling her I was serious.35 -
I hacked this mini-project yesterday night, Computer generated photo-montage by scenes extracted from the movie.
It's an end to end python script which will work for any video and a high res poster.28 -
Customer support story time: (swearing in Dutch because it sounds more fun but it's general swearing so no translation needed I think (will translate the non obvious parts)
Me: good morning, how can I help you?
Client: hello, I have a question for you.
Me: go ahead!
Client: alright so.... one sec, let me turn off my music.
Client: hey Google
.
.
.
Client: hey Google
.
Client: Heeeey Gooooooogle
.
Client: HEY GOOGLE, GODVERREDOMME
.
Me: 😆
.
Client: REAGEER GODVERDOMME. "HEY GOOOOGLE"
.
.
Client: VIES VUIL TYFUS DING, LUISTEREN. HEEEEEY GOOOOOOGLE
.
.
Client: JA GODVERREROMME, LUISTER GEWOON, FUCKING KUT DING. *SHOUTS WITH ANGRY VOICE* "HEY GOOGLE HALLOOOO LUISTEEEEEREEEEEN" (oh for fucks sake, LISTEN fucking piece of shit)
Me: *desperately trying to keep it together*
Client: IK DOE HET ZELF WEL JEZUS GODDOMME *FOOTSTEPS, MUSIC STOPS* (Translation: I'll do it myself, fucking hell)
.
.
.
Client: finally, sorry for that 😅
Me: *still trying to control myself* no problem!15 -
Ran into a girl who I had a crush on in high school at a bar last week. Hanged out for a bit, but then I had to run catch the last train home.
Today I get a message from her that reads: "Hey, it was nice to meet you last week. Can I call you some time, there's something I want to tell you. 😉"
I think to myself -- sweet and say that I have no meetings today, call me whenever you can.
A couple of minutes later she calls me, and the first thing she says: "I have this app idea..."
fuck, shouldn't have hyped myself up.29 -
1. The quality of the coffee and toilet paper you encounter during an interview tells you more than promises about table tennis or fruit baskets.
2. Try to determine who their primary client is: subscribers, app buyers, advertisers, etc. It's a major influence on the company dynamic.
3. Before an interview, you can just say: "I would like to sit down with a PO and run through one backlog feature and one bug, to get a feel for the type of tasks at the company". Such an activity immediately reveals team structure, whether they have product owners & scrum masters, what a sprint looks like, how they prioritize tasks, and how organized/chaotic your work experience will be.16 -
Production is down
Me to Customer :What did you do?
Customer: Nothing
Me blurt out: The fuck you didn't!
Customer: ...
Me: ...(fuckfuckfuck)
Customer:... Well, I did run these scripts..
Me: (oh thank Christ)
Me: ok, I'll get right on it (Click)
Me to TeamLead: client called. Their prod is down!
TeamMate: did he say he didn't do anything?
Me:Yes
TeamMate: ..... Every fucking time...14 -
Just got a job offer for a SysAdmin job at CERN! :D
A big fuck you to the italian philosophy of hiring newly graduated students with shitty contracts and a big win for a simple student that wants to learn from the best :)24 -
Today I met a girl who’s super cute, down to earth, smart, uses no social media, and games. I would normally wake up soon after such dreams, but this actually happened today. I asked her out before it was too late 😊20
-
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9 -
Had a week off, when I came back, an email :
"Dodger, can you explain me why did you change this ? I asked X and he wasn't aware you changed it"
Me : *browse through mail and find a mail from late December from X asking me to do that exact change*
Also me :4 -
Client just informed our support that they solved their own forgotten password problem by clicking the "forgot password" button in our app. They say they are now awaiting the email with the password recovery details.
One problem: we don't have a forgot password button in our app.9 -
Le monday morning after a commit on sunday evening...
PM: BLAAAH!!!! Your commit broke the site, nothing is working!!!!!!
Me: What? All of tests passed (coverage 95%), no issues were found.
PM: NOO!!!! Site is broken, we can't use it no more!!!
Me: Ok, what's the problem?
PM: I've tried to enter -10021 into this field on that page and it gived me an error.
Me: Ok? So, that single page is broken?
PM: No, whole site!!!! This is important
Me: Sure... Let me take a look
* PM tried to enter a negative value into an unsigned field that I've mutated yesterday after checking LIVE database if there was no records with negative value. Reason: we've hit an int limit and there was no chance that the value would be negative. Validation? Well, yes.... Except that page was added by him this morning without even checking everything else *
Me: Here, this is the issue, *gives explanation*
PM: Well.... You shouldn't do this. This is unacceptable. You must never leave int fields without negative values. Didn't they teach you in school that integers can be negative?!
Me: What? *consufed as hell*
PM: *More morale... blah blah blah....* Revert it back!
Me: Ok but if anything else breaks, copy of this slack conversation will be kept.
PM: Don't care! Fix it!
Me: * Reverts the fix, saves chat copy * - Done.
PM: Great.
* 5 wild minutes later *
PM: BLAAAH!!!! Site is down, service is not working, what have you done?
Me: Reverted the change needed for it to work. Todays schedule is full with other important tasks. * pastes a screenshot as a proof that he asked me to do this *
PM: FIX IT NOW! Apply your fix.
Me: You're the PM. - Done.
PM: Great, now I'll fix my code. You should be more careful next time.
Me: * YOU DENSE MATHA...KER * Sure.
How's your morning going? :)9 -
Bought a Logitech G13 a few years ago knowing that the Linux support isn't good. Thought fuck it, I'll develop something for it.
That didn't go as planned. Tried numerous times to write something but the fucker is proprietary and I couldn't figure out how to get data from it.
Decided to try it again tonight with a "You're not winning this time, motherfucker!" mindset.
Figured out how to read data from it, looked long enough at the data coming in to discover patterns and started programming while testing my ass off.
Two hours later I have "mapped" all specific data points that the device sends to the hardware keys and now, whenever I have the device connected and run the program (node, no kidding), it displays which key I'm pressing when I press a key!
I finally fucking won.23 -
Developer vs Tester
(Spoiler alert: developer wins)
My last developent was quite big and is now in our system testing department. So last week i got every 20 minutes a call from the tester, that something did not work as expected. For about 90% of the time i looked at the testing setup or the logs and told him, that the data is wrong or he used the tool wrong. After a couple of days i got mad because of his frequent interruptions. So I decided to make a list. Every time he came to me with an "error" i checked it and made a line for "User Error" or "Programming Error". He did not liked that much, because the User Error collum startet to grow fast:
User Errors: ||||| |||
Programming Errors: |||
Now he checks his testing data and the logs 3 times before he calls me and he hardly finds any "errors" anymore.3 -
Today I learned:
`/usr` stands for “universal system resources” not “user”
`/dev` stands for “device” not “development”
Had no idea.31 -
Well here's how I see things going:
Intel and AMD ditch their assembly architectures for Scratch, because drag and drop is very popular lately.
The Boolean is renamed to the biggot by SJW leaders for only supporting binary views.
You must first ask consent to add an item to a linked list, because forcing two items together promotes rape culture.
Apple removes the "h" and "7" keys on all laptop models and gives no reason for their actions.
Linus Torvalds grows an extra middle finger, and it still isn't enough.
Nintendo makes Mario gay and Luigi black to be more inclusive.
LG makes a curved monitor that curves away from you rather than towards you. People buy it in confusion.
Everyone makes the same ad revenue on YouTube, and it is rebranded to OurTube. Luckily, they were able to keep the color scheme.
People finally realize that machine learning is just math, and stop using it everywhere. (Just kidding lol)
AMD and Gucci merge. Nobody understands why.22 -
If you had
one language
One framework
To code everything you want
Would you learn it or let it pass
His code is heavy,
arms are weak,
mind is bending.
It's all spaghetti.
He is nervous but looks calm and ready
to go now
but he keeps on forgetting
what he wrote down.
The manager is getting loud
He moves his mouse but the bugs won't got out
They are features now
Time to ship
Over blaow!18