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
Search - "excrement"
-
FINALLY
GODDAMNED
FIXED
I'VE SPENT OVER A GODDAMN WEEK SWIMMING THROUGH DEMON EXCREMENT WITH A MAGNIFYING GLASS TRYING TO FIND THE SOURCE OF THIS SHIT.
I FINALLY FOUND IT. IN A FUCKING. CONDITIONAL. OVERLOAD. OF A MODEL GETTER.
THAT ABSOLUTE NONSENSE RETURNS EITHER THE REQUESTED COLUMN FROM THE DATABASE, OR AN ENTIRELY FUCKING DIFFERENT COLUMN, ALL DEPENDING ON THE VALUE OF A THIRD FUCKING COLUMN.
HKJSDFASKFJ
TO MAKE MATTERS WORSE.
THE VALUE IT RETURNS. IS COMPLETELY WRONG. FOR ALMOST. EVERY. FUCKING. CASE.
BECAUSE THAT FIRST COLUMN? IT NEVER GETS UPDATED. EVER.
AND THIS DEALS WITH ACCOUNTING AND REAL GODDAMN MONEY.
AARRGHHHHH
WHAT THE HELL WERE YOU THINKING?!28 -
aslkfjasf. i've spent 12 hours today (and lots more over the past two days) trying to reproduce a bug that my [sort of] coworker insists is present. I haven't seen any proof of it anywhere, let alone steps to reproduce it.
I've poured through the code, following all of its tangled noodles of madness from start to fuck-this-shit. I've read and reread the pile of demon excrement so many times i can still read the code when i close my eyes. so. not. kidding.
anyway, the coworker person is getting mad because i haven't fixed the bug after days, and haven't even reproduced it yet. This feature is already taking way too fucking long so I totally don't blame him. but urghh it's like trying to unwind a string someone tied into a tight little ball of knots because they were bored.
but i just figured out why I haven't been able to reproduce it.
the stupid fucking unreliable dipshit ex-"i'm a rockstar and my code rocks"-CTO buffoon (aka API Guy, aka the `a=b if a!=b`loody pointless waste of mixed spaces and tabs) that wrote the original APIs ... 'kay, i need to stop for breath.
The dumbfuck wrote the APIs (which I based the new ones on mostly wholesale because wtf messy?), but he never implemented a very fucking important feature for a specific merchant type. It works for literally every type except the (soon-to-be) most common one. and it just so happens that i need that very specific feature to reproduce this bug.
Why is that one specific merchant type handled so differently? No fucking idea.
But exactly how they're handled differently is why I'm so fking pissed off. It's his error checking. (Some) of his functions return different object types (hash, database object, string, nullable bool, ...) depending on what happened. like, when creating a new gift, it (eventually...) either returns a new Gift object or a string error basically saying "ahhh everything's broken again!" -- which is never displayed, compared against, or recorded anywhere, ofc. Here, the API expects a Hash. That particular function call *always* returns a Hash, no matter what happens in the myriad, twisting, and interwoven branches the code could take. So the check is completely pointless.
EXCEPT. if an object associated with another object associated with the passed object (yep) has a type of 8. in which case, one of the methods in the chain returns a PrintQueue that gets passed back up the call stack. implicitly, and nested three levels in. ofc.
And if the API doesn't get its precious Hash, it exclaims that the merchant itself is broken, and tells the user to contact support. despite, you know, the PrintQueue showing that everything worked perfectly. In fact, that merchant's printer will be happily printing away in the background.
All because type checking is this guy's preferred method of detecting errors. (Raise? what's that? OOP? Nah, let's do diverging splintered-monolithic with some Ruby objects thrown in.)
just.
what the crap.
people should keep their mental diarrhea away from their keyboards.
Anyway. the summary of this long-winded, exhaustion-fueled tirade is that our second-most-loved feature doesn't work on our second-most-common merchant type.
and ofc that was the type of merchant i've been testing on. for days. while having both a [semi] coworker and my boss growing increasingly angry at me for my lack of progress.
It's also a huge feature, and the boss doesn't understand that. (can't or won't, idk)
So.
yep.
that's been my week.
...... WHAT A FUCKING BUFFOON!rant sheogorath's spaghetti erroneous error management vomit on her sweater already your face is an anti-pattern dipshit api guy two types bad four types good root swears oh my3 -
Fun Fact: Did you know that git clone starts a child process for downloading the repo but the parent process terminates, therefore working in an asynchrone way so &&-ing the next instruction, which might rely on those files, won't help you?
Well now you know, and so do I.
Fornicating piece of excrement, what a fun afternoon.15 -
Dude picking his brain over my coke. Yes I mean attempting to tickle his brain trough the nose hole.
A piece of nasal excrement landed in my coke and made it go fizz, that was how I noticed.6 -
YOU STUPID APPLICATION MANAGER STOP PROLONGING THIS MEETING FOR THE LOVE OF GOD this is a daily scrum not a status report you solid twat stop asking when something will be done when it hasn't even been worked on yet
Dev: "I'll start working on the thing today, might take a day or two to finish development"
Twat: "Will it be ready for testing tmorrow"
D: "Maybe by late tomorrow? If all goes well"
T: "So it'll be tested by tomorrow"
D: "Uhhhh wait"
T: "It'll be done by tomorrow"
D: "But"
GODDAMNIT MAN HE'LL TELL YOU TOMORROW IF IT'S DONE OR NOT AND IF IT CAN BE TESTED I want to punch you so hard in the face with a spiked mallet covered in wasp stingers and hello kitty juice to excacerbate your diabetes you filthy piece of excrement waiting to be smeared across the pavement with my boot9 -
Just read a comment on rant that stated "You’d be surprised as how disgusting people are especially in the work setting.". In regard to bathrooms. This reads true, for my current place of work
I was about to reply to that, but I thought this is worthy of a rant of its own. Allow me to quote some emails...
"We have had reports of excrement being left on toilet seats, which surely could be seen by the person responsible before they left the cubicle. "
"very poor toilet hygiene in some the ladies toilets.
Firstly, someone person should I say.... has used a toilet brush to clear a blockage in the Ladies loo nearest [removed]. They obviously couldn't unblock the toilet due to the density of the blockage and therefore.. returned the brush to it's holder full of the blockage!! "
"The phantom "snot" wiper is back and is using the back of the toilet door nearest the [removed] as a tissue! Again.. the poor Cleaner has had to clean this up... "
"Toilet paper being put in the Urinal blocking the system in [removed] and faeces being left on the toilet floor in [removed]. This goes without saying that this can't go on and it's not the cleaners job to be cleaning such messes! "
Its ever worse in our other office that contains a call centre. A lady was fired for leaving shit in the stairwells on multiple instances. She had been fired from her last role for the same thing.
There were also reports of subway subs been left in the toilet bowl.
You also find the most curious items in the waste bins (they have no lid, we're not search through them - just to make that clear) everything from half eaten sandwiches to watermelon.15 -
Started reading about toilet bidets, read some posts and one caught my attention cuz the disclaimer at the top.
"Warning: This is a review of a bidet. There will be unabashed talk of human excrement and the body parts that produce it. If that sort of thing offends you, then do yourself and everyone else a favor and stop reading now. Offended people screaming in the comments will not be tolerated. You've been warned."
😂4 -
Dear Apple, your asshole is what's innovative because all you produce anymore is expensive excrement.1
-
So, I have a nested ternary, right, and that's not very readable:
(x <= y ? z : (x <= z ? y : x));
The linter points this out and I'm like yeah, valid point. So I inline-F[*0] it:
if (x <= y)
········return z;
else if (x <= z)
········return y;
else
········return x;
Clearer? Kinda. Oh, but the linter doesn't like this either, and to be fair, valid point once again; an else-after-return *can* be quite confusing if you have it in the __middle__ of the F body, catches you by suprise.
However, I'd like to take a brief moment to waggle your nutsack, if you please. Because this is C++ and I'm picking a reference from a list of values, so I can't simply assout[*1] within the switch.
So I'm at the crossroads of life once again, losing man's toughest struggle as I sit on a metaphorical cigar, squirming while I unclench my asshole slowly for strictly defecatory purposes. Allow me to illustrate:
- If I ignore the linter, and leave the rest of the code unchanged, the checks are going to fail and the bot is going to taint my pristine PR with automated comments.
- But if I take the linter's advice, I have to do a slight rewrite of the damn thing plus every F that calls it, which means touching shit that has nothing to do with this issue.
So what's it gonna be? Flushing or shoving my own excrement? Oh, the thrills of it being (literally) SOLID, ie not the acronym, but may the Almighty punish Uncle Bob regardless.
NOTES:
[*0]: It means 'function,' what else?
[*1]: ASS-ign OUT-put, where 'out' is just some var. You modify the var within the F body and return the final value.23 -
Our business partner just tried to deliver a motivational pep-talk to the dev team that ended up sounding more like a sermon. Instead of hearing we did a good job, we heard we could be doing a better job. Never mind that the project is rushed, lacking funding and built on an unstable codebase inherited from a proof of concept demo. I just lost all respect for the guy, who I thought appreciated how hard we've been working. Apparently he's just another administrative cog who wants to climb the ladder of success while standing on other people's hard work.
Right, no more extra miles for this project. Time to just coast on and see it sink in its own excrement. -
ASP.NET Web Forns?
Can't tell how many times I printed out the page lifecycle diagram for myself or a coworker. So many hours lost trying to figure out which lifecycle hook to use for a specific scenario and then have it all break down because something new was added to the feature. Or figuring when data can be bound, or doing some hack because things break when handling a POST event or some shit.
Overly abstract piece of technological excrement. Might as well express the thing in contemporary dance and check that into source control instead of that ungodly mess.
The switch to AJAX and API calls was such a huge relief it's almost hard to explain in words (I can do a dance tho). And then upgrading to AngularJS, man, worlds apart...
I don't care how much they pay me (okay, you got me...), I'm never touching Web Forms again. -
The History of The Scriping Lanuages (JavaScript, Python, and especially PHP):
Once upon a time someone found themselves stranded in the middle of the wilderness without nothing to eat or drink. Having watched Bear Grills as a kid, they grabbed a chunk of elephant excrement and started drinking from it, and the poop saved their life. In that moment, under those very specific and dire circumstances, in that very small scale, excrement was an appropriate solution; but that person did not ever drink from poop again.
Alas, upon hearing this tale, people from around the continent got fascinated with this new extraordinary recipe that had the capacity of saving lives! This new treat became viral. Shit juice, shit pie, and even a shitmulated Microsoft 98! Businesses built their foundations with shit, shit factories, individual shit brokers and recruiters! Everyone wanted a piece of this convenient and disruptive delicacy!
But, alas! as that first person knew, these implementations were not much more than mere shit1 -
So I've been using Duet on my iPad Pro for a couple years now (lets me use it as an external monitor via Lightning cable) and without issue. Shit, I've been quite happy with it. Then the other day, whilst hooked up to my work laptop, there was a power fluctuation that caused my laptop to stop sending power to connected devices. Which is fine - I have it plugged into a surge protector so these fluctuations shouldn't matter. After a few seconds the laptop resumed normal operation and my connected devices were up and running again.
But the iPad Pro, for some reason, went into an infinite boot loop sequence. It reboots, gets to the white Apple logo, then reboots again.
In the end, after putting the iPad into recovery mode and running Apple's update in iTunes (as they recommend), it proceeds to wipe all my data. Without warning. I lost more than a couple of years of notes, illustrations and photos. All in one fucking swoop.
To be clear, you get 2 options in iTunes when performing a device update:
1. UPDATE - will not mess with your data, will just update the OS (in this case iPadOS)
2. RESTORE - will delete everything, basically a factory reset
I clicked UPDATE. After the first attempt, it still kept bootlooping. So I did it again, I made sure I clicked UPDATE because I had not yet backed up my data. It then proceeds to do a RESTORE even though I clicked UPDATE.
Why, Apple? WHY.
After a solemn weekend lamenting my lost data, I've come a conclusion: fuck you Apple for designing very shitty software. I mean, why can't I access my device data over a cabled connection in the event I can't boot into the OS? If you need some form of authentication to keep out thieves, surely the mutltiple times you ask me to log in with my Apple ID on iTunes upon connecting the damn thing is more than sufficient?! You keep spouting that you have a secure boot chain and shit, surely it can verify a legitimate user using authenticated hardware without having to boot into the device OS?
And on the subject of backing up my data, you really only have 2 manual options here. Either (a) open iTunes, select your device, select the installed app, then selectively download the files onto my system; or (b) do a full device backup. Neither of those procedures is time-efficient nor straightforward. And if you want to do option b wirelessly, it can only be on iCloud. Which is bullshit. And you can't even access the files in the device backup - you can only get to them by restoring to your device. Even MORE bullshit.
Conversely, on my Android phone I can automate backups of individual apps, directories or files to my cloud provider of choice, or even to an external microSD card. I can schedule when the backups happen. I can access my files ANYTIME.
I got the iPad Pro because I wanted the best drawing experience, and Apple Pencil at the time was really the best you could get. But I see now it's not worth compromise of having shitty software. I mean, It's already 2021 but these dated piles of excrement that are iOS and iPadOS still act like it's 2011; they need to be seriously reviewed and re-engineered, because eventually they're going to end up as nothing but all UI fluff to hide these extremely glaring problems.2