Details
Joined devRant on 10/9/2019
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
-
The gym I go to has an app for user's to scan a QR code when they arrive and it has multiple HUGE issues.
This app shows the credit card info used for the direct debit without anything being redacted.
When the gym is signing up someone they give them a password so they can login, not too bad except the password is always the person's first name with the first letter capitalised.
This gets worse when you figure out that their is no way to change the password given to you AT ALL.
And just to top it all off, when you click the "Forgot Password" link on the login screen, the app just sends you an email with your password (your first name) in plain text.
The app also doesn't log you out or notify you if your login is used on a different device.
So I have tested this with 2 of my friends that go to the same gym and, with only knowing their email and first name (which I could have gotten from their email if I didn't know them), I can get into their app and see their credit card info without them being any the wiser.9 -
ARGH. I wrote a long rant containing a bunch of gems from the codebase at @work, and lost it.
I'll summarize the few I remember.
First, the cliche:
if (x == true) { return true; } else { return false; };
Seriously written (more than once) by the "legendary" devs themselves.
Then, lots of typos in constants (and methods, and comments, and ...) like:
SMD_AGENT_SHCEDULE_XYZ = '5-year-old-typo'
and gems like:
def hot_garbage
magic = [nil, '']
magic = [0, nil] if something_something
success = other_method_that_returns_nothing(magic)
if success == true
return true # signal success
end
end
^ That one is from our glorious self-proclaimed leader / "engineering director" / the junior dev thundercunt on a power trip. Good stuff.
Next up are a few of my personal favorites:
Report.run_every 4.hours # Every 6 hours
Daemon.run_at_hour 6 # Daily at 8am
LANG_ENGLISH = :en
LANG_SPANISH = :sp # because fuck standards, right?
And for design decisions...
The code was supposed to support multiple currencies, but just disregards them and sets a hardcoded 'usd' instead -- and the system stores that string on literally hundreds of millions of records, often multiple times too (e.g. for payment, display fees, etc). and! AND! IT'S ALWAYS A FUCKING VARCHAR(255)! So a single payment record uses 768 bytes to store 'usd' 'usd' 'usd'
I'd mention the design decisions that led to the 35 second minimum pay API response time (often 55 sec), but i don't remember the details well enough.
Also:
The senior devs can get pretty much anything through code review. So can the dev accountants. and ... well, pretty much everyone else. Seriously, i have absolutely no idea how all of this shit managed to get published.
But speaking of code reviews: Some security holes are allowed through because (and i quote) "they already exist elsewhere in the codebase." You can't make this up.
Oh, and another!
In a feature that merges two user objects and all their data, there's a method to generate a unique ID. It concatenates 12 random numbers (one at a time, ofc) then checks the database to see if that id already exists. It tries this 20 times, and uses the first unique one... or falls through and uses its last attempt. This ofc leads to collisions, and those collisions are messy and require a db rollback to fix. gg. This was written by the "legendary" dev himself, replete with his signature single-letter variable names. I brought it up and he laughed it off, saying the collisions have been rare enough it doesn't really matter so he won't fix it.
Yep, it's garbage all the way down.16 -
Uploaded an app to Appstore and it was rejected because the Gender dropdown at registration only has "Male" and "Female" as required selectable options. The reviewer thought it was right to force an inclusion of "Other" option inside a Medical Service app that is targeting a single country which also only recognizes only Male/Female as gender.
Annoyingly, I wrote back a dispute on the review:
Hello,
I have read your inclusion request and you really shouldn't be doing this. Our app is a Medical Service app and the Gender option can only be either Male or Female based on platform design, app functionality and data accuracy. We are also targeting *country_name* that recognizes only Male/Female gender. Please reconsider this review.
{{No reply after a week}}
-- Proceeds to include the option for "Other"
-- App got approved.
-- Behind the scene if you select the "other" option you are automatically tagged female.
Fuck yeah!44 -
Just found a stackoverflow thread that had no answer and 2 comments. Here are the comments:
Person 1: Did you find a solution for this?
Author: Yes, please email me [...@gmail.com].
Bruh, what's wrong with some people???? Writing nothing at all would be better then that7 -
Manager: We need to setup the security in the Mexico server
Dev: You mean that 3rd party firewall add on?
Manager: Yes
Dev: And set up the billing on the Mexico account?
Manager: Yes
Dev: lol, sure thing I’ll create the ticket
Manager: What’s so funny?
Dev: Nothing
Ticket: Build wall and get Mexico to pay for it.15 -
*attempting to flirt at the bar*
Hey! I'm a full stack developer, so I can do your frontend and your backend10 -
Hope you survived the Monday;)
As I promised, I’d like to post my comic series “Destory” here regularly.
A story about two devs and their funny but serious project, on the hype technology - the blockchain.6 -
Manager: I want the front ends to be more dumb, too much logic is happening on the frontend.
Me: both of the sites are just multi step forms, I’m confused about the complexity part.
Manager: yea but don’t we have a bunch of third party api calls?
Me: we have 4 and they are public facing apis.
Manager: yea, make a new api and move this api calls to the backend and I want both frontend teams to send the same shape payload.
Me: but…
Manager: oh and I don’t like how the business team does the a/b testing and splitting traffic, let’s move that to the backend as well.
Me: but… that a/b testing platform they use in ran by another team and they have a full set of features for business analytics…
Manager: yea let’s just replicate those features and move them to the backend.
Me: but it’s a product!
Manager: look! You are the best backend engineer we got! I know you can do this!
Me: I lead the frontend teams…
Manager: ….
Manger: good news we are giving you a promotion with raise you are now a senior engineer.
Me: I confused but happy… I think..9 -
Client: Too many of our business processes take place on excel and paper! We need to modernize our business processes. Build an app that can do the main things we do with excel and paper in app form.
Dev (4 months later): Here it is
Client: Ok some of our users want to still use excel and paper so build the ability to print the app and export/import to excel so they can continue working the way they always have alongside our new app.
Dev: …6 -
Omfg this fucking guy!!!!
Context:
We are going through a major refactor of some of our backend components. I was tasked with cleaning up our ML code while another guy was tasked with cleaning up the general CRUD side of the backend, let's call him DA for "dumb ass".
** At 11pm
DA: I am getting a strange error from your backend. Look:
"Invalid call: method=PUT expected=[POST]"
Me: you need to send a post request not a put request
DM: no, it's not that. I am sending the right thing
Me: ... Let me see...
* 15min ish of testing *
No, it works fine on my version, 1.1.0 what's your version?
DM: I'm on 1.1.0.
Me: send me code?
DM: *send
"request.put(..."
Me: you are sending a PUT... It's literally in the screenshot. Send a Post
DM: I am
Me: no, send a Post
DM: I don't understand, I am sending the request
Me: it's a post not a put
DM: but...
Me: it's a post not a put
Me: good night!!!!!!12 -
Recruiter is contacting me out of the blue for a vague job position. Tells me he is very interested in my skillsets as they are apparently difficult to find.
I don't hate my current job but it has some problems. My interest is piqued.
I ask for more details and tell him what minimum benefits I would expect, given I won't quit my job for less. I tell him I have a very tight schedule at work and at home right now but I could fit in some time for a 1-2h interview.
He tells me I'll get more details in the next interview and tells me there will be a little coding test. Ok sure...
Dude proceeds to send me a test description by email. It consists in designing an actual small python project. Would take at least 1 full day of work (tests, doc and functionality included). I have 3 days to complete it.
fuckThat.jpg
Is this guy for real? In this market?10 -
The ultimate "I am vegan" guy will be arch linux user, vegan, trans, crossfitter and cryptocurrency investor. I've just met guy like this in my job. He did not shut up for a while. I am not sure whats he doing and whats his job but my guess is that hes paid for spreading cancer, sucidal toughts and eatig your will to live and talk with people...
R - retard
M - me
R: Hey CopyPasteCode I found this bug, it does 'this' insted of 'this'. *spreads arms to see his "muscles"*
M: *headphones off* Ok, I will look into it... *headphones back on*
R: Btw you invested something in the crypto, didnt you? Ive invested... ...bitcoin... ...crypto... ...litecoin..., do you think that... ...something... ...bla bla bla?
M: *tries not to kill myself after his 5 minutes of monolog* Ye sure
R: By the way Ive found this awesome vegan restaurant that accepts litecoin, would you like to come sometime?
M: *10 minutes monolog about vegan food and shit. At this point I want to die* Ok, I will now work on that back, see you later.
R: ye sure bro (wtf, "bro"?)... *looks like hes walking away* *teleports on my otger side touching my monitor*
WOW you are also a Limux user? 😮 Ivr installed arch linux this weekand and its so awesome, *another 6 minutes of monolog*
M: *smiling and preparing to kill him or myself* Nice, awesome *fake smile*
R: Anyway, I gotta go (FINALLY!!!), btw, I am going to the *name of local trans and gay club*, wanna go with me?
M: *after a month after a breakup with my GF (because she was cheating on me) which everyone in the office knew...)* Not really *trying to thing how to say "fuck off" without having meeting with HR*, I cant, I already have somethimg.
R: Oh, ok. Btw, you are rly cool bro (again), we should hang. We should hangout more often...
I hope someone is paying me for loosing 27 minutes with this guy.14 -
How to delete 16 days of commits 101 🤯:
First of all, me and my class (computer science in college) were working on a project for around 12 weeks, our “client” is one of our teacher and we literally just finished today to work on the project since our degree terminal projects are starting next week.
So now there's this guy in our class who kinda has the reputation to be stuborn and clumsy; he’s going to do his assigned task, commit, push it and put his task into QA (which is just peer evaluation and testing nothing really complex) and then when we try his functionality and finds out it isn’t working, we tell him and the only thing he always answers is : “but it works on my machine” and then we will need to explicitly ask him to be sure he has all the latest changes (database and codebase) and to see if it still works on his side since it doesn’t work for anyone else.
This actually happened quite a lot in these 12 weeks and you can definitely imagine that of course it would definitely not happen again today when we thought we were finally done with this project…
So another teacher gave us an assignment to create a development environment for our big project so we could try out Docker instead of virtual machines, he made GitHub Classroom repos with a minified version of our project and up to this point everything is fine and clear. That is until 3 hours ago, that our little clumsy friend somehow pushed his Docker related files on the main project, maybe he was trying his Docker setup on the real project no big deal you know EXCEPT IF HE HADN’T NOT PULLED SINCE 16 DAYS 😤.
He was doing maintenance on another project so I can maybe understand but gosh how did he not see the big warning of Git that he wasn’t up to date with master ? And yes we only have a master branch bear with us but hopefully we were able to create a new branch with the up to date project and then merge master.
A couple of us had a gut feeling that this guy would do something that would break the whole project right before we ended, turns out we were right 😅15 -
"Not everyone notices the flowers you plant, but everyone will notice the fire you start." - Unknown11
-
"You gave us bad code! We ran it and now production is DOWN! Join this bridgeline now and help us fix this!"
So, as the author of the code in question, I join the bridge... And what happens next, I will simply never forget.
First, a little backstory... Another team within our company needed some vendor client software installed and maintained across the enterprise. Multiple OSes (Linux, AIX, Solaris, HPUX, etc.), so packaging and consistent update methods were a a challenge. I wrote an entire set of utilities to install, update and generally maintain the software; intending all the time that this other team would eventually own the process and code. With this in mind, I wrote extensive documentation, and conducted a formal turnover / training season with the other team.
So, fast forward to when the other team now owns my code, has been trained on how to use it, including (perhaps most importantly) how to send out updates when the vendor released upgrades to the agent software.
Now, this other team had the responsibility of releasing their first update since I gave them the process. Very simple upgrade process, already fully automated. What could have gone so horribly wrong? Did something the vendor supplied break their client?
I asked for the log files from the upgrade process. They sent them, and they looked... wrong. Very, very wrong.
Did you run the code I gave you to do this update?
"Yes, your code is broken - fix it! Production is down! Rabble, rabble, rabble!"
So, I go into our code management tool and review the _actual_ script they ran. Sure enough, it is my code... But something is very wrong.
More than 2/3rds of my code... has been commented out. The code is "there"... but has been commented out so it is not being executed. WT-actual-F?!
I question this on the bridge line. Silence. I insist someone explain what is going on. Is this a joke? Is this some kind of work version of candid camera?
Finally someone breaks the silence and explains.
And this, my friends, is the part I will never forget.
"We wanted to look through your code before we ran the update. When we looked at it, there was some stuff we didn't understand, so we commented that stuff out."
You... you didn't... understand... my some of the code... so you... you didn't ask me about it... you didn't try to actually figure out what it did... you... commented it OUT?!
"Right, we figured it was better to only run the parts we understood... But now we ran it and everything is broken and you need to fix your code."
I cannot repeat the things I said next, even here on devRant. Let's just say that call did not go well.
So, lesson learned? If you don't know what some code does? Just comment that shit out. Then blame the original author when it doesn't work.
You just cannot make this kind of stuff up.105 -
I met my girlfriend cooking. She has no programming experience whatsoever and is quite computer illiterate. But that's fine as that's not something I need in a partner.
She regularly asks me what I'm working on. I'll try to explain it, and sometimes she definitely gets it, but sometimes she's clearly lost as fuck. She'll enthusiastically say things like "that's awesome honey!" To things that are just explanations. Sometimes it makes me laugh. Most of the time it leaves me in this weird confused state, like she's just pandering.
But I know she means well and wishes me the best. She's an amazing woman, and even if she doesn't get a single thing I try to explain, I'd much rather be with that than the "Why the fuck are you always playing on the computer?" Types of people I meet far more often.15