Details
-
Aboutromantic piece of shit.
-
SkillsPython, JS, Ruby, C++,Rust
Joined devRant on 12/1/2017
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
-
!rant
AHHHHHHHHHHHHHHHHHHHH
FOUR DAYS ‘TIL CLOSING!
I’M GOING TO OWN A HOUSE!
AHHHHHHHHHHHHHHHHHHHH14 -
i had this weird dream. i invented a programming language that was connected to the physical world. every time an object was instantiated during runtime, a 3D printer would print this object immediately in real time, into the void of a confined space without gravitation (like a physical stack, but not like a stack). if this object was passed objects as function parameters of its methods, these little objects were printed as well and temporarily moved into the orbit of this object, orbiting it like electrons or little moons.21
-
The 1st rule of Javascript is: You don't admit you program Javascript.
The 1st rule of Rust is: You tell everyone you program Rust and how it is better than basically any programming language that existed or will exist.
The 1st rule of C++ is: There are no rules because everyone was too busy debugging templates to think of any rules.
The 1st rule of Java is: You must have excessive numbers of classes and boilerplate. The more boilerplate the better.
The 1st rule of Haskell is: It is great to learn, but you will never see it again once you leave college.38 -
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 -
Got a mail from a recruiter.... offering me a role in a company......where I'm currently working....in the said role.16
-
Rant
Why do shithead clients think they can walk away without paying us once we deliver the project !!!
So, here goes nothing..
Got an online gig to create a dashboard.
Since i had to deal with a lot of shitheads in the past, I told them my rules were simple, 20% advance, 40% on 50% completion and 40% after i complete and send them proof of completion. Once i receive the payment in full, only then i will hand over the code.
They said it was fine and paid 20%.
I got the next 40% also without any effort but they said they also needed me to deploy the code on their AWS account, and they were ready to pay extra for it, so i agreed.
I complete the whole project and sent them the screenshots, asking for the remaining 40% payment. They rejected the request saying my work was not complete as i had not deployed on AWS yet. After a couple of more such exchanges, i agreed to setup their account before the payment. But i could sense something fishy, so i did everything on their AWS account, except registered the domain from my account and set up everything. Once i inform them that its done and ask for the remaining payment.
The reply i got was LOL.
I tried to login to the AWS account, only to find password had been changed.
Database access revoked.
Even my admin account on the app had been removed. Thinking that they have been successful, they even published ads about thier NEW dashboard to their customers.
I sent them a final mail with warning ending with a middle finger emoji. 24 hours later,
I created a github page with the text " This website has been siezed by the government as the owner is found accused in fraud" and redirected the domain to it. Got an apology mail from them 2 hours later begging me to restore the website. i asked for an extra 10% penalty apart from the remaining payment. After i got paid, set an auto-reply of LOL to thier emails and chilled for a week before restoring the domain back to normal.
Dev : 1
Shithead Client: 024 -
100% of the credit goes to my dear friend @TheKarlisK
This is our VPN project we did recently and published it as open source to the world.
Cheers to you my man, Karlis.8 -
Yesterday's (scheduled and adhoc) meetings:
10:30-11:00
11:00-11:30
12:30-1:30 (adhoc)
1:30-2:30
4:30-5:00
6:00-6:20 (adhoc)
Today's (scheduled) meetings:
9:30-10:00
11:00-12:00
12:30-1:15
1:30-2:30
Tomorrow's meetings include a 1:1 with my boss who will invariably ask why I'm not done on this "should take a week" project that I've had for a week, despite that he just unblocked me on yesterday morning, and I've had nothing but meetings since...
Fucking hell.
They fill my day with shit spaced out just enough to waste practically my entire freaking day so I can't get anything done, conveniently forget this, and then have the audacity to yell at me for not finishing my tickets. Of course I didn't finish! You all were too busy blabbing at me every day for the past fucking week! (Oh, and do they listen if I have something to say? Of course they fucking don't.)
Also, as a secondary rant, the product douchebag files tickets (usually complex as hell tickets worded to appear trivial) with enough missing information to make missing large sections of them easy. If I ask him for clarification, he tells me to read the ticket, and if I insist, he gets all exasperated and quickly zooms through the site faster than I can follow, shows maybe half of what's in the ticket, and asks why I don't know how to do any of this yet. After I finish his shit ticket (and true to his douchebag nature) he blames me for missing several of those pieces he never outlined or showed, and insists that I obviously don't test anything. And because that's clearly not douchey enough, the fucking sack of shit also goes behind my back and trashtalks me to my coworkers, tells them he can't trust me to do a simple fucking thing, and that he's given up on me.
What the FUCK is wrong with these people?28 -
I wasn’t even looking for a job, I just went out for drinks with friends and I met this random dude. I complained to him about work wanting us to go back to the office, to which he replied that I should go work for them because they’re remote and looking for people. I had a look at their openings and they had a role with fewer responsibilities and a lot more money, so I applied. It’s been 3 months and I’m so glad I switched.11
-
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 -
I once worked until 8am to get a demo ready for a client of the client. I knew the client was a bit thick, so I made some comprehensive video demos and sent them over to him, to save him trying to demo it himself. I wake up at 11am with him screaming down the phone at me:
“It doesn’t work, none of it works!”
“What do you mean?”
“I go to login and I can’t enter anything.”
“I haven’t sent you anything to log into...wait, are you trying to log into a video? Tell me you’re not trying to log into a video of a login page.”
“Uh...oh hang on, it just worked. Ok no pr-“
“No wait, what do you mean it worked?”
“I logged in fine.”
“It’s a video. You can’t log into a video.”
“Uh...alright, bye mate, thanks!”
The moral of the story is: never assume any level of intelligence on the part of a client, even if they exhibit signs of it at first. If they are paying you they will forget how to tie their own shoelaces.10 -
>Having an issue.
>Looking it up on SO.
>Finding your own post with the same issue from 5 years ago.
>"Thanks past me"3 -
Someone, I have no idea who, commented on my personal project that he wanted to pick up one of the issues.
Then, he followed through and fixed it and sent a PR.
Feels good man.4 -
My Senior Just asked me not to copy from stack exchange and his wife (Also my senior) suggested to copy from stack exchange to reduce work load. Wtf I am supposed to do🥲16
-
Oh my god, look at this beauty. Looks like aurora borealis. Too bad this setup wasn’t successful and is already lost.14
-
Fuck my current manager. Doesn't even know how to treat his employees. Always demotivates whatever we do and never gets satisfied.....so am in search of a new job!!!😕2
-
My start in new company....
HR: you will get a Macbook from us...
Me: yessss!!!!
~~~
One Day before first Day:
I Picked up the laptop from company...opened the case....
No Macbook, but HP 😂😂😂...🤷♀️
~~~
First Day at new company:
PM: you will be using Ps, Sketch....
ME: how will be the licence costs payed?
PM: it is already installed...
ME: wait, what? It's nothing in my Laptop.. Wait what? Sketch?....I haven't recieved a Mac....
PM: What?????🤦♀️.....
~~~
Later in the same Day...
My laptop: Fu*k you!!! Your account has been disabled. Contact your system Administrátor...
ME: wtf????? 🤷♀️🤦♀️
.....to be continued....23 -
React's `useEffect()` won't fire if you have someone in your team wrote a hook that maintain a state of an array, mutates the array, empties it, and then set it back to the state.
https://codesandbox.io/s/...
Reported it, ticket closed without asking, told should avoid mutating the object stored in useState.
Isn't it bluntly obvious that if someone spent hours to spot the line in hundreds of lines of code, which actually caused the problem and reduce the whole piece of turds into some understandable minimal reproducible example means they must of course for sure know that by avoiding mutating the array it will fix the bloody issue?
Isn't that bluntly obvious they are trying to say that there is a bigger issue behind those twisted wires?9