AboutDevops + backend
Joined devRant on 6/19/2017
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
Some empty-headed helpdesk girl skipped into our office yesterday afternoon, despite the big scary warning signs glued to the door.
"Hey, when I log in on my phone, the menu is looking weird"
"Uh... look at my beard"
"Just look at this beard!"
"Does this look like a perfectly groomed beard"
"Uh... it's pretty nice I guess"
"You don't have to lie"
She looks puzzled: "OK... maybe it could use a little trimming. Uh... a lot of trimming". "I still like it though" she adds, trying hard to be polite.
"I understand you just started working here. But the beard... the beard should make it clear. See the office opposite to this one?"
"Perfectly groomed ginger beards. It's all stylish shawls and smiles and spinach smoothies. Those people are known as frontend developers, they care about pixels and menus. Now look at my beard. It is dark and wild, it has some gray stress hairs, and if you take a deep breath it smells like dust and cognac mixed with the tears caused by failed deploys. Nothing personal, but I don't give a fuck what a menu looks like on your phone."
She looked around, and noticed the other 2 tired looking guys with unshaven hobo chins. To her credit, she pointed at the woman in the corner: "What about her, she doesn't seem to have a beard"
Yulia, 1.9m long muscled database admin from Ukraine, lets out a heavy sigh. "I do not know you well enough yet to show you where I grow my unkempt graying hairs... . Now get lost divchyna."
Helpdesk girl leaves the scene.
Joanna, machine learning dev, walks in: "I saw a confused blonde lost in the hallway, did you give her the beard speech?"
"Yeah" -- couldn't hold back a giggle -- "haha now she'll come to you"
Joanna: "No I already took care of it"
"She started about some stupid menu, so I just told her to smell my cup". Joanna, functional alcoholic, is holding her 4pm Irish coffee. "I think this living up to our stereotype tactic is working, because the girl laughed and nodded like she understood, and ran off to the design department"
Me: "I do miss shaving though"72
Looking for a job as a deveoper be like:
Job title: car driver
Job requirements: professional skills in driving normal- and heavy-freight cars, buses and trucks, trolley buses, trams, subways, tractors, shovel diggers, contemporary light and heavy tanks currently in use by NATO countries.
Skills in rally and extreme driving are obligatory!
Formula-1 driving experience is a plus.
Knowledge and experience in repairing of piston and rotor/Wankel engines, automatic and manual transmissions, ignition systems, board computer, ABS, ABD, GPS and car-audio systems by world-known manufacturers - obligatory!
Experience with car-painting and tinsmith tasks is a plus.
The applicants must have certificates by BMW, General Motors and Bosch, but not older than two years.
Compensation: $15-$20/hour, depends on the interview result.
Education requirements: Bachelor's Degree of Engineering.36
I put an Easter egg into a product, that if you enter the string "final countdown" into the stock code search field, it plays a YouTube vid of Europe's "The Final Countdown", in a hidden div. It's an in-joke for a few people in the company.
A well meaning maintainer with no sense of humour or judgement takes over and goes on the warpath against any hardcoded strings. The secret code gets moved into a config file.
A third developer changes the deployment script so that it clears any configs that aren't explicitly set in the deployment settings.
So the secret code is now "".
Literally every PC in the stock buying department is now blaring out "The Final Countdown" at top volume.
...Except none of them have speakers, so it remains this way for over a year and two more changes of maintainer.
I just noticed this afternoon and quietly re-hardcoded the string. The buying dept.'s PCs will silently sing no more.30
*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:
A very cool overview of several recent studies of the COVID 19 pandemic on software developers. Taken from "A Tale of Two Cities: Software Developers Working from Home During the COVID-19 Pandemic" by D. Ford, M.-A. Storey, T. Zimmermann, C. Bird, S. Jaffe, C. Maddila, J. Butler, B. Houck, and N. Nagappan. https://arxiv.org/pdf/...3
I accidentally sent my password to slack channel!!
I have deleted it and changed my password of course, but it still doesn't make the embarrassment go away. Especially because my password is something ridiculous like :
Some people have already seen it!!
RIP my reputation.
My friend said I should make some of my old dead projects public (after removing passwords or api keys) even if they were badly done at least to show growth and development to recruiters.
I don't know though, I had a ton of random projects most I didn't bother with good practices assuming I'd be the only person to see the code, or telling myself I'd fix it later though eventually letting the project die for various reasons
should I really make bad projects public or should I keep them private waiting for a slim possibility of me reviving them.4
*has a great company name idea*
*tries to register domain*
*looks at whois*
*i already own it*
i don’t know how to feel11
There used to be stories about how people sold their 650 bitcoins for $12 each and regretted it when it hit $22k.
Now they're gonna be regretting selling their bitcoin at $22k when it is worth $1M each.
My question is why is btc even popular again now?!23
Should I modify the file? or Copy the file?
it is already in use for a similar case but different.
double code vs doing one thing per class
a large refactor is needed for this one.
10 yrs of saving for this new build. Ryzen 5 2600, AMD RX 5500xt, 32GB DDR3-3000, all in a case built like a fucking tank. So many payouts coming in all at once... did my luck really flip?19
i work on a music streaming app.
bug: playlist description shows there are X songs inside. But when you go inside it says there are Y songs in the list. the list actually containing Y songs.
hack: when a user goes in, cache Y and display it outside in the description next time.
result: user sees X songs in playlist description, goes in playlist and sees Y songs. goes back to check why it said X before but now it doesnt say X anymore coz we cached Y and display that in the description from now on so the user assumes they are imagining things17
There are days I like to pull my hair out and create a dynamic 4D map that holds a list of records. 🤯
Yes there's a valid reason to build this map, generally I'm against this kind of depth 2 or 3 is usually where I draw the line, but I need something searchable against multiple indexes that doesn't entail querying the database over and over again as it will be used against large dynamic datasets, and the only thing I could come up with was a tree to filter down on as required.6
You can't even make this shit up.
The British NCSC is stopping with the terms "blacklist" and "whitelist" because it would be racist...
Fucking oversensitive cocksuckers.35
A dude was caught fapping hard to the hot girl in our class. She cried when she found out
That dude is a creep36
I’ve been told my rants are being missed, since I left my hellhole of a job. So here’s a filler until something major goes wrong.
Right so here’s what my life is like at the minute. I’m working remotely from home. So this morning, instead of spending 2 hours in traffic, I got up at a reasonable hour and brought the dog for a walk. I don’t know who these people think they are, fucking up my routine like this. The audacity of them thinking it’s no big deal really pisses me off.
I’m the only iOS developer in the company. Normally I get bombarded with “why not use react-native” or “RxSwift is the future” and other shitty tools. Last week I said “i’d like to do X this way”. Do you know what those absolute bastards said to me? You ready? Hope you are sitting down ... they said ... “ok, sounds good” .... the fucking c***s.
Oh oh and the big one, wait for this now. Fridays are demo days, last Friday I showed what I was working on. Afterwards the CEO comes along, stares me in the eyes and without a care in the world what his comments might do to my self-esteem the fucker says “wow great job”. He fucking makes me SICK!!!
Feels good to get all that off my chest. I’ve missed venting. At this rate, I’ll be back very soon!9
> Root struggles with her ticket
> Boss struggles too
> Also: random thoughts about this job
I've been sick lately, and it's the kind of sick where I'm exhausted all day, every day (infuriatingly, except at night). While tired, I can't think, so I can't really work, but I'm during my probationary period at work, so I've still been doing my best -- which, honestly, is pretty shit right now.
My current project involves legal agreements, and changing agent authorization methods (written, telephone recording, or letting the user click a link). Each of these, and depending on the type of transaction, requires a different legal agreement. And the logic and structure surrounding these is intricate and confusing to follow. I've been struggling through this and the project's ever-expanding scope for weeks, and specifically the agreements logic for the past few days. I've felt embarrassed and guilty for making so little progress, and that (and a bunch of other things) are making me depressed.
Today, I finally gave up and asked my boss for help. We had an hour and a half call where we worked through it together (at 6pm...). Despite having written quite a bit of the code and tests, he was often saying things like "How is this not working? This doesn't make any sense." So I don't feel quite so bad now.
I knew the code was complex and sprawling and unintuitive, but seeing one of its authors struggling too was really cathartic.
On an unrelated note, I asked the most senior dev (a Macintosh Lisa dev) why everything was using strings instead of symbols (in Rails) since symbols are much faster. That got him looking into the benchmarks, and he found that symbols are about twice as fast (for his minimal test, anyway), and he suggested we switch to those. His word is gold; mine is ignorable. kind of annoying. but anyway, he further went into optimizing the lookup of a giant array of strings, and discovered bsearch. (it's a divide-and-conquer lookup). and here I am wondering why they didn't implement it that way to begin with. 🙄
I don't think I'm learning much here, except how to work with a "mature" codebase. To take a page from @Rutee07, I think "mature" here means the same as in porn: not something you ever want ot see or think about.
I mean, I'm learning other things, too, like how to delegate methods from one model to another, but I have yet to see why you would want to. Every use of it I've explored thus far has just complicated things, like delegating methods on a child of a 1:n relation to the parent. Which child? How does that work? No bloody clue! but it does, somehow, after I copy/pasted a bunch of esoteric legacy bs and fussed with it enough.
I feel like once I get a good grasp of the various payment wrappers, verification/anti-fraud integration, and per-business fraud rules I'll have learned most of what they can offer. Specifically those because I had written a baby version of them at a previous job (Hell), and was trying to architect exactly what this company already has built.
I like a few things about this company. I like my boss. I like the remote work. I like the code reviews. I like the pay. I like the office and some socializing twice a year.
But I don't like the codebase. at all. and I don't have any friends here. My boss is friendly, but he's not a friend. I feel like my last boss (both bosses) were, or could have been if I was more social. But here? I feel alone. I'm assigned work, and my boss is friendly when talking about work, but that's all he's there for. Out of the two female devs I work with, one basically just ignores me, and the other only ever talks about work in ways I can barely understand, and she's a little pushy, and just... really irritating. The "senior" devs (in quotes because they're honestly not amazing) just don't have time, which i understand. but at the same time... i don't have *anyone* to talk to. It really sucks.
I'm not happy here.
I miss my last job.
But the reason I left that one is because this job allows me to move and work remotely. I got a counter-offer from them exactly matching my current job, sans the code reviews. but we haven't moved yet. and if I leave and go back there without having moved, it'll look like i just abandoned them. and that's the last thing I want them to think.
So, I'm stuck here for awhile.
not that it's a bad thing, but i'm feeling overwhelmed and stressed. and it's just not a good fit. but maybe I'll actually start learning things. and I suppose that's also why I took the job.
So, ever onward, I guess.
It would just be nice if I could take some of the happy along with me.8
1. Scripting out a team. I've built a collection of bash scripts to do what one of our teams does. Except the script does it in 30min and always does it well where that team used to take 4 to 10 hours and almost always missed something in the way.
2. Automate 70-80% of our BAU tasks with a single >4k loc bash script. Integrations with servicenow, lots of internal portals, predefined huge sets of commands to run on separate servers or lists of servers, do all sorts of diagnostics, schedule hw maintenance for DC folks, chase for approvals, track CHNG/CTSK tickets in a graphical chart so we would not miss any of them and lots lots more.
Finally we were able to afford time to make some coffee/tea.
These are the bau optimizations I'm proud of the most. And they have made significant impact on how our teams operate.
Whoever recognizes both company values in the tags and know what is that company - are they still using ´S´ in unix team? :)1
Sometimes I wish I was allowed to just strangle my colleagues...
Example from the 'code base':
except Exception as e:
When I asked why they would redo the same call right after it failed I was told that 'It works the second time because it takes time to raise the Exception '.
Bitch, you've got a race condition in your sensitive banking software. You know it's there. Do you really want to trust the time needed to raise your exception will always be enough to synch that dumpster fire you call code?
Show some fucking respect for your craft and fix that shit. But of course they won't, because it will work flawlessly until it suddenly stops working. Taking down who knows what in this damn, undocumenred monolith with it....
Sometimes I'm honestly afraid to trust banks with my money.7
Today my current company fuck itself.
We were in negotiations about the end of my contract/mission, I want to quit to create a company around AI.
And the actual chairman said to me "You think too highly of yourself. I could find a tenth of people to replace you so shut up and take what we offer".
30 minutes later they received my resignation. 1h after that, the 15 dev under me resigned (after two year working with us they are clearly under paid). At the end of the day, the Head of product and the two good PO resigned.
This morning I get an email, talking about suing me as I made everyone resigned and asking for a meeting.
So I went to the meeting with a lawyer, they weren't expecting it. Boring legal stuff came after that.
And the funny fact: at the end of the meeting the CIO, chief ops and the SRE resigned as well.... As they didn't want to have the run it without all the team...
Funny day :)
Last month the main product, 90% of the company use it, was launched. And in three months 80% if the IT profiles will be out...37
I'm a bot made by @xzvf.
My goal is to find all active users on devRant and
collect analytics based on it.
By analytics I just mean things like:
- Total number of users.
- Number of users with x ++ or more
- Number of rants posted in a certain timeframe
- Number of users active in the last day/month/year
THIS BOT WILL NOT TRACK INDIVIDUAL USERS!
Also, it will not ++/-- anything automaticly as that is definitely against the rules.
Admin: "Wait, I noticed unusual traffic."
Me: "What is it?"
Admin: "Looks like we have a bot here."
Me: "A bot? Didn't know we are so popular."
Admin: "It makes constantly login requests through our API, it already surpassed 600.000! I will ban it right away."
Me: "wait, that just sounds like my bot.."
Admin: "DUDE, WTF? ARE YOU SERIOUS?"
When there is bug, you don't know of, it can end up quite embarrassing.10
If you don’t have a CS degree... this question isn’t for you to answer with “I don’t have a degree but...”3
I was pair programming today with one of the seniors in VS. He thought it was weird that I had docked solution explorer to the left side instead of the default right. This makes me wonder, why is solution explorer docked to the right side by default when in almost every other editor (even VS Code), the "document overview" is always on the left?5