Details
-
LocationParis
-
Github
Joined devRant on 10/9/2021
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
-
"Most memorable bug you fixed?"
A recent instance happened in one of my Scratch projects, and the bug involved "Infinities."
I had an opportunity to teach kids programming, and it involved Scratch. So, to have something to show those kids at least, I decided to make a small game.
In that game, I had an object that takes some time before appearing after being cloned (i.e., instantiated.) The duration was calculated by dividing a constant with a variable:
[Wait for ((3) / (variable)) seconds]
The bug is that I forgot about the case where 'variable' can be 0, which is classic and insignificant.
Well, the thing is that I learned two things the hard way:
1: Scratch is very flexible about integers and floats (e.g., at one second, it looks like an integer, but one operation later, it's a float.)
2: Scratch does not provide any 'runtime errors' that can crash the project.
In other languages, similar "wait" methods take "milliseconds" in an integer, so it would have barfed out a "DivideByZeroException" or something. But Scratch was so robust against project-crashing behavior that it literally waited for f*<king "infinity seconds," effectively hanging that clone without warning or runtime errors. This masked my bug. It took way too long to debug that s#!+.
Don't blanket-mask any errors. -
We have a job offer for you, here are the details:
...
Required knowledge of these IDEs: Eclipse, ...
🚩🚩🚩9 -
I HATE THE OPEN OFFICE LAYOUT I HATE THE OPEN OFFICE LAYOUT I HATE THE OPEN OFFICE LAYOUT I HATE THE OPEN OFFICE LAYOUT8
-
My First !Experience : Disappointment with a computer
My mum kept tons of floppies but we didnt have a computer at home. Went to my friends house, who had one, and had Encarta 95 (its like a fun wikipedia for kids). When I mentioned I had floppies, he asked for one, since he didnt have one. We copied Encarta to that floppy hoping we would cheat in the next computer science test. We even tested it.
After we were certain that all works (you should know we were surprised that it could fit in one floppy), we got to school, put the disk in and voila
we had copied a shortcut :)4 -
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
-
"Hey can you add (feature) on this backend"
> Looks at backend
> api.py
> 4K+ Lines
uhhh... is it me or our entire production is held by this single Python backend....?
This thing is running our hypervisor platform... Our IaaS platform... and it's one file....
WHAT THE FUCK8 -
Today a company we work together to provide a service for a government sent us an update about the installation of the successor of the most hideous Data storage I had ever worked with. The successor comes from the same company and provided the previous one. Anyways, went like this:
"Even after a full day of installing/migrating the software, we could not complete the task.
The installation failed multiple times due to errors from the installer, as well as missing, undocumented dependencies.
According to our developers the installation process is miles away from a normal installation process for this day and age. Our developers often have to research errors on their own or ask the provider for assistance.
We cannot estimate when we will be able to complete the installation."
I've felt pain and sadness while reading that... -
(old, but..) JavaScript drinking game!
1. Think of a word
2. If that word exists as a JavaScript library, take a shot!
And there I was, thinking to myself.. "labyrinth.. nah.. that can't possibly exist already.." and oops, little did I know.6 -
Worst dev team failure I've experienced?
One of several.
Around 2012, a team of devs were tasked to convert a ASPX service to WCF that had one responsibility, returning product data (description, price, availability, etc...simple stuff)
No complex searching, just pass the ID, you get the response.
I was the original developer of the ASPX service, which API was an XML request and returned an XML response. The 'powers-that-be' decided anything XML was evil and had to be purged from the planet. If this thought bubble popped up over your head "Wait a sec...doesn't WCF transmit everything via SOAP, which is XML?", yes, but in their minds SOAP wasn't XML. That's not the worst WTF of this story.
The team, 3 developers, 2 DBAs, network administrators, several web developers, worked on the conversion for about 9 months using the Waterfall method (3~5 months was mostly in meetings and very basic prototyping) and using a test-first approach (their own flavor of TDD). The 'go live' day was to occur at 3:00AM and mandatory that nearly the entire department be on-sight (including the department VP) and available to help troubleshoot any system issues.
3:00AM - Teams start their deployments
3:05AM - Thousands and thousands of errors from all kinds of sources (web exceptions, database exceptions, server exceptions, etc), site goes down, teams roll everything back.
3:30AM - The primary developer remembered he made a last minute change to a stored procedure parameter that hadn't been pushed to production, which caused a side-affect across several layers of their stack.
4:00AM - The developer found his bug, but the manager decided it would be better if everyone went home and get a fresh look at the problem at 8:00AM (yes, he expected everyone to be back in the office at 8:00AM).
About a month later, the team scheduled another 3:00AM deployment (VP was present again), confident that introducing mocking into their testing pipeline would fix any database related errors.
3:00AM - Team starts their deployments.
3:30AM - No major errors, things seem to be going well. High fives, cheers..manager tells everyone to head home.
3:35AM - Site crashes, like white page, no response from the servers kind of crash. Resetting IIS on the servers works, but only for around 10 minutes or so.
4:00AM - Team rolls back, manager is clearly pissed at this point, "Nobody is going fucking home until we figure this out!!"
6:00AM - Diagnostics found the WCF client was causing the server to run out of resources, with a mix of clogging up server bandwidth, and a sprinkle of N+1 scaling problem. Manager lets everyone go home, but be back in the office at 8:00AM to develop a plan so this *never* happens again.
About 2 months later, a 'real' development+integration environment (previously, any+all integration tests were on the developer's machine) and the team scheduled a 6:00AM deployment, but at a much, much smaller scale with just the 3 development team members.
Why? Because the manager 'froze' changes to the ASPX service, the web team still needed various enhancements, so they bypassed the service (not using the ASPX service at all) and wrote their own SQL scripts that hit the database directly and utilized AppFabric/Velocity caching to allow the site to scale. There were only a couple client application using the ASPX service that needed to be converted, so deploying at 6:00AM gave everyone a couple of hours before users got into the office. Service deployed, worked like a champ.
A week later the VP schedules a celebration for the successful migration to WCF. Pizza, cake, the works. The 3 team members received awards (and a envelope, which probably equaled some $$$) and the entire team received a custom Benchmade pocket knife to remember this project's success. Myself and several others just stared at each other, not knowing what to say.
Later, my manager pulls several of us into a conference room
Me: "What the hell? This is one of the biggest failures I've been apart of. We got rewarded for thousands and thousands of dollars of wasted time."
<others expressed the same and expletive sediments>
Mgr: "I know..I know...but that's the story we have to stick with. If the company realizes what a fucking mess this is, we could all be fired."
Me: "What?!! All of us?!"
Mgr: "Well, shit rolls downhill. Dept-Mgr-John is ready to fire anyone he felt could make him look bad, which is why I pulled you guys in here. The other sheep out there will go along with anything he says and more than happy to throw you under the bus. Keep your head down until this blows over. Say nothing."11 -
Renaming your master branch to "main" is racist. When Git was created, there were no connotations related to slavery. Also, the word "master" has many meanings, and in the context of computer technology, "master" has nothing to do with slavery.
When I tell that to people, some of them say "but wait, you're white, so you by definition can't understand feelings of black people".
Feelings come from one's mind. Proposing the situation where I can't understand something because "only black people understand it" implies white and black people being different in their cognitive abilities, and that's fucking racism right there.
Ability to understand cultural and historical phenomena does not depend on race. Anyone who says that without a biological proof is a racist.
I find it ironic how it's microsoft who almost enforced this on GitHub while themselves supporting literal concentration camps: https://github.com/drop-ice54 -
Just a friendly reminder that when you hear one or more of the following:
- underrepresented
- identity politics
- *phobia
- toxic *ity
- cis* (though "cisco" is fine)
- diversity
- culture appropriation
- passive-aggressive
- patriarchy
...and other bullshit, feel free to not talk to that person ever again. You'll miss nothing. Always remember that their goal is not equality but power to oppress whoever have a different worldview.
If you fear twitter backlash, fear not. Political shit comes and goes, but the inherent value of what you do is here to stay and means something at all times.
To anyone who wants to judge me because of this — remember, what you have read above comes from a bipolar transgender bisexual rape victim.38 -
me asking python: is (0.1 + 0.2) == 0.3 ?
python: NO
me: wha.!!
python: Instead, it's 0.30000000000000004
me: what the actual F***!!13 -
A project got pushed live before it was finished, the final piece was supposed to enter site visitors into a draw to win a very expensive prize, but the first few thousand visitors hit the unfinished placeholder page...telling them they'd won said prize. Got noticed pretty quickly, not before a few million had to be claimed in business insurance to pay several thousand 'winners' off. The finger-pointing in the aftermath was quite fun to watch.
QA is essential. -
Guess who's updating his resume and starting a job hunt this weekend?
Fucking asshole tech teams. Literally every single person I knew since I joined has quit.
Now I know. This place is full of assholes. I take back my earlier rants where I praised this team.
Company is good but this specific team is full of toxic assholes in their tech team.16 -
I am looking for a better job, to do that I expand my knowledge by learning new stuff after work. I do this to have a better live, but my relatives pulling me down...
My wife complains that I am always at work, even if I tell her I do programming as a hobby and I learn new stuff to get a better paying job.
In contrary my parents always say that I am lazy bum, because If man doesn't work with his muscles, they don't consider this as a real job.2 -
I think the weekly rants just exist because @dfox & @trogus got banned from stackoverflow and they still have questions.
When it comes to learning cutting edge tech... Go build already!
I found Rust intimidating.
I read the first few pages of the official book, got bored, gave up.
Few months later, decided to write a "simple" tool for generating pleasing Jetbrains IDE color schemes using Rust. I half-finished it by continuously looking up stuff, then got stuck at some ungoogleable compiler error.
Few months later I needed to build a microservice for work, and against better judgement gave Rust a try in the weekend. Ended up building an unrelated library instead, uploaded my first package to crates.io.
Got some people screaming at me that my Rust code sucked. Screamed back at them. After lots of screaming, I got some helpful PRs.
Eventually ended up building many services for work in Rust after all. With those services performing well under high load and having very few bugs, coworkers got interested. Started hiring Rust engineers, and educating interested PHP/JS devs.
Now I professionally write Rust code almost full-time.
Moral of the story:
Fuck books, use them for reference. Fuck Udemy (etc), unless you just want to 2x through it while pooping.
Learning is something you do by building a project, failing, building something else, falling again, building some more, sharing what you've made, fighting about what you've built with some entitled toxic nerds, abandoning half your projects and starting twelve new ones.
Reading code is better than reading documentation.
Listening to users of your library/product teaches you more than listening to keynote speakers at conferences.
Don't worry about failures, you don't need to deliver a working product for it to be a valuable experience.
Oh, and trying to teach OTHERS is an excellent method to discover gaps in your knowledge.
Just get your fucking hands dirty!12 -
Website: "Here is your PDF! You can download 1 more PDF today. Get unlimited downloads with a PRO account!"
Oh do I?
*deletes cookies and local storage*
*downloads another one*
Website: "Here is your PDF! You can download 1 more PDF today"5 -
I connected oven to wifi using application on my phone but application on my phone didn’t connected to oven.
So now I need to disconnect oven from wifi to connect oven to my phone.
I connected dishwasher last month, first I needed to take a photo of qr code and send it to my laptop to be able to scan it cause it was to small and dishwasher app didn’t recognized it. Looks like dishwasher decided to disconnect from wifi this week so I need to repeat the whole process again.
I also bought connected washing machine and fridge but I think I will try to connect them next month when I manage hopefully to connect my oven.
Seriously home appliances iot is complete shit. Looks like there is no wide known standard of establishing connection so everyone is doing it on it’s own. All this security procedures to connect something to your local network are crap. I hope oven won’t disconnect from wifi.17 -
Anyone else like coding while high? A lot of the time it gives me a different, more simple, point of view of my problem which helps me find a solution a good amount of the time14
-
Started a large own project more than a month ago and still not abandoned it. Just realized that this is my biggest achievement.3
-
Manager: Why haven’t you shipped any code today? It’s almost lunch.
Dev: Stuck on a bug
Manager: I’ll help you
Dev: Please don—
Manager: Have you tried thinking outside the box?
Dev: …Dear god please end my existence
Manager: You could try stack overflow too, have you ever used that site before?
Dev: 😮 🔫
Manager: Also sometimes bugs are caused by npm modules so rule that out first
Dev: *On knees praying to Zues for forgiveness and/or conveiniently placed lightning strike*12