Joined devRant on 10/29/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Defragmentation of several applications codebase(s), sifting out duplicate code and creating a library out of it. Bash.
Yesterday while cooking I was too fast.
Chopping board with adjustable cutting depth, was at 6mm. Right thumb. Full speed. :(
Boy that wasn't pretty. Bled for half an hour and created quite a mess while trying to find some band aid to get pressure on it. Guess I'll have fun the next week's as no thumb is pretty handicapped .
And today we have in Germany a pretty severe snow storm.
I really hope that the server rooms @ company don't get flooded or shit like that.7
I remember a certain prank that amuses me till today....
Just add some devices to monitoring and the notification queue of the build chain / ... ...and wait patiently.
I still cry tears remembering an manager screaming what the hell "the poop train clogged the drain" means and why this is a critical system failure.
(Notice: next time check the mailing aliases of mailing aliases)
Although I can only recommend this if you know your team well. In my case we had a whole lot of fun after I got my head chewed off. XD (got an earful, but in the end he laughed his ass off)1
Hm. in MySQL 8.0.23 (yeah I'm kinda slow at catching up) they changed quite a lot.
- Hash Join implementation
- invisible columns
- InnoDB behaviour, eg AHI / IB
Guess no more MySQL for me.
How should I trust a database whose QA seems completely non existent and where minor version releases change the complete behaviour of the database....
(it's not new per se, Oracle announced that with the 8 GA release minor releases can have new features, but I'm surprised they really keep it up with breaking... Their QA sucked before, but with the new features coming, MySQL / Oracle is dead to me. )
Will be interesting to see in which direction Maria DB goes.... So far it looks good, although they really should think about cutting ties with Oracle / MySQL as a lot of internals have quite diverted....
One of these days....
Where you want to do a tiny task
And suddenly an explosion nukes every service, related service and dependant service.
Chain reaction. Yaaaayyy........
(ancient prometheus node lead to an snapshot error, snapshot error made the migration tool unhappy, migration tool unhappy meant that my task failed - updating prometheus meant checking every target, exporter and so on...
Fuckity fuck it''s gangbang time.)1
Today I experimented a bit with Dockerfile's.
Was quite surprised how far you could go with a spicy salsa of ARG, ENV, SHELL and multi stage builds.
But... For fucks sake....the debugging is like poking a light year long rod into a black hole, trying to fish something out of the event horizon....
In the end I got a nice setup for Java build's, version injectable with ENV/ARG, non root user and version specific behaviour.
As the debugging is non existing...
I filled up more than once my SSD....
It was an annoying brain damaged repetitive cycle of changing Dockerfile, pruning all images if docker build stopped because of missing free space, waiting for all stages to complete, start new.
And caching is a fragile thing that puzzles me .........
Guess more fishing tomorrow.
*Gives a happy deep throat to the beer bottle in hope of death*4
I'm at this point where I want to throw a temper tantrum - throw myself on the floor and crying like a child.
Frustrated. Only shit mundane work. Isolation sucks. Health sucks. Everything stinks.
And my willpower is like a candle in the wind.
I know it's not specificly the job, because not everything is mundane. It's my brain and soul poking each other's eyes out.
Why must everything be so shitty at the moment...4
Unlimited time is impossible... But I don't wanna ramble.
The one thing that I absolutely miss in my kind of work is something that does exist in dozens of flavors and each existence promises to solve some thing...
It's "bug tracker" / "time management" / "ticket management" / "board" / "kanban" or what ever pervert method you prefer software.
I haven't seen a decent one.
I'd think I'd want to build one - it would be definitely an all time consuming effort, since I would be in dire need of specialists.
The thing with nearly all of the solutions is that they lack ... an associative mindset.
Simply put, what we humans can.
The longer a project exists, the more it's housekeeping (guess that's a better word for it) turns into maintenance nightmare.
I remember quite well the joy of puzzling together eg Jira / Bugzilla / ... complex search formulars trying to find the needle in a planet of hay.
If you're read so far and have had similar experiences, think about how nice it would be if you had a mixture of AI and BI doing exactly that.
BI / Business Intelligence to get meaningful statistics is possible, but without AI it's a lot of work.
The AI would need to do several things...
- Match information (eg version XY was released at XY, so each bugreport after XY belongs to version XY and higher if no version matched)
- Tag and categorize (crashed / faulted / fried / ... - tag crash)
- "do the mundane work": ask nicely if the marching / tagging and so on was right, ask for missing info, require feedback etc.
There's a lot I could write more about that topic. But that's the gist. ;)
I'm in sad nostalgia....
32MB BIOS updates take a loooong time.
Hey. i'm updatinf the LED firmware.
Hey. I needed to reset all settings.
Fan detection for min rate.
Dozen settings changed.
Laggy mouse because EFI and graphics is slooooow...
I miss the old days of just keyboard based BIOS. And where updating didn't take 15 mins....2
Every meeting that contains one or more of the following points:
- "I don't think it belongs in the meeting, but"
- "Didn't get the meeting notes"
- "When's the food coming?"
- "I know we've said no technical discussion, but..."
- "Why is he so strict, this is no fun meeting at all :("
- "I think it's unfair to include risk assessment, you blame US before XY is finished"
- "The admins / the Team XY / ZX didn't talk with us, so we don't talk with him / her / them..."
- "Why are we here?"
- "Why is it so bad when production is down?"
- "I didn't know we do security / audit checks... Why hasn't anyone told us?"
- "Not happening. I'm against it"
- "I don't want to work with XY - he doesn't do it like I want it"
I could add thousand more things here.
I had countless meetings where I really thought that I was an alien who got broadcasted in a comedy reality TV soap...9
Thx to a close friend :)
His mom is currently "bored" after she came to germany recently (getting too old to live alone)
Kartoschka, Oreschki, Pelmeni, Wareniki, Beljaschi, Bliny....
I got a ton of food and beer.
I'm in heaven. That's the best that has happened in the last months.1
Dear brain, could u please work?
"No you motherfugging arsehole, scratch the sand out of your vagina and make yourself your own processor. Fuck u."
Seems like it's the jolly season of "my brain is uncooperative and unwilling".1
Good code is a lie imho.
When you see a project as code, there are 3 variables in most cases:
- people / human resources
Every variable plays a certain role in how the code (project) evolves.
Time - two different forms: when certain parts of code are either changed in a high frequency or a very low frequency, it's a bad omen.
Too high - somehow this area seems to be relentless. Be it features, regressions or bugs - it takes usually in larger code bases 3 - 4 weeks till all code pathes were triggered.
Too low - it can be a good sign. But it should be on the radar imho. Code that never changes should be reviewed at an - depending on size of codebase - max. yearly audit. Git / VCS is very helpful here.
Why? Mostly because the chances are very high that the code was once written for a completely different requirement set. Hence the audit - check if this code still is doing the right job or if you have a ticking time bomb that needs to be defused.
If a project has only person working on it, it most certainly isn't verified by another person. Meaning that only one person worked on it - I'd say it's pretty bad to bad, as no discussion / review / verification was done. The author did the best he / she could do, but maybe another person would have had an better idea?
Too many people working on one thing is only bad when there are no rules ;)
Rules. There are two different kind of rules.
Styling / Organisation / Dokumentation - everything that has not much to do with coding itself. These should be enforced at a certain point, otherwise the code will become a hot glued mess noone wants to work on.
Coding itself. This is a very critical thing.
Do: Forbid things that are known to be problematic in the programming language itself. Eg. usage of variables in variables, reflection, deprecated features.
Do: Define a feature set for each language. Feature set not meaning every feature you want to use! Rather a fixed minimum version every developer must use and - in case of library / module / plugin support - which additional extras are supported.
Every extra costs. Most developers don't want to realize this... And a code base that evolves over time should have minimal dependencies. Every new version of an extra can have bugs, breakages, incompabilties and so on.
Don't: don't specify a way of coding. Most coding guidelines are horrific copy pastures from some books some smart people wrote who have no fucking clue what you're doing and why.
If you don't know how to operate on people, standing in an OR and doing what a book told you to do would end in dead person pretty sure. Same for code.
Learn from mistakes and experience, respect knowledge from other persons, but always reflect on wether this makes sense at this specific area of code.
There are very few things which are applicable to a large codebase on a global level. Even DRY / SOLID and what ever you can come up with can be at a certain point completely wrong.
Good code is a lie - because it can only exist at a certain point of time.
A codebase should be a living thing - when certain parts rot, other parts will be affected too.
The reason for the length of the comment was to give some hints on what my principles are that code stays in an "okayish" state, but good is a very rare state
My current state of mood:
Too many dumb fucktards trying to be clever.
It's everywhere. Even when I close my fucking work apps and just want to have a fucking break, some dumbtards of friends remind me of the insanity outside.
I always laughed about the paranoid people who built bunkers somewhere in nowhere for very obscure and most of the time lunatic reasons.
Now I'm envious.
Winter Depression is also setting in and sleep wasn't good in the last weeks, too.
It's funny how one can be furiously annoyed and pissed 24/7 and at the same time be totally tired.
3 weeks sitting alone over Christmas and new year since paying out vacation and overtime is not possible.
Don't expect me round for the following weeks, think my mood will get even worse.7
Another part of messy network gone.
Caching fucked me hard....
Isn't it just lovely that nowadays you need to nearly wipe a machine to get it from claiming stale data....
And thanks to DNS, HAProxy -/ service names / ... I think I know now why the curse of babel is so powerful.
When you have to think for 2 mins to make sure you've set the zone's right, cause otherwise you need to ProxyJump with SSH through more tunnels than imaginable (VPN/HO) to fix possible caching on several DNS servers.... You'll realize that it's russian roulette with too much bullets. :(
And If a monitoring service asks another monitoring service for status information which asks the first monitoring service which then asks the second monitoring cause you were too late...
You'll get very funky monitoring statistics.
Too slow, had to nuke it (mismatched a DNS name, the second monitoring service should have been a service node).
I think I've had more near death scenarios in the last 2 weeks than I like.
Hopefully I'll never have to do that again.
(Splitting and reordering a few dozen VLANs, assigning proper DNS names, loadbalancer migration....)
I am right and you're wrong.
Aka: Living in a yin / yang (black n white) bubble.
If you're unable to adapt because the only perspective that matters is your own small little universe, then you shouldn't be a dev.
As a dev, you'll have to accept that you cannot know it all. There will be smarter people and there will be things that you won't understand.
It's okay to be wrong. It's okay to not know it all.5
I'm sea sick. Feel like migraine started becoming a real person and kicking me.
This whole site is just so fucking shitty.
Everythings moving. Spinning. Neon bright.
If anyone of you were responsible for that, I hope a ghost bites you everytime in your private parts while shitting....5
MySQL 5.7.32 breaks innodb zlib compression in combination with xtrabackup.
Oracle started the trend to break GA cycles....
Seems like the MySQL ecosystem finally splits in MariaDB (as 10.5 renamed MySQL to Mariadb) and MySQL.
I hope Oracle MySQL dies.
What Oracle does is beyond madness.
MariaDB 10.5 has it's troubles too. But at least you can look up their sources, check their bugtracker and don't get surprise foot fisting up your arse.8
Routing and analysis of http behaviour with wireshark makes so much joy and fun.
Wanna get even more fun?
Add DNS. Add loadbalancers.
VLAN X has it's own router and domain overrides to give a service a seperate IP pointing to a loadbalancer inside the VLAN X.
loadbalancer in VLAN X then has additional routes to point to loadbalancer in VLAN Y.
Which might then point to the service in VLAN Y or... point to another loadbalancer in VLAN Z.
I'm always amazed what a human mind can create....
If you think that's insane, then add HTTP keepalive and persistent connections.
I just love people who have no idea what they're doing but are able to create a clusterfuck of brainfuck....13
time zone shift.
Am I the only one whos's inner clock seems to go absolutely crazy...
Might be due to my health issues, but whenever these one hour time shifts happen - trouble sleeping starts again, feeling sluggish and blue and nothing seems to work.
I hope it doesn't take long to readjust, cause today was completely unproductive6
3 damn hours for 200 lines of bash code.
Exorcism, Magic I don't care.... But please make a special person never touching bash programming again.
I ripped my hairs out. Really.
Till I realized someone wrote functions with _logical_ return true codes as numbers.
0 - as logical false, for failure
1 - as logical true, for success
Leading my brain into a severe segfault fun.
Why... Oh why.
Second fun part as I corrected that...
Someone wasn't fond of exit codes at all.
Script is now 86 % rewritten....
God damn it, if you don't like a languages fine.
But inverting core logic should give a free trip to the electrical chair.1
Too many night shifts.
But it's done.
After the last migrations my emotional state is... Questionable.
VM migrations between different CPU vendors and generations leading to segfaults because of unsupported X86 extensions.... Thx for doing that at 23 o'clock after 8 hours of work....
Forgetting a left over NIC in a virtual machine, creating a routing loop, leading to very erratic behaviour and fun things.
Someone forgot to check the '"Unique" box, mass spawning a cluster of VMs with same MAC adresses....
DNS fuckery since someone thought that reboot would flush the cache of an DNS server.... Nope most DNS servers have persistent caches. You'll have to flush manually.
And let's not forget the joy of the 12 plus pages of when and where to move VMs, harddrives and VLAN configuration.
Oh migrations are such a festival of joy.
Finally done with that shit -.-5
currently I'm feeling like a overheated gatling gun....
We'll finish at the weekend a year plus of work.
Should I be happy? Maybe.
But currently it's just frustration cause the whole week was satanic prep work.
Lots of fsicking boring shit, planning, migraine, connecting the dots.
I wish you'd get a nice dose of "fuck everything" medicine at the work for weeks like that.
Remember the chewing gum dispenser from your childhood?
Like that. ID card in. Fun pills out.
(If drugs were only without side effects and addiction.... )
Yeah. Kinda late to the WK 227 party.
Thing is: I've read a lot of rants and honestly, some of the rants were ... touchy.
Like that weird emotional thingy you don't like but that just kind of happens cause I'm human too.... And have that shitty emotional feature integrated, which feels most of the time like a heisenbug.
Me and my parents. Specifically mom. Are like ... Matter and antimatter.
You don't want them in a room. Bad things happen TM. My mom is responsible for ... Let's say severe psychological trauma starting with age 4 to age 17.
In 17 I moved out and lived on "my own" (truth: on heavy support, cause I wasn't what you'd called "psychologically stable" at that time).
I fucked up university and - as shared before - thanks to an math teacher who made my life an even more living hell and my parents, I'd started in IT mostly out of "resisting" certain assertations being made over my life.
The support I got from my family can be put together in one sentence:
"I survived, I tolerated - but will never forgive".
Thing is: Be it IT support or anything else. If your gut feeling tells you that family / coworkers / friends are not good for you.
Stay the fuck away from them till you've sorted yourself out.
I can tolerate my parents nowadays. Took > 10 years and a lot of hardships to "achieve" that.
It's not peachy. It's not loving. It's tolerance. (Yeah. That bit is muey importante to me).
The thing is: I cannot deny the fact that my parents tried to support me by money. That's what they still do _nowadays_ even though my income is like 60 % of the income my father and mother has combined... It's a bothersome detail.
There's a certain thing in this rant that I would like "to pass on": Emotional support matters.
When you let someone feel like an empty shell, you cannot fix it with money.
It will - severely - destroy the person.
TLDR: We all have rough edges, can be hard to deal with and be a pain in the arse, but all of us need emotional support sometimes. That's what matters the most. ;)1
Was absent minded this whole day, sorry if my answers took long / were out of context @ the meetup.
I was poking why a bona fide DB import didn't work...
VARCHAR(254) COLLATE utf8_unicode_ci GENERATED ALWAYS AS (LOWER(...)) VIRTUAL
MySQL 5.7 to MariaDb 10.5 ...
After long hours of poking:
Yeah. It's the COLLATE statement. *narf*
I love SQL, but god damn it this stupid fscking frigging dumb platform and version specific behaviour is fucking annoying.
sed -Ei 's|COLLATE.*GENERATED|GENERATED|g' helps. Just takes a bit of time on an 75G sql dump. -.-
Took only 4.5 hours to find out.
But now test suites are crunching, looking good til now.... *sigh*2
Just fuck everyone who is unable to read.
Admitting to not have read it or "just glanced over it" deserves divine punishment.
Just fuck everyone and everything.30
New cooler for CPU installed.
Damn it. Was long overdue, old cooler was way undersized after an CPU upgrade.
I knew it would be tricky. But damn... My motherfugging stubbornness.
1mm over RAM heatspreader, took a long time getting blindly the cooler fixed... Screwing blindly isn't fun.15
I've deleted a previous rant because it wasn't appropriate.
My built up frustration is reaching peak levels and I'm aggressive as fuck. -.-
Anyone a non sportive solution to solve anger issues... Cause my brain is producing violent fantasies that would make some parts of crime history look like kindergarten.
It's really everything at the moment:
Corona, isolation, people at work, work at work, weather, health issues and a few more things.5
Stop whining for fucks sake.
I'd rather listen to high pitched coil whine than enduring this frigging shit.
If it doesn't work - fix it.
If you're to dumb - fix yourself.
I've told you motherfucking gazillion times that your bitching is absolute waste of time you inbred relict of an homo erectus.
I wanna gag a certain someone with duct tape who's annoying since weeks... And send him in a package to a nice russian Gulag some where in sibiria
I called the hack "blow up bunny", was in my first company.
We had 4 industrial printers which usually got fed by PHP / IPP to generate invoices / picking lists / ...
The dilemma started with inventory - we didn't have time to prepar due to a severe influenza going round (my team of 5 was down to 2 persons, where on was stuck with trying to maintain order. Overall I guess more than 40 % ill, of roughly 70 persons...)
Inventory was the kind of ultimate death process. Since the company sold mobile accessoires and other - small - stuff.
Small is the important word here....
Over 10 000 items were usually in stock.
Everything needed to be counted if open or (if closed) at least registered.
The dev task was to generate PDFs with SKUs and prefilled information to prevent disaster.
The problem wasn't printing.
The problem was time and size.
To generate lists for > 10 000 articles, matching SKUs, segmented by number of teams isn't fun.
To print it even less. Especially since printers can and will fail - if you send nonstop, there is a high chance that the printer get's stuck since the printers command buffer get's cranky and so on.
It was my longest working day: 18 hours.
In the end "Blow up bunny" did something incredibly stupid: It was a not so trivial bash pipeline which "blew up" the large PDF in a max of 5 pages, sent it to one of the 4 printers in round robin fashion.
After a max of 4 iterations, bunny was called.
"bunny" was the fun part.
Via IPP you can of course watch the printer queue.
Check if queue was empty, start next round with determined empty printer queues.
Not so easy already. But due to the amount of pages this could fail too.
This was the moment where my brain suddenly got stuck aft 4 o clock in the morning in a very dark and spookey empty company - what if the printer get's stuck? I could send an reset queue or stuff like that, but all in all - dead is dead. Paper Jam is paper jam.
So... I just added all cups servers to the curl list of bunny.
Yes. I printed on all > 50 printers on 4 beefy CUPS servers in the whole company.
People were pretty pissed since collecting them was a pita... But it worked.
And in less than 2 hours, which I would have never believed (cannot remember the previous time or number of pages...)1