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 - "have a brew"
-
!rant
The Sound of Typing (an original dev parody of "The Sound of Silence")
Hello caffeine, my old friend
I've come to sip on you again
Because my mind continues sleeping
While overpiled work is creeping
And the deadline that is flashing upon my screen
Can't be unseen
Within the sound of typing
Down the lines of buggy code
I quickly switch to debug mode
What kind of moron wrote this function?
For this unnecessary junction?
Wrapped in a condition that will always return true
I need a brew
To forget the sound of typing
Boss said I you do not know
WordPress like a cancer grows
A one page website doesn't need that
Still I wear my debug hard hat
And when I sleep I still see the same terror
Fatal error
Echoed in the sounds of typing
And every time I leave my home
I must launch chrome on my phone
The constant messages and phone calls
The chiming echoes through the halls
While I frantically fix some FooBar'd CSS
BUT I don't have LESS
Deep in the sounds of typing
And when I think I have it done
Some scope creep ruins all my fun
So now I force through an all-nighter
While I forge on like a fighter
But the project I thought was due on next Friday
Changed to Monday
Within the sound of typing9 -
Hello again, everyone. As Sunday comes to a close, and Monday is fast approaching, I'll share with you the likely cause of my death by stroke and/or heart attack:
MONDAY MORNING COFFEE OF HORROR
Disclaimer: Do NOT try this. I am a professional addict. I am not responsible for anything this brew from hell causes to you and/or those around you.
So, I wake up, feeling like I haven't slept for days, or just notice the fucking alarm clock shrieking because I pulled an all-nighter.
Step 1: Silence alarm clock via mild violence.
Step 2: Get the coffee machine to brew some filter coffee (espresso works too)
Step 3: Get milk and ice cubes from the fridge (both are needed, I don't care if you don't like milk, trust me)
Step 4: Get 2 spoonfuls (not tea spoon, and actually FULL spoonfuls) into the biggest glass you have
Step 5: Pour just a little of the warm filter coffee into the glass, just to get the instant coffee wet enough, and start mixing, until the result looks like the horror you unleashed in your toilet a few minutes ago (and will do so again in a few)
Step 6: Mix in 25-50 ml milk, just for the aesthetic change of colour of the devil-brew, and to add the necessary amount of lactic acid to react with the coffee to produce chemical X
Step 7: Add ice cubes to taste (if you are new to this, add a lot)
Step 8. Slowly add the filter coffee while mixing furiously, so that the light brown paste at the bottom get dissolved (it's harder than it sounds)
Now, take a deep breath. Before you is a disgusting brew undergoing a chemical reaction, and your moves need to be precise otherwise it will explode. Note that sugar or any other form of sweetener is FORBIDDEN, as it will block the reaction chain and the result won't be as potent.
Take a straw (a big one, not those needle-like ones that some cafeterias give to fool you into believing that the coffee is more than 150ml). Put it inside the mix, and check that the route to the bathroom is free of obstacles.
Now, clench your abs, close your nose if you are new to this, grab the straw and DRINK!
DRINK LIKE THERE IS NO TOMORROW!
THAT BROWN DEVIL'S BILE WILL HAVE YOUR INTESTINES SPASM AND DANCE THE MACARENA WHILE TWIRLING A HULA HOOP!
YOUR HEART WILL GO OVERDRIVE HARDER THAN YOUR PC'S CPU WHEN COMPILING ON ECLIPSE AND BROWSING WITH IE AT THE SAME TIME.
The combination of caffeine and lactic acid will bring out the perfectly disgusting combination of sour and bitter usually expected in rotting lemons. After you manage to chug it down (DON'T SPILL OR SPIT ANY!) you have 30 - 60 seconds max to run to the porcelain throne, where you will spend the next 30-60 minutes.
After that, nothing can stop you! You will fix bugs, write entire codebases from scratch, punch that annoying coworker, punch that boss! You will be a demigod among mortals for the next 6-8 hours!
Your recipes for Monday morning coffee?15 -
Summary: Burnout, and everything's broken.
I don't feel like doing a damn thing today. I look at the code and cringe. I look at Slack and think "ugh. i can't." Mental capitals are even too much work.
(I've started reading "Zen and the Art of Motorcycle Maintenance" to try and combat burnout. I'll write a rant/story about it here if I find it helpful. but all I want to do today is drink tea and read.)
But onto the story:
Heroku is deprecating support for and will automatically upgrade any old verisons of Postgres running on its platform after August something (like five days from now).
I performed the upgrade to PG10 on Sunday (and late into the night), provisioning a new follower, blah blah blah.
However, the version of Rails we're using (4.2.x) doesn't support PG10 sequences, so I manually added in support via a monkeypatch. I did this on our QA servers first, obviously, and everything worked as expected. After half a day of no issues, I did the same on production, and again: everything worked as expected.
But today? I keep hearing about new things that are broken. One specific type of alert doesn't work for one specific person (wat). Can't send [redacted] at all. Can't update merchants! Yet there are magically no errors logged.
That last one (well, two) are just great; let me explain: when there's an error concerning merchants, the error gets caught, isn't logged or recorded anywhere so it just disappears, and the rescue block triggers a json response instead and happily exits. This is for an internal admin tool, so returning a user-friendly error is kinda stupid anyway, but masking what actually happened? fuck that dev with an obelisk made from spikes and solidified pain. That json response is also lovely: it's a 200 OK returning {status: 1, data: "[generic message containing incorrect IT jargon]"}. Doesn't even say "error" anywhere. Bloody everything about this pattern is absolutely wrong. Even the friggin' text.
Fucking hell. I want to pipe the entire codebase into shred and walk out the door.
But I digress. So many things are broken, my motivation is wanning to a sliver, and I have a conference call today where I'll undoubtedly be asked why everything is on smoking and/or on fire, and my huge and overly productive week last week will ofc mean nothing by contrast.
Ugh.
`shred ~/dev/work -zfu -n 32 &; ./brew tea --hot && wine ~/takeabreak.exe`rant zen and the art of motorcycle maintenance postgres heroku ship's sinking and the fixer's all fixed out burnout21 -
I'm a DevOps engineer. It's my job to understand why this type of shit is broken, and when I finally figure it out, I get so mad at bullish players like AWS.
It's simple. Install Python3 from apt.
`apt-get update && apt-get install -y python3-dev`
I've done this thousands of times, and it just works.
Docker? Yup.
AWS AMI? Yup.
Automation? Nope.
WTF? Let's waste 2.5 hours and figure out why this morning.
In docker: `apt-cache policy python3-dev` shows us:
python3-dev:
http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
But in AWS instance, we see we're reading from "http://us-east-1.ec2.archive.ubuntu.com/... focal/main" instead!
Ah, but why does it fail? AWS is just using a mirror, right? Not quite.
When the automation script is running, it's beating AWS to the apt mirror update! My instance, running on AWS is trying to access the same archive.ubuntu.com that the Docker container tried to use. "python3-dev" was not a candidate for installation! WTF Amazon? Shouldn't that just work, even if I'm not using your mirror?
So I try again, and again, and again. It works, on average, 1 out of every 5 times. I'm assuming this means we're seeing some strange shit configuration between EC2 racks where some are configured to redirect archive.ubuntu.com to the ec2 mirror, and others are configured to block. I haven't dug this far into the issue yet, because by the time I can SSH into the machine after automation, the apt list has already received it's blessed update from EC2.
Now I have to build a graceful delay into my automation while I wait for AWS to mangle, I mean "fix up" my apt sources list to their whim.
After completely blowing my allotted time on this task, I just shipped a "sleep" statement in my code. I feel so dirty. I'm going to go brew some more coffee to be okay with my life. Then figure out a proper wait statement.7 -
Xpost from /r/sysadmin:
I occasionally see posts from people who seem like they want to spend every waking hour of every waking minute working on home lab stuff and studying for certs.
If you do this, you're missing out on life which you will regret later, but even if you don't care about missing out on life, it actually is hurting your career.
Being well rounded helps you interact with others at work in a number of ways. It makes you less one dimensional as "the computers guy" and it also gives you topics to discuss with people. If you know how to cook, or brew beer, or bake bread you end up using a lot of your technical and troubleshooting skills. Biking long distancing and learning how to fix your bike helps with your troubleshooting skills too. You learn to look at things from other angles.
Reading novels or writing poetry or making art work also helps because it exercises your brain. Woodworking or metal working involve a lot of skills that'd help your IT career including project planning and measuring and budgeting for each project. Working on cars or motorcycles would be similar. You just have to do SOMETHING.
I have a member of my team who literally has nothing going on in his life other than studying for certs. No friends, no hobbies, and he basically eats nothing but McDonalds and frozen dinners because even making a meal takes time away from his studying. He thinks means he's dedicated and will experience great career success.
But instead he has nothing to talk to anyone about, and when I say nothing, I mean literally nothing. It's borderline terrifying. Even if he was into comic books and video games it might help, which might help him relate to SOME of the IT staff even if the rest of the people at the company know nothing about it. But he doesn't even have that.
This isn't a solitary field anymore. Even if you truly are "the best" you still have to interact with other people and stay mentally stable enough to not burn out. Even if you know more than everyone else (or think you do) you have to try to broaden your horizons.10 -
I started working in a company where they use scala/akka stack, that requires a huge amount of hw resources to compile and debug, so my boss bought me a new laptop: a MacBook Pro. I came from a Dell with Linux Fedora, and now:
FUCK YOU APPLE YOUR COMPUTERS ARE SO SHITTY
JUST EXPLAIN ME WHY THE FUCKING KEYBOARD IS SO A PIECE OF SHIT WITH THE FUCKING COMMAND KEY
FUCK YOU COMMAND KEY
FUCK YOU MAC OS WITH YOUR SHITTY POLICIES YOU CAN'T INSTALL THIS PROGRAM BECAUSE YOU HAVE TO ENABLE UNKNOWN RESOURCES
FUCK YOU BREW AND BREW CASK WHAT THE FUCK OF TWO SHOULD I USE
FUCK THE STUPID TOUCHBAR I WANT THE FUCKING ESC, DELETE, F1, F2 AND SO ON
FUCK YOU APPLE YOUR MAC IS FRAGILE AS FUCK I CAN'T THROW THAT FROM THE FIFTH FLOOR OF MY BUILDING LIKE A THINKPAD
FUCK YOU SAFARI THAT YOU DON'T REFRESH THE PAGE WITH F5
I have a small gif for you just to explain how much shitty is Mac OS17 -
The reality of mental illness is too much for some. Do something kind and reach out to someone who is struggling but not asking for help. If everyone just reaches out to one person a massive difference can be made.1
-
!rant
Updating PHP from 5 to 7.2 on windows server at work the other day... Thought it would be easy, but I really find software management for windows a pain in the ass compared to package based solutions like apt, brew or pacman. It ended up taking way too long due to dependcies with the website, that weren't really documented, and setting up all the software that depended on PHP over again... I ended up writing 10 pages of documentation about how to updated PHP on windows, so the next programmer would have some idea of how to approach the problem.
Of course I suggested switching over to Chocolatey for windows, but my boss is skeptical since it's not the traditional way, and it seems like it will take too many resources. So now I have to make a presentation for her to convince her that package managers are superior to downloading stuff from phps website.
Wish me luck.4 -
Internal mail form CIO's office:
"Thank you for being part of the internal trial for NPMe, we have decided to remove this tool in favour of Artifactory because of its support for multiple platforms and tools. We are sorry for the inconvenience, here is a link to migration scripts ..."
Migration "script" readme, please clone this repo, create file A, and B, and install these 2 dependencies.
Dependency 1:
- "install via homebrew ..."
- .... homebrew needs to update, checking for updates
- 10 mins later = Update failed, please upgrade to Ruby version 2.3
- Installs ruby version manager
- GPG signature verification failed
- Install GPG v2 + accept keys
- Install ruby version manager
- "please execute this command before running rvm"
- execute command
- "rvm install ruby-2.3"
- Install failed, please see log file
- Opens log file
- "Xcode on its own is not sufficient, please install xcode cli tools"
- Install xcode tools
- 5 minutes later -> "rvm install ruby-2.3"
- 10 minutes later "brew install jq"
Ok back to read me, "login to Artifactory, go here and copy paste XXX."
- Login to Artifactory
- Eventually find repo
- Login again to actually see credentials for some reason
- Screen doesn't match instructions in readme
- Click around
- Back to readme
- Back to artifactory
- Login again
- Execute command auth / setup command
- Copy contents to npmrc file .... now all my scoped packages are going to point to 1 specific repo
Fuck the migration, Fuck these shitty instructions, i'll set them all up again manually. See tags below for further opinions on this matter.undefined fuck ruby fuck homebrew fuck this fuck shitty cli fuck artifactory fuck cli fuck jq fuck rvm2 -
Decided to start a new project tonight. A `brew upgrade && brew update` here, a software --install --restart` there. An hour from now I'll be ready for bed and have yet to punch a line of code.
Always best to start tomorrow anyway.2 -
tl;dr - install ‘Pop!_os’ and try it out if you haven’t yet, it’s pretty damn good!
Heavy Micro$haft user here, have tried using ubuntu a bunch of times in the past and fucking regretted it every time. Ran into issues with stupid shit like the apt cache growing exponentially until the drive was full, or something like the the system python getting borked.
To be fair, I’m 120% certain my dumb-assery is what caused the problems. I’m definitely not trying to blame the OS. But my experience was shitty, even if it was at my own hands lol.
Started playing around with Pop!_os from the system76 team. And I’m seriously in freakin’ love with this OS. It’s clean, is performant, feels way less buggy or just feels more stable somehow. I know it’s based on ubuntu, but I’ve had a great time thus far using it. I’ve got ansible, docker, aws toolkit, aws cli, sam-cli, vscode, dynamodb-local, serverless, npm, brew, and working on steam now.
Everything has been a breeze and again the system feels really fast and snappy. It feels a lot like mac on the smoothness scale, but snappy like a windows box with beefy hardware specs.
I’m still just in the testing phase on a VM, but I’m seriously thinking about blowing away my windows install for Pop!_os.
(I’ll try arch someday when I’m up for some hardcore masochism)8 -
Boss: Hey! I know you just got everything working on that new project. But good news: I have a repo you can clone and we can work together. So just clone that and look at my changes, find something that’s broken, and work away. Oh, I also modified everything to use HTTPS locally. HTTP won’t work anymore. Alright, I’m off on vacation! Ciao!
… and that’s the story of how I spent a day and a half fighting with NPM, Brew, setting up a new CA and self-signed cert, and getting passenger to work with it. The good news is that I can connect locally via 443. The bad news is all assets use http and are thus blocked for being mixed-content. And idk how to fix it. Joy!
Not mentioned: npx removing a required package every time I run it, version mismatches, and the usual NPM problems.11 -
The new CTO promised us better coffee in his introduction meeting. Honestly felt pretty trivial and part of his used car salesman pitch to us.
A month goes buy and he replaces our shitty drip Starbucks breakfast blend coffee with ... Starbucks coffee machines. I shit you not these things have touch screens on them. So I tried two cups of each bean type and ... this stuff is really really bad. It's literally worse than the drip brew. It's so fucking terrible I have trouble finishing a cup.
God damn it!8 -
After having my soul suck away by "corporate", I installed VS code on my Windows 10 gaming machine.
Now, I have a pretty hardcore dev setup on my MacOS (it's unix-based and it's good, so stop the hate). I'm talking about fully automatized Rakefile that will provision it from scratch: vim, macvim, tmux, iterm configs, 15+ brew tools, 15+ brew-cask tools, themes, plugins, etc.
Installing VS Code, Node and MongoDB on Windows, just for the fun and giggles, and not having any of my hardcore tools, made me feel like... it's something silly and fun again. I'm once again that softcore developer with no stress and no constant self-reminder to improve workflow effectiveness.
Made me a little happy.
Checkout this picture, this is my Windows 10's "tmux" lol3 -
Your "feature" just became my problem. Your "great idea" is now my migraine. What you did in 300 lines, another team was already doing in 5.
The next time you `brew install...` on your laptop, you should fucking think that the infra team has to install those dependencies, on every server, too.
In less time than it took you to create your code, I could have given you several functions to call. I could have saved all of us weeks of work. Fucking ask cross-team before you cowboy code your next big idea please.
Got a problem you need to be solved, somebody else probably solved it, just fucking ask.6 -
i had an epiphany today, in a discussion with the software architect of our new project.
i'm having the epic job to design & implement a prototype for a C++ library in a new software project and collected some inspiration in our "old" software, where i'm maintaining the module that fulfills the same functionality (i thought). i've been maintaining this module for around a year now. i analyzed the different features and stuff to consider and created a partial model of the new library.
when i showed it to the architect today, he was like "oh my god, no no no, you don't need all this functionality, this shall not be part of the new library!"
this was the moment when i realized how deeply fucked up the code base of the old module is.
imagine it like this:
you want to automate the process of making yourself a good ol' cup of coffee.
the reasonable thing would be to have
- a smart water boiler where you set parameters water temperature and amount of water to be fetched from the water supply
- a smart coffee bean grinder where you can set type of beans, amount of beans and grinding fineness
- a component where water and ground coffee are joined to brew the coffee, where parameters like duration, pressure etc. are set
- a milk tank where amount of milk, desired temperature and duration / speed of foaming can be set
- a sugar dispenser where amount of applied sugar can be set
- optionally, additional modules with spices, syrup, ice cubes, whatever for your very personal coffee experience
on requesting a coffee, you would then configure and orchestrate all components to your wishes to make you a fine cup of coffee. you can also add routines like "makeCappucchino()", "makeEspresso()", or whatever.
our software is not like this.
it is like this:
- a smart water boiler consisting of submodules that know how to cook water for e.g. "cappucchino with sugar" or for "espresso without sugar, but with milk and ice cubes"
- 5 smart bean grinders that know how to grind beans for e.g. cappucchino, espresso, latte macchiato and for 73ml of water preheated to 82°C
- a very smart sugar dispenser that knows how to add sugar to 95, 98 and 100°C coffee and to coffee made of BOTH coffee arabica AND coffee robusta beans.
etc. etc., i think you're getting the gist.
when i realized this, it was like, right in front of my eyes, this terrible pattern emerged like a foul, corrupted caleidoscope of chaos, through the whole code base of this module.
i've already known how rotten from the core this code base is, but today i've actually identified a really bad pattern that i hadn't realized before. the whole architecture is so bloated that it is hard to have an overview of the whole thing. and it would require a LOT of refactoring to repair this pattern.
but i guess it would also be infinitely satisfying because i could probably reduce the code base for 30% or something...
but unfortunately, this is never going to happen, because screw refactoring.
it's a great feeling to start this new library from scratch, tho...6 -
It's not necessarily code related, but ever since I was a kid in grade school, I've wanted a lab where I could solder and build and mix chemicals and build rockets and brew beer and blow stuff up and do all kinds of science that would ruin my carpet and/or otherwise go horribly wrong if done in my living area. One day soon (I hope), I'll have enough space to have a proper lab, just not today.
I daydream about that shit.1 -
I’m Programing an rpg app using c++ to run some home brew. For character creation, I’d use items and classes and races as enums right? And I can give enums stats like say, a sword would have cutting damage and base attack as 5. Or selecting “wizard” and taking on the base stats of whatever level it so be...7
-
Dependencies suck.
I wanted a ruby gem and needed an older version of ruby to run it. Fine, what's the best way to get multiple ruby versions on one system, apparently rvm.
Now I want rvm.
I can't have rvm without getting gnupg first though.
Before I can get gnupg I need brew.
Now I have brew setting my computer on fire compiling god knows what so it can get gnupg so I can get rvm so I can get the ruby version I want to get the gem I want!
It's been running for quite a while...
This isn't the first or last time that the convenience of packages and versions leads to a maze like trail of prerequisites you need to follow.
I'm sure there's some tool that would've helped with my problem, but the problem shouldn't be this bad to begin with!
I understand why it happens but it still sucks and it's a lot of wasted time.
Frankly I'm expecting some people will have gotten so used to this kind of insanity that they won't get why I'm renting about it, oh well, it made me feel better and gave me something to do while brew is melting my machine.3 -
I'm pissed
Why the fuck do I need to install brew to have AWS' SAM CLI? Couldn't you provide me with an install script or an apt package? Now I have to install linuxbrew (never used it) and pollute my os with crap I'll never use just to have this fucking cli so I can create a fucking lambda function project on intellij idea.
Oh, I can install it with pip. Well yes but actually no. They fucking deprecated the pip package and just gave me a link with instructions on how to install it with brew.
Aaaaaaaaaaaaaa
I was praising AWS for their good docs yesterday, now I'm pissed at those lazy fucks >:(11 -
I'm learning Kotlin while trying out Android Things and that sparked my interest in learning more about Java platform again. I tripped upon the news that Oracle had change their commercial plans for the platform by going with the rolling release model and limiting LTS releases for paying customers.
Java SE 8 was one of those former LTS releases that was on my computer, leaving me vulnerable, despite that version still being the most compatible with many applications, and that's been on my computer well passed the date they cut off public support. And I'm, like, "WTF!?"
Luckily this is when open source shines at it's brightest. Both the home brew and corporations, such as Amazon and IBM, alike - mostly the latter - both agreed to create their own LTS releases using the OpenJDK code and all disturbing to the public FOR FREE with no strings attached and the sources opened. I'm sure Richard Stallman is smiling with glee.
It isn't a total finger towards Oracle. Java SE is based on OpenJDK with no difference between the two anymore aside from loss of LTS support from the public - that's it. So Oracle still benefits despite the retaliation. Probably?
Did Oracle learn nothing from OpenOffice? If the point was to get users to pay for security then they've failed in the long run because Java is open source. People have used that fact to create their own free distributions that bypass their paywall, making the need to go through Oracle pointless. And I'm glad. Open source aside, security is a big issue these days and the last thing people need is yet another thing to subscribe too.1 -
Meanwhile
In the inverse of never never land where everyone ages except mentally
This brewed coffee is weaker than my instant
And I miss the Mt Hagens German brew I bought at the whole foods in Boston
They literally have nothing else worth buying lol
Wegans is a million times better and is still saturated with just as many awful perverts.
And whores
The whores don't keep their distance
That is fine
Wrote this yesterday ended up being true
Speaking of duplication
I have a feeling I'm headed one of the same directions
And the same horrible singer is in this mall and the same depressing shit with a few creepy alterations are going on -
I wasn't too into the cold brew thing. Tasted shitty and why do it when you can have a good espresso?
But.
I bought a cold brew bottle couple of weeks ago and I am enjoying it too much. Cool in summer, better than cola, cheaper caffeine and all I need is just a glass. And tastes good if it is not chilled!
I hope my coffee packs don't go stale while I indulge myself.6