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 - "blight"
-
A sidebar.
Literally just a sidebar.
And yes, this was in Hell.
Its code was spread across at least 40 files, and it used a bunch of freaking global variables to unfurl accordion sections, hide other sections/items, highlight the active item, etc. These were set (and unset!) in controller actions, so if you didn’t unset one, it remained open and highlighted until another action unset it.
Some of the global variable checks (and permissions checks) were done in the individual views, some outside of the `render` statements that include them. Some of them inherited variables from the parent, some from the controller, some from globals. Getting a view to work was trial and error. Oh, and some had their own inline css, some used css classes.
Subsections were separate views, so were some individual items, both sometimes rendered using shared templates, and all of the views and templates had the exact. same. filename. (They were located in different directories, and thus located automagically via implicit relative paths.) So, it was a virtually endless parade of`render partial => “sidebar”`. Which file does that point to? Good luck figuring it out!
Also, comments in several places said adding a new section required a database migration. I never did figure out why.
Anyway, I discovered this because I had an innocuous-sounding ticket to rearrange the sidebar, group some sections/items under different permissions, move some items to another menu, and nest some others differently.
It took me two bloody weeks, and this was when I was extremely productive every day.
Afterward, I was so disgusted by it that I took a day and removed every trace of the sidebar I could find, and rewrote it. I defined the sidebar in a hash, and wrote a simple recursive builder to generate the markup. It supported optional icons, n-level nesting, automatic highlighting of the current item and all parent nodes, compound and inherited permissions, wrapping of long names, hover and unfurl animations, etc. Took me a couple hundred lines of Ruby at the most, plus about the same of css.
Felt so good to remove that blight.5 -
For the love of the almighty, merciful God, fuck IBM until their company is brought down in ruins! May the earth they worked at be salted, and may they be struck from all records! May the families who speak of sons or daughters who work there be stripped of their status in life, begging in the streets!
May nobody be allowed to list them on resumes! May nobody be allowed to work for them! May they be a blight, hidden like the dirtiest porn magazines!
May mother's weep when children apply to them! May father's disown!
May managers avoid them! May they be scoffed at like the fools of old!
Oh how the mighty have fallen! The scholars brought low! May they repent before the day of judgement! May the change their ways! May they weep with sackcloth before the world, begging to be spared!
Fuck them! If you can't tell, I am pissed off!3 -
I am not a particularly vengeful one, but today I was, and everyday onwards I'll be turning it up a notch on recurrence. WTF is Kobenz talking about? Well, let me fill you in. For the worst part of 7 months I've been having my already fucked up hearing beaten to a pulp by the neighboring apartment's renovation works, sounds that would often balloon over 120dB, continuously. Last week the actual owner finally moved into their apartment and the sounds had stopped. Of course, i had spent every minute of my blight concocting vengeful schemes to get even. But while I was so full of think hatred and maliciousness, I, of course, let it all got. As i said, not a particularly vengeful individual, that I am not. Until yesterday that is, when the whole reformation crew was back here at 8am, banging my ears with those awful noises... So today, i woke up at 4am, set up my blender and my speakers, waited until 6am sharp and turned it all on, ALL of it. If today I hear even so much as a wisp of that deranged reformation noise, tomorrow at 5am I'll do it all over again. And every day from now on, I'll rinse and repeat it an hour earlier than before, speakers cranked up a notch above their previous noise, the blender running half hour longer than its previous running time and I'll add a new source of noise every single FUCKING DAY!7