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 - "monster year"
-
Yay, another item to tick off the bucket list.
- fall asleep during a zoom call ☑️
I think I've hit the point of being so burnt out, even self consciousness is hard to maintain.4 -
I have to confess. I'm a distro hopper. I've been a distro hopper ever since last year, and it got me tired. I spend entire hours checking distrowatch, partitioning, setting up hardware and drivers and passwords... I've tried to stop, I swear, but every time I do, there goes a new Solus release, an Openbox Debian based new branch, a forensic floppy disk that I know that I won't ever use for real. I just love assigning swap, fighting with rEFInd icons, testing modules, navigate trough different configs... Oh God, I even set up a virtual OpenBSD, just to see what it can do.
My friends have been telling me to stop, because I don't take care of our relation, that I'm becoming a monster. It's shameful and embarrassing to me when they ask me about my day and I say "you know, installing Manjaro on my desktop, and Lubuntu to that crappy old Asus I have for backups" I think I'm going to lose my head some day, this sickness is driving me straight down to the Slackware pits. I should stop it before I try Ratpoison environment but truth be told; I mean not to stop. I'm a distro hopper.
I ride my way live, unstable and restless.6 -
back to devrant, yay!
closed my account when i entered a really nice company, but after a year it was taken over by another one that was not-so-good at all, started working for another startup and, BOY, i really didn't miss ranting about work, but now i NEED a place to let this all up, little by little, somewhere, before my brain melts
current startup is one of those founded by rich dudes who had an "amazing" idea that, as time passed, turned into a monster that not only eroded the team from inside, but also made us see how spoiled the bosses are11 -
15 years ago I had a job interview as technical leader. They asked me about the trendy framework in those days, Struts. I didn't know much to be honest. I actually started to study java the month before. I was 30 y.o. and I managed to sell myself well.
I got the job. I never saw Struts, the real job was to migrate a z/OS application written on PL/I for DB2 (all things where new to me, I programmed something in VB when I was younger, before studying a career in statistics). Anyway, somebody else already scaffolded Struts, I implemented some business logic here and there, and mostly tried to make sense of the monster-legacy.
Fast forward now.
Two months ago I was interviewed on the last version of Angular and AWS devops, kubernetes etc. I managed not to look completely idiot, but honestly, I never went beyond an Hello World in Angular, and kubernetes, well, I like the name.
I got the job as Technical Architect.
First project I'm assigned to: migrate a 15 years old Struts application to cloud.
Somebody has containerized everything.
Somebody will scaffold a dotNet application.
I'll watch. Maybe I'll write some nice powerpoint presentation. Maybe I'll fill in some business logic in some methods.
I wanted really to be a technical Architect and do things other modern people do.
I actually wanted to learn something.
Anyway.
For 160K$ a year is not bad, I wouldn't complain.3 -
oh, it got better!
One year ago I got fed up with my daily chores at work and decided to build a robot that does them, and does them better and with higher accuracy than I could ever do (or either of my teammates). So I did it. And since it was my personal initiative, I wasn't given any spare time to work on it. So that leaves gaps between my BAU tasks and personal time after working hours.
Regardless, I spent countless hours building the thing. It's not very large, ~50k LoC, but for a single person with very little time, it's quite a project to make.
The result is a pure-Java slack-bot and a REST API that's utilized by the bot. The bot knows how to parse natural language, how to reply responses in human-friendly format and how to shout out errors in human-friendly manner. Also supports conversation contexts (e.g. asks for additional details if needed before starting some task), and some other bells and whistles. It's a pretty cool automaton with a human-friendly human-like UI.
A year goes by. Management decides that another team should take this project over. Well okay, they are the client, the code is technically theirs.
The team asks me to do the knowledge transfer. Sounds reasonable. Okay.. I'll do it. It's my baby, you are taking it over - sure, I'll teach you how to have fun with it.
Then they announce they will want to port this codebase to use an excessive, completely rudimentary framework (in this project) and hog of resources - Spring. I was startled... They have a perfectly running lightweight pure-java solution, suitable for lambdas (starts up in 0.3sec), having complete control over all the parts of the machinery. And they want to turn it into a clunky, slow monster, riddled with Reflection, limited by the framework, allowing (and often encouraging) bad coding practices.
When I asked "what problem does this codebase have that Spring is going to solve" they replied me with "none, it's just that we're more used to maintaining Spring projects"
sure... why not... My baby is too pretty and too powerful for you - make it disgusting first thing in the morning! You own it anyway..
Then I am asked to consult them on how is it best to make the port. How to destroy my perfectly isolated handlers and merge them into monstrous @Controller classes with shared contexts and stuff. So you not only want to kill my baby - you want me to advise you on how to do it best.
sure... why not...
I did what I was asked until they ran into classloader conflicts (Spring context has its own classloaders). A few months later the port is not yet complete - the Spring version does not boot up. And they accidentally mention that a demo is coming. They'll be demoing that degenerate abomination to the VP.
The port was far from ready, so they were going to use my original version. And once again they asked me "what do you think we should show in the demo?"
You took my baby. You want to mutilate it. You want me to advise on how to do that best. And now you want me to advise on "which angle would it be best to look at it".
I wasn't invited to the demo, but my colleagues were. After the demo they told me mgmt asked those devs "why are you porting it to Spring?" and they answered with "because Spring will open us lots of possibilities for maintenance and extension of this project"
That hurts.
I can take a lot. But man, that hurts.
I wonder what else have they planned for me...rant slack idiocy project takeover automation hurts bot frameworks poor decision spring mutilation java11 -
Read the following in Morgan Freeman’s voice.
Okay everyone sit on down and get ready for story time. There once was a workspace that was a pain in the ass to setup. It often would take an entire day even for the most experienced devs on the team...for it was a workspace perched atop a swamp of shit that would require a whole year to refactor into something that isn’t shit.
It was inherited, passed down, stepped in and scrapped from the boot soles of every programmer that ever touched it. It was an amalgam of old, new, and third party components with a class path a mile long and no package management because the company although physically in the present, somehow maintained a temporal presence in the past. And there was nothing that the team hated more than setting that workspace. In short it was an unholy mess that made Satan cry and Dennis Ritchie spin in his grave so much that the state of California attached magnets and a coil to his body and casket to generate electricity.
Then one day the untalented clowns known as App Group decided that our IDE should be owned and configured strictly through them. They took poor Eclipse and mounted so much silly shit to it that it resembled a riding lawn mower with a fax machine and a blender duct taped to it. Eventually as everything the company touched did, it simply turned into a broken, shitty mess that not even Jesus Titty Fucking Christ could bring back the dead.
And then, every month or so the IDE would break in such a grand way that every developer had to rebuild their workspace...the very same Lovecraftian monster disguised as a code base. It was just too much to bear for old Deus. He was all out of fucks and there wasn’t enough alcohol in the world to quiet his injured soul. So he stood on a chair, carved his name in a rafter and tied a noose to it, put it around his neck and finally kicked the chair out from under himself. I am told he even pooped his pants and the post mortem shit in the seat of his pants was still better than the codebase at work. I’m Morgan Freeman. -
A couple of months ago, the father of a friend of mine, asked me if I wanted to help him out with a project.
His late father, whom he inherited a one-person upholstering company from, once created a system in filemaker to do, among others, his financial administration. This system, however, grew organically as time went by, but he passed away before he explained to his son how it worked.
Now this man was running the company, using the parts of the system that he knows, but things were starting to break down. He asked me if I could help him understand what is going on and fix a couple of things.
However, the more I look at it, the more I realize what a monstrosity this has become, because the system has never been cleaned up. For example:
- There is a suppliers table, with the columns "E-MAIL" and "EMAIL". The latter one containing the supplier's website address.
- In order to be able to generate year reports, at the start of a year he copies the previous year's file, removes all records from it and starts using that as the new year's file. (This year, he accidentally created a shortcut instead of copying...)
- Some tables have a misterious column called "#1". It always contains a 1.
- The system consists of about 20 files, each of them containing a single table, although only 10 of them are really used. The other ones are just legacy.
- File, table, column, and layout names are capitalized randomly (all caps, no cap, starting uppercase) and are usually abbreviations, like "st2", "oms3", "off\rek", "b", "VERDBEST6" and "antst".
- One table has 92 columns.
- Of those 92 columns, only about 20, maybe 30, are in use.
Now, my task is finding out what parts are useful and in use, extracting those and create a baby monster out of the giant monster this system has become.
Sidenote: I actually enjoy having to learn a bit about accounting in order to understand this. Planning to use the knowledge I gain to keep track of my own finances.6 -
Just for the record, I come from creating audio programs in simple c++ and have some experience in bash and some notions of functional languages (I love them so much)
I've been learning about web development for around a year and a half and omg wtf is going on.
Looking at the history of web development you see a metric ton of frameworks going in and out, each and every one of them based on js which is... a shittyl language imho and each and every one of them they feel like their own unique language. It seems like the explosion of frameworks and libraries are a try to fix the stuff that js can't do well on its own bc it's... honestly it's shit.
nodeJS was a terrible idea.
JS makes sense to me to make simple webapps but omg as the project scale you end up with a metric ton of just madness and that seems to be the trend rn.
I'm learning react and wow man, it does things good but it can't escape the monster that it was built upon, it takes a useEffect to make everything explode.
TS makes something similar, it severly improves JS by providing a type system, which honestly was very much needed as the weak typing of JS is misused constantly or you are expected to do stuff with JS that is better suited for a strongly typed language, it's useful for some stuff but having a strongly type system with how websites are built nowadays is just common sense.
I'd be learning react and its intricacies happily if it weren't for the imminent threat of another framework taking its place and being the new thing that you have to use in order to have a job and react becoming obsolete in no time. I don't like PHP at all but I'd very much prefer to code just in it to this madness.
Basically: JS is broken, there are new frameworks popping up every day replacing each other to fix its brokenness and they feel like completely different languages, you get the feeling that you are constantly in a boat that is about to sink bc we are all using an unstable base for building websites.
I don't think I'm going to get a job by using clojurescript or elm (this last one I'd say it's still not mature enough) even if I'd loved to, instead I have to learn all the times that the virtual DOM of react is rerendered.
Phew, seriously, I'm learning Rust which is considered a hard language but at least you understand its logic, it feels like a tool that is worth investing time into and something that it's going to have its usage even if carbon or some alternative is released + it's not based on a shitty language.
I'm overwhelmed, sorry for the rant, I'm trying to make an app using tauri bc I love rust and wanted to learn react but man, it's hard, and it feels like it's going to disappear tomorrow, I've never experienced so much stress while learning a programming language/framework, everything feels broken in some way or another.6 -
First thought about programming was in forth class in school, I was 10, and together with a friend we where planing on building a robot.
When we had a basic Idea on how the mechanics would work (theoretically but maybe not really practically sound) we started to consider how to control it. We had heard about computers but had never seen one but we figured out you could not just say, “go shopping” but rather had to break the problem down and doing that we came to the conclusion we would have to start with getting it to take a step.
We never got further as my family moved and I switched schools.
Later the same year I got to play with an actual computer, the Sinclair ZX80, 80 for the year.
A monster with 512 bytes of internal memory ... yes bytes, not kbyte.
And then things got going, after a few curses in Basic I finally got my own Spectra video 128, 14 years old and 2 years later I was teaching basic in ravening classes and I have been working with computers and programming ever since.1 -
So in the context, I ragequitted my school at the end of the 4th year (out of 5, so no diploma). I was broken, poor (the only money I got was my parents), and mad as fuck.
I took a 2 month vacation during the summer where I did strictly nothing, then I sat down to my computer, opened Rubymine and started building my new website (current version actually, new one is in progress)
Right after that, I downloaded the trial version of Adobe InDesign and created a better / updated version of my old CV, and put it on LinkedIn, Viadeo, everywhere. At first, it didn't work much since all my experience was about underpaid internships, so I honestly had no work experience on the paper.
Then, while answering to a job offer, I put my CV on Monster, before I realized I should have done this from the beginning: next 3 mornings I had 5 phone calls, and 2 appointments per day for 2 weeks 😁😁
My current job was one of the firsts that called me, but made me wait a whole month (through appointments & shit) before answering me "Yes" one tuesday at 10 pm, on my way to take a shower. It's been 10 months now 😁2 -
Unity Engine lures you into trying it out with its simple starting Tools.
But once you realize this is just a fassade - it's too late and the trap got you.
You're now in limbo of to simple code which isn't compatible with the more complicated features!
Oh you try to fix this bug here? Let me suggest you 6 year old solutions from Unity Version that are not supported anymore!
Sorry just have to say it: Unity is big pile of sh*t! I don't know who had the idea of making this frankenstein-monster!
Just to consider thinking not only making one monster - NO!
Lets do a whole bunch of iterations and versions of this monster and yes you guessed it: they are not compatible to each other!1 -
About a year ago I had the great idea to enforce ago I had the great idea of proposing that we all lint our legacy code base using eslint to increase the overall quality of our JS.
I distributed the task of initially fixing all the errors eslint would find to the whole Frontend team (Luckily we only use JS there). I've finished my part in a couple of weeks and came across this piece of spaghetti.
One of the guys who has been with the company for over 10 years said, that the guy who wrote this monster was very proud of it...
In case you cannot understand what this does: It calculates the distance between 2 points on earth.9 -
When the final card is checked off and you realize the past year and a half has been spent making this absolute monster of a service. There really is no better feeling.
-
Been developing a website for a few months for a group of people who started a company in their spare time. Basically, everyone puts in about 5 hours a week. The two founders spent a year planning the site, creating mockups and collecting data. Site has user login, 5 main sections that all require custom programming to do what they need it to do.
After a month, the one dude is getting pissy with me because I can't get their site up any faster. I agreed to 5 hours a week, in my spare time for equity to a project that has no clear monetization plan. Sometimes my main job and paying clients eat even that time up.
To date, I've only got about 30 hours of actual dev time, and 15 hours of meetings. The first launch is in sight, but the site is a monster and has more phases to come.1