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 - "response times"
-
Owner of company I freelance for: I need you to find out what CMS [website] is running in.
[Checking...]
Me: It's running in Drupal
Owner: Prove to me that it's running in Drupal, because she's saying you're wrong.
Me: Who the hell is "she"?
Owner: The boss over at [PR Company we do work for]
Me: Is she a developer?
Owner: No, of course not. She barely knows how to run a computer.
Me: Then tell I said it's running in Drupal, and if she wants proof, tell her I'm the developer she has begged to fix two other failing projects and I have delivered both times ahead of schedule.
Owner: If you don't show me proof, I'll fire you. I don't need attitude from my employees.
Me: A.) I'm not your employee, you are my client. I don't clock in for you and you don't withhold taxes from my pay. B.) If that's how you want to be, tell her to use terminal and cURL the website for the response header, as well as cross-reference folder structure for CSS/JS file inclusion to show it's running in Drupal.
Owner: What the fuck is terminal?
Me: If you don't know what terminal is, neither will she, meaning you have no business telling me how to do my job. Stick with assigning me tasks and let me use my expertise to get them done. Micromanaging need not apply here, mmm'kay pumpkin?
Owner: You sure are grouchy today.
Me: Yep...35 -
Good Morning!, its time for practiseSafeHex's most incompetent co-worker!
Todays contestant is a very special one.
*sitcom audience: WHY?*
Glad you asked, you see if you were to look at his linkedin profile, you would see a job title unlike any you've seen before.
*sitcom audience oooooooohhhhhh*
were not talking software developer, engineer, tech lead, designer, CTO, CEO or anything like that, No No our new entrant "G" surpasses all of those with the title ..... "Software extraordinaire".
*sitcom audience laughs hysterically*
I KNOW!, wtf does that even mean! as a previous dev-ranter pointed out does this mean he IS quality code? I'd say he's more like a trash can ... where his code belongs
*ba dum tsssss*
Ok ok, lets get on with the show, heres some reasons why "G" is on the show:
One of G's tasks was to build an analytics gathering library for iOS, similar to google analytics where you track pages and events (we couldn't use google's). G was SO good at this job he implemented 2 features we didn't even ask for:
- If the library was unable to load its config file (for any reason) it would throw an uncatchable system integrity error, crashing the app.
- If anything was passed into any of the functions that wasn't expected (null, empty array etc.) it would crash the app as it was "more efficient" to not do any sanity checks inside the library.
This caused a lot of issues as some of the data needed to come from the clients server. The day we launched the app, within the first 3 hours we had over 40k crash logs and a VERY angry client.
Now, what makes this story important is not the bugs themselves, come on how many times have we all done something stupid? No the issue here was G defended all of this as the right thing to do!
.. and no he wasn't stoned or drunk!
G claimed if he couldn't get the right settings / params he wouldn't be able to track the event and then our CEO wouldn't have our usage data. To which I replied:
"So your solution was to not give the client an app instead? ... which also doesn't give the CEO his data".
He got very angry and asked me "what would you do then?". I offered a solution something like why not have a default tag for "error" or "unknown" where if theres an issue, we send up whatever we have, plus the file name and store it somewhere else. I was told I was being ridiculous as it wasn't built to track anything like that and that would never work ... his solution? ... pull the library out of the app and forget it.
... once again giving everyone no data.
G later moved onto another cross-platform style project. Backend team were particularly unhappy as they got no spec of what needed to be done. All they knew was it was a single endpoint dealing with very complex model. There was no Java classes, super classes, abstract classes or even interfaces, just this huge chunk of mocked data. So myself and the lead sat down with him, and asked where the interfaces for the backend where, or designs / architecture for them etc.
His response, to this day frightens me ... not makes me angry, not bewilders me ... scares the living shit out of me that people like this exist in the world and have successful careers.
G: "hhhmmm, I know how to build an interface, but i've never understood them ... Like lets say I have an interface, what now? how does that help me in any way? I can't physically use it, does it not just use up time building it for no reason?"
us: "... ... how are the backend team suppose to understand the model, its types, integrate it into the other systems?"
G: "Can I not just tell them and they can write it down?"
**
I'll just pause here for a moment, as you'll likely need to read that again out of sheer disbelief
**
I've never seen someone die inside the way the lead did. He started a syllable and his face just dropped, eyes glazed over and he instantly lost all the will to live. He replied:
" wel ............... it doesn't matter ... its not important ... I have to go, good luck with the project"
*killed the screen share and left the room*
now I know you are all dying in suspense to know what happened to that project, I can drop the shocking bombshell that it was in fact cancelled. Thankfully only ~350 man hours were spent on it
... yep, not a typo.
G's crowning achievement however will go down in history. VERY long story short, backend got deployed to the server and EVERYTHING broke. Lead investigated, found mistakes and config issues on every second line, load balancer wasn't even starting up. When asked had this been tested before it was deployed:
G: "Yeah I tested it on my machine, it worked fine"
lead: "... and on the server?"
G: "no, my machine will do the same thing"
lead: "do you have a load balancer and multiple VM's?"
G: "no, but Java is Java"
... and with that its time to end todays episode. Will G be our most incompetent? ... maybe.
Tune in later for more practiceSafeHex's most incompetent co-worker!!!31 -
I've always tried to live by the philosophy that you should never burn bridges, but my god some recruiters make it very difficult. I've had a handful of occasions where I've had to type out a nasty email to a recruiter and then just not send it after I realized I wouldn't want it getting around/you never know who they known.
The latest incident where I did this was with a recruiter who emailed me 3 times within a week. But my issue wasn't with the amount of emails or even the fact that he was shopping me frontend positions despite my resume clearly stating I'm a backend dev/data engineer.
My issue was... THE GUY FUCKING REFERRED TO HIMSELF AS "BATMAN". That's right - an adult human being so desperate to get the attention of developers that he set his email name to "Batman", signs his emails "Full name - A.K.A. Batman", and lists his phone number like "BatPhone: xxx.xxx.xxxx"
If I didn't find him so pretentious and he actually sent me a kind of relevant position, what would I do? Pick up the phone and call him and say "hey Batman." Jesus fucking Christ. What an absurd gimmick. Maybe I'm overreacting but it seems so childish.
And you know what, if the guy read my resume and sent me relevant stuff I probably would have said "meh, he's doing good work, if he wants to stand out/be silly whatever." But no, he didn't even look at my skills. Instead he thought 3 shitty emails where he called himself Batman would convince me to write back to him.
I was close to sending him a ridiculous response and signing it "Robin", but decided it wasn't worth it.28 -
Write a small js function using setInterval to fire a request every second ... then copy paste the code 450 times (literally, not an exaggeration) into a massive file to create a load test script.
This load test script also had no means to gather metrics or test response times or anything useful. It was literally a “did the server crash” test.9 -
Phone not shipped out for nearly two FUCKING months.
Messaged the seller a few times, hardly any response and always 'very sorry ship soon'
Just threatened to cancel the order and get my money back.
Got a 'item has been shipped' two FUCKING minutes later.
MOTHERFUCKER YOU ARE GOING TO GET THE MOST SHIT REVIEW EVER.
PLEASE START TAKING YOUR RESPONSIBILITIES.
FUCKING FUCK YOU.52 -
I have been a mobile developer working with Android for about 6 years now. In that time, I have endured countless annoyances in the Android development space. I will endure them no more.
My complaints are:
1. Ridiculous build times. In what universe is it acceptable for us to wait 30 seconds for a build to complete. Yes, I've done all the optimisations mentioned on this page and then some. Don't even mention hot reload as it doesn't work fast enough or just does not work at all. Also, buying better hardware should not be a requirement to build a simple Android app, Xcode builds in 2 seconds with a 8GB Macbook Air. A Macbook Air!
2. IDE. Android Studio is a memory hog even if you throw 32GB of RAM at it. The visual editors are janky as hell. If you use Eclipse, you may as well just chop off your fingers right now because you will have no use for them after you try and build an app from afresh. I mean, just look at some of the posts in this subreddit where the common response is to invalidate caches and restart. That should only be used as a last resort, but it's thrown about like as if it solves everything. Truth be told, it's Gradle's fault. Gradle is so annoying I've dedicated the next point to it.
3. Gradle. I am convinced that Gradle causes 50% of an Android developer's pain. From the build times to the integration into various IDEs to its insane package management system. Why do I need to manually exclude dependencies from other dependencies, the build tool should just handle it for me. C'mon it's 2019. Gradle is so bad that it requires approx 54GB of RAM to work out that I have removed a dependency from the list of dependencies. Also I cannot work out what properties I need to put in what block.
4. API. Android API is over-bloated and hellish. How do I schedule a recurring notification? Oh use an AlarmManager. Yes you heard right, an AlarmManager... Not a NotificationManager because that would be too easy. Also has anyone ever tried running a long running task? Or done an asynchronous task? Or dealt with closing/opening a keyboard? Or handling clicks from a RecyclerView? Yes, I know Android Jetpack aims to solve these issues but over the years I have become so jaded by things that have meant to solve other broken things, that there isn't much hope for Jetpack in my mind 😤
5. API 2. A non-insignificant number of Android users are still on Jelly Bean or KitKat! That means we, as developers, have to support some of your shitty API decisions (Fragments, Activities, ListView) from all the way back then!
6. Not reactive enough. Android has support for Databinding recently but this kind of stuff should have been introduced from the very start. Look at React or Flutter as to how easy it is to make shit happen without any effort.
7. Layouts. What the actual hell is going on here. MDPI, XHDPI, XXHDPI, mipmap, drawable. Fuck it, just chuck it all in the drawable folder. Seriously, Android should handle this for me. If I am designing for a larger screen then it should be responsive. I don't want to deal with 50 different layouts spread over 6 different folders.
8. Permission system. Why was this not included from the very start? Rogue apps have abused this and abused your user's privacy and security. Yet you ban us and not them from the Play Store. What's going on? We need answers.
9. In Android, building an app took me 3 months and I had a lot of work left to do but I got so sick of Android dev I dropped it in favour of Flutter. I built the same app in Flutter and it took me around a month and I completed it all.
10. XML.
If you're a new dev, for the love of all that is good in this world, do NOT get into Android development. Start with Flutter or even iOS. On Flutter and build times are insanely fast and the hot reload is under 500ms constantly. It's a breath of fresh air and will save you a lot of headaches AND it builds for iOS flawlessly.
To the people who build Android, advocate it and work on it, sorry to swear, but fuck you! You have created a mess that we have to work with on a day-to-day basis only for us to get banned from the app store! You have sold us a lie that Android development is amazing with all the sweet treat names and conferences that look bubbly and fun. You have allowed to get it so bad that we can't target an API higher than 18 because some Android users are still using devices that support that!
End this misery. End our pain. End our suffering. Throw this abomination away like you do with some of your other projects and migrate your efforts over to Flutter. Please!
#NoToGoogleIO #AndroidSummitBoycott #FlutterDev #ReactNative16 -
--- GitHub 24-hour outage post mortem ---
As many of you will remember; Github fell over earlier this month and cracked its head on the counter top on the way down. For more or less a full 24 hours the repo-wrangling behemoth had inconsistent data being presented to users, slow response times and failing requests during common user actions such as reporting issues and questioning your career choice in code reviews.
It's been revealed in a post-mortem of the incident (link at the end of the article) that DB replication was the root cause of the chaos after a failing 100G network link was being replaced during routine maintenance. I don't pretend to be a rockstar-ninja-wizard DBA but after speaking with colleagues who went a shade whiter when the term "replication" was used - It's hard to predict where a design decision will bite back and leave you untanging the web of lies and misinformation reported by the databases for weeks if not months after everything's gone a tad sideways.
When the link was yanked out of the east coast DC undergoing maintenance - Github's "Orchestrator" software did exactly what it was meant to do; It hit the "ohshi" button and failed over to another DC that wasn't reporting any issues. The hitch in the master plan was that when connectivity came back up at the east coast DC, Orchestrator was unable to (un)fail-over back to the east coast DC due to each cluster containing data the other didn't have.
At this point it's reasonable to assume that pants were turning funny colours - Monitoring systems across the board started squealing, firing off messages to engineers demanding they rouse from the land of nod and snap back to reality, that was a bit more "on-fire" than usual. A quick call to Orchestrator's API returned a result set that only contained database servers from the west coast - none of the east coast servers had responded.
Come 11pm UTC (about 10 minutes after the initial pant re-colouring) engineers realised they were well and truly backed into a corner, the site was flipped into "Yellow" status and internal mechanisms for deployments were locked out. 5 minutes later an Incident Co-ordinator was dragged from their lair by the status change and almost immediately flipped the site into "Red" status, a move i can only hope was accompanied by all the lights going red and klaxons sounding.
Even more engineers were roused from their slumber to help with the recovery effort, By this point hair was turning grey in real time - The fail-over DB cluster had been processing user data for nearly 40 minutes, every second that passed made the inevitable untangling process exponentially more difficult. Not long after this Github made the call to pause webhooks and Github Pages builds in an attempt to prevent further data loss, causing disruption to those of us using Github as a way of kicking off our deployment processes (myself included, I had to SSH in and run a git pull myself like some kind of savage).
Glossing over several more "And then things were still broken" sections of the post mortem; Clever engineers with their heads screwed on the right way successfully executed what i can only imagine was a large, complex and risky plan to untangle the mess and restore functionality. Github was picked up off the kitchen floor and promptly placed in a comfy chair with a sweet tea to recover. The enormous backlog of webhooks and Pages builds was caught up with and everything was more or less back to normal.
It goes to show that even the best laid plan rarely survives first contact with the enemy, In this case a failing 100G network link somewhere inside an east coast data center.
Link to the post mortem: https://blog.github.com/2018-10-30-...6 -
I was expecting a 4th interview this afternoon for a position as a fullstack elixir developer.
Got a response from the CTO.
'Even if you pass all the tests with success, we could not go further because you're a junior and we're looking for a senior'
Well, dude, you've seen me 3 times and didn't understand that I was a junior ? My CV is not enough explicit ? It's written at the top of it...
So after a motivation interview, technical test, technical interview and Phoenix framework interview, they only realized yet the plot.
Good luck for your seniors to pass their knowledge to other seniors.17 -
Root encounters HR at her new job.
So, I left my job a few weeks ago. I was pretty sad about it, so I didn't want to write anything about it. It was a great place to work, with great managers, decent coworkers, and interesting work. I also had free reign over how I built things, what to improve, etc. Within about four months, I authored over half of the total commits on their backend repo, added a testing suite with 90% coverage, significantly improved the security (more accurately: added security), etc. but I got a job offer that allowed me to work remotely, and make well over six figures (usd). I couldn't turn it down, even though I wanted to. So, I left. I'm still genuinely sad about that. I had emotions and everything. 🙁 I stayed on long enough to finish the last of the features for their new product launch, and make sure everything was stable. I'm welcome back whenever, though they don't want to have remote employees, and I want to move, so. that's probably not going to happen. sigh.
Anyway, I started my new job this week. Rented an office (read: professional closet) and everything! It's been veritable mountains of HR paperwork so far. That's all I've done besides some accounts setup. I've seriously only worked on and completed one ticket so far in two and a half days, and I still have six documents/contracts to sign! (and benefits; that'll probably take my weekend.)
But getting an I9 thing notarized? Apparently I only have three days before I'm legally unemployable by them or something, idk. HR made it sound ridiculously dire and important, and reminded me like five or more times. I figured it was just some notary service; that takes like 10 minutes, right? So I put it off until my second day so I didn't have to disappear in the middle of my first day. Anyway, I called a bunch of notary services on day 2, and apparently only like 5% of them both do notary services this time of year and aren't booked full. And of those, probably another 5% will notarize I9 documents.. No idea why it's rare, but whatever, I'm not a notary.
The HR lady assured me that I didn't need any special documents; I should just go there, present my IDs, and the notary will provide or draft documents for everything else. Totally doesn't sound right, but fine; I'm not a notary nor will I ever work in HR, so I'm not very knowledgeable about this. So, against my better judgement I decided to just go anyway. I called around and finally found a place that wasn't closed, busy, or refusing, and drove over there. Waited. Waited. Waited. Notary lady was super slow in every single action. (I should mention that it's now 10am, and I have a meeting with the Senior VP of Engineering [a stern, stubborn old goat who enjoys making people feel inadequate] at 12:30pm.) The notary lady looks like she's an npc updating in slow motion (maybe at 0.25x speed?) and can't seem to understand what I need. Eventually, she tells me exactly what I had assumed: if there's no document, she can't notarize said document, and she doesn't have an I9 for the company I'm trying to work for. (like, duh.) So I thank her for proving the flow of time is variable, which she ignores in slow motion, and drive back home. It's now about 11.
I message the same HR lady, and the useless wench gawks in surprise and says she's never heard of that ridiculous request before. It took prodding to get her to respond every time, but after some (very slow) back and forth, she says she wants to call the notary personally and ask what they need. I waited around for another response that never came, and eventually just drove to the notary place again to have them notarize the required ID documents. That plus my chat history with HR should be enough to show that I bloody well tried, and HR just shit the bed instead. I finally got them notarized at like 12:10, and totally broke the speed limit the entire way to the office, found the last remaining parking spot, and made it to my office just in time for the meeting. seriously, less than two minutes to spare. Meeting was interesting (mostly about security), but totally made me facepalm, shout "Seriously!? What the hell are you thinking!?" and make slapping motions at some of the people talking. I will probably rant about that next.
But anyway, I'm willing to bet that the useless wench won't get back to me before the notary closes, if at all, and will somehow try to blame it completely on me if I bring it up again. Passive aggressive bitch. She's probably thinking: "If I don't help her with these mandatory legal processes, it'll be her fault she didn't get them done in time. I mean, they're so easy! She's just doing it wrong." I fucking hate HR.13 -
I think I've finally realized something:
my boss does not actually listen to me.
Quite often during out weekly conference calls, he asks me questions about things I had just covered. I always assumed he couldn't hear because a) i'm rather quiet, and b) freeconferencecall.com bloody sucks.
But it happens for written things, too. I type an update on something in Slack, and an hour later he asks me for an update on it. I always assumed (likely correctly) that he has nearly zero reading comprehension. He writes like a 5th grader and only remembers a few nouns and one verb from anything he reads. But I swear he actively skips reading anything I write.
Now, however, I have frigign' proof that he ignores me. We have both been trying to get ahold of {Clover contractor} via email for months. We have gotten three replies, but twice scheduling prevented setting up a meeting, and once I simply missed the email amongst the flood of log spam I haven't been allowed to address.
I have asked the boss multiple times for the guy's phone number -- in emails, in Slack, and in front of everyone during our weekly conference calls -- and he has totally ignored me every. single. time.
Here's a transcript of my seventh(!) attempt:
Boss [2:13 PM]
Have you and {Clover contractor} met yet? If not make it happen. Stop letting it not happen. GIve specific dates and times. {Clover contractor} let's talk Tuesday 2pm or Wednesday 4pm which works better for you.
Root [2:14 PM]
For the seventh and last time, give me his phone number.
Getting ahold of him via email has not worked.
Boss [2:14 PM]
I am sendning one more, from that I want you to make the meeting happen asap.
Root [2:14 PM]
if i call him, setting up a meeting will be _easy_
Give me his phone number and I will handle this.
It is now 3:00pm and I haven't gotten a response.
Either he doesn't want it to happen, wants me to fail for some reason, or he's totally fucking oblivious. Yet ofc it's me who earns all of the blame when this meeting doesn't happen, and I'm likely to get yelled at in front of everyone, fucking again.
I'm really beginning to hate this guy.
I can't wait to walk out on him and watch the company come crashing down in my absence. It'll be sad to watch, but bloody hell does he deserve it for his arrogant incompetence.14 -
It goes like this.
I have one final task to solve before starting in a new job at a different company. This guy, which is also a board member in the company in which I'm currently hired, is also an IT consultant and project manager in a fairly large company. This said person is also a key person for me being able to solve this last issue. I send him a complete guide on what he has to do before I can move on and wrap it all up.
First conflict arises because he doesn't follow the guide and tells me something is not working. I kindly inform him why and the response I get is very personal and not kind in any way, telling me and my boss that I am bad at my job and that he will bill us for 1000 USD for the 5 hours he used "debugging" and testing. This should have taken him 30 minutes and I have no idea what he spent those 5 hours doing.
It comes down to that my boss sides with this asshole and tells me that I have to do the task all over and test the system for the 4th time (yes I tested it 3 times beforehand to make sure nothing could go wrong) What my boss and the asshole doesn't know is that my uncle is vice president in the firm the asshole is working for. After kindly reminding this asshat that he has to follow the guide and that I can confirm everything is working, he keeps on attacking me. It's very rare that I fuck up and I have consulted 2 colleagues and got them to test it as well. They found no issues at all. The asshole ignored my request of documentation that something was not working.
I'm so full of being treated as an idiot so I send my uncle the email correspondence with the asshole to confirm that this is not how any of their employees should behave independant of my ability to do my job.
He will speak with this fucker tomorrow at work as first thing in the morning. I'm not proud of the way I went about this, but that was like the last drop, if you know what I mean.
Sorry for the long rant.20 -
"Hi xxx, please stop asking me the same question. I've answered it 4 times already via email, slack and in person on our zoom calls, over the past 2 weeks. I do not own the ticket and have no idea of the status or the dates. Ask the owner."
- slack response I was forced to write this morning to the guy my company put in charge of the entire product (mobile, multiple backends, frontend etc.).7 -
One of the people I supervise is “Mary,” a woman in her early 20s. Every time she gets critical feedback (even very mild and accompanied by praise), she turns bright red and starts crying … like, a lot. Tears streaming down her face. Other than that, though, she responds calmly and rationally. She carries a handkerchief and just mops up the tears and continues the conversation. One of the first times this happened, I asked if she was okay, and she said that it’s “just a physical response to stress” and confided that she’s getting cognitive behavioral therapy to learn to control it. Honestly, I think she’s handling the whole thing with a lot of professionalism and maturity.
I am her direct supervisor, but she also reports to two of my (male) colleagues, one of whom is a VP in my company. I recently overheard them talking about Mary, saying that her crying is uncomfortable, unprofessional, and “stupid.” Mary is a great employee, and I want to do whatever I can to protect her job and reputation within the company. Should I say something to my colleagues? Should I advise her to say something?25 -
Root has a deadline
I've been working on this CCPA ticket for awhile. Admittedly too long, but I'm new to the codebase and it's fucking sprawling. There has also been a lot of back-and-forth on the ticket.
Anyway, I've had a few blockers, such as how mailers work, the legal copy, where to put a admin-facing link to the dashboard, how to build the jira integration (and its creds), etc.
Quite awhile ago I asked Mr. Product, "Where should I put the ccpa dashboard link?" To which he responds: "I'll get you the answer today!" Awesome. Except he didn't. That day came and went without a peep. So, the next day I ask again: "Where should I put the ccpa dashboard link?" To which he responds: "I'll get you the answer today!" And that day comes and goes, too. I ask again, and you guessed it: "I'll get you the answer today." Repeat ad nauseam.
I also asked about the Jira integration and credentials. I got about the same treatment as above, but with a tiwst: they tell me to talk to / continue to bug Mr. H instead. Except Mr. H had been on PTO for weeks. Every time I ask, they keep referring me to him. A little over two weeks later (yesterday), I finally got a response from him. Yay! I was preoccupied with finishing the dashboard (which wasn't in the original ticket for some reason) so I didn't get a chance to look into it yet. After asking his boss three times, Mr. Product also finally (!!!) gave me a response on the link placement today, too! Though not directly: he discussed it with said boss in a group chat that I'm a part of, but never tagged me or told me directly. So, now I know where to put it (I think), but I have no idea how that area of the site is built (it's dynamic based on domain, login, and roles), so adding it will still be difficult.
The best part:
Today during standup, some lady I've only rarely seen before attends the meeting, doesn't say anything until the very end, and then announces that everything must be code-complete by tomorrow for release, and then promptly signs off.
For fuck's sake. I've had blockers on this for weeks, and now I need to finish it by fucking tonight?
I still don't know how to build the mailers (because translations and formats), nor how to actually send emails using them. I don't know how to modify the footer (dynamic, complex), how to add the admin-facing link (dynamic, complex), nor how build a Jira integration (haven't even looked yet). I just got unblocked on two of these fucking today. and it needs to be done and code reviewed by tomorrow?
No bloody way.
Maybe I should go back to my previous job. 😡rant root has a deadline traded my days for a pocketful of mumbles blockers deadlines nobody cares the boxer18 -
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 -
I have seen it. They say it doesn't exist; just a story we tell our children so that their innocence does not lead them down into a nightmarish adulthood from which there is no salvation. But the evil lives. So vile that were you to look inside its soul, all you would find is a terrible desperation for suffering. To cause it. To revel in it. To bathe in the tears of those it considers less than human and feed off the emotional detritus.
It was 2009. The financial crisis. I was one of the lucky, having found refuge in a large company right before the jobs dried up. General IT: system administration, documentation, project management, telephony, software training, second level help desk. No software development, but with a two-year-old at home and Ph.D.s lining up outside the local Olive Garden whenever a help wanted sign was posted, I grabbed the health insurance and entered into darkness.
The Thing did not need to hunt it's prey. A manager title with 21 reports brought it new opportunities for fresh meat by the hour. But I was special. I resisted. I needed to know my place.
My first mistake was incomprehension. I did not understand the Thing's lust to be right at all costs. I was reviewing some documentation it had brought forth from its bowels. I mentioned that two spaces were being used between sentences. That proportional type made that unnecessary. It insisted, I was wrong. It insisted that Microsoft itself, the purveyor of all good technical writing, required two spaces. I opened the Microsoft Manual of Style for Technical Publications that it demanded its staff use and showed it that the spec was one space. It was livid. I was a problem.
From that point on my work life became exponentially more wretched. I was given three Outlook calendars to maintain: one with my schedule, one with the team's schedule and one with the Thing's schedule. Every time I had an appointment, I was to triple schedule it. If I was going to be away from my desk for more than 15 minutes triple schedule. Triple schedule my lunch, vacations, phone conferences.
Whenever it held a meeting, I and a colleague would be taken off mission critical IT projects to set tables with name tents and to serve as greeters as attendees arrived.
I was called into its crypt to be told never to say anything in a meeting unless I told the Thing beforehand what I was going to say. Naive, I mentioned that I often don't know what I will say as it is often in reply to someone else. Of course the response was that I should not say anything.
I would get emails 10-20 times a day asking about a single project. I would regularly complete work that was needed to be completed ASAP, only to have the Thing rake me over the coals for not completing it a week later. And upon resending the emails proving I notified it of the work being competed, disparaged at length a second time for not sending repeated notifications of the competed work.
I would have to sit in two-hour meetings to watch it type. Literally watch it try to create cogent thoughts. In silence.
I received horrendous annual reviews. At one, it created a development plan that stated a colleague would begin giving me lessons on the proper ways to socially interact with personnel. I pointed out to HR that this violated privacy concerns and would make the business liable in many areas, not least of which would be placing a help desk person in the role of defining proper business practice. HR made the Thing remove this from my review. She started planning to remove me.
I had given a short technical training to a group of personnel months earlier. Called into its tomb I was informed that feedback surveys on my talk were disturbing. One person stated that they did not think I was funny. Another wrote that I made an offensive statement. That person did not say what the offensive statement was. Just that I had said something he or she didn't like.
The Thing interviewed the training attendees. Gathered facts. Held three inquest-like meetings where multiple directors peppered me with questions trying to get me to confess to my offensiveness. In the end the request to fire me was brought to the man who ran the business at the time. The statement on high: "Humor is a subjective thing. Please tell This to be sensitive to that."
The Thing had failed, but would no doubt redouble its efforts. I had to find a new job. I sent hundreds of resumes. Talked to dozens of recruiters. But there were no jobs. And I had a family. And the wolf was at the door.
So I didn't say a word to the creature. For six months. Silence. At one group meeting it shrieked at me "what are you smirking at? If you've got something to say then say it!" I just shrugged. For my salvation was revealed. The Thing could not stand to be ignored. And at the end of my penance I was transferred to another group: Software Development.
I am one with the Force. The Force is with me. I am one with the Force. The Force is with me.4 -
So I've had my "emergency meeting" with my manager about me leaving.
(Re https://devrant.com/rants/4896068 )
As some of you advised I prepared to try my best to stay exceptionally calm for this.
First my line manager just casually asked if I could stay. I politely explained "no. :)"
Then she said it's a catastrophe, they would be in a chaos, etc etc and then she personally assures I would have less bs meetings mid-sprints (one of the things I had requested a while back).
I responded that's kind but I also was far from what I should be earning.
Then she explained that suddenly now that I am leaving it would not be a problem to raise my salary as appropriate.
So I asked why could they not do this when I had brought this up a ton of times earlier and why I got peanuts as a raise in summer.
The response was that "they unfortunately could not get a higher budget authorised from higher up" and that " sadly that affected the whole team".
So I asked since when can they get this authorised and the response was "recently". Then she quickly switched back to the question whether I'd stay with higher salary and other earlier requests met.
I was pretty salty at this point so I just sarcastically said "unfortunately I've already signed".
She then switched back to "ok, ok, but we really need your help! you know it, the x project will be a nightmare to keep in one piece without me".
I literally just didn't respond so then she continued "ok so then can you then help us out for just a few hours a month for x/hour? please"
Now the thing is that this last offer actually would have been super compelling but given everything else I would not want to rejoin this environment. Thankfully I had to say anyways that my new contract doesn't allow that.
So then belive it or not, she asked me if I could ask my new employer to change the contract to permit me to still work a few hours a month for them.
What. the. fuck.
After this I was super done so just kept responsing a few words to everything and shortly after that we called the meeting. I feel dumb to have stayed here so long and am glad that my new contract doesn't allow working for others as maybe my stupid ass would have considered the offer on the spot.9 -
I love Linux, but its community can be so full of incompetent assholes..
Just now I asked in Freenode ##linux how to get the process ID of my current running process in bash. I got my answer - it's a shell built-in called "$$".
Then people start to nitpick some more - why do you need it? How is that different from an exit? - to which my response was.. well I know the whole idea behind exit codes, and I'd use it whenever possible, in all defined behavior that allows my program to terminate itself whenever it can. This pidfile however would be used to exit itself and provide diagnostic information whenever the program enters undefined behavior - a segfault in C language. Scenarios in which I don't have full control over the script's behavior anymore, such as the system entering an unworkable state where the system stalled, still got some binaries in RAM but the rootfs got unwritable, such as now - very helpfully, thanks HP! - when my laptop likely overheated and shat itself. I issued sudo reboot into it, but even that wouldn't issue properly anymore due to the /sbin/poweroff binary becoming inaccessible too. I had to issue a hard power cycle.. one of the few times in which I'm thankful to HP for actually causing shit like this, lol.
Point is, that undefined behavior is what I'm trying to mitigate against. I certainly can't let any files other than diagnostics remain in nonvolatile storage like that, especially when their state should be predictable in order to ensure good operation (like files expressing whether the script is already running or not, i.e. lock files).
Back to that IRC chat. Aside from the answer, I got ridicule from people who probably don't even know how to properly compile a kernel. Ubuntu users, overconfident scum. Sometimes I feel like I should ask questions in channels like #archlinux only, where such incompetency is ridiculed on its own.13 -
Riverbed...the software cost USD $120,000+ and their support was horrible.
Tickets would go unanswered.
Their documentation was pretty good but there were parts that were wrong and they would not fix it.
They would usually close an issue because it was opened by someone else 5 years prior and hadn't been fixed.
The several years I used it their releases consisted of no tangible code enhancements.
Several times we provided very simple reproducable issues and there response was basicly "just don't do that".2 -
Recap: https://www.devrant.io/rants/878300
I was out Thursday at the Hospital. I'm what the doctors would call "Ill as fuck"
So, Friday I’m back in the office to the usual: "How was that appointment?"
I know people mean well when they ask this. So, I do the polite thing and tell them it went as well as it could.
Realistically it does't matter how well it went... They haven't cured Crohn's because I showed up to the appointment. They know I'm fucked already.
But, push it down, add it to the future aneurism.
I had to go through the usual resignation meetings with managers:
"We"re fucked now you're going"
"yep"
"we need to get a handle on how fucked"
"already done that for you, here"s a trello board, very fucked."
"we need to put a plan together to drop all the junior devs in the shit with the work you’ve been doing"
"You need about 4 devs, please refer to the previous trello board for your plan"
Meanwhile, me and Morpheus are in constant communication because all of this is like a Shakespearean comedy.
So, I overhear a conversation between a Junior Dev and the Solution Architect.
[SA] took over the project because he knows better than two tried and tested senior devs -_- (fuckwit).
JD: "It took me one and a half days to build it out"
SA: "Yeah, it must have taken me twice as long... It must be a problem with the project, you should just be able to check it out and run it."
JD: "I know, it has to be wrong"
All of this is about Morpheus' work of art, of an Ionic 3 hybrid app.
I fumed quietly at my desk because I've been ordered by the Stazi to be hands off.
Since Morpheus and me were pulled from the project [JD] and [JD2] were dropped into it to get it over the line.
It"s unfortunate and I was clear and honest with my advice to them: I personally would not take over the project because I"d be way out of my depth... Oh, and the App works, so uh, there's no work to do.
They have been constantly at our desks. Asking fuckdiculous questions about how to perform basic tasks. So they can get Morpheus" frigging masterpiece to the user.
It"s like watching that touch up of jesus that got borked by an amateur. Shit I have google, it's like watching this happen: http://ti.me/NnNSAb
[JD] came to me Friday evening.
"I can’t get this to build to iOS or install on [Test Analyst]'s phone."
Me: "No worries brother, where are you stuck right now?"
[JD] describes the first steps with clear indication he hasn't googled his problem.
Life lesson: http://lmgtfy.com/?q=lmgtfy
Que an hour of me showing [JD] how to build an Ion3 project for iOS. Fuck it, your man's in a bind and he"s asked politely for help. I can show him quicker than he can read 3 sets of docos.
I took him through 'ionic cordova build ios', the archive and release processes in XCode 9, then the apk bundling process for droid. Finally we have an MAM so the upload process for that too.
All the while cleaning up his AppIDs, Profiles, deployment attempts.
Damn they were a mess.
I did this with a smile on my face, not because I could say "I told you so"... But. because when any developer asks you how to do something. If you know how to do it, you should always be happy to learn them some new tricks!
Dude's alright, he's been dropped in the shit. Now I know how badly so I'll help him learn things that are useful to his role, but aren't project specific.
As a plausi-senior dev (I'll tell you about that later); it's my job to make sure my team have what they need to go home smiling!
I’m not a hateful fucker, the guy asked me an honest question so I am happy to give him the honest answer.
I took him through it a few times and explained a few best practices. Most were how to do his AppID and ProvProfile set up. Good lad, took it all on board.
However! In his frustration, he pointed the finger at Morpheus' "David" (ref: Michelangelo).
He miraculously morphed into a shiny colourful parrot and fed me SA's line:
"you should just be able to build from a clean clone"
My response was calm and clear:
"You can, it took me 20 minutes on Thursday evening. I was bored and curios, so I wanted to validate Morpheus' work. Here it is on my iOS device and my Android device. It would have taken me 5 if my laptop wasn’t so horrifically out of date."
I validated Morpheus' work so I have evidence, I trust that brilliant bastard.
I just need to be able to prove it's good.
[JD] took this on board.
Maybe listening to two tried and trusted senior devs is better than listening to a headstrong Solution Architect.
When JD left for the weekend I was working a late one (https://www.devrant.io/rants/874765).
His sign off was beautiful.
"I think I can happily admit defeat on this one, it can wait until Monday."
To which I replied: "no worries brother, if you need a hand give me a shout."
Rule 1: Don't be a cunt.
Rule 2: If someone needs help and you can give it: Give it!
Rule 3: Don't interrupt James' cigarette time.
Rule 4: goto Rule 3.rant day 3 jct resigns crohns resignation solution architect wk71 invisible illness fuckwit illness junior developer4 -
Bit of an essay. TLDR: come Monday I'm either getting fired or promoted. And the CTO is a dickhead. If you think you work with me or know who I am, no you don't, shut the hell up.
Was having a discussion with my team, went on for a bit, at one point my manager mentioned that the CTO wanted me to go into the office occasionally, same thing I've had since I joined when they literally wanted me to move hundreds of miles to be close to the office mid covid when the office was closed. I give a nondescript answer. He's a bit more persistent, I snap a little but the conversation moves on. Discussion of company and team dynamics, at one point he makes a comment about people at another company being told if they don't go into the office they won't be eligible for promotion.
I ask everyone else on the call to leave.
I point out that 2 years ago me and him were interviewing candidates. He on a few occasions introduces me to candidates as a _senior_ engineer. My job title does not contain the word senior. I let it slide the first time, not worth it for a slip of the toung. Happens a couple more times, I take him aside and privately point out my job title does not contain the word senior. He says he didn't realise and thought I was.
My take away then: I'm expected to do the work of a senior without being paid for it and without being given the acknowledgement of the appropriate job title. I remind him of this. My job title hasn't changed. Fuck, I took a low ball offer when I joined and have had a minimal pay rise in like, 3 years. My tone is "not happy".
His response? He discussed promoting me with CTO however budged constraints. I somewhat understand, however.
We have promoted several people in the last few years. We have grown by hiring new people in the last few years (5 in a company of 30). There are ways to compensate someone in ways that do not impact day to day budget (shares, TC, total compensation, is normal terminology in the tech field for this). I ask why the hell should I travel a few hundred miles to the office to get get to know people, put effort in to a company that demonstrably doesn't value me? Particularly as all levels of management have completely failed at developing a social atmosphere during covid? My first month, I had 3 5 minute meetings with my manager a week. That was all of the communication I had with people. I literally complained and laid out what they should do instead, they adopted most of it.
I also ask him if he genuinely thinks being here is in my professional interest? My tone has well passed pissed off.
I will say, I actually quite like my manager, we have a good working relationship and I've learned a lot from him.
He makes some mediocre points, tries to give advice about value of shares. To me, the value of shares is zero until they are money. The value to the company, however, is that it's a sizeable chunk on their balance sheet and shares sheet that they have to be willing to justify. If I wanted money, I'd go work at a high frequency trading bank and make 5x what I'm on now. No joke, that's what they pay, I could get a job, came close in the past but went to amazon. He understands.
He says will discuss with CTO. They were on a call for like an hour. His tone has changed to "you will be promoted ASAP, comp may be structured as discussed". Point made.
I'm in this job because it's convenient, is easy for me. Was originally lower challenge than previous, has a range of chances to learn and _that's_ the value to me. He's suitably nervous.
Point made I think.
So given I swore a few times, at least once about the CTO. Interesting to see how it goes.
Message from him to the effect that he spoke to CTO, has been told to write a proposal for promotion (kinda standard), will discuss with HR on Monday as they're on holiday.
So, maybe not getting fired today?
Blood pressure still very high.10 -
what is worse on stackoverflow:
1. getting downvoted to oblivion
2. having your question view'd multiple times with no response
?5 -
now a funny thing that happened to me a few weeks ago:
a recruiter contacted me on linkedin... wait, don't laugh yet, that's not the whole joke (this time)...
...asking whether I'm interested in something, I was like yeah, but I'm looking for part-time because i'd like to not have a mental breakdown after 6 months this time...
her response: "well... I don't have any part-times, but I have an almost part-time..."
" 'almost part-time'? first time I've heard that phrase, what exactly does that mean?"
"it means about 160 hours"
... i sit in confused silence for a bit, then write back as I calculate: "i'm assuming you mean 160 hours a month, which is 40 hours a week, which is 8 hours a day, which is full-time. please point out where am I mistaken."
recruiter: * crickets *7 -
Highlights from my week:
Prod access: Needed it for my last four tickets; just got it approved this week. No longer need it (urgently, anyway). During setup, sysops didn’t sync accounts, and didn’t know how. Left me to figure out the urls on my own. MFA not working.
Work phone: Discovered its MFA is tied to another coworker’s prod credentials. Security just made it work for both instead of fixing it.
My merchant communication ticket: I discovered sysops typo’d my cronjob so my feature hasn’t run since its release, and therefore never alerted merchants. They didn’t want to fix it outside of a standard release. Some yelling convinced them to do it anyway.
AWS ticket: wow I seriously don’t give a crap. Most boring ticket I have ever worked on. Also, the AWS guy said the project might not even be possible, so. Weee, great use of my time.
“Tiny, easy-peasy ticket”: Sounds easy (change a link based on record type). Impossible to test locally, or even view; requires environments I can’t access or deploy to. Specs don’t cover the record type, nor support creating them. Found and patched it anyway.
Completed work: Four of my tickets (two high-priority) have been sitting in code review for over a month now.
Prod release: Release team #2 didn’t release and didn’t bother telling anyone; Release team #1 tried releasing tickets that relied upon it. Good times were had.
QA: Begs for service status page; VP of engineering scoffs at it and says its practically impossible to build. I volunteered. QA cheered; VP ignored me.
Retro: Oops! Scrum master didn’t show up.
Coworker demo: dogshit code that works 1 out of 15 times; didn’t consider UX or user preferences. Today is code-freeze too, so it’s getting released like this. (Feature is using an AI service to rearrange menu options by usage and time of day…)
Micromanager response: “The UX doesn’t matter; our consumers want AI-driven models, and we can say we have delivered on that. It works, and that’s what matters. Good job on delivering!”
Yep.
So, how’s your week going?2 -
Our team was having a problem with very slow response times from a 3rd party web service they were contacting to get some device stats. No issues on the other end, but it had already been weeks. They ask me to take a look at it.
I take a few days, do a couple of benchmarks and tests and I isolate the section of code responsible. Turns out, the method they were calling would timeout if the device was offline. We ask the vendor, and they confirm this. They tell us to call methodX to check if it was up.
After having done that, lookup now only took seconds. They were annoyed that it wasn't documented but was just glad it was fixed.2 -
dear api author at my company pt. 2:
If you're gonna create an api method that takes some arguments.
And one of those arguments is an array.
THEN MAKE THE FUCKING ARGUMENT'S NAME PLURAL YOU FUCKING PIECE OF SHIT.
REPEAT WITH ME, MOTHERFUCKER.
ARRAY, PLURAL, NON-ARRAY, SINGULAR.
I need to pass a shitload of filters for the data for this table, and for every suckin fuckin filter I need to singularize this shit. Thank god for es6.
I know this sounds like nitpick, but I swear to fucking alpha omega this guy is inconsistent as fuck.
Every time it feels like he makes up a new rule.
Sometimes I need to send arrays of ids, other times arrays of objects with an id property on each.
He uses synonyms too, sometimes it's remove, other times erase.
PICK ONE MOTHERFUCKER.
If you can't do the basic things well, then what is to expect of more advanced stuff?
Naming conventions you fucking idiot, follow them. It's programming 101.
You're already sending them as plural in the fucking response. Why change them for the request?
And that's just style, conventions.
This idiot asshole also RARELY DOES ANY FUCKING CHECK ON THE ARGUMENTS.
"Oh, you sent a required argument as null? 500"
We get exceptions on sentry UP THE ASS thanks to this useless bone container.
YOU'RE SEEING THE EXCEPTIONS TOO!!!!! 500'S ARE BUGS YOU NEED TO FIX, YOU CUMCHUGGER
And sometimes he does send 400, you know what the messages usually are?
"Validation failed".
WHYYYYYY YOU GODDAMN APATHETIC TASTELESS FUCK???
WHAT EXACTLY CAUSED THE FUCKING VALIDATION TO FAIL????
EXCEPTIONS HAPPEN AND THANKS TO YOU I HAVE NO IDEA WHY.
The worst of all... the worst of fucking all is that everytime I make a suggestion to change shit, every time, you act like you care.
You act like the api is the way it is because you designed it in a calculated manner.
MOTHERFUCKER. IF A USER HAS ONLY PRODUCT A, THEN HE SHOULDN'T BE ABLE TO ACCESS DATA FOR PRODUCT B. IT IS NOT ENOUGH TO JUST RESTRICT SHIT WITH ADMIN ROLES. IDIOT!!!!!
This is the work of someone who has no passion for programming.10 -
Hey everyone in all seriousness I am gonna be out of the dev field now - hopefully forever. I’m back in school now and hopefully will become employed in emergency response. Before dev, I have had jobs where I could directly help people with their troubles and I could reduce a lot of chaos. I really enjoyed it and I want to kind of steer my life back towards that. I find that while I was an employed dev, I felt like I was contributing a lot towards corporate greed, this wealth gap problem, and a bunch of other stuff. It all felt morally wrong (to me - not judging here). I also felt the worse I have ever felt in a job - constantly burned out, depressed, lonely, sleep deprived, and almost even ashamed of myself of how I constructed my life thus far. I had some good times meeting some cool ass people in some cool ass places tho.
Now, even though I’m still sleep deprived and EXTREMELY poor, I’m very happy now. I am excited to start this thing I’m more passionate about. It feels good to not feel my head hurt every day from trying to fix shit that will always break anyways. I feel so relieved to be away from the meaningless turbulence of it all. Just wanted to share my lil success here!!9 -
Once upon a time, one or two jobs ago, a really awesome engineer specced out a distributed search application in response to a business need. This company was managed pretty oldschool and required a ton of paperwork and approvals.
The engineer spent many weeks running tests and optimizing the hell out of this app cluster. It flew, and he had the data to prove it could handle production workloads (think hundreds of terabytes of data being processed every single day)
Part of the way he achieved this was having RAID0 on all of the servers to maximize I/O throughput. He didn't care much about data loss, since the application itself was fault tolerant on a much more granular level.
Management, hearing about this, absolutely flipped their shit and demanded RAID6 instead. This despite the conclusive data that the engineer had that proved RAID6 couldn't keep up.
He more or less got told to STFU.
Even this despite the fact that a RAID restripe would actually take many times longer than rebuilding the failed node from scratch (a process that took about 30 minutes by hand, and could probably be automated to be done in less than five), causing a longer exposure to actual data loss throughout the length of the days-long array rebuild time.
The ill-thought-out requirement added about 50% to the cost of the project (*many* more hard drives now required), beyond the original budget, and the subsequent bureaucratic wrangling resulted in a late product launch.
6 months or so later, after real customers were using this product, the app was buckling under around half of its expected workload. A friend of the engineer suggested to management to try RAID0. Sure enough, that resolved the I/O bottleneck.
This rage-inducing story has a happy ending, though! Said engineer left the company not long after this incident, citing it as a reason for his departure. He was immediately hired by another company, making integer multiples of his prior salary.
The product the company botched the launch of by ignoring his spec? It died a few months later. Maybe the poor customer experience was to blame? Maybe the late launch? Maybe it was another reason entirely.
Either way, millions of dollars of hardware now sat fallow. This was a black eye on the company all the way up to the C-level.
tl;dr: Listen to your engineers. You hired them for their expertise.5 -
Fuck this
I get to work with API where you CAN authenticate with username/password and get a token
But you CAN'T get user info from token (auth response contains ONLY token)
So what I have to do:
1. Get token
2. Request ALL FUCKING USERS and load them into my DB
3. Search through local DB by username and, yeah, here I go
Now I need to have a cron job to update user DB 1/2 times per day
I can't think of ANY reason not to allow this8 -
Ok, so our team is responsible for writing an app that consumes an API written by the client's team (I refuse to call it a "REST" API, despite their claims). On one of the clarification meetings we are discussing an endpoint that accepts a (logically) unique field multiple times, even though an entity is already registered in the system with that unique identifier. Our proposal would be that this API of theirs should not happily accept duplicates as many times as there are bits on a 4TB hard drive, rather it should signal an error.
The response we got is this: Due to the Separation of Concerns principle they thought that it should be our app's responsibility to not send a request if an entity with said field is already in the system. Thus there's no need for the backend to validate this.
I didn't hear the next part, because I had to collect my headphones from the other side of the room where they were flung in rage.11 -
Diary of an insane lead dev: day 447
pdf thumbnails that the app generates are now in S3 instead of saved on disk.
when they were on disk, we would read them from disk into a stream and then create a stream response to the client that would then render the stream in the UI (hey, I didn't write it, I just had to support it)
one of my lazy ass junior devs jumps on modifying it before I can; his solution is to retrieve the file from the cloud now, convert the stream into a base64 encoded string, and then shove that string into an already bloated viewmodel coming from the server to be rendered in the UI.
i'm like "why on earth are you doing that? did you even test the result of this and notice that rendering those thumbnails now takes 3 times as long???"
jr: "I mean, it works doesn't it?"
seriously, if the image file is already hosted on the cloud, and you can programmatically determine its URL, why wouldn't you just throw that in the src attribute in your html tag and call it a day? why would you possibly think that the extra overhead of retrieving and converting the file before passing it off to the UI in an even larger payload than before would result in a good user experience for the client???
it took me all of 30 seconds to google and find out that AWS SDK has a method to GetPreSignedURL on a private file uploaded to s3 and you can set when it expires, and the application is dead at the end of the year.
JFC. I hate trying to reason with these fuckheads by saying "you are paid for you brain, fucking USE IT" because, clearly these code monkeys do not have brains.3 -
Instead of a rant I have a story for you.
I was browsing my emails and eminently pissed off, as I usually am. Came across an email from
michael@michaelnthiessen.com
and thought "fuck this guy and his adverspam!"
Because whats more rational than hating someone you don't know, over something they didn't do, because of something completely unrelated to them of which they have no control?
Totally human.
The email looked like this
"I have some fantastic news for you:
Clean Components will be released again on April 21!
"
With a "🎉" emoji. I'm in a more vile mood than usual today.
It goes on.
"Even better, I'm significantly dropping the price, so you'll definitely want to pick it up!"
How presumptuous.
I fire off a quick reply.
"What a bunch of bullshit.
I decide to change careers and a month later, just like in 2008, this fucking pandemic happens and the economy and hiring
Starts collapsing.
And here I am getting sent this bullshit.
"
I had to rewrite and shitcan the response a few times for civility. I guess this is me being polite, but I was suddenly compelled to vent to this total stranger over what in all likelihood was an *automated* email.
Six and a half hours later I got a reply.
"Hey James, I'm sorry this pandemic has been rough on you.
I hope things turn around for you soon.
If it would help, I'd give you the course for free, but if you've switched careers I'm not sure it's relevant any more?
Michael
"
My god. A lone voice of calm in a wasteland of 24/7 bad and worsening news. Sometimes simplicity is the soul of class.
Hes got it in spades.
And here I was thinking "today might be the day. Thank god for giant bottles of hydrocodone."
It's not true that all gingers are soulless demons.
Some of them are angels in problem glasses.
No but seriously, hes a cool guy in my book.
Check out his site if you're interested in Vue at
michaelnthiessen.com6 -
And now they are threatening us... Brilliant!
- they refuse to sign a legal agreement with us [for our services]
- they only gave us a verbal promise they will pay for our services
- they revoke lots of our accesses
- another company is taking over their product we were hired to look after before. Now they demand us do things for them for free
- a few integrations are malfunctioning with premature EOF [while reading a response]. I had escalated this with the most throughout case analysis I have done in my entire life. Three times over the last 2 years. Explaining every single detail that needs to be done, how, by whom and how to interpret the results. Escalations went to their high level mgmt. And directly had been rerouted to /dev/null...
- now they asked us to fix this whole shit. For free ofc, they have no money to pay us..
- they begged
- when that didn't work - they started threatening to route all their customers' complaints to us and flood us with them
at first I was proud to work on their project. I didn't want to leave it when my manager asked me to. A national level project, making a difference for my own country. But now.....
that's gov, my friends. That's politics and power games.8 -
Since this post was too long for devrant's 5k sign limit, I split it in several parts. I will try to make each part comprehensible as a standalone post. This is part one of WHY WOULD I WANT TO WORK WITH YOU? saga. A tale of empathy, competence and me being a dick, even though I didn't really want to be one. The part one is titled: "Bad times, good times". It may or may not have any value. It probably won't be funny.
I dedicate this to every single junior or entry level dev out there, struggling to find a job in their field.
=====
What do you think, how long does it take for junior with 6 months of commercial experience to find a dev job? If your answer was "idk", you're right. If your answer was "3 montths maybe", you're also right. At least this is how long it took for me. I am writing this at 2am, couple of hours after I managed to get employed. I am happy. My employer probably is happy too. My recruiters certainly are. The guy whose offer I had to reject after we were almost ready to sign the contract, on the other hand, isn't. He probably hates me. We'll get to that one post at a time.
Let's move back in time a little bit. It's December 12th, 2019. It is third month after I left my family home. I don't ha0ve a job, I was living first in my older brother's apartment for a month, then I started to rent my own. I have literally no money, I'm in debts. I moved out because reasons that would make up for another couple of posts, and for said reasons I refused to get 'any job just to pay the bills'. You can imagine that I was in pretty bad situation, and my psyche didn't really take that shit too well either. My daily meal was a bowl of rice with a little bit of self-hatred on top. Gourmet.
At that time, my daily routine would consist of practicing music, practicing programming, trying to get a job and surviving. Some of my friends just turned their backs against me. I did a small rework of my contact list as well. It was a *hard* time. I had sent my CV to around a hundred different companies with very little to no response. Some of them required at least bachelor's in IT for their frontend dev. Some of them required experience I didn't have. Some of them just didn't care to answer me. And then that one day happened. Three different people wanted to meet me and talk about internships/job offers. I will share what happened next in next posts, but here's a quick spoiler. I got a job. Yes, I am hyped.
Dear fellow Dev. This is a small reminder. If you're having bad times, just remember that if you focus on what you need to do, you will be just fine. Sometimes it may take days of struggling, sometimes it will take months of eating mostly rice. We all... Most of us have been through this.
Next posts will be less inspirationalstufftelling and more storytelling. Let this post be a setup, a small context to keep in mind upon reading my next stories. Because it is quite important. For me and for the story.3 -
About a year ago I was doing work for a client that hired a separate contractor for SEO consultation. I could easily end the rant here.
This lady was trying to convince my client to write the same page or blog article several times over and merely change their physical address at the bottom of the page to one of their many respective clinics.
When I told them not to do this because they would suffer for stuffing and duplicating content, their response was to ask me to be respectful of the other contractor's skills and knowledge regarding digital marketing and to call her and sort it out.
I called. We argued. I called the client back and asked if they should respect the skills of an auto mechanic with pliers to remove a teenager's braces rather than send them to one of their orthodontic clinics.4 -
Buckle up, it's a long one.
Let me tell you why "Tree Shaking" is stupidity incarnate and why Rich Harris needs to stop talking about things he doesn't understand.
For reference, this is a direct response to the 2015 article here: https://medium.com/@Rich_Harris/...
"Tree shaking", as Rich puts it, is NOT dead code removal apparently, but instead only picking the parts that are actually used.
However, Rich has never heard of a C compiler, apparently. In C (or any systems language with basic optimizations), public (visible) members exposed to library consumers must have that code available to them, obviously. However, all of the other cruft that you don't actually use is removed - hence, dead code removal.
How does the compiler do that? Well, it does what Rich calls "tree shaking" by evaluating all of the pieces of code that are used by any codepaths used by any of the exported symbols, not just the "main module" (which doesn't exist in systems libraries).
It's the SAME FUCKING THING, he's just not researched enough to fully fucking understand that. But sure, tell me how the javascript community apparently invented something ELSE that you REALLY just repackaged and made more bloated/downright wrong (React Hooks, webpack, WebAssembly, etc.)
Speaking of Javascript, "tree shaking" is impossible to do with any degree of confidence, unlike statically typed/well defined languages. This is because you can create artificial references to values at runtime using string functions - which means, with the right input, almost anything can be run depending on the input.
How do you figure out what can and can't be? You can't! Since there is a runtime-based codepath and decision tree, you run into properties of Turing's halting problem, which cannot be solved completely.
With stricter languages such as C (which is where "dead code removal" is used quite aggressively), you can make very strong assertions at compile time about the usage of code. This is simply how C is still thousands of times faster than Javascript.
So no, Rich Harris, dead code removal is not "silly". Your entire premise about "live code inclusion" is technical jargon and buzzwordy drivel. Empty words at best.
This sort of shit is annoying and only feeds into this cycle of the web community not being Special enough and having to reinvent every single fucking facet of operating systems in your shitty bloated spyware-like browser and brand it with flashy Matrix-esque imagery and prose.
Fuck all of it.20 -
I am calling this a premonition rant, of more rants to come.
I have a feeling in my bones.
We have a newly acquired fat cat customer with bucks to blow who we have done some digital work for already and swag bag of marketing perkiness.
I will call the CEO of this whale "The Porcupine"
The Porcupine has a business degree and industry experience, nothing to do with websites or applications.
It claims to be a visual perfectionist yet never delivers an overall coherent review.
It likes to fixate on minor brand style differences in websites and apps we have built.
The Porcupine seems to be always busy with policy and legal and other things rather than participating in their own projects.
Procrastination on feedback or reviews until the day before release is common.
Many overtime hours worked, not a sliver of thanks. The haughty attitude indicative of somebody who thinks web development is like desktop publishing.
"It's just code" in response to a crash production server change they were warned was a risk that borked all of our responsive templates and took 3 hours to fix.
Their entire brand is shades of pea green, grey and lime. No serif fonts because they are suck. Arial and Helvetica are boss.
One of my devs missed a CSS style on privacy policy hyperlink text that went times new roman and I had various account directors and our CEO on phone telling me how embarrassing it was for us to let this happen.
Anyway. They pay on time and the cost estimates for all the upcoming work are juicy.
We have shitloads going on for an upcoming hard date conference and everything is already compressing.
Therefore I can already smell doom and feel those porcupine quill getting closer to my ass as I beg their AD today if we have any feedback on the 10 or so project reviews yet?
Nope.4 -
I find many of the peculiarities about our kind (developer) to be amusing.
Here is one I have seen too many times to count...
You ask a group of developer something like...
“We have a project built using X, Y and Z. We are looking at integrating the “example framework” to solve a specific problem. Do you have any experience with “example framework” or would you suggest another framework?”
Inevitably you get the same useless response of “Why are you using X, Y, and Z. It’s so <insert generic complaint here>!” Followed with no actual attempt to answer the question asked...
Listen, I know some of us a socially awkward (I can be) and I know we like to debate and argue.
But, if someone asks you a specific technical question about an existing product, either...
1. Answer the question with your experience
2. Declare that you do not have experience with it
3. Shut your fucking childish mouth
No one cares about how you feel about the size of the underlying technology in existing products! What do you expect?
“OMG, we didn’t realize X technology as 100mb large! Hold on while we go and reengineer our entire product base because of this fucking revelation you just told us!”
You may want to hear your own voice but the rest of us would prefer it if you would shut your mouth if you have nothing useful to add.
(Reads as: we would prefer is you fucked right off!)3 -
Aaaaaaaargh!! Fing ashole!!
I got a major blocker reported, tried to connect to client, two of the user accounts were locked out because some genious used the last months password too many times.. FUUUU!! This happens almost every month!! FU! I go to the support dpt to check WTH is with those user accounts and got told the VPN is fucked up anyway so I will not be able to connect in any casr (disconnecting, bad transfer rate, it has a flue or prebirth cramps...whatever...). Ok, I ask if anyone notified our network admins and theirs.. And in response one guy mumbles something... I asked really really pissed off (due to the seriousnrs of the situation, we have max 8h to fix blockers and must check what is going on in minutes) if he is talking to me and answering my question or just talking to himself. He then a little bit more audiably said: we all are unable to work, you are not the only one with this problem & if you have a solutio... I already stormed out. Yes, everyone has problems connecting, no not everyone has a fucking blocker assigned to them!! Mayor malfunction on our system is not the same as archiving old processing data!!!
Simple yes or no question: did anyone notify our network admins & client's network admins?! And client's management that we have technical problems and cannot check the blocker situation immediately?! And I get a mumbling incompetents guy response... OmFG yes, I have a solution for you!! Go and jump of of the terrace!!4 -
#include <rant>
Using angry standard;
Int main()
{
cout << "So my mom recently started "exploring the web". I'm sure you already know where this is going; she ended up signing up for a free trail of some diet pills with her credit card on some sketchy website. The website never sent any product but attempted to charge her card over $300 multiple times. My mom's bank noticed and froze the account. She has now opened an investigation with the banks fraud department and is awaiting response. I took the liberty of running a whois look up and found the companies website is held by GoDaddy and is hiding behind Domains by Proxy (GoDaddy's sysadmin hider). I'm angry that she's in this situation but I have no idea of how to uncover the real company behind the diet pills site." << endl;
Return 0;
}3 -
All these super expensive and fancy enterprise tools. CloudWatch, AppDynamics, Grafana, Splunk and whatnot. Spent a month trying to figure out why the fuck the app does not perform well.
Took 1 day with tcpdump, awk and gnu utils to figure out why.
Should anyone need a tcpdump analyzer -- try my awk script. Shows response times of each network call w/o impacting app performance :)
https://gist.github.com/netikras/...14 -
Colleagues cannot seem to grasp that allowing a user to manually update a field via an Api, that only business process should update is a bad idea.
The entire team of around 10 'software developers' cannot grasp that just because the frontend website won't set it doesn't mean its secure. I have tried many times now...
Just an example honestly... Our project follows a concrete repository pattern using no interfaces or inheritance, returning anaemic domain models (they are just poco) that then get mapped into 'view models' (its an api). The domain models exist to map to 'view models' and have no methods on them. This is in response to my comments over the last 2 years about returning database models as domain transfer objects and blindly trusting all Posts of those models being a bad idea due to virtual fields in Ef.
Every comment on a pull request triggers hours of conversation about why we should make a change vs its already done so just leave it. Even if its a 5 minute change.
After 2 years the entire team still can't grasp restful design, or what the point is.
Just a tiny selection of constant incompetence that over the years has slowly warn me down to not really caring.
I can't really understand anymore if this is normal.3 -
The amount of times I write response as "reponse" or "repsonse" is too damn high.
Takes ages to debug as well.. 😡1 -
I have just started working in this industry, and so annoyed by the fact that managers are insensitive to the efforts put in by the developers.
1. They ask for estimates, and sometimes consider it to be the hard line for everything and then they make you feel guilty if you are not able to live up to them.
-- I am not asking to be always lenient but they need to understand that this is problem solving and one might not be able to gage the problem at first sight. A problem might have several sub problems or a solution to one issue might raise compatibility issues with other which were tough to foresee .
2. Why do they always want an instant response to their email or query, a developer being online isn't just there to answer your damn obvious and sometimes stupid questions which can be understood just be glancing at the logs once.
-- How annoying would it be if the manager himself is being poked every other minute for trivial things. Does he have the same patience with his/her developers?
3. In tough times the manager easily delegates the responsibility to the developer and instead of standing by his/her side, interrogates them as if we have done some crime.
-- Wasn't this approved by you. Weren't you the one who had these stupid demands before and didn't let me do things the correct or optimized way. I am not saying I am always right, but you can be atleast open for feedback or discussion.
Why are you the first to take credit for the success and yet hold us responsible for any mishaps.
It's sad to see that some of these people have been tech developers.
I can go on ranting for many more things.
I am not saying all those people out there are like this. But trust me many are.
Note: I am not seasoned as you guys out there. I may even be biased by my own experiences. But this is in complete contrast to what I was expecting when I graduated from college and was excited to finally learn by working.1 -
Anyone else have that kind of manager who you ask a simple, single sentence question of, and get a ten volume essay of a response back from?
How do you deal? I'm usually a very capable, independent and initiative driven person but holy fuck.
All we need here is a:
"Hey manager, you assigned me this thing. I'm wondering what we should do about this particular edge case I've seen a few times in past roles?"
and a
"I'm not sure. Check with Steve, he should know, as his team worked on it and did x, y and z. If he doesn't know, come back to me"
and we're done.
Instead I get the entire Lord of the Rings saga written in zalgo.6 -
First time dealing with the rejection process from Apple, and it couldn't be more frustrating. I asked for clarification 3 times and got the same exact response all 3 times... LET ME TALK TO A FUCKING HUMAN!
-
Overengineering. Finding the right point between overdesign and no design at all. That's where fancy languages and unusual patterns being hit by real world problems, and you need to deal with all that utter mess you created being architecture astronaut. Isn't that funny how you realize that another fancy tool is fundamentally incompatible with the task you need to solve, and you realize it after a month of writing workarounds and hacks.
But on the other hand, duct tape slacking becomes a mess even quicker.
Not being able to promote projects. You may code the shit out of side project and still get zero response, absolutely no impact. That's why your side projects often becomes abandoned.
Oversleeping. You thought tomorrow was productive day, but you wake up oversleeped, your head aches, your mind is not clear and you be like "fuck that, I'm staying in bed watching memes all day". But there's job that has to be done, and that bothers you.
Writing tests. Oh, words can't describe how much I hate writing tests, any kind of. I tried testing so many times in high school, at university, even at production, but it seems like my mind is just doesn't accept it. I know that testing is fundamentally important, but my mind collapses every time I try to write a single fucking test, resulting in terrible headache. I don't know why it's like that, but it is, and I better repl the shit out of pure function than write fucking tests. -
Stories like the one I'm about to tell you are just another reason why people hate Windows. I know I usually preach 'Don't hate everything' and shit, but this is a real big fucking deal when it hits your desktop for no reason.
Now, onto the actual story...
Background: Playing with my Oculus, fixing issues like forgetting to use USB3 and stuff. I learned about an issue with Nvidia GPUs, where in Windows, they can only support 4 simultaneous displays per GPU. I only have the one GPU in my system, Nova, so I have to unplug a monitor to get Oculus and its virtual window thingy working. Alright, friend gave me idea of using my old GPU to drive one of my lesser used monitors, my right one. Great idea I thought, I'll install it a bit later.
A bit later...
I plug the GPU in (after 3 tries of missing the PCI-E slot, fuckers) and for some reason I'm getting boot issues. It's booting to the wrong drive, sometimes it'll not even bother TRYING to boot, suddenly one of my hard drives isn't even being recognized in BIOS, fuck. Alright, is the GPU at least being recognized? Shit, it isn't. FUCKFUCKFUCK.
Oh wait. I just forgot the power cable Duh. Plug that in, same issues. Alright, now I have no idea. Try desperately to boot, but it just won't I start getting boot error 0xc000000f. Critical device not found. Alrighty then. Fuck my life, eh?
Remove the GPU, look around a bit while frantically trying to boot the system, and I notice an oddly bent SATA cable. I look at it and the bastard is FRAYED AT THE END! Fuck, that's my main SSD! I finally replace the SATA cable and boot, still the same error... Boot into a recovery environment, and guess what?
Windows has decided to change my boot partition, ya know, the FUCKING C: DRIVE, from NTFS to RAW format, stripping it of formatting! What the actual fuck Microsoft? You just took a shit on yourself while having a seizure on the fucking MOON! Fine, fuck you, I have recovery USB! Oh, shit, that won't boot... I have an old installation! Boot ITS recovery, try desperately to find a fix online... CHKDSK C: /F... alright, repairing, awesome! Repaired, I can see data, but not boot. So now I'm at the point where I'm waiting for a USB installer to be created over USB 2.0. Wheeeeeeeeee. FML.
THESE are the times I usually hate Windows a lot. And I do. But it gets MOST of my work done. Except when it does this.
I'm already pissed, so don't go into the comments and just hate on Windows completely. Just a little. The main post is for the main hate. Deal with it. And I know that someone is going to come at me "Ohhhhh, you need FUCKIN LIIIIIIINUUUUUUUXXXXXXXX!' Want to know my response to that?
No.3 -
Recruiter answered me
Rejected
They decided to choose another candidate because... [the reason will be announced at the end of this rant]
...
I was working on my project
I am learning new tech
And shitting 10 times a day from these jobs and recruiters, the usual me
HE the recruiter contacted me a few days ago
HE offered me nodejs position
I AM the one who was HONEST and told him i dont work in nodejs i work in java
HE then continued the conversation
HE offered me a java spring boot backend position
I AM the one who read the requirements
🔥🔥🔥
REQUIREMENTS: 3+ years of experience
🔥🔥🔥
I AM the one who told him i have 5+ years of java spring boot and 8+ years of java experience.
HE said great I'll contact the clients and let them know
TWO WEEKS LATER OF SILENCE
"unfortunately they chose some other candidate because they need someone with 10+ years of experience for this role"
---
Are you fuc
Fucking
Ki
Wasting my Fucking time?
You decide to slam into my peace and offer me a job position with ALL THE REQUIREMENTS I FULFILL, JUST TO RANDOMLY REJECT ME FOR AN INVALID FUCKING REASON?
If i said i had 10 years of experience
They would reject me because i dont have 15+
If i had 15+ years of experience i would get rejected for not having 30+
If i had 30+ years of experience fucking your whole family and bombing them to dust like in palestine till their bones die and worms eat your fucking down syndrome brains, they would say i need 160+ year of experience
Fyck you
Truly.
From the bottom
Of my fucking balls and cum
From my fucking dick
From my fucking shit and asshole
From my vomit
I wish you death.
I wish karma to kill all of their family members (the clients who rejected me) slowly one by one. Final destination accidents type of deaths. Truly i hope you and wish you the worst.
[Here the intro continues]
I will repeat again:
- REQUIREMENTS: 3+ years
I have:
- 8+ years
They rejected me because:
- I don't have 10+ years
I told all of this to recruiter now. Politely but because im losing my patience i was very very passive aggressive with my response. In the context of
1. I TRULY dont give a fuck for your rejection (which is the truth)
2. Your clients are low IQ dumb as fucking retards because they choose people based on the YEARS OF EXPERIENCE
3. Explained him: IF YOU ARE SO FUCKING STUPID TO UNDERSTAND THIS COMMON SENSE, I'LL EXPLAIN IT TO YOU: CHOOSING DEVS SOLELY BASED ON THE YEARS OF EXPERIENCE MEANS YOU ARE FUCKING STUPUD. There are devs with 2 years of experience who are WAY smarter better efficient and more knowledgeable than some devs with 5-7 OR MORE years of experience. Thats because some people progress better faster or more efficiently in 2 years while others need 5 years. Etc. You're fucking stupid as shit for this sole decision
4. Indirectly let him know that i am not pissed off for rejection. I am pissed off for my time being FUCKING WASTED.
5. Also pointed him out: your job description says its looking for a dev with 3+ years of experience i told you i have 8+ and you reject me because I don't have 10+. Are you Fucking stupid? Fuck you. Truly fuck off. Get the fuck off my dick and eat the shits i shit straight out of my asshole. I'll shit in your fucking mouth you fucking bitch. Your wife also probably fucks some other guys while you're at work and she doesnt respect you or love you. In the matter of fact give me your fucking wife/gf and I'll Fucking fuck her to death
To the clients once again: Truly i hope Hamas fires a missile at israel but misses and hits your fucking home and your whole fucking family blows up to atoms and particles. Completely erased from existence.14 -
So I have this dude I work with that I will call Jim. When I take a walk at 3pm I will often see Jim outside on his phone. I have started making "pssst" sound every time I see Jim. Many times I have snuck up on Jim and made the "pssst" sound and scared the crap out of him. He in-kind tries to scare me. He is not very good at it. I realized today I may be creating a Pavlov response in Jim to the "pssst" sound. He always makes the "pssst" sound back at me. He "has" to make the "pssst" sound when I do it. I think in addition he may be getting the conditioned response of being scared to the "pssst" sound.
TLDR; I love scaring the "pssst" out of Jim.4 -
The moment you realize that you have successfully beaten reality with your unit-tests...
There are unit-tests for ...
... the api returning a 408 Http StatusCode when an internal request times out.
... the react app take this status-code and fires an action to display a specific error message for the user.
Every bit of code runs just fine.
Deploy this hell of an app on the server. Dandy Doodle.
Do a smoketest of the new feature.
FAIL!
Chrome starts to crumble during runtime. The api Request freezes.
Firefox takes the 408 api response but fails to interpret it in react app.
So I began to wonder, what the hell is going on.
Actually I recognized that I had the glorious idea to return a clientside error code in a serverside api response.
Glorious stupidity :/
Finally I fixed the whole thingy by returning an 504 (Gateway timeout) instead of 408 (Clientside timeout)
Cheers!2 -
When I realised ruby on rails doesn't serve requests fast enough. It's response times are in 100s of milliseconds while the corresponding framework in elixir serves requests that are sometimes around 100 microseconds
-
No matter how many times, or whichever way I explain, he still doesn't get it. Are people so fucking blinkered they do not want to listen, or even read what you write. Back story, produced some web design visuals for a client, and fortunately he had the good sense to listen and employ a copywriter. She had the first draft done when i was putting together the styling, so i placed actual copy on the visuals. 2 weeks pass, still no answer. I send the same email to him, every 4 days and cc his PA for good measure. Finally, he says he wants to make some tweaks to the copy. I explain that any copy changes can be done via the CMS once the site is built, and can I proceed and build the site? He replies I need to make changes to the copy first. I explained again about the difference between the visual and the actual website, same response. You Fucking Infuriate me! Cunt!
-
I think the one of the more common reason for imposter syndrome is that a lot of smart people constantly get told as children the "you're so smart/capable, you can do everything!" too much, and when you hear it enough times, it gets to you, so you think everything is just easy. And then when they start hitting roadblocks, instead of helping or explaining that it's normal for things to be hard and it's normal to fail, usually parents and teachers and whatnot tell them "Oh it's okay, don't worry about it, you're smart, you'll get it" and so they at first it works, maybe it just takes more time but they manage, but as things get harder and they still put little effort because "don't worry, you're so smart, you learn so fast/easy" and as they find out more and more things they don't umderstand or don't know they start to feel a dissonance, which builds anxiety.
And this is where I thinks it actually starts: at some points there comes a situation where they either share this anxiety with someone or someone notices their worry, and(at least from what I've seen from others) usually the response they get is something along the lines of: "Nah, you're just worrying too much, you're smarter than you think, don't be so down on yourself, you need to worry less", which, maybe I'm wrong, but I'm not sure telling someone that thinks he has a problem that he doesn't have a problem, helps their worrying.
And on one hand the amount if things they don't get/know/understand or fail at grows(cuz you can't just be good at EVERYTHING, so the more things you know about, the more things you don't understand) while mentally still being in that "Wait a minute, you're smarter than this, you should be getting this!" mindset that's been drilled into them, and so at some point the illusion shatters, and they start to think "Maybe I'm not so smart after all", and because they think they were wrong about their level, they feel like they have "oversold" themselves in the past and that makes any past accomplishments feel like lucky accidents instead: "If I'm not actually smart, the things I did manage to achieve must've been just accidental", which makes them feel like they've lied to themselves and everyone else when they "took credit for an accidents" and that their life is just a snowball of pretending.
Now, is that actually a cause or is it another one of my crazy 1AM ramblings? I don't know xD
I'm not an expert in any of this and I don't really know any psychology so hell if I know if that's how any of this works but that's just my theory of one of the reasons why. *shrug*. I've had this theory for years, but I don't know.
It at least makes sense to me, but not everything that makes sense is true soooo.
Anyways, wall of text is over.
Oh, and for anyone struggling with imposter syndrome: I just want you to know, it's okay to fail, and it's okay to not know shit, especially in the dev industry where every "insignificant" detail can have an entire rabbit hole of expertise behind it, nobody can expect to know every part of it. And it doesn't make you any less smart no matter how much you fail. Tnis shit is hard, so I hope you stay strong and I hope you succeed in whatever it is you're struggling with.
*Massive virtual hug* <31 -
The reviewer said one of the code lines was indented wrong and move four spaces to the left so rather than arguing I did, then his response was..."Sorry, I meant three."
He was wrong both times and it should have been to the right...an if else the previous dev hadn't indented.
That seems like a lot of drama for some spacing.2 -
My Boss Abuses me, should I leave my job?
I overheard this tidbit on a bus recently. Okay I'm lying. But in the great spans of
time I've spent reading "dear annie" type articles, many involving how often my meth head step dads beat me while growing up, or in turn how often *I* beat me (oh yeah)..I've come across this in one form another, this, and other dumbfuck questions from the stuttering meek and halfhearted.
They say there are no dumb questions. Well, like that guy who smoked too much weed and
asked "what is the sound of one hand clapping?" (fap fap fap), there are in fact dumb questions.The world is overflowing with them, like a clogged shitter full of tacobell and glitter covered brown gutter wisdom. And it smells like roses, if roses smelled like shit.
Questions like "How do I make sure my cats don't feel lonely once I have my first child?"
I don't know, they're fucking cats. Did you even google this before asking?
Or
"How to make spaghetti?"
Really, is this question written by a bot?
"What is the best javascript framework in year x?"
All of them and none of them. Welcome to hell.
"Whats your favorite color?"
My answer: I'm not five years old any more. And obviously you are. Why are you on this site instead of eating crayons at daycare?
Yes indeed, this and many more dumbfuck questions await you and can be found on the preeminent quora, amongst other sites.
A place, which censored an eminently reasonable answer of mine (I was totally not being a shithead btw).
I responded in kind by removing a whole mess of long form answers of mine.
What I have learned from the experience is this: Humanity is greatly comprised of many people who, having no brains to speak of, wander aimlessly like beasts of the field, glass eyed and slack jawed, in search of a savior. But their savior came a long time ago, once, and many times before. An engineer, or programmer, or perhaps in another reincarnation a guy parting a sea of koolaid after the local ruler swindled his peeps out of another payment for moving some heavy ass stone blocks, but I digress.
And in response to peoples worries, anxieties, everyday problems and concerns, every one of these would be wiseman, every one of these saviors, leaders, and great men spoke these magic words which resonate now down through the ages like the voice of reason and providence:
"Read the FUCKING manual."
"And don't bother me again asshole." (well this last bit is all me, but I'm sure others said it too.)2 -
Did devrant's backend downsize or something? I came back after a while and the whole app is like, 10 times less responsive, taking ages to load and respond etc17
-
Those who had the "pleasure" of working directly with clients know a thing or two about how a clumsy communication can have grave consequences.
Software developer and an Imgur user BackDoorNoBaby shed some light on these humorous situations and misunderstandings that often occur with clueless clients. Because we all have our niche interests and specializations, and it’s easy to sneer at the plebs who just don’t get it. To be fair though, dealing with unrealistic demands by clients who have no real understanding of what you do must get pretty frustrating at times, and if you work in IT, you’ll surely have come across at least one of these situations before.
What we have here are the daily trials and tribulations of an IT worker. Clients that read the latest trends in a tech magazine and want it right now. Business people who think that because they have the money, solutions should magically materialize. Clients that complain about something not functioning properly, when they clearly don't have a clue how to use it properly. We all know this kind of clients, and these kind of 'horror' stories are part of what makes working in IT so special. Sometimes humour is the only suitable response.2 -
I swear the God I'm considering getting a rabied dog just to bite your balls off in case I ever see you in the streets..
- guys X are running load tests on env A
- load tests complete
- analysis of test results is being done
- slow response times are obsered
- someone asks whether X guys took a thread dump for further analysis
- a guy from team X (Mr. Xx) replies: "Will take the Thread Dump now."
- 10 minutes later uploads the whole fucking 2GB log file to Slack
- Xx replies: "I do not see anything wrong in the dump"
A fucking retard... Shove that useless dump up your ass and THEN tell me there's nothing wrong with it! Why the FUCK do you think that's the case? Moron1 -
never before have I been happy to be asked to work overtime, but for once, fuck yeah...
Bit of back story, I am tech lead on a massive project that has been run like a complete shit show, the PM who also happens to be the brains behind the project seems to think we are miracle workers and for the first 9/10 months of the project would make significant, like delete a weeks worth of code and start over changes, 3-5 times per week. There are features for the v1 release that have been built in excess of 5 times. I have been saying since October that even without all his constant changes, we will NOT make the deadline, and naturally as is part of my job I argued against every unnecessary feature he tried to implement, eventually he pulled me into a meeting to tell me how much he values my opinion, I need to stop arguing with him and he does not want to work with yes men (I have a rant about that convo already).
I believe our CEO finally started smelling a rat as he insisted on joining our daily stand-ups, during which said PM scripted some lovely stories to disguise the fuckup we are in, and since has assigned another PM to take over and do proper project management and risk analysis.
That is where the email comes in, a lot of the work assigned to me will miss the deadline by a month, honestly I am impressed that it is by so little and so few people will not be missing it, but anyway, he probably spun a few stories there too.
So I spent part of the work compiling the most perfect surgical response as not not actively throw him under the bu, but create a quite a few questions that they hopefully as, as himself and the CEO where cc'd into the mail.
And the jist is, the deadline itself was still impossible and 8 of the 10 tasks assigned to be have ZERO back-end whatsoever, and those tasks are about 80/90% integration to said non-existent back-end, some of those services and data structures have not even been planned yet and we are a week past the deadline and 3 weeks from the just as useless extension. -
How am I supposed to work in an environment where the backend crashes and is unavailable for 20 minutes multiple times a day and when it does work the average response time is 3000ms??1
-
I wanted to create a messenger bot.
Time to create the bot: 15 minutes. I test it, everything works, I send request, receive response, and so on.
Time to embed it inside a messenger app: 3 fucking hours.
SERIOUSLY GUY, AND I ALSO FAILED, I DON'T UNDERSTAND A SHIT SO FUCKING MUCH BUREAUCRACY I SWEAR GETTING A VISA FOR CANADA IS 1000 TIMES EASIER.
What is a send/receive? What have I to pay for? Why I need to be a USA citizen? Why I need approval? Approval for what? Why you say I configured the app correctly if you never call the Hooker? The hell I've to do? Aaaaaaaaaa3 -
Working from home via RDP. The lag kills me at times, you delete something, nothing happens and suddenly it's all gone. It's like I'm communicating in outer space with a super slow response time! Arrghhh!4
-
fuck the guy that writed the api that I consume at my company
he's not the worst guy ever, and he might be going through some stuff in life, or maybe he's just happy. There's no way to know actually.
but fuck him. fuck this fucking guy. fuck him with a thousnd dicks.
this guy defends his postures on the api like this thing was fucking sacred and masterly designed ok?
if I ask him to change one url's method from get to post so that I can send more longer data for the request, he comments "i cant believe they still haven't figured out a get request with a body". I appreciate him caring abkut the correctness.
but this is the same piece of shit that makes NOOO fucking validations on whatever I send to it. I get 500 for fucking EVERYTHING.
And if he does 400, the actual response messages are garbage, the same fucking text with no explanation.
FUCK YOU!!!!!!
I hate the way he structures the names of the url and the parameters, sometimes I have to send arrays of strings, other times arrays of objects, the naming is garbage and INCOSISTENT.
And when we asked him to do the API dotnet core, he was like "nah" FUCK YOU FOR USING SOON TO OBSOLETE TECHNOLOGIES!!!
THIS PIECE OF SHIT IS SLOW, because a coworker did another spi in core and the response times are hugely better.
I wouldnt mind if he was 100% of the time careless, but he actually makes a stand for his ideas, as if he actually gave two shits.
he's actually an ok guy though but... fuck hiim!!!! ive been holding onto this for a while... and I'm sure I have some flaws too.7 -
I'm curious about your opinion and response on using OctoberCMS to build a news & media publishing website like Times, TechCrunch, Mashable, The Verge etc.
I don't wanna ask which stack/tool to use nor I have any tech specific nitty gritty issues yet. However any type of response is warmly welcome.6 -
been about two weeks since my rust journey begin, and i've got to say, i love it. web frameworks with static type checking; amazing, standardised package manager; what a breeze, and macros; despite stating that i don't really see them as useful in earlier posts, they are really helpful. as well, in response to the slow "cold-start" build times, it's the price to pay for top-of-the-line compilation-time error checking. rust is amazing)3
-
Optimizing my RESTful API plugin, used in a CMS to make it headless, was extremely satisfying.
Thanks to caching and alorithm improvements, I brought the response times down by a factor of 150.
The caching also includes dependency tags thus it will automatically invalidate on changes in the dependent element.1 -
So I found a bug in Azure's alerting platform that means we cannot use response time as a condition.
A month down the line after having raised a support ticket, recreated the bug multiple times in different resources, being told a fix had been made, bouncing emails around to supervisors and having the case moved to other people they finally have come back to me saying they have the real fix.
Done with it4 -
Was hoping someone with experience can provide insight or advice on this. It's a long one, so thanks in advance to everyone who took time.
Received a great job offer a few weeks ago and was told I'd get a contract in January. They seemed pretty switched on about the kind of problems I might be facing and even raised my asking price, so I'm definitely not interested in looking elsewhere.
However, I started getting interview requests Thursday last week, one of which is for next Thursday.
Received and signed contract on Friday. Haven't received copy with employer's signature yet, but it's still early so np yet. However, I still haven't replied to the interview requests.
Should I turn down the requests or accept them and hope I get the contract back in time to cancel? I mentioned to the recruiter that I was receiving interest from other companies and I wanted to seal the deal with this company, but didn't receive response yet advising me whether it's cool to keep my options open.
I don't wanna look dodgy to the dudes I signed with in the unlikely event they find out I accepted interviews. I also don't wanna come across as combative or a pain to work with by pressuring them to sign soon.
However, I also don't wanna have a panic attack in the middle of revision season if I don't hear from these guys for a week (they get pretty busy at times). I feel like I could be sentencing myself to short-term anxiety (and I'm already anxious af in final year) if I start turning down offers before I have a signed contract.
Thoughts?4 -
Recently I have had to help our support team handle a variety of embedded development support tickets for a product line that is quite complex in nature. It is really starting become frustrating how common it is that the so-called “developers” that are using this product are so incompetent at requesting help in a proper/sane way. It is even more frustrating that some of these schmucks start acting up and stating bullshit statements like (para-phrasing) “OMG we have a ‘big opportunity’ and a deadline to meet”, “you need to help us faster”. These are also the same guys that are like “I know you have a free SDK that does everything correctly, but I want to write my own ‘pro’ driver written in my own ‘dumbass code style’. Oh and I am not going to follow documentation and not implement required functions and make you read my god awful code snippets to find out what I what I did wrong instead of reading the docs or comparing against the SDK.”
To anyone that behaves this way...fuck you! Just stop. Stop being a developer altogether. If your “opportunity” is so important, why the fuck are you half-assing your support ticket? Why are you making it SO DAMN DIFFICULT for someone to help support you! Give as much info as possible to prove your point or provide context to the problem you are having. In the majority of these tickets the dumbasses don’t even consider that relaying the product’s firmware version is relevant information, that a Wireshark (and/or logic analyzer) capture can be very useful to provide context to the type of operation being performed. Code snippets can be nice but only if there is sufficient context. We have had to ask one guy 3 times already for the FW version...what the flipping hell is wrong with you?!
Ug...I feel sorry for Support/FAEs sometimes dealing with customer bullshit drives me nuts and its a shame this stuff happens in a sector that should know better...Please don’t be like these devs. If you make a half-assed request it is only reasonable to expect a half-assed response and nothing more. -
Hey guys, who has experience with JPA/hibernate RESTful performance numbers.
Interesting would be:
* persistence operations per second, and the response times
* proportion between read/write for a typical rest service
Rightnow i get ~300ms read, 900ms write at 350 concurrent requests. 75% write operations
I more or less ruled out my custom code, problem seems to be hibernate (of course ...😋)
Stack: jetty, jackson, hibernate, mysql9 -
>new feature in application uses external API
>external API has unreliable response times, requires polling to get results, no way to set up webhooks or whatever
>tech lead proposes asynchronous system which will queue up user requests for processing and use websockets to warn frontend clients of finished query results
>higher ups say it will take too much time, make tech lead cut back in scale and treat external API like a regular synchronous REST API
>team dutifully implements feature within the constraints of the new smaller scope
>higher ups try out the feature, find the usage experience is extremely shitty, but don't back down, they only let tech lead scale back to original scope in small increments that still allow new problems to show up
>feature takes up same time or longer, but with more damage to the mental health of developers
At least I'm not in that team1 -
Debugging code that mutates somewhere between returning a response and exiting trough nginx. Dafuq is this madness. It happens seemingly at random.
An async func calls the server that responds in some gibberish madness 1 in 100 times. How am i supposed to debug this! 🤬 -
How many times have u told a company that you will not be moving forward with the interview process bc you accepted an offer... only to have them send you a rejection letter 45 mins later??? 😂😂😂 Happened to me yesterday.
Told 3 companies that.
I didn't really expect them to respond, just wanted to let them know.
First company: No response.
Second company: Wished me well and thanked me for the update.
Third company: Sent me a rejection letter.
I'm like, "You guys just couldn't resist, huh?" 😂5 -
Many times in life I experienced situations that are depressing to me yet I'm not partially or totally conscious about it.
I have a very good example that I'm actually experiencing right now: me reporting the progress of a task to my boss and getting no response from him.
He has gone on these "ignoring sprees" in the past already and for the current one, it's been like four consecutive ignores.
I guess it's depressing for two reasons:
1) I feel like my work has no importance or value, which drags me down.
2) Sometimes he also tries to rush which I consider pretty hypocritical of him. because I have to basically not complain about it to not endanger this job relationship my family dearly depends on, I have to shut up and feel frustrated. (keep in mind i'm a south am person working for a us company and I was very lucky to get this job).
For some reason I just don't notice as easily how awful it makes me feel, but I wished I could fucking tell this straight into his fucking face:
You wanna be a boss? Be a fucking boss and check on my fucking progress.
I'm considering getting into security and going for bug bounties online. -
the last several times i reached out to support there were at least 5 days of tumbleweed and cricket noises. fine with that while not accessing personal mails during the week. last time i got a response the next day with request for more information and case closed the other day due to lack of response. well played...
-
I have been working on this whole day but is not able to find a way around this.
I want to create an xsd from a given Python class. I want to automate this process and we have a bunch of such classes.
What I have found numerous times today is "How to convert XSD to Python class " for which there are bunch of libraries such as PyXB and generateDS.
Asked a question on stack overflow but there is no response.
Can anyone help me with this2 -
Partial thoughts, are thoughts that sound like they should have more to them. However they are intentionally left short to create a sense that more is to come. This creates a state of anxiety in people and their desire for closure. The sentence is more effective if you say the last part of the sentence with an increasing pitch. This indicates there is more to the story. When in fact there is no more to the story.
Here is an example:
"I saw this guy walking down the street..."
People will automatically assume there is more to this story. So they will say something like, "And then what?" The response is: "That is it. That is what I saw." This is the peak time of frustration. They may even argue with you or storm away. Be prepared to be called names.
There is actually some history behind this.
...
Hehe, no, I am not going to leave you high and dry. In high school a dude I knew would always make fun of my friend. So I started doing these partial stories to the dude. He would get mad and storm off each time. I would do this several times per day. So it can be a tactic to deal with difficult people. -
There is a question on StackOverflow, its name is "How do I return the response from an asynchronous call?". I think that everyone knows it. Well, I can easily guess that half of javascript questions on the website are marked as duplicated and linked to this question.
For a moment, let's identify with the people that spend hours on StackOverflow to read all the questions and try to answer to most of them. How stressing and annoying can be repeating the same single thing 50 times a day?
Well, we should take this in account before blaming SO for being rude or before saying that JavaScript sucks without even knowing how to fucking listen to the response on an asynchronous request3 -
Guys I need to deploy a very simple authentication API service.
You register with a username (actually an ID with a determined format), a password and uuid. You login with your username and password and if credentials are correct you get back the uuid as a response (JSON or whatever the fuck).
If you forget your password, you can use your uuid (which is confidential, very long string) in some POST request to set a new password. If you forget your username, you use the uuid again in a GET request to get back your username.
I've been looking at a bunch of solutions online and I don't think they suit my purpose exactly and all require emails (Like Firebase, AUth0, etc.) So, let me get this straight: NO FUCKING EMAILS INVOLVED PLEASE.
The above are the EXACT requirements I need for my work (for a good cause too). I fucking hate 0-requirement exploratory research tasks and I'm plagued with those. Those requirements are the only way it should work. So again, NO EMAILS INVOLVED PLEASE.
Also, please note that I have never developed an API in my life. I feel like StackOverflow will be assholes about this so I am asking this here.
I know it is very easy to do and there are probably dozens of ways to do this. I just do not know how, documentations are vague and overwhelming (or I'm just a little stupid lately). Another thing is that I am not sure of how can I do this in the most secure way. Bonus if this can be dockerized.
I know I sound a little rude,so I am sorry. It is just my frustration and depressing times I am going through that's preventing from thinking straight.6 -
my former client didn't pay me my three weeks salary, I don't know if I deserve it. I got kind of distracted from the past two weeks because I just moved in to a new house and the following week I got sick and got positive of covid, they didn't ask for my time log and I didn't give it, because I was shy I was not able to work that much. I decided to resign because the stress I'm getting from work is starting to affect my health too much physically and mentally. Now, that client didn't pay me my three weeks salary I asked several times and I didn't get any response. Did I deserve that? To not get paid because because I was not able to work that much and I suddenly just resigned? I'm paid hourly, I extended my stay for a week in good faith but still my client didn't bother to pay me... instead of getting more stress from that I decided to move on. But still, it hurts me to think I've spent hours working on a job that would turn out to be free.1