Details
Joined devRant on 10/15/2020
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
-
At the end of a request I want to ensure that both 1) persisting to the DB and 2) dispatching to the message queue is successful.
If one of these side effects fails, I want both to fail: this can be done with a distributed transaction (eg. 2PC or something similar).
My question is, how much overhead/complexity/latency does this introduce into the system? And is this even needed in the first place or am I overthinking this? -
If Jetbrains does _not_ release a new product every three months, a random employee gets thrown into an active volcano by HR.
But no worries, they have done it once again and are safe for yet another sprint! Say hello to Writerside, a feeble attempt to copy Obsidian MD: https://jetbrains.com/writerside/5 -
I think the "ultimate success" means success on a personal level:
Take a step back. Realize *this* does not matter. It allows you to build and support your own family. Be with your loved ones. Have pets. See your kids grow up. Grow old together. Looking back on a fulfilling life. Dying surrounded by your loved ones. Knowing, they are safe and cared for. I'm so proud of you what you have created out of nothing! You truly are a developer!
And now go back arguing about tabs vs. spaces on the internet.1 -
Today I learned that PHP disables assertions by default on prod via:
zend.assertions = -1
Which means, it is running in "production mode". PHP then simply ignores all those pesky assertions, so your code can run superfast! 🤡
Guess how I found out... I'm sick to my stomach right now.9 -
Is prompt engineering going to be the next "big thing"?
Very related fun fact: SQL was meant for business people so they can quickly generate reports w/out needing to rely on programmers. (When was the last time your CEO did a DB query on prod I wonder?!)13 -
Wasted over two hours today on a stupid bug: for some reason, every event was handled two times on my local machine.
Why? Because although all services are readonly after instantiation, the EventDispatcher isn't: it is modified when registering event handlers. Meaning the very same instance of the actual EventSubscriber was reused for the async- and sync event dispatcher. Which are just simple wrappers for primary and secondary use cases, but use the _same_ instance of the actual EventSubscriber in my dev-environment as I now know.
Thankfully a shallow clone did the trick. Of course it would be possible to simply create a new instance, but this is one of the few services which are autoconfigured by the framework.
Don't know what to make of this to be honest. "Play stupid games, win stupid prizes!" I guess... -
The most difficult esoteric programming language is not Brainfuck. It is Malbolge:
"It took two years for the first Malbolge program to appear. The author himself has never written a Malbolge program. The first program ["Hello World"] was not written by a human being; it was generated by a beam search algorithm (...)"
(https://en.wikipedia.org/wiki/...)
So basically it took a brutforce try-and-error approach to write "Hello World". Absolutely crazy! Imagine malware written like that 🤖5 -
Why are USB passkeys so expensive? I was under the impression that you 1) create a key pair, upload the public key to your google account and 2) store the private key on an old USB drive. But nooo, then you could copy the key I guess. Good luck convincing the average Joe to spend more than $10 on a fido/yubi/whatever key...3
-
After all this time it's back to the basics mhm? Maybe yoloing PHP via SFTP to a single machine along with few thousand LLOCs of vanilla JS wasn't such a bad idea after all...4
-
Did the 32 GB RAM upgrade! Look at me now mom, spending mad cash on my sick rig!
(Well, 40 bucks in this case. Literally.)4 -
I swear to god, If I have to explain git bisect to another "senior" one more time!! Like, how do you _not_ know this?! Know your basics, please! 🤬14
-
This happen last year during a one day workshop over zoom. We where around 16-18 strangers plus the tutor. We started with everyone introducing themselves (most showing their faces on camera), then it was just the tutor with his shared screen. Two hours in, one of the participants accidentally turned her camera on. I know it was accidental because I still cringe from what happened next: she started picking her nose. At this point, I have to clarify that I'm not familiar with zoom, because I'm on Microsoft teams almost exclusively thanks to my organization. While I looked frantically on how to DM this person (something along the lines of "hey, your cam is on :)" or whatever), I watched in horror as the second act of this play unfolded as she put her finger in her mouth and started to eat it. At this point I was actively dying from second hand embarrassment. Like girl, our orgs payed good money to be on this workshop, gave us a day off (so to speak) and know all I can focus on is you going gold hunting and bringing home some cured cave meat. My boss basically paid so I can get traumatized! And all this while being being in the comfort of my own home. Thanks, zoom! Anyway, she went in for seconds. That is when I died. I am dead at this point. My eyes glued to the screen. Ears ringing. Brain fried. It is done. Now, that the cringe has peaked, does it even matter If I figured out how to dm her? It is too late at this point. We all saw it. The tutor must have seen it. We all witnessed it. We are all witnesses, your honor. She has been witnessed! What else can I do at this point? Me, one bystander amongst bystanders. Idle and powerless.This is exactly how the holocaust started! At this point, I'm no better than your average Joe, who doesn't really like the new regime but doesn't fight it either. At this point, I ask myself what would Jesus do? Or Hollywood? What would happen in the movies in this situation? If I cant fight them, join them? Starting my cam, knuckles deep and double fisting my air holes to save what? It is done. Nothing left. She made her statement. She basically played us for fools. By god, what a freaking boss move that was! Like, can you imagine? Here we were, during the end of a world wide pandemic, bound to our homes, advised to regularly clean our hands, protected ourself and our loved ones and, yes, not eat buggers. And here comes miss fuck-it-all showing us degenerates how its done. You go girl! You showed us the light while we dwelled in darkness. You are our queen! Long may be her reign and just her punishments! I have seen true power and wept with the angles! I was born again. My mind at peace. I was Gandalf the Grey, now I am Gandalf the White. This is the day I will tell my children about. Songs have been written for less. I will never forget this!
Anyhow, I could go on, but that this is basically what happened over the span of a couple of moments in late 2022. I will never forget her. And now you won't either ❤️1 -
Today was my first time being on the other side of the table during an interview! Still felt a bit nervous, to be honest lol. It was the second round, and I got to present our stack and talk about what we're working on etc. Long story short, the candidate left a great impression and received an offer. I hope it works out! 😊2
-
buy company for $44 billion
fire 50% of staff
spend 3 months on various different checkmark policies
company now worth less than $20 billion
hire new CEO
fail to elaborate further3 -
Asciidoc! I finally got around to play around with it and it is just so awesome! Best tool for documentation hands down! So many improvements over Markdown:
- importing real code snippets based on tags with syntax highlighting and annotations (which can be also auto numbered with "<.>" instead of "<1>"!)
- Admotions! Love them!
- automatic TOC! Finally!!
- joining a child item to a parent item in a list with "+" in a new line (this one took me a while to understand, but no more offset items in lists! Love it!)
- making tables and loading data from an actual CSV-file! The future is now!!
- embedding images with a fixed size
Just a few things from the top of my head. I don't know why I put up with vanilla Markdown all these years...
Last but not least, a big THANK YOU to everyone who recommended Asciidoc! I accidentally stumbled across multiple mentions of Asciidoc a few months ago. Sorry, but you know who you are! Much love to you and your loved ones! You changed my life for the better. Thank you! -
"Some settings are managed by your organisation"
I understand the necessity for companies to be able to remotely manage their devices, but my god, I hate working on company laptops sooo much!!
Fun fact, even Chrome can be managed! The can manage everyting. It's called Microsoft Intune. It sucks!! And fucking 45 day PW change policy! And fuck you, Windows Defender Real-time protection which I can't turn off and It's high CPU consumption. Also fuck you Microsoft Teams for scanning. Every. Single. Link. I. Click. On. From. A. Chat. Before. Redirecting. Me. To. The. Actual. Website. Always takes a couple of seconds. Waste of time. Those accumulate over time you know! AND to Windows Update! You already know what is coming next: stop force-updating while I'm in the middle of fucking meeting! I have shit to do! Another fun fact: you can postpone Windows Update by turning the clock back. LIKE PLAYING AN OLD TIME-BASED STRATEGY GAME ON PC IN 1999. (12h work best.) And this fucking weak ass VPN. WHY I PAY FOR 1Gbps WHEN COMPANY VPN ONLY 10Mbps?!! What Am I? A fucking snail! Go faster!! pls!
But, thank god, we can email shit and open attachments in Outlook.9 -
- Cookie warnings
- Autoplay videos
- "It's better on the app!"
- Surprise paywall
- Newsletter popups
- "Sorry, this content is not available in your region!"
- Lazily paraphrasing another website without disclosing the source in an obvious way
- Anti-adblock popups
- "Become a pro-member today: starting at $4.99/month!"
- "Sign up here to get my free e-book! :)"
- "keep reading" button to load the rest of the damn article
- "We have a podcast!"
- ...
I hate the current state of the web.13 -
What does devrant think about custom IDs?
Instead of:
- "d2ac9db1-3222-4e99-97cb-e14fb4240f43"
Something like this:
- "user-d2ac9db1-3222-4e99-97cb-e14fb4240f43"
- "document-34ea29ce-6022-40d4-821d-95b240633ba9"
They can be saved as binary in DB (like in the old days before native UUID support), have basic protection against being confused with IDs of another prefix and are pretty much self-documenting (better debugging/logging experience).
Plus, every ID would have their own value object (increased type safety) and if required, prefix can be omitted for 3rd party systems.
I think, it would be well worth it... 🤔23 -
Well, for starters there was a cron to restart the webserver every morning.
The product was 10+ years old and written in PHP 5.3 at the time.
Another cron was running every 15 minutes, to "correct" data in the DB. Just regular data, not from an import or something.
Gotta have one of those self-healing systems I guess.
Yet another cron (there where lots) did run everyday from 02:00 to 4ish to generate the newest xlsx report. Almost took out the entire thing every time. MySQL 100%. CPU? Yes. RAM? You bet.
Lucky I wasn't too much involved at the time. But man, that thing was the definition of legacy.
Fun fact: every request was performed twice! First request gave the already logged-in client an unique access-token. Second request then processed the request with the (just issued) access-token; which was then discarded. Security I guess.
I don't know why it was build this way. It just was. I didn't ask. I didn't wanted to know. Some things are better left undisturbed. Just don't anger the machine. I became superstitious for a while. I think, in the end, it help a bit: It feels like communicating with an alien monster but all you have is a trumpet and chewing gum. Gentle does it.
Oh and "Sencha Extjs 3" almost gave me PTSD lol (it's an ancient JS framework). Followed by SOAPs WSDL cache. And a million other things.5 -
I just do the Three-point estimation method: It's easy enough to remember and somewhat scientific: https://en.wikipedia.org/wiki/...
I made a spreadsheet a while back which serves as a template. I guess nowadays there must be at least one website with a fancy diagram no doubt..1 -
Flexible working hours, Home Office, fair compensation, working on a greenfield product 🥰.
I was in a bad spot two years ago jobwise and I don't regret jumping the ship for a second.
I would never have guessed that flexible hours and WFH would be so beneficial to my mental health!
Not everything is perfect all the time, but it gets pretty damn close all things considered.3 -
Today I learned that docker makes all ports publicly available by default on Ubuntu servers using UFW.
Why? Because for some reason docker bypasses the UFW and has done so since 2014.
Thinking about this, I'm a bit irritated to say the least. Infuriated about such reckless behavior would be another reaction.
Anyhow, in case you have docker running on some forgotten Ubuntu server without a dedicated FW/VPN see https://github.com/chaifeng/... for more details.11 -
I was in a good mood until I read this weeks dev-question. I'm now having an existential crisis. Why do I do this? What's the end goal here? I don't know what my biggest dev career dream is. Maybe I should get a dog and live in the mountains. I think, I need another moment...7