Details
-
LocationSV
Joined devRant on 6/11/2020
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
-
All I'm saying is that if we want speech completely locked down on all social media platforms, simply hire the StackOverflow mods and the problem is solved. Nobody will be able to post anything unless the mods believe it's worthwhile for everyone to read and respond to.
That's it. That's the rant.4 -
I was asked to look into a site I haven't actively developed since about 3-4 years. It should be a simple side-gig.
I was told this site has been actively developed by the person who came after me, and this person had a few other people help out as well.
The most daunting task in my head was to go through their changes and see why stuff is broken (I was told functionality had been removed, things were changed for the worse, etc etc).
I ssh into the machine and it works. For SOME reason I still have access, which is a good thing since there's literally nobody to ask for access at the moment.
I cd into the project, do a git remote get-url origin to see if they've changed the repo location. Doesn't work. There is no origin. It's "upstream" now. Ok, no biggie. git remote get-url upstream. Repo is still there. Good.
Just to check, see if there's anything untracked with git status. Nothing. Good.
What was the last thing that was worked on? git log --all --decorate --oneline --graph. Wait... Something about the commit message seems familiar. git log. .... This is *my* last commit message. The hell?
I open the repo in the browser, login with some credentials my browser had saved (again, good because I have no clue about the password). Repo hasn't gotten a commit since mine. That can't be right.
Check branches. Oh....Like a dozen new branches. Lots of commits with text that is really not helpful at all. Looks like they were trying to set up a pipeline and testing it out over and over again.
A lot of other changes including the deletion of a database config and schema changes. 0 tests. Doesn't seem like these changes were ever in production.
...
At least I don't have to rack my head trying to understand someone else's code but.... I might just have to throw everything that was done into the garbage. I'm not gonna be the one to push all these changes I don't know about to prod and see what breaks and what doesn't break
.
I feel bad for whoever worked on the codebase after me, because all their changes are now just a waste of time and space that will never be used.3 -
Well, our board dedicated to On call has so many tickets that given the rate our team is going, it'll take 30+ years to finish them all.
Oh and it keeps growing -
My colleague wanted me to examine a script issue. I open it up, and it took several minutes to comprehend how it worked. Once it finally clicked:
Me: I can’t decide if this is idiotic or genius.
Colleague: Well, YOU wrote it.
Me: Oh… Genius it is, then! -
In an unexpected turn of events, it appears as if years of choosing fancy bullshit over code maintainability will cause said fancy bullshit to eventually break and no obvious way to fix it. There's no way anyone would have seen this one coming.3
-
Nothing like client requesting "Hey can you add a virus scan for every goddamn file in the pipeline ? (We don't know what antivirus software you can use, neither do we know what are the consequences of this virus scan failing. We also don't know why a system admin is not doing this server wide instead of a software Dev doing it for this specific individual component. Heck we don't even know why do we need the virus scan in the first place) You might need to think 'outside the box'. Let's hope this is done by 12th Jan. Regards" on a Friday goddamn night
They probably even expect me to write my own antivirus software instead of paying for one
Why is industry like this ? Is there really any polite way to deny this ?15 -
My boss is still forcing us to support IE11. Recently, we started having even more bugs with one of our vendors on IE. We filed bug reports with the vendor to fix it, and they came back with "no. Why would we fix anything for IE11? Not even Microsoft is fixing anything for IE11." Boss's answer: well, let's make a separate component for IE11. Probably using flash and/or silverlight. We asked about redirecting IE traffic to Edge, he said that's "the nuclear option." So, doing the thing that Microsoft suggests, that involves not much work at all is "the nuclear option"; ignoring industry standards and recommendations, introducing well known security vulnerabilities, losing money, and trying to circumvent the vendor that serves out our major product, however, is totally reasonable. Our IE traffic is less than 3% of our users at this point.24
-
I. FUCKING. HATE. MOBILE. DEVELOPMENT.
I already manage the data, devops, infra, and most of the backend dev.
We had a mobile guy. He was great. I never had to think about it and kept moving quickly on my work. #SpecializationOfLaborFTW
He left. Why? Because they wouldn't give him a small raise despite being one of the best mobile engineers in the firm. WTF.
I made the mistake of picking up just enough slack on this workflow in the interim such that I'm, apparently, the fucking god-damned release manager, fixer of pipelines, fixer of build configs, fixer of anything where someone just needs to RTFM for a half-hour to not fucking break things.
Now, 8 months later...and, apparently, Fortune 500 companies are too fucking god-damned cheap to pay for someone who actually knows WTF they're doing for a very reasonable thing to have at least one dedicated set of eyes for.
I never wanted to be a mobile dev.
I never will want to be a mobile dev.
And I certainly don't want to manage your HALF-FACE-FUCKED detached expo configs.
There's a reason I never intentionally involved myself in mobile. All the way down, it's just shitty cross-compilation, transpilation, dependency-hell, brittle-as-fuck build processes so we can foot-gun and mouth-gun react-native and expo and babel and whatever the fuck else cargo-culted horseshit into the wild.
And why? What's the actual fucking root cause? The biggest white elephant that ever fucking elephant-ed? It's because Apple and Google decided to never collaborate on a truly-native cross-platform SDK--where engineers could write native code that compiles to native binaries that's simply write-once, run-everywhere. They know they could have done that, and they didn't. So what'd they get back? Expo--a too-cleverly-designed backdoor/hack--more-or-less a way to circumvent the sane release process software has usually followed: code -> executable -> deploy. Or code -> deploy (for interpreted langs). Expo's like "keep your same executable, we're just gonna to do updates by injecting new code into it whenever we want". Didn't we learn anything with web? Shit gets messy real quick? Not to mention: HEY EXPO, WE WERE ALREADY BUILDING NATIVE APPS, YOU SHORT-SIGHTED FUCKS. THANKS FOR LURING OUR CTOs INTO FORCING EXPO DOWN OUR THROATS W/ THE IMPLICIT (BUT INCORRECT) TOO-GOOD-TO-BE-TRUE PROMISE THAT WE CAN HAVE WRITE-ONCE, RUN-ANYWHERE WITHOUT ANY BUY-IN OR COOPERATION FROM THE ACTUAL TARGET PLATFORMS.
And, we just, like, accept this? We all know it's garbage engineering. The principles we learned in the classroom aren't just academic abstractions--they actually yield real-world results--and eschewing them yields real-world failures. Expo is tightly-coupled to high-heaven, with leaky abstractions six-ways-to-christmas, chock-full of foot-guns, and fails the most basic test of quality: does it, "just work?"
Expo is fucking shameful and it should fucking die. Its promises are too bold, its land-mines too many, its future-proof-ness is alway, always, always questionable as fuck and a risk to every project that uses it.
You want a rant? This is my fucking venue, 'tis not? Well, then this is a piss and vinegar rant straight from my blood-red, beating fucking heart:
EXPO FUCKING SUCKS. AND IF YOU'RE A FAN, YOU FUCKING SUCK TOO.27 -
I once worked until 8am to get a demo ready for a client of the client. I knew the client was a bit thick, so I made some comprehensive video demos and sent them over to him, to save him trying to demo it himself. I wake up at 11am with him screaming down the phone at me:
“It doesn’t work, none of it works!”
“What do you mean?”
“I go to login and I can’t enter anything.”
“I haven’t sent you anything to log into...wait, are you trying to log into a video? Tell me you’re not trying to log into a video of a login page.”
“Uh...oh hang on, it just worked. Ok no pr-“
“No wait, what do you mean it worked?”
“I logged in fine.”
“It’s a video. You can’t log into a video.”
“Uh...alright, bye mate, thanks!”
The moral of the story is: never assume any level of intelligence on the part of a client, even if they exhibit signs of it at first. If they are paying you they will forget how to tie their own shoelaces.10 -
Got reminded of this job search bullshit they say after interviews, when they say you're not "fit for the culture" but they want you to be "challenging the status-quo".
Like, take a fucking pick. Either you want someone who follows and fits in, or you want someone who innovates and stands out. 😒6 -
I guess I can do one of these a day or so. I've collected some novelties over the years.
First up is a Curta mechanical calculator. Before electronic calculators became a thing, these were the best portable calculators in the world. Notably, they were the calculator of choice in rally car sports.
They work by a series of helical gears that act as registers. A series of internal gears and value assignment switches apply an adjustable number of incrementations to those gears, multiplying gears and the tracking gears, once per "grind." The result is output as a number on top of the device. The "clear register" function is lifting the top ring, which releases the reverse lockout on the gears and a clockwise turn on the ring then resets them to their zero state.
They were designed by Curtz Herzstark, partly before WWII and partly while he was imprisoned in a Nazi concentration camp. He had filed a patent for it in 1938, shortly before his family's manufacturey became a weapons factory. During his imprisonment, in addition to nearly starving to death, he completed his plans for manufacturing of his calculator.
It had fun names like the, "pepper grinder," and "math grenade."15 -
Today my manager asked me about my research into using RabbitMQ as a backup in case Azure Service Bus ever goes down.
Me: "Good. The way we designed the framework, all we have to do is drop the DLLs into the directory, update the config, and the services will start using RabbitMQ."
Mgr: "Excellent. Probably should be looking into using RabbitMQ as a permanent replacement for Azure"
Me: "What? The whole reason we moved to Azure was to eliminate the problems with having an on prem service bus. Since we've switched, there has been zero downtime."
Mgr: "That's what VP-Joe is afraid of. If Azure ever goes down, he won't know how to explain Azure to the president as to why we're not taking orders or can't ship packages."
Me: "That makes no sense. What did VP-Joe tell the president when a database goes down or a server mis-configuration?"
Mgr: "President understands internal outages, its just the whole 'cloud' thing he doesn't understand."
Me: "Um..then VP-Joe needs to explain it to him?"
Mgr: "The decision has already been made. Are you on board? Lets look at this move as a cost savings."
Me: "You mean the $10 a month? How much hardware will we need to support RabbitMQ?"
Mgr: "Yea, nobody probably thought of that."
Me: "I'm on board with whatever decision, but I'd like a little more than VP-Joe being afraid of the president."
Mgr: "I'm sure its not being afraid."
Me: "..."
Mgr: "OK, lets wait and see if VP-Joe forgets about this and moves on to something new."4 -
Been busy, received this book today. Got some time and reading it on this nice evening.
I have no review as I’m still reading it.2 -
Start up leadership advice:
Believe your employees when they say they feel a certain way, or saw there's a problem. Fight the urge to defend what you're currently doing that may address it, and just hear them out.4 -
Most painful code error you've made?
More than I probably care to count.
One in particular where I was asked to integrate our code and converted the wrong value..ex
The correct code was supposed to be ...
var serviceBusMessage = new Message() {ID = dto.InvoiceId ...}
but I wrote ..
var serviceBusMessage = new Message() {ID = dto.OrderId ...}
At the time of the message bus event, the dto.OrderId is zero (it's set after a successful credit card transaction in another process)
Because of a 'true up' job that occurs at EOD, the issue went unnoticed for weeks. One day the credit card system went down and thousands of invoices needed to be re-processed, but seemed to be 'stuck', and 'John' was tasked to investigate, found the issue, and traced back to the code changes.
John: "There is a bug in the event bus, looks like you used the wrong key and all the keys are zero."
Me: "Oh crap, I made that change weeks ago. No one noticed?"
John: "Nah, its not a big deal. The true-up job cleans up anything we missed and in the rare event the credit card system goes down, like now. No worries, I can fix the data and the code."
<about an hour later I'm called into a meeting>
Mgr1: "We're following up on the credit card outage earlier. You made the code changes that prevented the cards from reprocessing?"
Me: "Yes, it was my screw up."
Mgr1: "Why wasn't there a code review? It should have caught this mistake."
Mgr2: "All code that is deployed is reviewed. 'Tom' performed the review."
Mgr1: "Tom, why didn't you catch that mistake."
Tom: "I don't know, that code is over 5 years old written by someone else. I assumed it was correct."
Mgr1: "Aren't there unit tests? Integration tests?"
Tom: "Oh yea, and passed them all. In the scenario, the original developers probably never thought the wrong ID would be passed."
Mgr1: "What are you going to do so this never happens again?"
Tom: "Its an easy addition to the tests. Should only take 5 minutes."
Mgr1: "No, what are *you* going to do so this never happens again?"
Me: "It was my mistake, I need to do a better job in paying attention. I knew what value was supposed to passed, but I screwed up."
Mgr2: "No harm no foul. We didn't lose any money and no customer was negativity affected. Credit card system may go down once, or twice a year? Nothing to lose sleep over. Thanks guys."
A week later Mgr1 fires Tom.
I feel/felt like a total d-bag.
Talking to 'John' later about it, turns out Tom's attention to detail and 'passion' was lacking in other areas. Understandable since he has 2 kids + one with special-needs, and in the middle of a divorce, taking most/all of his vacation+sick time (which 'Mgr1' dislikes people taking more than a few days off, that's another story) and 'Mgr1' didn't like Tom's lack of work ethic (felt he needed to leave his problems at home). The outage and the 'lack of due diligence' was the last straw.1 -
Today I have encountered some interesting piece of code:
In order to make a button disabled, the text of that button is assigned a grey color.
And in the click handler, there is a check if the color of the text of that button is grey, then return from it and do nothing.
That might be the ugliest hack that I had ever encountered 😆11 -
Took a week of PTO for a vacation because I'm pretty close to spent these days. Planning on getting in some kayaking and fishing I think, maybe some noodling on the guitar or read some Tolkien, as I really need to take a break from the computer and screens in general, and living in the latest COVID epicenter in the US I can do fuck all else.
I'm /really/ trying to force myself to ignore slack and work emails. I did all I could to leave my team prepared, and given that most are juniors who need A LOT of supervision since working remote, I fully anticipate having to fix everything and get shit back on track when I return next week. Telling myself it's inevitable so worrying about it now won't be any better than waiting till next week. LEARN TO READ CODE AND COMMIT HISTORY FUCKERS!
I know I have a full workload slated for the rest of the year and into Q1 21, so I know letting shit go for a little while is the best thing I can do for myself, and so that my family doesn't have to deal with me being a bastard all the damn time.3 -
The dev.to code of conduct is irritating.
Direct quote:
We pledge to prioritize marginalized people’s safety over privileged people’s comfort. We will not act on complaints regarding:
- ‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’
...what?12 -
Last week I got told by an incoming CTO, a week old to the organisation, that I'm good for nothing and unable to produce any work. He told me that he'll replace me and put me in a team where I'm more resourceful as I have been consistently underperforming. (He doesn't understand data science yet fyi) Then, he informed he's hiring 5 new teams members.
Me (junior data scientist) being really passionate about work was shook to hear this. So much so that it took me a week to even recover from it. I have considered counselling sessions too.
Week later, 5 new team members decide to flip his offer and not join. Another existing senior member decides to leave as well. Meanwhile, major issues in existing systems emerge and only I could solve the same. Still haven't heard back any from him though.
Is this the industry standard though ? Is this how CTOs normally function ? Throwing shit at people without knowing their value or valuing their efforts ? Especially with junior developers. It's only been 2 years in this profession and I've not met more than 3 genuine and helpful people. Maybe it's just my organization.9 -
Honestly, I've never even given a second thought to the use of the terms "whitelist", "blacklist" or "master". I mean, I'm not against this change in any way, but I'm also not sure if these terms are commonplace because they stem from racially charged meaning or not. Guess my privileged ass has never given it much thought.
https://zdnet.com/article/...9