Details
-
AboutYARD( yet another ruby developer)
-
SkillsjQuery,Ruby,Ruby on Rails, HTML,XML,JSON
-
Github
Joined devRant on 12/2/2016
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
-
I did get a raise but we also hired like 5 new people... But I still do the same amount of work... Which was already too much...11
-
CircleCI:
- Ensuring work has meaning: "Let's make yet an other dashboard webapp that going to replace all of our dashboard webapps which we made to replace all of our dashboard webapps"
-Solving interesting problems: "Let's make this with java 15 instead of java 14!!!! Also add graphql to ADD interesting problems nobody had since the nineties!"
- Gain meaningful value from talent: 'Bitbucket and the whole pipeline died fourth time this week, I'm going to drink a coffee or two..."
- Developers in flow: "Joe went to have a lunch around 11:00, you probably should not look for him until 14:30."
- Bring buying decisions closer to the engineering team: "The boss tried to bring up the pros and cons between aws and azure... The police eventually had to break the ensuing fight in the meeting room. The survivors reported things got truly out of hand when someone mentioned line-endings"
- Bring leadership closer to the engineering team: "There was yet an other agile coached hired, when she asked how should we measure velocity one of the lead devs managed to actually wake up and told her that the wifi is still pretty fucking slow" -
I. FUCKING. HATE. MOBILE. DEVELOPMENT.
I already manage the data, devops, infra, and most of the backend dev.
We had a mobile guy. He was great. I never had to think about it and kept moving quickly on my work. #SpecializationOfLaborFTW
He left. Why? Because they wouldn't give him a small raise despite being one of the best mobile engineers in the firm. WTF.
I made the mistake of picking up just enough slack on this workflow in the interim such that I'm, apparently, the fucking god-damned release manager, fixer of pipelines, fixer of build configs, fixer of anything where someone just needs to RTFM for a half-hour to not fucking break things.
Now, 8 months later...and, apparently, Fortune 500 companies are too fucking god-damned cheap to pay for someone who actually knows WTF they're doing for a very reasonable thing to have at least one dedicated set of eyes for.
I never wanted to be a mobile dev.
I never will want to be a mobile dev.
And I certainly don't want to manage your HALF-FACE-FUCKED detached expo configs.
There's a reason I never intentionally involved myself in mobile. All the way down, it's just shitty cross-compilation, transpilation, dependency-hell, brittle-as-fuck build processes so we can foot-gun and mouth-gun react-native and expo and babel and whatever the fuck else cargo-culted horseshit into the wild.
And why? What's the actual fucking root cause? The biggest white elephant that ever fucking elephant-ed? It's because Apple and Google decided to never collaborate on a truly-native cross-platform SDK--where engineers could write native code that compiles to native binaries that's simply write-once, run-everywhere. They know they could have done that, and they didn't. So what'd they get back? Expo--a too-cleverly-designed backdoor/hack--more-or-less a way to circumvent the sane release process software has usually followed: code -> executable -> deploy. Or code -> deploy (for interpreted langs). Expo's like "keep your same executable, we're just gonna to do updates by injecting new code into it whenever we want". Didn't we learn anything with web? Shit gets messy real quick? Not to mention: HEY EXPO, WE WERE ALREADY BUILDING NATIVE APPS, YOU SHORT-SIGHTED FUCKS. THANKS FOR LURING OUR CTOs INTO FORCING EXPO DOWN OUR THROATS W/ THE IMPLICIT (BUT INCORRECT) TOO-GOOD-TO-BE-TRUE PROMISE THAT WE CAN HAVE WRITE-ONCE, RUN-ANYWHERE WITHOUT ANY BUY-IN OR COOPERATION FROM THE ACTUAL TARGET PLATFORMS.
And, we just, like, accept this? We all know it's garbage engineering. The principles we learned in the classroom aren't just academic abstractions--they actually yield real-world results--and eschewing them yields real-world failures. Expo is tightly-coupled to high-heaven, with leaky abstractions six-ways-to-christmas, chock-full of foot-guns, and fails the most basic test of quality: does it, "just work?"
Expo is fucking shameful and it should fucking die. Its promises are too bold, its land-mines too many, its future-proof-ness is alway, always, always questionable as fuck and a risk to every project that uses it.
You want a rant? This is my fucking venue, 'tis not? Well, then this is a piss and vinegar rant straight from my blood-red, beating fucking heart:
EXPO FUCKING SUCKS. AND IF YOU'RE A FAN, YOU FUCKING SUCK TOO.27 -
CEO "If you make costs to build a home office for covid, please be aware that you can fully declare your bills, and you'll retain ownership over the ordered goods. Please all buy some good desk chairs and keyboards, so you can work ergonomically"
6 months later, CFO: "Bittersweet, why did you try to declare €35000? What are these invoices even? Concrete rebar?"
Me: "CEO told us to build a home office. I got permits from the town to dig a souterrain layer under my house. This is just for the foundation, the bills for drainage pumps, sheetpiling, geothermal heat exchangers, insulation, flooring, electricity and of course desk & chair will follow later"
CFO: 😳
(To be fair, I really did make those costs, but was just trolling by uploading all the material bills)15 -
So I told my wife one week ago: "Yeah, you should totally learn to code as well!"
Yesterday a package arrived, containing a really beautiful hardcover book bound in leather, with a gold foil image of a snake debossed into the cover, with the text "In the face of ambiguity -- Refuse the temptation to guess" on it.
Well, OK, that's weird.
My wife snatches it and says: "I had that custom made by a book binder". I flip through it. It contains the Python 3.9 language reference, and the PEP 8 styleguide.
While I usually dislike paper dev books because they become outdated over time, I'm perplexed by this one, because of how much effort and craftsmanship went in to it. I'm even a little jealous.
So, this morning I was putting dishes into the dishwasher, and she says: "Please let me do that". I ask: "Am I doing anything wrong?"
Wife responds: "Well, it's not necessarily wrong, I mean, it works, doesn't it? But your methods aren't very pythonic. Your conventions aren't elegant at all". I don't think I've heard anyone say the word "pythonic" to me in over a decade.
And just now my wife was looking over my shoulder as I was debugging some lower level Rust code filled with network buffers and hex literals, and she says: "Pffffff unbelievable, I thought you were a senior developer. That code is really bad, there are way too many abbreviated things. Readability counts! I bet if you used Python, your code would actually work!"
I think I might have released something really evil upon the world.29 -
Sometime it feels like I'm surrounded with idiots.
Got a Ticket:
Support: Please delete installation ABC from Server D.
Me: Checks everything. Installation is on Server E. Asks if this is correct?
Support: Just follow the instructions!
Me: Okey dokey. If you want me to be a hammer the installation is a nail... Drop database, Remove all files. nuke K8s resources
Support: Why did you delete the installation ABC? You should delete XYZ!
Me: Cause the ticket told to delete ABC on Server D and YOU told me to follow your instructions!
Support: Yeah but we just reused an old ticket. We wanted XYZ deleted!
It's not a big deal I can restore the shit but I hate it if a day starts with this kind of shit!18 -
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 -
I’m going to fucking kill my boss.
He’s known about how I’ve been writing this fucking ticket (screwdriver followup) for four fucking weeks, and on the last fucking day (yesterday) he tells me it’s not the correct fucking architecture and to rewrite basically all of it using <unknown bullshit> instead, and that i must have it done by today — by this fucking morning — so it can make the release.
WHY THE FUCK DIDN’T YOU TELL ME ABOUT THIS AT ANY POINT IN THE LAST FUCKING MONTH WHILE YOU WERE BUSY NITPICKING MY FUCKING CODE YOU FUCKING CUNT?!30 -
I just got a message from my company's front desk lady that someone called and asked for me and left a number for me to return the call. I've had a feeling about it and as it turns out, yes, it really was a recruiter who had the confidence* to call my company to sell me another job.7
-
Is it just me or are image uploads broken? Whenever I attach a png file pressing the "Post" button does nothing. Text alone submits fine, so it's not because of my dumpster fire of a text.
It seems now I gotta rant about my failed attempt to post another rant because I'm in a ranting rant mood.23 -
So, you start with a PHP website.
Nah, no hating on PHP here, this is not about language design or performance or strict type systems...
This is about architecture.
No backend web framework, just "plain PHP".
Well, I can deal with that. As long as there is some consistency, I wouldn't even mind maintaining a PHP4 site with Y2K-era HTML4 and zero Javascript.
That sounds like fucking paradise to me right now. 😍
But no, of course it was updated to PHP7, using Laravel, and a main.js file was created. GREAT.... right? Yes. Sure. Totally cool. Gotta stay with the times. But there's still remnants of that ancient framework-less website underneath. So we enter an era of Laravel + Blade templates, with a little sprinkle of raw imported PHP files here and there.
Fine. Ancient PHP + Laravel + Blade + main.js + bootstrap.css. Whatever. I can still handle this. 🤨
But then the Frontend hipsters swoosh back their shawls, sip from their caramel lattes, and start whining: "We want React! We want SPA! No more BootstrapCSS, we're going to launch our own suite of SASS styles! IT'S BETTER".
OK, so we create REST endpoints, and the little monkeys who spend their time animating spinners to cover up all the XHR fuckups are satisfied. But they only care about the top most visited pages, so we ALSO need to keep our Blade templated HTML. We now have about 200 SPA/REST routes, and about 350 classic PHP/Blade pages.
So we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA 😑
Now the Backend grizzlies wake from their hibernation, growling: We have nearly 25 million lines of PHP! Monoliths are evil! Did you know Netflix uses microservices? If we break everything into tiny chunks of code, all our problems will be solved! Let's use DDD! Let's use messaging pipelines! Let's use caching! Let's use big data! Let's use search indexes!... Good right? Sure. Whatever.
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA + Redis + RabbitMQ + Cassandra + Elastic 😫
Our monolith starts pooping out little microservices. Some polished pieces turn into pretty little gems... but the obese monolith keeps swelling as well, while simultaneously pooping out more and more little ugly turds at an ever faster rate.
Management rushes in: "Forget about frontend and microservices! We need a desktop app! We need mobile apps! I read in a magazine that the era of the web is over!"
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + GraphQL + React + SPA + Redis + RabbitMQ + Google pub/sub + Neo4J + Cassandra + Elastic + UWP + Android + iOS 😠
"Do you have a monolith or microservices" -- "Yes"
"Which database do you use" -- "Yes"
"Which API standard do you follow" -- "Yes"
"Do you use a CI/building service?" -- "Yes, 3"
"Which Laravel version do you use?" -- "Nine" -- "What, Laravel 9, that isn't even out yet?" -- "No, nine different versions, depends on the services"
"Besides PHP, do you use any Python, Ruby, NodeJS, C#, Golang, or Java?" -- "Not OR, AND. So that's a yes. And bash. Oh and Perl. Oh... and a bit of LUA I think?"
2% of pages are still served by raw, framework-less PHP.32 -
Me: Optimize a sort & match method in backend because users complain it's a bit slow.
Coworker: These algorithms are both O(n), so they're identical *closes PR*
Me: *start zoom call* "Heeeeeeeeeey Iiiiiiiiiii wouuuuuuuld liiiiiiiiike toooooo diiiiiisscuuuuus thaaaaaaaat puuuuuuulllll reeeeeequuuueeest yooooouuuuu cloooooossseeeed"
Coworker: "wtf are you doing, why are you talking so slow"
Me: "No matter whether I talk fast or slow, the information still reaches you in O(n) time, so why are you complaining"
I fucking hate it when people misunderstand the purpose of (or abuse) big O notation. It's an estimate of how an algorithm SCALES once the set increases in size, in which case you leave out both less significant terms and constant factors.
But those terms and factors are important when you're talking about the DIRECT PERFORMANCE of the algorithm on fixed-size sets, instead of SCALING to larger sets.
1n and 10n are both O(n), but 10x performance on a job that used to take 10 minutes is still significant.19 -
Why the fuck do people in my dumbfuck country always answer an English yes or no question with fucking OK.
Learn to read you fucking fucktards.
“Did you do X?”
“OK”
Fucking piece of uncommunicating Cthulhu brained fucks.14 -
He Didn't See That Comingjoke/meme much wow algorithm too many irrelevant tags meme/joke amazing devrant fullstack frontend backend rant google1
-
How I went from loving my job to wishing i dont wake up tomorrow just to avoid it.
Ive been a backend dev in the company im at for 2 years now.
First year was a blast, i loved my work so much, I used to get so many random features to do, bug fixes, campaigns, analytics, etc..
Second year i started getting familiar with the part of the code that has to do with Search in our music streaming app. Nobody wanted to work on it, so i wanted to take initiative and start doing a few tasks.
A few tasks turned into sprints, and sprints turned into months worth of sprints. And because the code was the definition of tech debt, and because it was so messed up that changing one thing can blow up everything else, working on Search was not too fun.
However, people seemed to be happy search tasks are no longer piling up and someone is handling them so that used to make me feel good about it. They also gave me so much freedom and i felt like my own manager because no one told me what to do (not even my actual manager) they just let me be and were happy i was handling the part they want nothing to do with. I was also given an intern to mentor and have her work on Search tasks with me which turned out amazing.
During the last few months, I completely rewrote search, made it 10 times more performant in such a neat way, made an inhouse dashboard to automate certain tasks so we wont need to waste developers on them (all of which were extra effort on my own time without being asked), all meanwhile still tending to the fixes of the old implementation.
I felt so accomplished, and in a way, i felt like a lead (even tho im not managing any employees, i had so much freedom and I was literally responsible for everything about Search and if i decide to play with the sprint task order i can even do that).
Then 6 or so weeks ago my manager left the company, and while i thought id be a standalone team / person (single person teams are not uncommon in the company) i was instead put under someone else. Someone who likes to micro manage the fuck out of me. I have been happy working on shit code because it was my baby, my project, no one interferes and no one tells me what to do and everyone would call me the search lead (unofficially). now if i dont report to that guy every two hours he calls to see if im working. preplans sprints i no longer have a say in, and im the only dev who knows the code so all tasks go to me. I feel i got demoted so fucking much. I felt like a lead on a project and now im back to being a normal code minion. From deciding everything about a project to blindly following a some irrelevant manager's opinion. (who btw is making Search worse) And after all the extra effort i put in, after actually caring, after actually embracing Search as my responsibility i get rewarded with losing everything i liked about my job...My Independence. From feeling like a lead to feeling demoted. I am so demotivated.
I love the company, but this is hell for me and this made me hate a job i always loved. I am thinking of talking to the CTO asking to work on other stuff because i no longer want this. If i am to be a code minion at least let it be on code i like, let me go back to dealing with PMs, fuck my new manager I dont wanna work with that guy he can take the project along with all its poopoo.16 -
So, a rather unfortunate bug on the Minecraft website.
Minecraft allows you to change your name every 30 days. I was reverse engineering their API so I could use it personally.
On the username change form there are two fields: your desired username, and your password.
To protect myself from actually changing my name, I purposefully put in password123 so that it would fail. Then, I clicked "Change name" to monitor the network traffic.
Well that's when two unfortunate things combined.
#1: I used my last name to test. It's a unique word that is relatively short and very easy for me to type out of habit.
#2: That password field doesn't actually get validated.
So imagine my shock when I clicked "change username" and it WORKED.
And now my username is doxxing me for at least 30 days + the permanent name history
FUCK me6 -
I login this morning
Everyone going crazy as prod is broken in a million ways. 2.5 million exceptions In 24 hours.
We talk for 1 hour and solve nothing.
I diagnose the 2 biggest sources of exceptions and explain every step I took with screen snippets to reach my conclusions
The one other competent person on my team agrees. Otherwise complete silence.
I'm told not to fix the issue because I am leaving in 6 weeks and other people have to start taking responsibility.
No one fixes the issues. Instead they leave early. Now it's the weekend and the product is fucked.
Fucking useless people. Can't wait to leave.12 -
My Unreal project right now:
FVector
std::vector
Eigen::Vector
KDL::Vector
....
*sigh*
And people ask me why I like Lisp. A Vector is a Vector goddamit! Half my project is now just parsing the same variable to the different functions. sigh....I hate this.6 -
Bought a 🏡.. o.O 🎉 Yaaay!
Soon™ I'll have a decent home office! & a 🐈 & a 🐕... maybe.. I hope.. (:26 -
Snippet of an overheard conversation today:
"LOL maths beyond basic arithmetic is so dumb. No-one needs pythagoras, trig, calculus or any of that crap unless they have some unholy desire to find the geometric properties of their sandwich."
"What do you want to do when you leave school then?"
"Something to do with AI. That stuff is really cool."
🤦♂️🤦♂️🤦♂️8 -
Here's the time an Amazon recruiter scheduled a call with me just to tell me I wouldn't be getting the job.
A few years ago, I left Uber after the seemingly non-stop public snafus they were getting themselves into (I have a lot of rants about Uber if anyone is interested, some of them mind-melting). I decided to take a two month break given that my financials looked decent for once and I was tired of 100 hour weeks.
During that time, I of course started perusing the typical job-seeking sites I had remembered from before. Somehow, from one of the profiles I set up, I caught the eye of an Amazon recruiter. They emailed me and I agreed to set up a date and time for an introductory chat.
They already had my CV. They already had my StackOverflow/Github information. This wasn't a technical interview, and the recruiter wasn't part of any of the tech teams. This is important information moving forward.
A few days later, I got the call from the recruiter. He introduced himself as the person from the emails, thanking my for my time, etc.. Things started out pleasant with the smalltalk and whatnot, but then the recruiter said "so I have some concerns about your resume".
Under one of the sections I had a list of things I was skilled with - one of which, regrettably, is PHP. Completely ignoring Java, Javascript, C# and C++ knowledge and all of the other achievements I have with those technologies, the recruiter really wanted to drill me about the PHP.
"Do you work a lot with PHP?"
"No, not anymore - from time to time I have to do something with it but it's not my main language anymore. I know it quite well, though."
"Oh okay well we aren't looking for any PHP roles right now, unfortunately."
"Okay, no problem."
Perhaps I could have said more, but from my end of things, I meant "I don't see a problem here, I don't write a lot of PHP and you don't need a lot of PHP".
After a pause that felt like an hour, the recruiter broke the silence and said "Okay well thanks for your time today, I'm sorry things didn't work out."
Bewildered, I asked which technology stack they were using on the team.
"Not PHP, unfortunately. Thank you for your time." and then an abrupt click.
The recruiter found me himself, looked at my resume (assumably), sought out to contact me, arranged a time for a call, and then called me, just to tell me I wouldn't get the position due to knowing PHP at some point in my career.
Years later, the whole interaction still shocks me. Somewhere in my drafts I have a long letter to the recruiter basically going over my entire career history explaining why his call was incredibly... well, fucking weird. Towards the end of writing it I realized it was more therapeutic for me to deal with whatever it was that just took place and that it probably wouldn't change my odds of working at Amazon.
So yeah. That's the story of the time Amazon set up a recruiting call just to tell me I wouldn't be working for them.9