AboutHello! This is Elma Davis, a career and business coach. I help people and businesses to grow them professionally and digitally make their position strong.
Joined devRant on 6/1/2021
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
When any of us devs asked the senior "dev" who designed it if there was any documentation on it so we could actually get started on working, he literally told us we sucked ass and that we were pieces of shit that knew nothing of programming.9
*Now that's what I call a Hacker*
MOTHER OF ALL AUTOMATIONS
This seems a long post. but you will definitely +1 the post after reading this.
xxx: OK, so, our build engineer has left for another company. The dude was literally living inside the terminal. You know, that type of a guy who loves Vim, creates diagrams in Dot and writes wiki-posts in Markdown... If something - anything - requires more than 90 seconds of his time, he writes a script to automate that.
xxx: So we're sitting here, looking through his, uhm, "legacy"
xxx: You're gonna love this
xxx: smack-my-bitch-up.sh - sends a text message "late at work" to his wife (apparently). Automatically picks reasons from an array of strings, randomly. Runs inside a cron-job. The job fires if there are active SSH-sessions on the server after 9pm with his login.
xxx: kumar-asshole.sh - scans the inbox for emails from "Kumar" (a DBA at our clients). Looks for keywords like "help", "trouble", "sorry" etc. If keywords are found - the script SSHes into the clients server and rolls back the staging database to the latest backup. Then sends a reply "no worries mate, be careful next time".
xxx: hangover.sh - another cron-job that is set to specific dates. Sends automated emails like "not feeling well/gonna work from home" etc. Adds a random "reason" from another predefined array of strings. Fires if there are no interactive sessions on the server at 8:45am.
xxx: (and the oscar goes to) fuckingcoffee.sh - this one waits exactly 17 seconds (!), then opens an SSH session to our coffee-machine (we had no frikin idea the coffee machine is on the network, runs linux and has SSHD up and running) and sends some weird gibberish to it. Looks binary. Turns out this thing starts brewing a mid-sized half-caf latte and waits another 24 (!) seconds before pouring it into a cup. The timing is exactly how long it takes to walk to the machine from the dudes desk.
xxx: holy sh*t I'm keeping those
The bash scripts weren't bogus, you can find his scripts on the this github URL:
Mark was a support guy who could have been replaced by a robot. Nearly every support request that came in, whether it made sense or not, had a reply saying:
"Thank you for your query, I will escalate with the development team"
...and then I would have a message saying:
"Hi Almond urgent issue case xxx - I think you need to PLEASE CHECK LOGS" (yes, with that capitalisation.)
I'd then look at the case, take 10 seconds to work out the customer had done something stupid when calling our API (often forgetting their authentication details, despite a clear message telling them as such) and tell Mark what the issue was, and how to find it for himself next time. I'd then usually get:
"Thank you but PLEASE CHECK LOGS to see if there is any more info we can provide to customer"
...there would be more back and forth, and then eventually something like the following would reach the customer...
"Very sorry the development team have a major issue they will fix very soon but in the meantime a workaround is (instructions for using authentication details)"
I can’t say it’s the most painful but it’s one of my recent painful lessons.
So I’m learning C and in my project I was trying to make a copy of a 2D array and I kept getting seg faults up the ass every time I tried to allocate one of the inner arrays and after a long day of debugging I realized that I was trying to allocate memory within an array that doesn’t exist so I had to create the first array then allocate memory for each inner array after.4