Details
Joined devRant on 10/28/2016
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
-
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.9 -
After I picked up cooking, I dialed in a classic Russian pancakes recipe of my grandma (the babushka) and made it sugar-free. I cook those pancakes for my wife every Saturday, and she says they taste heavenly.
So, here’s the recipe of kiki’s pancakes:
- 8 eggs, 150g of 82% butter, 300g of flour, baking powder, 800ml of 3.2% fat milk. If you have a blender, it’ll make things easier
- let them sit and make all of them the same temperature
- take 8 eggs, add milk, stir
- liquify the butter in the microwave, add, stir
- sift the flour in while stirring continuously
- let it sit for 30 minutes
- take a pan, add little butter or sunflower seed oil, make it scary hot
- after you pour, flip the pancake when its top gets dry
to flip them easily, spread pastry wide when pouring, overlapping frying pan edges. Then, use those edges (now bone dry) to flip the pancake. After you’re done, those edges (now almost black) will break away, leaving a perfect pancake. This works especially well if you don’t have a good non-stick frying pan.
enjoy!8 -
buzzword translations:
"cloud" -> someones computer
"big data" -> lots of somewhat irrelevant data
"ai" -> if if if if if if if if if if if if if else
"algorithm" -> something that works but you don't know why
"secure" -> https://
"cyber security" -> kali linux + black hoodie
"innovation" -> adding something completely irrelevant such as making a poop emoji talk
"blockchain" -> we make lots of backups
"privacy" -> we store your data, we just don't tell you about it40 -
Boss: “Our YouTube channel doesn’t look at all like our website.”
Me: “I’ve made it look as close to our branding as YouTube allows for with its limited editing controls.”
Boss: “This is unacceptable. I expected more from you.”
Me: “I cannot accept the blame for this. YouTube is setting the design parameters for all channels and I can only do so much.”
Boss: “You can call the YouTube, can’t you? Why didn’t you call them?”
Me: “.......and ask them....what?”
Boss: “You don’t ask! You tell! Our company has been around for 140 years. Our brand name carries that weight. They’ll change their design to what we need if you’re assertive enough.”
Me: “Ma’am, that’s just not how this works. That’s not how any of this works.”50 -
Got call from extremely angry customer, our product is shit and doesn't work. At all. Important customer so I went to visit.
He had the perfect setup, our product to the left, our competitor's to the right.
He connected the Ethernet cable to their product, it worked. He plugged it out and connected to ours... Nothing. Shit.
I started to debug on the premises, took logs, everything. It seemed like our product didn't receive any data at all. What the fuck? Tried everything, debugged low level, still nothing. Sweating as hell.
After two hours I got a strange feeling. So I swapped place, our product to the right, competitor's to the left. Now OUR product worked, competitor's zilch.
THE FUCKING ETHERNET CABLE HAD A GLITCH. IF YOU BENT IT TO THE RIGHT IT WORKED, IF YOU BENT IT TO THE LEFT IT WAS BROKEN.
I had never seen a customer be this embarrassed in my life. He apologized to me, my boss, his boss, the Queen, everyone.
We got the contract.20 -
Boss: “Do you think you can work on Saturday? We really need the help.”
Me: “Yes, of course.”
Boss: “Great, thank you.”
Me: “I’ll probably be late, though, as public transport is slow on the weekends.”
Boss: “Okay, when do you think you will be at the office?”
Me: “Monday”.17 -
I put an Easter egg into a product, that if you enter the string "final countdown" into the stock code search field, it plays a YouTube vid of Europe's "The Final Countdown", in a hidden div. It's an in-joke for a few people in the company.
A well meaning maintainer with no sense of humour or judgement takes over and goes on the warpath against any hardcoded strings. The secret code gets moved into a config file.
A third developer changes the deployment script so that it clears any configs that aren't explicitly set in the deployment settings.
So the secret code is now "".
Literally every PC in the stock buying department is now blaring out "The Final Countdown" at top volume.
...Except none of them have speakers, so it remains this way for over a year and two more changes of maintainer.
I just noticed this afternoon and quietly re-hardcoded the string. The buying dept.'s PCs will silently sing no more.31 -
My girlfriend doesn't talk to me anymore after I said I helped the new girl to do some penetration testing.27
-
An entirely typical exchange at work:
PM: How long would it take to build an application that collates Gubblefluffs and exports them as a PDF?
ME: Hard to say. What’s a Gubblefluff?
PM: Nothing complex. Its basically an object with some stuff in.
ME: Erm, okay. So I’ll define a Gubblefluff object plus methods to add edit and delete, then for each Gubblefluff have it write a line to a PDF.
PM: It will need to email that PDF to somebody.
ME: Okay, cool. “Gubblefluffs-by-email” should take about a day.
6 hours later…
ME: I’ve done Gubblefluffs-to-pdf, I’m not clear on what’s in a Gubblefluff but I’ve made it flexible so it can take almost anything.
PM: No, a Gubblefluff can ONLY be one of 4 Snigglefingers plus a timestamp and some JSON.
ME: What? Right. Okay. What’s a Snigglefinger?
PM: (sighs) A Snigglefinger is the collection of relevant Babelsets.
ME: Babelsets?
PM: Yeah, a user can have any number of Babelsets but they must correspond to one of the four types of Snigglefingers.
ME: There are users!?
PM: Of course!
ME: But I’ve not coded anything for users.
PM: Shit. I’ve told the client they can have it today. How long to add in users?
ME: And Babelsets, and Snigglefingers and the new Gubblefluff rules?
PM: Yeah.
6 days later…
ME: This is done now. It’s a beast but it works. Who should it email the PDFs to?
PM: Client X, plus cc to Y and bcc to Z.
ME: What? It doesn't support CC and BCC!
1 hour later…
ME: This is done. I’ve tested it and sent you a copy of the PDF it generates.
PM: Okay thanks. Is the cron running daily?
ME: What cron?
…
ME: Okay, so the cron’s running once a day at 8pm.
PM: Oh, it’ll need to be at 3:15pm. That’s when we’ve told the client they’ll get it.
ME: Right. I’ll change it...
PM: Also, the PDF you sent me looks nothing like the visual.
ME: What visual?
...53 -
We had a Christmas party at work. We did a traditional white elephant gift game. I stole some larping swords from one guy, somebody else stole them from me, and another guy named Bilbo stole them and ended up with them.
After the party I am at my desk. Bilbo comes over with the swords and gives them to me. He said, "You looked like you really wanted these." I said thank you. I was really touched by that gesture.
Bilbo had tried to get golf balls during the game and lost them. So I went to the store at lunch today and got him a 12 pack of Titleists for $25. I don't golf, but people I work with say they are good. I left these on his desk. He comes to me later and says, "I cannot accept these. It is just too much money." I said its not too much and explained I was touched by his gesture. He tells me to take them back and get something nice for myself. Which is another nice gesture. Bilbo said when we get back from Christmas break we can do lunch.
So I am a bit baffled. Did I cross a line I shouldn't cross? Is Bilbo just too nice? I was really hoping he would enjoy this. I get it. We are coworkers and not family. I truly respect and like the guy.
Anyway, I am unsure what to do with them. I didn't really want to take them back. I tried to give them to another guy I work with and he wouldn't take them either. One talked about paying for them then decided he didn't want them. I have more shopping to do so I can take them back then. It kind of weirds me out to say $25 is too much money. I can hardly go a day without spending that much on a couple of random small things.9 -
Tooday
Movie sucks
Games sucks
Most programmers sucks
Buying a house sucks
Try to get a grocery under 200$ for nothing sucks
Have child with no future other then capitalisme sucks
Friends that don't take any news in 8 years sucks
Have a girlfriend that don't sucks sucks
Buying pricey shit and thinking i will survive at least 10 years and broke after 3 years with warranty sucks
All social platforms sucks ( other then devrant)
Working for a shit salairy and doing everyone jobs sucks
Lossing mind about idiots in our world sucks
My english sucks
You sucks
My water heater sucks
My landlord sucks
My budget sucks
My old 16 years old bike i use to go work sucks
Government sucks
House builder sucks at 80%
Bank fuck you everytime sucks
Taxes for any service sucks
Medical system in canada sucks
Educational system in canada sucks
Goes on each day i realize something sucks...12 -
There is a guy I work with that seems to dish out and receive a lot of pranks. There have been a couple of times that I have scared him by making a cat like noise: "pssst". Anytime I see him in the hall way or outside I always pssst at him and he responds back with a pssst. It has been quite entertaining for the both of us.
So he was walking down the hallway and was a bit ahead of me. So I made the pssst noise. He had already gone around the corner. I come around the corner and he is dancing up and down struggling. He finally makes the pssst noise. He told me he was trying not to make the pssst noise, but he just had to. That was a last week.
So today I asked him: "Do you have pssst traumatic stress disorder?"1 -
The best thing about being a consultant is that you keep learning from the mistakes of people who follow your advice.3
-
Interviewer: So, we were researching you online and came across your devRant profile.
Me: Ok, I'll see myself out. Thanks.5 -
Currently there are 1273 plugins awaiting review after submission to WordPress plugin server. Nearly as much as the 1345 open "type: bug" issues in WordPress/gutenberg on GitHub. Reminds me of "Suggested edit queue is full" on StackOverflow. Either too many people contribute to open source, or too little seniors willing and able to review, or our workflows don't work well enough. But good to see that there is still stuff going on in communities and not everyone just playing around with AI tools or uploading social media content all the time.1
-
Aggressively eliminate from your life everything that causes the slightest mental distress. Replace everything that has to it even a hint of undesirable emotions.
I once read about a girl who left work to buy a plane ticket to Australia to get away from her abusive boyfriend, and started her life from scratch. Being in an abusive relationship myself, I envied her.
One million seconds is eleven days. One billion seconds is 31 years. If you have just one second to spend with a person, you won't run out of the population for 248 whole years. There is no such thing as an irreplaceable person, no matter if they're your father, mother, best friend, wife, or husband.
Pain and trauma won't really go away, but they won't get bigger. You, however, can. One day you will be dying, and realizing at that moment that you didn't live the life you wanted to live, while knowing it's too late now, is the scariest thing that can happen to a human being. As you fade away, the sense of time will slip, and whatever you're feeling will stretch to eternity. Make it an eternity of calm happiness, and not an eternity of doubt and sorrow.
Make sure that when this moment comes, you're ready and comfortable with the life you lived. At least be confident it was YOUR life, and not someone else's.
This goes to everyone, both mentally/physically ill and healthy, and to both neurotypical and on the spectrum.12 -
Definitely Jon Skeet. Not only is he #1 on stackoverflow. He is actively tackling the hardest problem of them all: Time zone.
Closely followed by Joel Spolsky. The founder of stack overflow. Feels like all his products (fogcreek, trello) revolutionizes developer productivity and addresses actual pain points5 -
I wanna fuck a certain dev with a rusty pipe that was smeared in ghost pepper chilis... hopefully they get tetanus, inflammation and an allergy shock all at once, dying a cripple painful death.
Afterwards I spike them in front of the company with the wonderful laminated piece of paper:
"The difference between being right and being dead is where that pipe took place".
Fucking numbnut discusses every meeting like they know it all - and don't you dare critique Mr High and Almighty, cause then they will discuss as long as it takes without mercy.
HR wasn't mused as Mr Almighty filed a complaint cause I kicked them out of a meeting.
Now I've got Mr Almighty and Red tape and additional meetings.
-.-5 -
~2 years ago:
Me: Managed to figure out how to port that library. Just need designs and then we can build feature X. I've tested it in ugly developer-y screens. It works fully
Boss: Thats awesome, saw the video, looks great. This is a really important feature, thanks for looking into this
~1.5 years ago:
Me: Ok i've started working on the designs, just FYI we don't have designs for feature X
Boss: Ok, must have slipped, noted
~1 year ago:
Me: I've seen more posts about users wanting apps with features X in it. Still don't have designs, we working on that?
Boss: I'll check with design
~3 Months ago:
Boss: Ok were going to have to get serious about pulling features out and reducing MVP so we can get this out there. I think feature A, D, Y and X have to be dropped for v1. Theres too much left to do on them
Me: sure
~1 week ago:
Boss: We need to start getting ready for xxxxx. Can you do me a favour and start writing up some developer docs etc, kind of like this one we did for this other project
This morning opening my emails from last night:
Boss: I've reviewed the doc, looks good, only minor things need tweaking. Let me ask you something though, you said feature X was pulled out and its "pending design work". Its not only pending design work is it? Is it that far along?
==========
What I actually replied:
Yes ... i've sent you videos of it functional in the past, and discussed this ... more than once. Just design ... and some testing of the new designs obviously
==========
What that meant:
Yes. May god have mercy on your soul if you reply anything even remotely close to "oh I had no idea, lets revisit adding this to v1". I will not be held accountable for my actions1