Aboutambition is the looser's last refuge
Skillsgeneralist: can fuck up everything
Joined devRant on 11/3/2019
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
I wrote a Blender plugin that uses vector math, matrices, calculus, trigonometry, and likely other types of math. There's recursion, filesystem access, image processing, interface logic, and on and on.
And worst of all - other people are expected to use it, so there's added pressure to do a good job.
Oh, the hours I spent trying to figure out why the imported geometry looked like an exploded mess. Fumbling around with mathematics I didn't fully understand was exhausting. Finding help was impossible at times because I didn't have the vocabulary to even describe the problems I was having. And getting it to complete an import before the heat death of the universe was not easy.
Every time I made progress and thought I was done, I would discover a bug that other importers didn't have, leaving me to sift through languages that definitely aren't Python to see if I could reverse engineer the logic they used.
I almost gave up a few times, but didn't.
Now I have something that, while not used by many people, works very well, is very efficient, and doubles as a palette cleanser when I need to do something for fun or for a challenge. Plus I learned a lot along the way.4
More linux driver woes:
Driver is passed a file position and byte count when asked to read from a device. Sounds easy, right? FUCK no.
For reads, driver is passed struct `filp` with field `f_pos`, a direct pointer to the same struct field, int `count` as a number of bytes to read, and `buf` to return those bytes with. Problem is, requesting, say, 256 bytes from location 10000000h will give the driver `filp->f_pos = 0`, `f_pos = 256`, and `count = 0`. I don't know how to fix this and there's NO help for this shit. None whatsoever.
This shit, right here, is why Linux drivers suck ass.2
The current project I'm working with had 3 devs including myself until Jan 1st. Now we're only two, because our lead/manager started to work in other projects and trusted us.
Since that happened, my first PR/Commit of the year was in Jan 5, and it's still open, without any kind of review or comment, as well as my other five (eight in about a day) PRs, while he's making commits directly into develop/main branch, causing conflicts everywhere on what I did...
I'm leaving on friday because the contract is ending.
Good luck I guess.1
My supervisor's flaky attitude is annoying the shit out of me.
Mate, why would you agree to hire me for the project I wanted to do (and get me to move halfway across the planet) and then tell another colleague that I'm focusing too much on my project and they should give me their extra work?
Like, I get it but I don't get it. ¯\_(ツ)_/¯9
The people on Youtube... Rarely seen this much appreciation on Stackoverflow. I dont remember posting that solution but it was definently worth it :)2
MFA authentication setups that don't support standard authenticator apps, like 1Password or Google Authenticator can burn.
Yes, Microsoft, I am looking at you.12
TIL, shopify plus has whopping 4 requests per second rate limit on their admin rest api's... I don't know how much we pay them but shopify plus pricing starts at $2000 monthly, for a fucking FOUR requests per SECOND.2
"Let's keep in touch": to your co-workers as you are leaving the shitty company after 3 years and other lies you tell yourself.3
Excuse me, but which dumbass allowed the code to be written or styled in this manner?
This is an absolute fucking mind-boggling pile of SHIT to read:
Credits go to w3.org.24
Building my own accounting software because everything else is overly complicated and is trying to compete with enterprise accounting tools. All I want is some budgeting, some bill tracking, and categorization.
Writing in Ruby because I'm a masochist. Using built-in minitest because again 😈.
I have currently around 62 assertions. As soon as I add ANY new test that's literally asserting true, everything comes unglued and 20+ failures pop up. Take it out, 62 passes.
I feel like I'm going crazy at this point. The errors also don't make ANY sense. Shit like, "that record doesn't exist" when it's clearly a part of fixtures and is only used in ONE test(the one that's breaking).
Installed minitest bisect, and it's like 🤷♀️"lol get fucked bro!"
So I came here to rant about this before my battery dies and I go drink myself to sleep.
Thank you for coming to my dev-talk.11
Marketing Director uses the website's blog as his personal social media platform and posts weird one-liners which should have been social media posts.
Refuses to acknowledge content quality is a problem and insists I make the SEO better by doing some stuff with the code.
I can do what I can, technically speaking, but your poor quality content will still drag the entire thing down, asshole.
A blog is not a social media platform, dude.3
IT CAN'T BE THAT HARD
1) A CONTROLLER RETURNS HTTP RESPONSES, computed using data received from
2) A SERVICE\MANAGER\YOURMOTHER, which fetches data from a DB\external service\whatever
LITERALLY 2 FUCKING STEPS. I'LL TAKE THAT "SENIOR" IN YOUR TITLE AND CHISEL IT ON YOUR FOREHEAD SO YOU'LL REMEMBER WHAT YOU'RE SUPPOSED TO BE WHEN YOU COMMIT THIS FUCKING GARBAGE1
I got terminal white-space autism because of the CMS Of Doom.
Forgetting one or adding one too many leads to major problems on prod.4
Them: let's do iterative pull requests
Me: Great, can I have a review
Them: Your code touches a code that doesn't feel right, I can not approve this folly unless you fix following 30.000 lines:6
We're digital plumbers.
90% of this job is figuring out what thing to connect to what thing and then figuring out how to connect them.
Writing the code that goes in-between both ends of the pipe is easy if not trivial 90% of the time.
Meaningful change in this industry is centered around endpoints: contracts, deployments, etc. Nobody needs yet another way to organize and import their leftpad().12
Ah very good, it seems Windows has taken the liberty of putting a link to Edge on my desktop again. Just in case I had accidentally removed it or something.12
Coming back here after years to rant about... myself.
TLDR: I fucked up and now have to call a thousand people as a dev, I'm not even getting paid for it and they all get crazy about a random ID that got assigned to them, so now I want to throw away all my electronics and become a skilift operator.
Stupid me deployed a project shortly before we have the largest amount of orders in the year. (Like 90% of yearly orders in a couple minutes cause they are sold out fast and people wait to order first)
I got this horrible legacy "plain self written framework php" project which I tried to upgrade state of the art.
There was one piece missing to upgrade everything and nicely deploy it to some fresh new servers which can handle the high load which peaks at the time orders open.
So I did it the day before orders open and... everything worked well! Nothing crashed.
I wrote my client to wait a little before he confirms the orders, since after confirmation each of the people who ordered will receive an email where they can choose a unique number which they'll receive as a sticker with the order.
Since it's an event my client is promoting, people will meet each other wearing those unique stickers and being able to identify each other online and in person with this number.
Suddenly my clients call me that "customers are complaining about that there is something wrong"
Turned out he confirmed all orders straight away and that part of the application which makes the number unique was broken on the update.
So everyone could chose any number (also taken ones) as his "unique" number.
In my panic, I told my client "It's my mistake, I'll deal with it of course and call the affected people in my free time, since it's my mistake you don't have to pay for it". (it's my largest client by far, am a freelancer)
Realizing when people can chose any number it'll not be a few ones who have the same, it's like almost everyone did chose "69", "1", "420", "88 (a scary amount of people)",... (with 69 being the number being chosen by most people btw, even more then "1")
So now I have to call about a thousand people telling them a new random ID will be assigned to them. I thought of course about mailing them, wrote a script that deals with the issue automatically, and FUCKED IT UP TOO so everyone is confused and the only way to deal with it is by a call basically.
And while I'm sitting here now for 2 days straight calling people in my free time about their random ID will have to change, I realized that some people are quite crazy about random ID's.
I'm talking about yelling and threatening because "is it too much to ask for a working website when ordering this expensive product".
I hate my life right now and am getting quite serious about throwing all my electronic devices away and become a skilift operator instead. Fuck the higher pay, it's not worth the shit, I wanna have only responsibility about one button to press while watching people fall on their face.4
Damn I do not want to work in the US. First week I joined a new team the EM got fired and project manager quit. Four months later the CTO gets fired, along with other senior management, and teams get restructured just as we got comfortable. The mentality of just firing people right and left is so bizarre to me, holy crap! Are these people really that bad or causing some drama, or is the mentality just so cut throat that people can be kicked out if they don't suit the new plan?2
Dunno if it's just ADHD or what, but I just had a whole bag of marshmallows and a mug of coffee and I'm falling asleep. 😴😴😴
Also, if somebody finds my motivation, chain it to something please. SOB keeps running away.9
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.6
Fucking hell with the password fields.
Why in the fucking hell you can't tell me what's the max characters count? Why I have to deal with auto-truncated passwords after the fact?
Go eat exquisite shit, peasant punks, pussy cutters.3
(backstory -> I have 10 years of experience as a software engineer)
Me: So I would like to develop myself to become "officially" a senior engineer
Manager: sure, you basically need to show consistent behaviour
Me: ok, but what specifically? on what criteria do you determine when it is time for promotion?
Manager: there isn't anything like that defined yet, we would like to work on a definition of roles and responsibilities, but we're not there yet
Me: ok but how did you do it so far?
Manager; well as I said, you have to show consistent behaviour that characterises you as a senior.
Working with the french person in the office and git gets me every time.
shit push, shit merge, shit rebase
A remarkably stupid but efficient technique I invented today to measure the latency of an audio feedback channel involving multiple hardware elements that is difficult to synchronize by itself:
1. Knock. Observe the echo in the feedback.
2.Try to knock in such a way that the physical sound more-or-less lines up with the feedback. The human brain is really good at this on average.
3. Once you often only hear one knock (as perfect synchronization as your ear can tell), record several minutes of audio
4. Stop knocking, count the additional knocks in the echo
5. Multiply the average delay between knocks on the recording by the number of additional knocks from step 44