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 - "damn legacy"
-
This bitch at work is afraid of hard work and is currently spending more energy fighting the work than just doing it.
She wants to keep a legacy setting that's on the wrong scope -- per merchant, not per payment -- in addition to the setting I've added on the correct scope. She's bringing in management two levels up all because "I've already moved on from this" and "it will require me to write code quite a bit" (first paraphrased for clarity, second is an exact quote)
Bitch, your way is dirty as fuck and is going to break things. Roll up your sleeves and do your damn job!11 -
I had a manager who was a complete incompetent idiot (other than a fucking backstabber). He left the company ~3 weeks ago, yet I believe it would take 5 years to get rid of his legacy.
Today I discovered that one of his "genius ideas" led to the loss of months of data. This is already bad, but it's even more upsetting given that the records that have been lost are exactly the ones I needed to prove the validity of my project.
That fucking man keeps fucking with me even when he's not here, YOU DAMN ASSHOLE!!6 -
Ok so this happend in the last 3 days, I didn't post it till now because I had to seriously take a rest with all the bullshit and stress that came with it...
(Legacy project I have the lead in called: "Foo")
Monday:
Management decided it would be effective to add a senior and a junior to Foo, which would make (together with me) to be 2 juniors and one senior developer
Well I've spend most of that day helping both the junior and the senior to setup "Foo" on their local development machines... So I could not do any programming myself
tuesday:
The senior wanted to refactor EVERYTHING... and I had to stop him multiple times because we simply do not have the time to do that...
The junior tried to work on other things as much as he could, and after he had run out of things to do, asked me for EVERYTHING... EVEN WHERE TO FUCKING CHANGE SOME GOD DAMN STRINGS!....
Also he did in total 3 commits, two of which existed of my code (because I had to "help" him
wednesday:
Both the junior and senior were removed from the project and I got another senior.. who fucking deleted the production database on accident
god damn rough few days man...7 -
Somewhere in a lonely break room
There's a guy starting to realize that eternal hell has been unleashed unto him.
It's two a.m.
It's two a.m.
The boss has gone
I'm sitting here waitin'
This desktop's slow
I am getting tired of fixin' all my coworkers' problems
Yeah there's a bug on the loose
Errors in the code
This is unreadable
Rubber ducky can't help
I cannot debug, my whole life spins into a frenzy
Help I'm slippin' into the programming zone
Git push to the prod
Set up a repo
My hard drive just crashed
All my code is gone
Where am I to go
Now that I've broke my distro
Soon you will come to know
When you need Stack Overflow
Soon you will come to know
When you need Stack Overflow
I'm falling down a spiral
Solution unkown
Disgusting legacy, ugly code
Can't get no connection
Can't get through to commit
Well the night weights heavy
On my confused mind
Where's the error on this line
When the CEO comes
He knows damn well
To keep his distance
And he says
Help I'm slippin' into the programming zone
Git push to the prod
Set up a repo
My hard drive just crashed
All my code is gone
Where am I to go
Now that I've broke my distro
Soon you will come to know
When you need Stack Overflow
Soon you will come to know
When you need Stack Overflow
When you need Stack Overflow
When you need Stack Overflow, a ha
When you need Stack Overflow
When you need Stack Overflow, a ha
When you need Stack Overflow
When you need Stack Overflow, a ha
When you need Stack Overflow
When you need Stack Overflow, a ha
When you need Stack Overflow4 -
I really, really, fucking god damn it REALLY need to move a legacy project from the grave yard server and get it in git, and then build a dev environment for it, so I can stop making incredibly volatile changes direct to PROD (backend, frontend and DB all at once and then test it while it’s live and being used, but fuck me if I can be bothered digging through a 10GB code base and attempting to make it work in a multi-environment setup when it’s going to be a long trip down the error logs until it works again 😱🔫2
-
Folks...
I think I need to get away from web development...
Honestly, no grudge held against web/mobile development itsef... But the projects, the teams, the workflows... It's always shitty af.
I'm fed up with the bad architecture, poor management decisions, unmaintained legacy code, broken windows, arrogant juniors, arrogant seniors, code smells left to rot, the freaking red door... Hell! The fucking "we don't have time for that" answer to testing... Damn!
Been there done that.
Feels like it's always the same crap and unfortunately, it's rare to start a professional project from scratch.
Fucking angular, broken piece of shit.
Fucking react (& RN) community modules, broken pieces of shit.
Fucking lazy-ass node developers.
Fucking ES and fucking garbage proposals submitted to the TC39.
I wish I could do Haskell / Rust / Clojure professionally... I could even enjoy Go with a good team... Anything but that huge pile of dogshit JS and its community of brainfucked so-called developers.10 -
Yknow, I want to make an android app that I have in my mind for about half a year now and I already tried twice, both with Kotlin and with Java but everytime I try it's just pain and suffering and frustration...
No it's not because of the language, I like Java and I like Kotlin too and I'd say I'm at least decent at Kotlin and really good in Java...
No no.. the issue is the fucking Android SDK and the mix-and-match documentation available online!!!
Every fucking time I want to implement some sort of UI element, user action or a background service and I start googling how to do it It comes with with at least 3 different stack overflow solutions, all of them saying "that way of doing it is deprecated, instead you should X" and looking up the OFFICIAL FUCKING DOCS it will just make me roll up in the corner and cry because of how fucking inconsistent it is and the retarded domain language it uses... fucking transactions for fucking fragments inside fucking activities... because I guess the word "screen"/"view"/"template" or something similar natural just was too mainstream for the all knowing alphabet soup that google is...
And then you start looking up what the fucking difference even is and how to code it up only to find out there's at least 12 other opinions on how fragments should be used and what should be an activity and what should be a damn fragment...
But that's not all, that's just the base... I get a headache even thinking about how the fucking inflating of templates and the entire R. notation works. You want to open a fucking tiny corner menu with the settings options? WELL THEN YOU FUCKING BETTER REMEMBER TO IMPLEMENT IT THROUGH SOME SORT OF EVENT AND INFLATE THE MENU YOURSELF EVEN THOUGH ITS THE SAME FUCKING THING WITH STATIC STRINGS...
AND WHY THE FUCK DO I NEED LIKE 4 NEW FILES TO IMPLEMENT A FUCKING LISTVIEW...
also talking about ListViews... what was wrong with "ListView"... Why do we need a "RecyclerView"... oh right... because the fucks fucked the fuck up and all the legacy components were designed by a monkey and are next to useless! SO WE NEEDED A NEW NAME FOR THE FIXED VERSION, CANT NAME IT LISTVIEW AGAIN... FUCK YOU...
honestly... if I got a dolar for every "what the fuck android" I said during trying to understand that mess I'd be richer by a few hundred...
oh oh oh, but you know what? You don't like the android SDK? that's fine, you can use fucking React or Flutter or something... yeah.. because instead of torturing myself with the android SDK I want to torture myself with an abstraction of the same SDK and JavaScript as the fucking cherry on top... HAVE YOU FUCKING SEEN THE CODE FLUTTER SHOWS ON THEIR WEBSITE AS THE "Introduction" ?!!!
Look at this piece of shit:
[code in attached image, we could really use a proper Markdown support at least for rants]
THAT'S NOT EVEN THE ENTIRE THING, THAT'S JUST THE *REALLY* UGLY PART...
The fucking nesting... What is it with JS and all the fucking nesting everytime?! It looks like shit.... It reads like shit as well...
WHY, in the name OF FUCK, IS THERE MORE THAN 5 ANDROID FRAMEWORKS and ALL of them... used this FUCKING NOVEL idea of programming using A FUCKING BRACKET WALL
It always looks like:
(code(code[code{code(code{code()})}]));
If I wanted to make a fucking app or a website using fucking Haskell I'd do that.... at this point reading assembly code feels like heaven compared to this retardation... Why is this so popular?! WHAT DO YOU PEOPLE SEE IN IT?! Clearly it's not the aesthetics... it looks like a fucking frog vomit running down an emus leg, fuck that.... I don't even hate classic JavaScript, it's a good enough language and it does what I tell it to... but these ugly fucking frameworks like react, angular and whatever else uses this fucking format can go fuck right off. This is not the way JS is gonna get a better name for itself...
So:
Fuck Google
Fuck the marionette that designed the Android SDK
Fuck the Hellspawn the came up with the "functional-like" way of using JavaScript
Fuck everyone that thinks "JavaScript everywhere" is a good thing
And deeply future-fuck everyone that makes a new framework following any of these standards, stucks a .js at the end of the name and releases his hairball.js of an invention into the fucking world....
It's a mess... fuck everything android related...14 -
I just signed up to get this off my chest.
Dear Windows, you god damn moronic, ugly, unuseable abomination of an excuse for an OS. I wonder how we could end up here in this situation. You suck, in every way imaginable. I didnt choose Linux or Mac, you made me do it.
I know no other OS that can screw you up this bad when setting up. My friend is an experienced windows user and the last install took him 2 days. I just spend the last day trying to get this uncompatible sucker installed. I manage to set up an hackintosh quicker than I was able to install Windows the last three times I checked, you scumbag.
Your error messages suck ass, there is nothing I cant figure out given enough time, except your useless hints and pathetic attemps to get anything done on your own.
And you are fucking slow. Just why, do you keep installing stuff I didnt ask you to. Now I got this ugly ass Bing-Toolbar because I missed a damn checkbox in an .exe, which could have also been an exploit, you never know.
You are cluttered with useless stuff. I dont care about you lame ass app store, idc about your cortana annoying spy assistant and I certainly dont care about your forced updates.
Just sit back and feel your PC getting slower every day by background processes. Watch your productivity decline while dealing with their brain dead privilege and file system.
You ugly malformed mutation of software. When I look at your UI I feel disgust while wondering how you can fail with the most basic principles of UX.
How pathetic, badly supported, bug ridden and dangerously unsecure can an OS be you ask while trying to navigate through the settings, a pile of legacy software debt this garbage pile was build on. And your shell... what a sick joke.
I hate you Windows. For screwing other OS with your asshole boot manager, hardware driver requirements and making people send me .zip and .docx. You should be embarrassed to charge money for this unfunctional junk, but you do, a lot.
I really try to see the positive here. You got all the software, but thats not on you, thats because all those poor suckers are trapped with you and the effort to change is too big.
This OS is the most disappointing thing technology could come up with today. I would rather set myself on fire than work with this pain in the ass software professionally. I mean if you are a serious developer at some point you have to admit that you just cant develop on windows. You will get fucked 5 times as often as any Mac or Linux user. Fuck you, Windows.
Hey Microsoft, thanks for Typescript and VSCode and all the other good things you have done. But burn in hell for what you have done to all of us with this piece of shit OS.10 -
Fuck this completely abysmal CMS!!!!
Not even god damn Einstein would be smart enough to understand this stinky pile of legacy code!
No, it's not enough to write an HTML template in PHP with less than 500 lines of code, noooooo, every god damn template HAS TO BE AT LEAST 3000 FUCKING LINES OF CODE WITH RANDOM INCLUDES EVERYWHERE!!!
Every fucking thing I fix spawns at least 2 new bugs! I FUCKING CAN'T!!!
I swear, if I meet these fucking worms of developers... someone will eat fresh turds mixed with puke from a highway toilet!17 -
Damn I'm pretty hard hitting my limits here
My company asked me if I would like to work some extra hours because otherwise they don't make all the deadlines
But damnit asking 10+ hours a day from a junior web developer is quite a lot
😒 Especially if it's an old legacy project where I have to work on...8 -
Let's try this.
In the project I'm working there is an strict rule : NO COMMENTS!!!
I mean wth, the times I've spend hours trying to understand the crappy legacy code in VB.Net that has been there almost decades, that wouldn't happen with comments, I know i know there are some supernatural developers that think in binary and their eyes work as compilers, but I'm not like that, so seriously go to hell.
P.S. Of course I follow that rule, after all, my code is so damn perfect that even a baby can understand it.
jkundefined devops etiquette stupidest pichardo for president stupid stupider stupid stuff jk rant code smells comments3 -
I just have to rant...
7 months ago, I was still a pretty new iOS developer, but finally coming into my own. My boss gave me my first feature ever... a fully custom backend tweaker for our development builds, complete with text fields that devs and testers alike could fill in themselves for whatever they needed to test. I worked harder on that than I’ve ever worked on anything... and I got to make all the decisions on how it looked, behaved, what exactly the user saw/read... everything.
A month ago the most senior dev on my team was asked to update the tool to prepare for a backend migration to a new server. He was then hired to work for Apple, hurried to finish this task, and left forever. (He deserves it, we probably were slowing him down realistically. But that doesn’t forgive the following...)
Unfortunately, he thought it’d be a good idea to remove my entire custom backend tool in the process. Not sure why— maybe he thought it was legacy code or something. He must not have tested either, because the entire backend selector stopped working after that. But that was no problem— I could fix the pre-filled environment buttons just by updating a few values.
It’s the fact that he removed 100+ lines of my custom code from 3 separate classes (including entirely removing one of those classes), for no known reason, and now I have to completely rebuild the feature. Since it was entirely custom, it required no change for our migration in the first place. But he rewrote how the entire view works by writing an entirely new VC, so there is no chance I can just restore my work as it was written.
And in the shared class, he erased every line with the word “custom.” So, so many lines of hard work, now irrelevant and only visible in old defunct versions. And my boss has asked me to “just make it look how it did before the migration.”
I know it’s useless to be angry at a guy who’s long gone, but damn. I am having a real hard time convincing myself to redo all this work. He removed every trace, and all I can think is WHY DID YOU DO THAT YOU FUCKING MONSTER? IT WAS MY GREATEST WORK, AND NOBODY ASKED YOU TO DESTROY IT. THIS WAS NOT EVEN RELATED TO THE TASK YOU WERE GIVEN, AND NOW A SIMPLE TICKET TO RESTRUCTURE A TOOL HAS BECOME A MANDATE TO REBUILD IT FROM SCRATCH.
Thank you for being here, devRant. I would’ve gotten myself into deep trouble long ago if I didn’t have this safe place to blow off steam 🙏4 -
var _self = Object.create(Rant);
Hello devs I'm back
A few months ago I joined a software development company and I was pretty specific that I wasn't going to do support or maintenance only feature development, well, this past 3 months I've been doing dev helping stablish good practices and a better architecture for the app, but guess who is joining a support team tomorrow, they sold me the idea of a refactor team, I was trilled and accepted, now they tell me it's a legacy bug fixing team, damn I hate this crap, hope y'all doing betterrant upvote it i'm back baby pichardo for president bugfixing crap another useless tag legacy support5 -
I just had a new employee, barely out of school, question whether or not we are ready to start a big refactor of an aging legacy system. She knows nothing about the system we are about to attack, barely has 12 months experience as a developer and knows nothing about the past 6 years of countless meetings, discussions and experience leading to the decision to refactor. Still, she's not "convinced" we are ready to get started.
Gen Z - they sure are something different. God damn it, I know it sounds old but where's the fucking humbleness? Spoilt little shits, the world is fucked.7 -
I was working on a new feature for this legacy project.. Just minding my own buisness then all out of the blue I got an email from our client (before the email I exported the live database because I needed to reproduce a weird bug) saying the sync stopped working
<backstory>
The database needs to sync every 15 minutes because it has a master-master relationship with a 3rd party database..
</backstory>
So I was like shiiit! Did I do that!? So I checked the logs, nothing... I called the 3rd part to check if they have problems, nothing.. Then I checked the network logs... Again all fine... 30 nervous minutes later, I got a new mail... Saying it finally synced... Still have no clue what happened or if it ever was a problem... God damn clients man... -
Got one right now, no idea if it’s the “most” unrealistic, because I’ve been doing this for a while now.
Until recently, I was rewriting a very old, very brittle legacy codebase - we’re talking garbage code from two generations of complete dumbfucks, and hands down the most awful codebase I’ve ever seen. The code itself is quite difficult to describe without seeing it for yourself, but it was written over a period of about a decade by a certifiably insane person, and then maintained and arguably made much worse by a try-hard moron whose only success was making things exponentially harder for his successor to comprehend and maintain. No documentation whatsoever either. One small example of just how fucking stupid these guys were - every function is wrapped in a try catch with an empty catch, variables are declared and redeclared ten times, but never used. Hard coded credentials, hard coded widths and sizes, weird shit like the entire application 500ing if you move a button to another part of the page, or change its width by a pixel, unsanitized inputs, you name it, if it’s a textbook fuck up, it’s in there, and then some.
Because the code is so damn old as well (MySQL 8.0, C#4, and ASP.NET 3), and utterly eschews the vaguest tenets of structured, organized programming - I decided after a month of a disproportionate effort:success ratio, to just extract the SQL queries, sanitize them, and create a new back end and front end that would jointly get things where they need to be, and most importantly, make the application secure, stable, and maintainable. I’m the only developer, but one of the senior employees wrote most of the SQL queries, so I asked for his help in extracting them, to save time. He basically refused, and then told me to make my peace with God if I missed that deadline. Very helpful.
I was making really good time on it too, nearly complete after 60 days of working on it, along with supporting and maintaining the dumpster fire that is the legacy application. Suddenly my phone rings, and I’m told that management wants me to implement a payment processing feature on the site, and because I’ve been so effective at fixing problems thus far, they want to see it inside of a week. I am surprised, because I’ve been regularly communicating my progress and immediate focus to management, so I explain that I might be able to ship the feature by end of Q1, because rather than shoehorn the processor onto the decrepit piece of shit legacy app, it would be far better to just include it in the replacement. I add that PCI compliance is another matter that we must account for, and so there’s not a great chance of shipping this in a week. They tell me that I have a month to do it…and then the Marketing person asks to see my progress and ends up bitching about everything, despite the front end being a pixel perfect reproduction. Despite my making everything mobile responsive, iframe free, secure and encrypted, fast, and void of unpredictable behaviors. I tell her that this is what I was asked to do, and that there should have been no surprises at all, especially since I’ve been sending out weekly updates via email. I guess it needed more suck? But either way, fuck me and my two months of hard work. I mean really, no ego, I made a true enterprise grade app for them.
Short version, I stopped working on the rebuild, and I’m nearly done writing the payment processor as a microservice that I’ll just embed as an iframe, since the legacy build is full of those anyway, and I’m being asked to make bricks without straw. I’m probably glossing over a lot of finer points here too, just because it’s been such an epic of disappointment. The deadline is coming up, and I’m definitely going to make it, now that I have accordingly reduced the scope of work, but this whole thing has just totally pissed me off, and left a bad taste about the organization.10 -
We use at our company one of the largest Python ORM and dont code ourselfs on it, event tough I can code. Its some special contract which our General Manager made, before we as Devs where in the Project and everything is provided from the external Company as Service. The Servers are in our own Datacenter, but we dont have access.
We have our Consultants (Project Manager) as payd hires and they got their own Devs.
Im in lead of Code Reviews and Interfaces. Also Im in the "Run" Team, which observes, debuggs and keeps the System alive as 3rd-Level (Application Managers).
What Im trying to achieve is going away from legacy .csv/sftp connections to RestAPI and on large Datasets GraphQL. Before I was on the Project, they build really crappy Interfaces.
Before I joined the Project in my Company, I was a Dev for a couple of Finance Applications and Webservices, where I also did coding on Business critical Applications with high demand Scaling.
So forth, I was moved by my Boss over to the Project because it wasn't doing so well and they needed our own Devs on it.
Alot of Issues/Mistakes I identified in the Software:
- Lots of Code Bugs
- Missing Process Logic
- No Lifecycle
- Very fast growing Database
- A lot of Bad Practices
Since my switch I fixed alot of bugs, was the man of the hour for fixing major Incidents and so on so forth. A lot of improvements have been made. Also the Team Spirit of 15+ People inside the Project became better, because they could consult me for solutions/problems.
But damn I hate our Consultants. We pay them and I need to sketch the concepts, they are to dumb for it. They dont understand Rest or APIs in general, I need to teach them alot about Best Practices and how to Code an API. Then they question everything and bring out a crooked flawed prototype back to me.
WE F* PAY THEM FOR BULLCRAP! THEY DONT EVEN WRITE DOCUMENTATION, THEY ARE SO LAZY!
I even had a Meeting with the main Consultant about Performance Problems and how we should approach it from a technical side and Process side. The Software is Core Business relevant and its running over 3 Years. He just argumented around the Problem and didnt provide solutions.
I confronted our General Manager a couple of times with this, but since 3 Years its going on and on.
Im happy with my Team and Boss, they have my back and I love my Job, but dealing with these Nutjobs of Consultants is draining my nerves/energy.
Im really am at my wits end how to deal with this anymore? Been pulling trough since 1 year. I wanna stay at my company because everything else besides the Nutjob Consultants is great.
I told my Boss about it a couple of times and she agrees with me, but the General Manager doesnt let go of these Consultants.
Even when they fuck up hard and crash production, they fucking Bill us... It's their fault :(3 -
I've worked on a year to replace an old legacy system after years of shitty maintenance. We're almost there. So damn fucking close.1
-
So, it's been a while since I've been working on my current project and I've never had the "luck" to touch the legacy project wrote in PHP, until this week when I got my first issue.
And damn, this goddamn issue. It was a bug, a very strange bug, that only happens in production and that nobody has any idea what was happening, so yeah, I didn't have anyone to ask and I got less time than usual ( because Thanksgiving ).
And thus, I have no starting point, no previous knowledge on PHP and less time! I expected a very fun week 😀 and it was beyond my expectations.
First I tried to understand what might be causing the issue, but there wasn't any real clue to star with, so no choice, time to read the flow on the code and see what are they're doing and using ( 1k line files, yay, legacy ). Luckily I got some clues, we're using a cookie and a php session variable for the session, ok, let's star with the session variable. Where it's that been initialize ? Well, spoiler alert, I shouldn't start with that, because my search end up in the login method of the API that set a that variable and for some reason in the front end app it was always false and that lead me to think that some of the new backend functions were failing, but after checking the logs I got no luck.
Ok, maybe the cookie it's the issue, I should try open the previous website on the brow...redirect to new project login, What? Why ? I ask around and it's a new feature push on Monday, ok I got Chrome Dev tools I can see which value of the cookie it's been set and THERE IT WAS it has a wrong domain! After 2 days ( I resume a lot of my pain ) I got what I've been looking for, so now I should be able to fix the bug. Then where is the cookie initialized ? In the first file the server hits whenever you tried to enter any page of the app, ok, I found the method, but it's using a function that process the domain and sets it correctly? wtf ? Then how in heaven do I get the incorrect domain ? Hello? Ok, relax, you still have one more day to fix this, let's take it easy.
Then, at the end of the Wednesday, nope I still have no clue how this is happening. I talked with the Devops guy and he explain me how this redirection happens and with what it depends on, I followed the PHP code through and nothing, everything should works fine, sigh. Ok I still have 2 days, because I'm not from US and I'm not in US, so I still have time, but the Sprint is messed up already, so whatever I'm gonna had done this bug anyhow.
Thursday ! I got sick, yay, what else could happen this week. Somehow I managed to work a little and star thinking in what external issue could affect the processing, maybe the redirection was bringing a wrong direction, let's talk with the Devops guy again, and he answer me that the redirection it was being made by PHP code, IN A FILE THAT DOESN'T EXIST IN THE REPOSITORY, amazing, it's just amazing. Then he explained me why this file might be missing and how it's the deployment of this app ( btw the Devops guy it's really cool and I will invite him a beer ) . After that I checked the file and I see a random session_star in the first line of the code, without any configuration, eureka ! There was the cause and I only need to ask someone If that line it's necessary anymore, but oh they're on holiday, damn, well I'll wait till Monday to ask them. But once and for all that bug was done for ! 🎉
What do I learn ? PHP and that I don't want any more tickets of PHP 😆. -
Feels like every damn day I'm learning about another language feature that we CAN'T use... So much legacy code everywhere.
C# is more like C-blunt at this point.2 -
Last week me and my friend have been changed from a legacy PHP project to new Ruby on Rails-based setup. What, in first instance, looked like a great improvement, now becomes a nightmare.
All this convention-over-configuration is awesome - but only if you already know the conventions, or if somebody told'em to you.
And everything is going even more out of control because the damn project is based upon Spree gem and several other extensions, that MUST be changed to meet out company needs.
I'm getting really mad with all this pressure. Ruby seems to be a great language, but I'd rather be working with Laravel. Its overall organization, the centralization of CLI commands in artisan, and the astoundingly clear, eloquent, direct and well-designed documentation made my adoption curve there a little more pleasant.
I mean, legacy PHP systems are awful, but Laravel framework sounds way more easy-to-learn and well-constructed when compared to rails.
But given all this nightmare, I really want to be proved the opposite.1 -
Dah. Have to integrate with a legacy, crappy, SOAP service with malformed WSDL and bugger all documentation.
SOAP should just be damn well illegal these days.3 -
Over the last few weeks, I've containerised the last of our "legacy" stacks, put together a working proof of concept in a mixture of DynamoDB and K8s (i.e. no servers to maintain directly), passing all our integration tests for said stack, and performed a full cost analysis with current & predicted traffic to demonstrate long term server costs can be less than half of what they are now on standard pricing (even less with reserved pricing). Documented all the above, pulled in the relevant higher ups to discuss further resources moving forward, etc. That as well as dealing with the normal day to day crud of batting the support department out the way (no, the reason Bob's API call isn't working is because he's using his password as the API key, that's not a bug, etc. etc.) and telling the sales department that no, we can't bolt a feature on by tomorrow that lets users log in via facial recognition, and that'd be a stupid idea anyway. Oh, and tracking down / fixing a particularly nasty but weird occasional bug we were getting (race hazards, gotta love 'em.)
Pretty pleased with that work, but hey, that's just my normal job - I enjoy it, and I like to think I do good work.
In the same timeframe, the other senior dev & de-facto lead when I'm not around, has... "researched" a single other authentication API we were considering using, and come to the conclusion that he doesn't want to use it, as it's a bit tricky. Meanwhile passed all the support stuff and dev stuff onto others, as he's been very busy with the above.
His full research amounts to a paragraph which, in summary, says "I'm not sure about this OAuth thing they mention."
Ok, fine, he works slowly, but whatever, not my problem. Recently however, I learn that he's paid *more than I am*. I mean... I'm not paid poorly, if anything rather above market rate for the area, so it's not like I could easily find more money elsewhere - but damn, that's galling all the same.5 -
Current deploy process on the legacy project I'm on right now: ssh to server, check out branch with new feature, test on live, if it works then merge to master and check out master.
Oh... Oh no... -
Shitty legacy codebase made by shovelling pile of different shit by some 'cool dude' who left the company 3 years ago. Fixing bugs on this pile of shit all the time, but also I have to document everything as documentation wasn't there at all and fix the whole damn project in the meantime. No linters, no types, ancient libraries that have shitton of issues, hacky behaviours wherever you look, no tests whatsoever.
Except when we want to refactor/rewrite we don't get time for fixing the whole shit as it is worthless - there's no value for customers in that.
the other one was shitty HR talk which consisted of bashing on my technical competencies by computer illiterate troglodyte after which I left the company. They asked me could I stay for 2 more months.
That was that one single NO that felt so great that I will remember it for the rest of my life. -
I have a small NUC-like machine in my home with an old external hdd connected to it. I use it to run my local gitlab, nextcloud and to test a few websites I build for the lolz.
If you too have a homelab, whether it's a single raspberry or an entire room full or racks, you know damn well that everything you have running locally as a web service keeps going until it doesn't, for whatever fucking reason. This time, it was the turn of my nextcloud.
The machine has arch linux running, I chose it since I already use it on my coding laptop and being a rolling release means I don't have to manually upgrade to a newer version, risking various fuck-ups and consequent screaming of profanity.
The downside is that arch is a bleeding-edge distro, so, despite being pretty good for what concerns security, as updates are pushed out some packages may still require legacy software to work as intended, since obviously not all developers for all packages can release simultaneously.
The problem was that php reached 8.2.x but nextcloud couldn't use anything beyond 8.1, so the highlighted solution was to download php-legacy, a package with a set of utilities which the cloud could use instead of mainline php.
Pretty easy, right? fuck my life, here we go.
I edited apache-httpd's configurations to link the new libraries, updated every reference in every virtual host that could possibly screw up the web server.
Done.
Then I went on and disabled the php-fpm mainline, creating a new systemd unit that would instead run the legacy executable and afterwards I edited nextcloud's additional configs so they use that instead.
Done, getting a bit dizzy, but I reboot everything and breathe.
At this point the migration should be complete, but wait, the server returns an error saying that the application is still trying to use php 8.2+...wait, what in the sysadmin Christ?
Back to nextcloud config, everything is set, everything else in every other fucking php-legacy and web server is fine, the old fpm service is disabled, I am confused, and why in the FUCKING FUCK is the new php-fpm unit failing to start at boot with "error 78/config - directory not found"? Hello? Am I being trolled by a shitty dual-core amazon fake NUC?
Maybe yes, cause it turns out that the unit was referencing a directory in the external hdd, which gets mounted at boot time after the unit itself starts, so nothing much, just a matter of tinkering with cron jobs, a reboot and at least this one is off my balls.
But why still isn't the server responding correctly? why? WHY?
After slamming my cock on the keyboard here and there scrolling back through all the config files I think to myself, hmmm, my gitlab is working flawlessly, well yeah, I didn't need to install the whole web stack, everything was nice and easy wrapped in a docker container...so why am I even here, why the fuck am I bothering with all this layered web-app bullshit, why don't I just run the up-to-date docker image that someone else has already set up for me, back up all the data and reupload them on the application?
Oh joy, you can't imagine, after 3...almost 4 hours of pure computer-touching the relief I had from seeing the blue web page with the "welcome to nextcloud" title.
Right now it's copying back all the files, and the external hdd is now linked to include the data folder.
Like really, everything was solved in two lines of bash.
I am still fuming, but at least I learned a valuable lesson, if you want a service up for yourself, implement it and deploy it as fucking easy straight-forward as you can, giving MAXIMUM priority to already fully-working options that are out there just waiting to be downloaded and used. I swing my scrotal sack on web-apps elegance as long as it's MY homelab in MY place.
Eat a fat dick php.
sudo pacman -Rns nextcloud
sudo systemctl disable --now php-fpm-legacy
sudo pacman -Rns php-legacy
sudo pacman -Rns $(sudo pacman -Qdtq)2 -
Bugger me Quarkus is quick. Pretty bloody quick even when not using Graal native, but with that... damn.
Looks like I need to skill up. These new Graal-native-friendly, reflection-free Java web frameworks are really coming into their own. Spring really needs to respond quickly, otherwise it's going to become the slow legacy framework of yesteryear, if it's not already.5 -
Dahhhhhh. Retrofitting CSP to an established, legacy site with inline scripts and random CSS/js loaded from all over the place is damn stressful.
Why did I volunteer to sort this crap out... What a pleb.4 -
I've just joined a new company out of despair after several month out of jobs without being able to even get interviews.
I've been warned about the code being a bit behind with modern Android stack, they needed to migrate from rx to coroutine and compose is not a priority at the moment.
Fine with it, I like handling and planning migration, that's a nice challenge.
But if only that were the only problems !! Far from it, the code is a formidable mess, I've never seen so much amateurism... Most of it was written from the previous Lead Dev who stayed there for years and touched everything with their very bad practices.
I don't even know where to start honestly...
While the code is in Kotlin, it stink Java. Nothing wrong about Java, but if you code in kotlin, you need to understand what kotlin try to achieve. And that's not the case here. There is freaking nullable everywhere, for no reason at all, the data classes contains lot of var in their constructors, equals are override to compare only one or 2 params and no hashcode override with it.
Sealed class, what for ?! Let me just write a List<Pair<Enum, Any>> and cast your any depending on the enum !
Oh and you know what, let's cast everywhere, no check, and for once no null safe, there is enough nullable in the code !
What about the reactive part ? well let's recreate a kind of broken eventbus with rx ! Cause why not ?!
The viewmodel observable don't contain data, they just contain enum for the progress of the states we're checking.
In the viewmodel function we update that enum states and emit it to be observed and make the data available as a var for the view to pick it up when needed.
But why put the business logic in the viewmodel, let's put in the views, and grab and check the variable contain in the viewmodel whenever it fits.
Testing the business logic ? uh let me just test my variable initialisation in the viewmodel instead.
The vm, the views, make about 2000 lines, the test over 3000, and not a single test really test the business logic in it ! I've made big refactoring we're all the tests stayed green, while the function are full of side effects ! WTF ?!
Oh and what about that migration from rx to coroutine ? well better not break the existing code and continue writting like rx, everything is cold flow ! We just need to store a boolean saying if we already did our call to the data layer then we decide to start our flow or not.
As for the RecyclerView, having too many viewHolder is just so annoying, let's put all our different views in one, and hide what we don't need.
Keystore has been push on the repo, but it's private no ? So who cares ?!
And wait i'm not done ! Some of the main brick of the apps depends on library that hasn't been updated for years, and you know what... yes they were hosted on Jcenter and it's only now that they decide to do something about it, we we're warned about the sunset of jcenter 2 years ago !!!!
So what about compose ? What do you want with compose ?! there is no design system in that app obviously, so don't even think about it !
And there... among all of that mess, I'm supposed to do code review... how the fuck do you do a code review when all the code that is around stink ?!
And there is so much more but by now I'm afraid you're thinking i'm just pissing on the old code like everyone... but damn I guarantee, that's the worst code I've ever seen, and i've work on more than 15 app from small to big on different contract with a lot of legacy code, but nothing that bad !1 -
GOD DAMN THAT OLD BROKEN DATABASE.
Having to work with a legacy old database system running MySQL 4.0 is a pain. Especially when even finding a frikin manual for the thing is hard af.
And a cherry on top is dealing with encoding and collation in a system, that didn't really have a wide support for it yet.
10/10. At least I am only dealing with it so that we could later shut it down for good.1 -
Software or hardware design solutions that are retrofitted for Legacy systems. I understand the value of backwards compatibility, but Gah damn!