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
Search - "are you an idiot"
I’m surrounded by idiots.
I’m continually reminded of that fact, but today I found something that really drives that point home.
Gather ‘round, everybody, it’s story time!
While working on a slow query ticket, I perused the code, finding several causes, and decided to run git blame on the files to see what dummy authored the mental diarrhea currently befouling my screen. As it turns out, the entire feature was written by mister legendary Apple golden boy “Finder’s Keeper” dev himself.
To give you the full scope of this mess, let me start at the frontend and work my way backward.
This function allows the user to better see the rows in the API Calls table, for which there is a also search feature — the very thing I’m tasked with fixing.
It’s worth noting that above the search feature are two inputs for a date range, with some helpful links like “last week” and “last month” … and “All”. It’s also worth noting that this table is for displaying search results of all the API requests and their responses for a given merchant… this table is enormous.
This search field for this table queries the backend on every character the user types. There’s no debouncing, no submit event, etc., so it triggers on every keystroke. The actual request runs through a layer of abstraction to parse out and log the user-entered date range, figure out where the request came from, and to map out some column names or add additional ones. It also does some hard to follow (and amazingly not injectable) orm condition building. It’s a mess of functional ugly.
The important columns in the table this query ultimately searches are not indexed, despite it only looking for “create_order” records — the largest of twenty-some types in the table. It also uses partial text matching (again: on. every. single. keystroke.) across two varchar(255)s that only ever hold <16 chars — and of which users only ever care about one at a time. After all of this, it filters the results based on some uncommented regexes, and worst of all: instead of fetching only one page’s worth of results like you’d expect, it fetches all of them at once and then discards what isn’t included by the paginator. So not only is this a guaranteed full table scan with partial text matching for every query (over millions to hundreds of millions of records), it’s that same full table scan for every single keystroke while the user types, and all but 25 records (user-selectable) get discarded — and then requeried when the user looks at the next page of results.
What the bloody fucking hell? I’d swear this idiot is an intern, but his code does (amazingly) actually work.
No wonder this search field nearly crashed one of the servers when someone actually tried using it.
CS graduates that have never gone beyond "Hello World", fuck college and it's "system".
So the actual victims of the story are friends of mine, CS colleagues, but I can't help but share as the existence of code freeloaders enfuriates me.
At college in order to graduate you need to present a project in form of a thesis a side from your actual thesis, there is a shortage of pre-approved projects and everyone wants one.
A talented friend of mine who has many years of programming experience got in one with another friend of mine and a lady who I've never seen before. One Saturday night my friend and I were having some beers at a local bar and his phone didn't stop beeping so I jokingly said:
"Bro, tell your girl you need some space", he laughed and explained it was the chick from her project having some "issues" with node.
"So? Tell her to google it, it's Saturday night", he explained the girl has never coded before even though she's about to graduate so she had take it upon herself to pressure him to finish ASAP so she can graduate and get an already agreed position at the federal energy commission... As dev!
I've seen my bud in a lot of dumb calls with said chick trying to explain how you CAN'T COMPILE THE NODE WEBSERVER TO A .EXE!
It frustrated me how such an idiot can go through a CS major buying homeworks and getting low self-esteem geeks to code for her. Then I realized that as an aspiring InfoSec guy, lazy idiots coding is good for business.8
I'm in a few women in tech groups. A woman, who is a highly experienced developer, shared that she had a conversation with her male friend, who is a startup founder. He said that his criteria for recruitment are high levels of math and physics since high school and early interest in programming (e.g. age of 10). She said his criteria made her sad and excluded.
A fellow woman developer commented that it's reasonable to feel sad when you learn your good friend is an idiot. I snorted some Monster out of my nose reading this and I'm still coughing and chuckling.
To be honest, the founder's requirements do sound super ridiculous, and I imagine his startup is made up of clones of the same guy type, wearing different shades of gray t shirts and sandals with socks.58
Every now and then, periodically
and then quiet. Get into working mode, concentrate again, a...
wtf is that.. Took down my smoke alarm, prolly the battery is getting low. Put it next to me, waiting...
nope, it's gotta be smth else. How can I hunt it down when I can't even tell which direction it's coming from?!? I know. Play smart. Measure the period.
it's been 3 minutes 5 seconds since the last BEEP-fucking-BEEP. Now I can plan my time ahead. Go to one room, wait fo..
Nope, it's not there. Carry on with all the other rooms, waiting for that annoying beeping.
I think I at least know the room. Good, narowed it down.
this is getting really annoying. I've been playing with this nonsense for an hour already. Alright, it's in my kid's room. The PC is off, toys are off. What could it be....? Binary search the f
uck out of it! aight, I first try to identify from which part of the room it's coming from. Stand in the middle and tu
ahh, right, it's behind me then. Fine. That's the PC corner. But it's off, it can't be making sounds. Esp when it has no speakers plugged in - it's got only Bluetooth speakers which haven't been turned on for what, a year already? but then w
hat could it be... Sounds like it's indeed coming from the PC corner. Checking all the LEDs -- all are off, nothing's turned on. Move the speakers away, try digging around to see if the kiddo didn't leave his toys behind the
PC. Wait, the sound has moved behind me... And I've only moved my BT speakers. Which are turned off. That's odd... could it be? Put one to one ear and another one to another and wait for the remaining 15 seconds
BEEP-(you are a fucking idiot)-BEEP
whispers in my left ear.
Turns out, some BT speakers can make low-battery sounds even when they are turned off.11
Another smartass! Here we go!
Look, I'm an idiot and I'm absolutely aware of it. But you don't get to give an opinion without having the knowledge or skills. I may be young-ish and stupid, but that doesn't mean you're right, or that you know better than me ffs. If I'm down to earth, that doesn't mean you're above me. If you want my respect, then behave yourself. Just because you think you've "schooled me"...doesn't mean you did.
... Aaaaaand those are stuff I'll never say in real life. Gah. I can't lecture people I don't care about, but some do piss me off regardless. And what is with this sharp increase of people pissing me off these day? 🤔 🤔 🤔5
If you're going to request CRITICAL changes to thousands of records in the database, and approve it through testing which is done on an exact replica of production, then tell me it was done incorrectly after the fact it has been implemented and you didn't actually review the changes made to the data or business logic that you requested then you are an idiot. Our staging environment is there to ensure all the changes are accurate you useless human. Its the data you provided, I didn't just magically pull it from thin air to make yours and my job a pain the ass.9
Imagine going on quora and answering somebodies carbon offsetting question by pushing your own stupid fucking agenda with propaganda answers like
"oh we need rainforest money!"
"oh we need grassland!"
"oh support the cows"
jesus fucking christ, THIS is why we have a problem with people not accepting climate change, becuase every fucking liberal wants to pile on one another and have their 'most important' cause behind it
give me a break you fucking idiots, it won't be solved by acting this way
sorry this is in no way software related, but it's the only place left i have to rant (however in some ways it is somehow software related, due to being able to think about the real world without being an absolute idiot and pushing some stupid peer pressured political idea because your social identity and friends are more important than actual facts, but whatever)12
Your code should be the gold in Kintsugi. Filling the gaps between solid chunks of porcelain, no more and no less. Porcelain shards are UI elements, databases, and other solid objects, and your code is the gold in between.
It should flow organically, like a vine growing through the bricks.
When the solid shards are way too far away from each other, and just gold is too fragile, rely on a backbone, like a data structure. An oriented graph is a perfect backbone for, say, a stepped form that diverges. From that backbone, grow your golden vines to reach out and connect what remains to be connected. Learn data structures. They are very flexible, very powerful.
Angular, on the other hand, is like a huge, rigid nonsense made of oxidized steel. It cannot bend to hold other pieces gently. Everything should be cut square and secured with bolts and rivets. It is only fine for you falling on it, hitting your temple against its sharp corner. An inflexible abomination that rots under the rain. It is dead.
Your architecture should be alive.
As of today, I restrict my boilerplate to just closures. Anything more than that I find unnecessary. Any idiot can build a bridge that works, but it takes talent to build a bridge that barely works.
This art took me six years to master, and, like a black belt, it's just the beginning of a lifelong journey. I'm so serene right now.6
"Please move the logo left. The text goes a bit under."
Do you guys think people realize how unclear they are, and are just too fucking lazy to write the full spec? Or are they just so fucking stupid they don't realize I literally have no fucking clue what to do exactly with comments like these?
I guess Hanlon's razor applies here, but some days I just don't know...
Happy Friday! ☠️3
Time to switch to offline and hide in some dark corner to get work done. Tired of all the IM’s and coming over to my desk from 1 person for “critical” work. If they’re all critical then none of them are truly critical. If you sit on the data for 2 months, and then today is the day it becomes critical and the compliance issue is because of your ineptitude then its a you problem not an IT problem. Then on top of that you submit your data to be loaded in the incorrect request form and spreadsheet format you can go fuck yourself asking this be done in an hour. It could be done in 15 minutes if you had it in the correct format as specified in the 20 meetings over the past year which removed all manual analysis and automated the entire process you idiot. Now I have to get it into the correct format in that hour so I don’t have to do the analysis for you.
I have other things to do besides your etl tickets, like finding the actual problems in our actual critical applications. You know the ones where the VP’s of this giant corporation start calling if they go down.
Sorry for the rambling guys.
So I saw a blurb about AlphaCode from DeepMind. I went to look at their website:
What I see is the most insanely detailed spec for code I have ever seen in my life. I haven't even seen college programming problems this detailed before. Most specs "I" get are like one or two sentences long "if" it is even written down. A lot of the time the direction is: write some stuff and we will tell you what we hate. Just figure it out.
So DeepMind is claiming they can produce code as well as the average programmer because they ranked 54% in a coding competition. What a complete misleading claim and absolute bullshit conclusion. I am all for creating new tech around generating code, but this is just to sell snake oil to an idiot manager at a startup.
This is going to lead to some really fucked up rants here at devrant.6
We find our hero, fullstackclown🤡, again harrowed by idiotic management.
Our backdrop and set: A Google calendar appointment was booked between the managers and fullstackclown. fullstackclown had created an all-day appointment for today which reads: "fullstackclown on site".
With the scene set, let us begin our tale..........
Manager: Are you going to be on site today?
fullstackclown🤡: Do you see the appointment I booked on our calendar stating that indeed I will be on site today?
fullstackclown🤡: you are an absolute idiot
I literally don't know what to do anymore. I mean it's RIGHT THERE IN YOUR CALENDAR. HOW MUCH MORE CLEAR DO YOU WANT IT TO BE?! DO YOU WANT A TWILIO APP THAT SENDS YOU A PRERECORDED VOICE MESSAGE IN MY VOICE, CONFIRMING MY CALENDAR APPOINTMENTS?!
What type of mindset causes this type of behavior of double or triple checking things as simple as a calendar booking? Honestly shows a complete breakdown of normal mental functioning in my opinion.5
New office stories during the emotional turmoil...
Story 1: The creepy fuck
So being unaware of the fact that I was connected with this guy on LinkedIn already.
Ron walks upto my desk and greets me on my first day on floor. Weird, but whatever.
I politely interact, because gotta make friends and create my following to get shit done.
The next day, randomly comes asking for a laptop sticker and I am like WTF! He is like sticker was an excuse, I just wanted to say Hi!
Day 3: same random creep shit. Talks about personal topics and invades personal space uninvited.
Day 4: Keeps starring at me while I ignore and judges me evidently with stupid suggestions on how to exist without being asked for.
Fuck this guy.
Story 2: The classic case of Dunning Kruger effect
So I get introduced to my tech team today and everyone start piling on me to guide them on decision making. The CTO creates a Slack thread with me and Co-founder asking me to get things moving on priority.
The co-founder shut him out right away. Fucking hilarious.
But, a retard starts schooling me on how to use Slack. Lmfao.
Me being polite, said I'll follow.. dude starts bragging on how he wrote company policy to get everyone on Slack yada yada..
To be honest, the Slack experience is beyond broken based on what these idiot has setup.
He literally opened my Slack and responded to the CTO thread.
That's where I got pissed. I upfront told him that hey! Calm your tiddies down. I know how to use Slack. I have used it since it was in the beta.
I have been in much much mucy bigger orgs and places more well structured than what you have here.
I told him on his face what the flaws where and how I felt a downgrade from where I am coming from.
The look on his face was priceless and he started sweating. Lol
Never again he'll school anyone.
I mean I understand if you are humble and genuinely guiding a new hire. But being cocky unnecessarily and shoving things down my throat without yourself knowing shit or know about the other person is purely asshole move.
Anyway, I am still upset about the scam. Fuck this world.5
Hey, i am an idiot when it comes to web development and i wanted to kindly ask a question.
I am developing a blazor wasm webapp and i want to give the user some kind of onboarding process. the kind where some parts of the ui are highlighted with explanation on what which button does or area of ui is for.
how do you call something like that? I just need something to google for.
Thank you for your invaluable time and again sorry for my stupidy3
Not really a programming rant, but how fucking hard is it to spell someone's name in an email correctly. There is no single key for 'ph' and if there were it would be no where near the letter 'V'. But then again I'm just trying to help you out with your simple SQL script which you can't find out why you're not inserting data and you're only the director of informatics. And your script is horrendous with multiple joins which are unnecessary. Create one source table instead of 4 inserts from one table and use one insert from one table ya idiot.
Me: I’m having trouble filling out the state tax form online. The form won’t let me check the box “I live in X city.”
HR: You don’t have to fill out the form if it doesn’t apply to you.
Me: Why are you treating me like an idiot? And why the fuck are you making assumptions about where I live?