Abouta geek diggin' deep
SkillsJava dev, Linux/UNIX sysadmin, performance engineer
Joined devRant on 2/26/2018
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
2 weeks ago I was writing an `rm -rf --no-preserve-root /` oneliner as a joke - as an answer to a question "I have access to my competitor's server; what should I do?". I was crafting it so that it'd do as much damage to the business (not the server) as it could.
And I accidentally executed it on my work laptop. In the background (with an `&`).
It ran for a good 5-7 seconds on an i7-11850H with an SSD, until I issued a `kill %%`
Good thing it ran as a non-root user. Bad thing - I have no idea what it may have deleted nor whether it touched my /home.
I'm afraid to restart my laptop now :)
I've fallen asleep while trying to finish this series so many times that I must've changed the "Trending now" Netflix's listing for the whole country.
I wonder why do I always wake up right when the last episode ends, though...
I never liked YAML. But lately, I'm starting to dislike it more and more.
I mean, wtf is that?
- digest YAML input -- a valid YAML
- digest JSON input -- a valid YAML
A language that embeds another language.
Can it be any more confusing..?
Sure it can. the
- echo "John said: hello there"
will fail YAML linter, because, even though I used quotes, yaml sees `echo "John said` as an object key
I think I'm yet to find more nonsense with YAML. And eventually, I'll grow to hate it.8
GitLab, you really should fix your CI.
I mean, I know .gitlab-ci.yml has to be written carefully, having in mind that GL shell is a castrated bourne shell, but come on... Failing a pipeline because I used a semicolon in an `echo` parameter string?
echo ""items: 0" ## this will fail
echo "items 0" ## this will pass
This is a bit too much.
Removed the semicolon and the pipeline worked just fine.12
Application: *starts w/o any errors*
Me: *closes ~40 tabs in chrome*
took me >2 weeks of poking around in the dark to accidentally guess that I simply didn't need to create a file I thought I needed.
Now I can rest. Finally... Damocles' sword is no longer hanging over my head
God damn it, LEARN TO FUCKING READ!!!
> Admin: @here the tool will be disabled from today until Wednesday
> Chap: @here Admins, I cannot use the tool it says that it is disabled. Please let us know when we'll be able to use it again
FFS.. Srsly, man...5
Huh.. Today [thursday] I found out that I'm on-call this whole week.
I wonder what would've changed hadn't I been told that...5
Thoughts after a security conference.
The private sector, no matter the size, often plays a role (e.g. entry vector, DDoS load generating botnet, etc.) in massive, sometimes country-wide attacks. Shouldn't that make private businesses' CyberSec a matter of national security? Shouldn't the government create and enforce a security framework for private businesses to implement in their IT systems? IMO that'd also enforce standardised data security and force all the companies treat ITSec with at least minimal care (where "minimal" is set by the gov)
What are your thoughts?9
Email: "we have carried out a phishing test company wide"
Email: "results are here"
Me: wow, already done? Didn't even see the email. I must've subconciously discarded it! Damn, I'm good!!
Email: "the test was carried out yesterday"
Me: *was OOO y-day*
wtf!! That stupid piece of @#$@#$, how does it even work for anybody. EVER. Bundle it in a container, make sure it's ephemeral. Yerterday it worked, and today it fucking does whatever it wants@!!! That fuking fucktard piece of shit!!
Fuck it. Fuck all of it.
It must be a fault in my RAM or something. I mean, nothing has changed since yesterday. I could run the appp in the container yžday ez, and today -- it gives me a finger, completely ignoring my parameters!! Asshole!!!!7
The ancient Linux distro, presumably the main desktop Linux used by cavemen.
You can still see some instances running these days.6
- AWK was based on egrep, and the idea was borrowed from sed - an extended sed of sorts
- My cat really loves green onions. She's chewing on her third as I write this.
What an interesting day, full of curious discoveries.
I wonder what's the future of the crypto-mining businesses, when electricity prices have sky-rocketed to 4€/kWh [from what it used to be 14ct 2 years ago]. True story. Shops had to close22
A gigantic codebase of several tens of millions of loc [prolly hundreds of mill's as we don't see all of it] in java EE.
Very complex business logic where bells have their own whistles with their own bells with .... You get it.
Very fine-tuned performance to make app so performant that the only bottleneck becomes the db. The beefiest rds instance becomes too laggy [orm, so sqls are immutable]
Client moves to rewrite the whole thing in PHP. Motivation: lower TTM
Finally!! I've managed to molest containerd and kubernetes!!
Now I can run k8s in a container :) yayy!!!
Next: figure out a way to automatically and transparently share certs6
Dear Lord, please stop people from enforcing standards and bypassing them themselves.
Take kubernetes for example. Since v1.24 CRI has been announced as the standard, and kubernetes is shifting to live by it.
But it's not.
Yes, it's got the CRI spec defined and the unix://cri.sock used for that standardised communication. What nobody's telling you, is that that socket MUST be on the same runtime as the kube. I.e. you can't simply spin up a dockerd/containerd/cri-o server and share its CRI socket via CIFS/NFS/etc. Because kube-cp will assume that contained is running on the same host as cp and will try to access its services via localhost.
So effectively you feed the container via a socket to another machine, it spins up the container and that container tries to
- bind to your local machine's IP (not the one's the container is running on)
- access its dependencies via localhost:port, while they are actually running on your local machine (not the CRI host)
I HOPE this will change some day. And we'll have a clear cut between dependencies and dependents, separated by a single communications channel - a single unix socket. That'd be a solution I'd really enjoy working with. NOT the ip-port-connect-bind spaghetti we have now.4
I guess Apple is running out of $$$s if they are shifting towards ads.
Either that or they are trying their best to milk their cows dry using all the techniques available.
Sooo.. paying fortune for apple products just to see some ads you could see... for free :D Nice touch.
I have a biorhythm thing. Every day at around 5pm I get so drowsy I fall asleep in my chair while working. If I happen to be driving at that time then my drowsiness becomes a potentially lethal condition.
It lasts for ~30minutes to an hour. Every day, no matter what. Coffee won't help at all - if anything, it makes it a lot worse.
It's been like that for well over 10 years. Anyone else has smth similar? How do you fight it? Powernaps help, but if I'm in a meeting I can't have them.12
TIL you can crash a Tomcat request processing if the app reads request bodies using a reader() and you feed it a json body with an innocent nbsp :) the whole request processing just goes *pooooft*
reminds me of an ios bug which could brick the phone if it received an sms with weird chars.
These lynch-pin-bugs where a single byte/char in the right place at the right time can tear things down, are so subtle and fascinate me for some reason :)3
People on devRant: "it took me 1/2/3 hours to fix that bug, omg, what a time waste!!"
Me: *wrestles some bugs for 1/2/3 DAYS*
I'm confused, how is fixing a bug within hours a ranting material...?11
How I feel about people in a meeting
Listening to someone others participating in some meeting (on speaker) (I'm not a part of):
checking configurations, talking about config hierarchies, addressing network stack limitations, etc -- all smart-sounding things. They must be very wise and experienced. It's got to be something very serious they're working on
Participating in a meeting myself:
wtf is he talking about, does he even know what JVM is? No no, this configuration does not make ANY sense. No, Mr manager, this is not how it works. Come on guys, you all running like a headless chicken - USE COMMON SENSE!!
I wonder if anyone else noticed that... I've been noticing this since the very beginning of my IT career.1
Boy do I hate office politics...
A client asked our company to fix perf issues on their product. Our coleagues had been picked for the job [being led by another 3rd-party, as per client's request]. Aaand they dropped the ball. The deadline is in 2 weeks, nothing is working.
Mgmt engaged us to put out the fire, but strictly at the scope the other guys were working in.
On the first day of testing we've revealed an elephant-sized perf issue that's as easy to fix as brainlessly changing 4 values in config. And that elephant is masking all the other perf issues.
We got a firm NO for config changes as that is out of the defined scope. And we're asked to continue testing.
I mean, the elephant is THAT huge that any further testing is moot - all other bottlenecks are hidden behind it. And just changing those 4 values would reduce the resources required by a magnitude of ~10.
But that's out of scope...
Client is desperate, lost and honestly asking us, pros in the field, for help.. We know how to help.. It takes 10 seconds to apply the fix..
But our mgmt forbids us to step out of the scope :/
as a result we have to pretend to be dummies hardly knowing what to do and hide the truth from the customer they so desperately want.
This is frustrating. And wrong. And imo unprofessional11
I am sitting on a fucking vibrator!!
PoV: Writing my code, minding my own business, listening to lofigirl.. private Schema<?> asSc
<rrrrrrrRrRRrRRRRRRRRHHHHHHRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRHHHHHRRRRRRRRRRRRRRRRRHHRHRHRHRHRHRHRHRHRRRRRRRRGGGGGRRRGGRGRGGRGRRRRRRRRrrrrrr.><KNOCK KNOCK KNOCK KNOCK KNOCK KNOCK><3.5sec pause><rrRRRRRRRHHHRHRHRHRRRRRRRHRRHHRHHRRRRrrrrr>
How the hell am I supposed to concentrate when my neighbours are trying to make me cum with a drill.
Swear the God, my ass is on some serious vibro.10
It's getting spooky
For a considerable number of days in a row, I randomly glance at my clock and it says 15:21.
Oracle is stocking me!!!!!!5
My shift (9h, afternoon-evening) + a shift I had promised to cover for someone (9h, evening-morning) + a day full of lectures (seminars) (morning-afternoon)+my shift (9h, afternoon-evening).
I know that the lectures do not account for "working", but it definitely wasn't "resting" either. Hadn't time to sleep or eat at any point. I think I didn't even drive back home after the last shift - took the bus, because at that point I couldn't even remember where I left my car... And I don't remember getting out of the bus at my stop. No clue how I got to my home/bed. I must've ridden the bus standing to stay awake
Oh my.. I think I'm enjoying molesting kubernetes :)
A while ago I got pissed at k8s because with 1.24 they brought backward-incompatible changes, ruling my cluster broken. Then I thought to myself: "why not create a Docker image that would run kubernetes inside? Separate images for control plane, agent and client"
Took me a while, but I think tonight I've had a breakthrough (I love how linux works...)!! The control-plane is spinning up!! Running on containerd
Still needs some work and polishing, but hey! Ephemeral k8s installation with a single docker-run command sure sounds tempting!
P.S. Yes, I know there is `kind` and 'kinder', but I'm reluctant to install a separate tool that installs a set of tools for me. Kind of... too shady. Too many moving parts. Too deeply hidden parts I may have to fix. Having a dumb-simple Dockerfile gives me the openness, flexibility and simplicity I want. + I can always use it as a base image to add my customizations later on! Reinstalling a cluster would be a breeeeeeze6
A large pool of application instances' is writing logs to the same physical file. No way to distinguish which instance wrote which line.
Welcome to hell
We're being asked questions. We're replying that we cannot help unless logging is fixed. Noone's bothering to fix this mess and instead returns tickets with requests to investigate more.