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
Search - "surrounded by idiots"
-
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.
He wrote a javascript method that tracks whatever row was/is under the mouse in a table and dynamically removes/adds a “.row_selected” class on it. At least the js uses events (jQuery…) instead of a `setTimeout()` so it could be worse. But still, has he never heard of :hover? The function literally does nothing else, and the `selectedRow` var he stores the element reference in isn’t used elsewhere.
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.
Asdfajsdfk.rant fucking moron even when taking down the server hey bob pass me all the paperclips mysql murder terrible code slow query idiot can do no wrong but he’s the golden boy idiots repeatedly murdered mysql in the face21 -
@Root has a code review.
CR comment: “Why would you do it this way? It’s awful. Clean it up!”
Totally fair. I had copied the legendary dev’s code, and it was ick. Cleaning it was easy and enjoyable. I cleaned the source, too.
CR comment: “Why would you touch this? It’s outside the scope of the ticket. You could get it working without changing all this.”
Revert…
CR comment: “The interfaces don’t match. Now it’s confusing, and that makes it harder to maintain.”
🤦🏻♀️16 -
Trash, trash, trash.
Who the fuck writes this shit?
Who the fuck lets these trash should-be-junior devs roll their own crypto? and then approves it?
The garbage heap of a feature (signing for all apis) doesn't follow Ruby standards, doesn't follow codebase conventions, has `// this is bridge` style comments (and no documentation), and it requires consumer devs to do unnecessary work to integrate it, and on top of all this: it leaks end-user data. on all apis. in plaintext.
Fucking hell.8 -
Why is it what so many developers think that they are the sole genius surrounded by idiots and completely lack in interpersonal skills or the ability to see other people's arguments as valid? Honestly, with some people it's like working with an emotionally stunted teenager. I literally spoke to someone yesterday who thinks it's impossible to come to a compromise or agreement about anything unless there is a third party to arbitrate and mindlessly insists on his own way in literally every disagreement, even after admitting his logic is faulty. It's like watching a spotty 17 year old argue about politics online I swear it.5
-
I'm surrounded by idiots.
Yet they keep getting promoted.
It seems being competent and skilled at your current role means absolute dog shit.4 -
Sometimes I feel like I am surrounded by idiots. My family are too stupid and lazy to have jobs or do anything involving a skill. They are too dumb to do anything properly so most of the house is fucked.
My co-workers are supposed to be Web devs but cba to learn the frameworks or languages we work on. Some of them have over 5 years experience and don't understand basics like backend verification vs front end.. Or even what json is. Needless to say everything I'm told to do is retarded such as implement roles and permissions where there are no roles, but ot allowed to add roles.
Anyone else surrounded by idiots 90% of the time? How do you not get worn down?2 -
We use a third party paid company to produce a service and give ongoing support for it, which all our revenue streams depend upon. They are shit and their service is shit. Here's how my conversation about testing went today.
Me: 'hey X wrote an integration test project for the service. It shows the service is broken 50% of the time. We should give their team access to it and have them run it as part of CI'
Colleague: 'They are too shit to setup CI'
PM: 'we are stuck with them so there is no point. It is what it is'
Boss: just ignores me. Not even a reply.
Some days later
Head of QA: 'Hey Dev and QA are broken'
Me: 'because their service is broken. I made so and so suggestion before but it was rejected. We will just have to accept Dev and QA are broken 50% of the time'
Head of QA: 'no we cant'
Me: 'ok so we should setup the tests to run by giving them access'
Head of QA: 'No we shouldn't. The tests can only be used by us and if they break it tells us so we can act on it, or choose not to'
Me: 'We would not want to act immediately on all our revenue streams breaking? Yes we can reverse engineer their client and fix errors as they occur, or we could just have them run the tests and a team our company pays for can stop adding breaking changes to their own API every other day. Right now it has been broken for 2 weeks.'
Head of QA: 'in an ideal world we would have an internal team so you're wrong'
Me: :)
I really don't understand how they can come to such a conclusion. Am I missing something or am I surrounded by total fucking idiots?2 -
I am surrounded by incompetent fucking idiots, from the team lead that does a half arsed job at coding and then wonders why nothing further down the chain works to whole component teams that seem to be lagging so far behind they don't even know what the current code base looks like.
And who's in the middle of it all running around fixing all the problems these fucktards create, why yes it's me.
I would leave to let it implode and see what they'd do but I already know, they'd leave it till I got back so I could fix it all for them.
Feel like going around with a rolled up news paper and whacking each of them on the back of the head while screaming "no, bad code monkey, bad, fix your own bugs"
I hate being the go to fix it guy sometimes.1 -
Can some drone operator please end my suffering existence?
I just got on a bus from Berlin to Munich (8h trip) and apperantly some fuckwits thought it was a great idea to destroy the GOD DAMN FREE WIFI. ONLY DRUNK ASSHATS COULD BE SO STUPID. I need a podcast to sleep well but since I already used up my mobile data volume, I'm stuck in here, surrounded by idiots and lost to the world.4 -
It appears I've discovered myself quite talented at solving problems.
And also, that I'm surrounded by idiots, who don't know what an integer is.
Also, that im an idiot.2 -
At work I'm surrounded by happy_looking_fucking_around_with__me_and_each_other idiots, literally. Fine I'll just work for money and experience. Jeez 🙄1
-
Fuck this. I need a data science job title.
We're implementing something based on a paper, as requested by our head of DS. The head of DS hasn't read the paper. I have. So has my team. We're discussing something, they don't understand how we should do something, I understand it coz I have a maths background but they want to ask head of DS to be sure. Who hasn't read the paper. I knew he hadn't read the paper because he came up with a stupid newfangled solution to a problem, when the paper already solves the problem, so his idea isn't needed but we implemented it as an optional feature to keep him happy anyway. So why the fuck are we asking him? He's not an idiot, but he does throw a lot of stuff at the wall hoping it'll stick. And he's not very methodical. And not reading the paper is unprofessional as fuck. -
When you are surrounded by idiots... Fuckers... Leads acting like interns... No time left to do your own work... Fuck fuck fuck... How can you be so dumb to ask me how to set debug point in ANT script?undefined development idiots at work idiots everyfuckingwhere colleagues office colleagues givemeheadache programming
-
These people I'm working with won't stop arguing. If it weren't for a teacher staring me down, I'd say this:
"Shut the FUCK up for FIVE SECONDS. 90% of the shit you people say is STARTING AN ARGUMENT.
HEY, DICKHEADS! HERE'S A TIP: STOP BEING SO UPTIGHT AND ACTUALLY LISTEN TO IDEAS, CONSIDER OTHERS OPINIONS, AND TRY *WORKING TOGETHER.*
I'M SURROUNDED BY *IDIOTS*."