Details
Joined devRant on 1/22/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
-
I got a crap raise — lowest I’ve ever gotten anywhere, and well below inflation — despite busting my butt, having somewhat better health and therefore productivity, etc.
I complained to my boss about it, and said it was insulting. He said that direct managers have zero say in raises, and instead it’s entirely up to execs and HR. Makes sense, since nothing makes sense at this company.
Anyway, he apparently talked to his boss, who talked with his boss, who talked with the execs and HR, and they decided to give me a raise on my raise, a whole $1k/year more, all the way back up to the usual insultingly-low 3%. Yay.
Their reasoning?
“Money is tight.”
The last all-hands?
“Record profits! Record sales! Record numbers across the board! And most of all: record profits! Give yourselves a round of applause for making this all possible!”
Money is tight, eh?
I hope they get smushed by a meteor, given a snuggle-struggle by a roving Somali gang, or kept warm for the rest of their lives by another Hawaiian/Californian wildfire.14 -
Here’s to a hopefully better 2024!
Let’s all tell our bitchface thundercunt micromanagers to fuck off, find better employ elsewhere, and finally make progress on that side project that was our world several months ago.
And if the world continues going absolutely mental, may all of you find a peaceful meadow away from everyone and build yourselves wonderful little cottages.4 -
dude fuck fucking salesforce i fucking hate the day someone came up with the brilliant ass idea of inventing this garbage crm software that i must deal with even though it is not my area. i fucking hate the developer experience to do third-party implementations, not letting you upload changes to another environment for the sake of """"good practices"""", the fucking interface is slow as shit i could've already had intense hto sex, taken a shit, cook lunch and sleep 2 hours before it can load a single retarded lightning page.
why? WHY? WHYYY? WHY MUST THIS ASSWARE EXIST? WHY?
AS A FACT I'VE WRITTEN THIS RANT BEFORE THE DAMN PAGE EVEN LOADED A CONFIGURATION SECTION. GOD HELP US.5 -
I work for healthcare client project in a start up, worked two years straight without a break.
Client is very inconsiderate about developers work-life balance, he always wants to release every features yesterday.
Never had a reasonable deadline, worked late nights most of the time. No one had backbone to control this client from our side.
Its only developers team, no project management, scrum masters or anything, everything has to be taken care by Dev's.
I decided to take a week break from work.
The first day of my leave he pinged me 3 times to change an "from email" address for notification email which no one give a damn about.
I never replied or did anything. But the part of myself is dying of guilt.
Now I can't relax myself completely.
Re-thinking of my life choices atm.
I loved programming since high school, I can work on computers 24/7 without tired. That's how much I love it. Now I'm just tired of it.
If anyone who read this till here. Thank you.18 -
....
I give up trying to write this.
I'm just too fucking pissed off.
My interactions with my micromanager make absolutely no sense -- she is clearly just trying to piss me off and blame me for everything, facts and reasoning be damned.
I tried detailing this week's examples (there are lots, and it's fucking Tuesday), but. screw it.
Fuck working for (and with) her.
She's a bitchface and a thundercunt.
I'm updating my resume and fucking off out of here.
God fucking damnit i hate her.23 -
Useless feature I've built?
Too many to mention. Here's #25.
Modified an existing "Are you sure..?" dialog pop-up (Yes/No buttons) to Yes/No/Cancel. Why? Managers claimed users were "accidentally" clicking 'Yes' when they should have clicked 'No' and causing all kinds of chaos, costing the company money, etc. Managers believed giving the user two chances instead of one would make it easier to avoid the problems they caused.
The meeting:
Me: "Users can click 'No', hit the 'Esc' key, or click the close 'X' button on the window, how will an extra button make it more foolproof?"
Mgr1: "It just will. Andy accidentally deleted inventory and when I asked him if an extra button would have saved them a days worth of re-counts, he said yes."
Mgr2: "Barb accidentally credited a customer $1,500. She promised me she clicked 'No', but the system credited the account anyway. An extra button would have saved us thousands of dollars!"
Me: "Um...these sound like training issues, not an extra button issue."
MyMgr: "PaperTrail, how hard is it to add an extra button?"
Dev1: "Oh yea, adding buttons is easy."
Dev2: "I can do it 5 minutes"
Dev3: "We'll save the company thousands and thousands of dollars!"
<lots of head-knodding and smiles>
MyMgr: "That settles it. PaperTrail, add the extra button!"
Users still screwed things up, but at least they couldn't blame it on not having an extra button.24 -
Part of an honest interview :
- What is your biggest weakness?
+ Triceps femoris muscles
- Why do you want this job?
+ Earning money to buy food so that I don't die of hunger.
- How do you handle pressure?
+ By shouting the word fuck
- What are your goals?
+ Have a cheek in bed every night.
- We will be in touch.
+ you never call, do you?3 -
!rant
!!pride
I tried finding a gem that would give me a nice, simple diff between two hashes, and also report any missing keys between them. (In an effort to reduce the ridiculous number of update api calls sent out at work.)
I found a few gems that give way too complicated diffs, and they're all several hundred lines long. One of them even writes the diff out in freaking html with colors and everything. it's crazy. Several of the simpler ones don't even support nesting, and another only diffs strings. I found a few possibly-okay choices, but their output is crazy long, and they are none too short, either.
Also, only a few of them support missing keys (since hashes in Ruby return `nil` by default for non-defined keys), which would lead to false negatives.
So... I wrote my own.
It supports diffing anything with anything else, and recurses into anything enumerable. It also supports missing keys/indexes, mixed n-level nesting, missing branches, nil vs "nil" with obvious output, comparing mixed types, empty objects, etc. Returns a simple [a,b] diff array for simple objects, or for nested objects: a flat hash with full paths (like "[key][subkey][12][sub-subkey]") as top-level keys and the diff arrays as values. Tiny output. Took 36 lines and a little over an hour.
I'm pretty happy with myself. 😁6 -
!rant
AHHHHHHHHHHHHHHHHHHHH
FOUR DAYS ‘TIL CLOSING!
I’M GOING TO OWN A HOUSE!
AHHHHHHHHHHHHHHHHHHHH14 -
fuck me X'D Complained to nowtv that their player wasn't working because apparently it finds 'screen sharing' software running on my mac. This was their response19
-
!rant
I received a pair of complements on how well I run team meetings after an engineering all staff this morning. Received a similar comment last week.
Someone asked “what’s your secret?”
I reply “Laziness”
“What?”
“I’m lazy. I don’t like meetings most of the time. So when I run meetings, I run them so that they’re over as fast as possible”
“How do you do that?”
“By knowing what I actually want”
“What if you don’t know what you want?”
“Then there’s no meeting”
“Well what if y-“
“Hey listen I have another meeting to get to”3 -
“Let’s not worry about the future and stick to the specs, please.”
Or as I like to call it:
The reddest flag in a bad manager.7 -
Idk why but every time I hear the business side ppl use corporate buzzwords I wanna punch them in the face…4
-
Why is it most companies think being “agile” simply means “let’s say we do work in two week blocks” but without planning or showcases or reviews, without estimations, with ad-hoc tasks inserted continually, priorities changing, tasks moving to the next “sprint” over and over …
But yes, these companies proclaim they are “agile” and do “two week sprints” when it is nothing more than chaos and rhetoric.6 -
Some time 199x, when I was still a little kiddo, my dad bought a PC. It had a big ass HDD (dimensions-wise), 1x 3.5" floppy disk drive and a 5.25" floppy disk drive. It ran DOS. Dad managed to hook up a dot matrix Epson printer to it and used the computer for writing... whatever, really :)
Then dad got some of those 5" floppies with games and installed them on our PC. Mach3, Indy, Entity and Atlantis were my favourite ones. Later we got Wolfenstein 3-D, but that was just too scary, too intense for me.
All that was years before we got Windows 3.0 installed there. -
So, you want to tell me the security method used by the f*cking state of Missouri is CSS's "display: none"???
Source: https://missouriindependent.com/202...10 -
I could bitch about XSLT again, as that was certainly painful, but that’s less about learning a skill and more about understanding someone else’s mental diarrhea, so let me pick something else.
My most painful learning experience was probably pointers, but not pointers in the usual sense of `char *ptr` in C and how they’re totally confusing at first. I mean, it was that too, but in addition it was how I had absolutely none of the background needed to understand them, not having any learning material (nor guidance), nor even a typical compiler to tell me what i was doing wrong — and on top of all of that, only being able to run code on a device that would crash/halt/freak out whenever i made a mistake. It was an absolute nightmare.
Here’s the story:
Someone gave me the game RACE for my TI-83 calculator, but it turned out to be an unlocked version, which means I could edit it and see the code. I discovered this later on by accident while trying to play it during class, and when I looked at it, all I saw was incomprehensible garbage. I closed it, and the game no longer worked. Looking back I must have changed something, but then I thought it was just magic. It took me a long time to get curious enough to look at it again.
But in the meantime, I ended up played with these “programs” a little, and made some really simple ones, and later some somewhat complex ones. So the next time I opened RACE again I kind of understood what it was doing.
Moving on, I spent a year learning TI-Basic, and eventually reached the limit of what it could do. Along the way, I learned that all of the really amazing games/utilities that were incredibly fast, had greyscale graphics, lowercase text, no runtime indicator, etc. were written in “Assembly,” so naturally I wanted to use that, too.
I had no idea what it was, but it was the obvious next step for me, so I started teaching myself. It was z80 Assembly, and there was practically no documents, resources, nothing helpful online.
I found the specs, and a few terrible docs and other sources, but with only one year of programming experience, I didn’t really understand what they were telling me. This was before stackoverflow, etc., too, so what little help I found was mostly from forum posts, IRC (mostly got ignored or made fun of), and reading other people’s source when I could find it. And usually that was less than clear.
And here’s where we dive into the specifics. Starting with so little experience, and in TI-Basic of all things, meant I had zero understanding of pointers, memory and addresses, the stack, heap, data structures, interrupts, clocks, etc. I had mastered everything TI-Basic offered, which astoundingly included arrays and matrices (six of each), but it hid everything else except basic logic and flow control. (No, there weren’t even functions; it has labels and goto.) It has 27 numeric variables (A-Z and theta, can store either float or complex numbers), 8 Lists (numeric arrays), 6 matricies (2d numeric arrays), 10 strings, and a few other things like “equations” and literal bitmap pictures.
Soo… I went from knowing only that to learning pointers. And pointer math. And data structures. And pointers to pointers, and the stack, and function calls, and all that goodness. And remember, I was learning and writing all of this in plain Assembly, in notepad (or on paper at school), not in C or C++ with a teacher, a textbook, SO, and an intelligent compiler with its incredibly helpful type checking and warnings. Just raw trial and error. I learned what I could from whatever cryptic sources I could find (and understand) online, and applied it.
But actually using what I learned? If a pointer was wrong, it resulted in unexpected behavior, memory corruption, freezes, etc. I didn’t have a debugger, an emulator, etc. I had notepad, the barebones compiler, and my calculator.
Also, iterating meant changing my code, recompiling, factory resetting my calculator (removing the battery for 30+ sec) because bugs usually froze it or corrupted something, then transferring the new program over, and finally running it. It was soo slowwwww. But I made steady progress.
Painful learning experience? Check.
Pointer hell? Absolutely.4