Details
-
About👤 👥
-
Skills<>
-
LocationAnonymous Proxy
Joined devRant on 7/24/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
-
Manager: You really shouldn’t be doing that
Dev: It’s in my job description
Manager: Yeah but you still shouldn’t be doing it.
Dev: Who should I hand it off to?
Manager: We don’t have anyone else to hand off that task to.
Dev: Ok, do I stop doing it?
Manager: 😡 Of course not, it needs to get done! I’m just saying you shouldn’t do it.
Dev: ???????????13 -
I wasn’t even looking for a job, I just went out for drinks with friends and I met this random dude. I complained to him about work wanting us to go back to the office, to which he replied that I should go work for them because they’re remote and looking for people. I had a look at their openings and they had a role with fewer responsibilities and a lot more money, so I applied. It’s been 3 months and I’m so glad I switched.11
-
CEO "If you make costs to build a home office for covid, please be aware that you can fully declare your bills, and you'll retain ownership over the ordered goods. Please all buy some good desk chairs and keyboards, so you can work ergonomically"
6 months later, CFO: "Bittersweet, why did you try to declare €35000? What are these invoices even? Concrete rebar?"
Me: "CEO told us to build a home office. I got permits from the town to dig a souterrain layer under my house. This is just for the foundation, the bills for drainage pumps, sheetpiling, geothermal heat exchangers, insulation, flooring, electricity and of course desk & chair will follow later"
CFO: 😳
(To be fair, I really did make those costs, but was just trolling by uploading all the material bills)15 -
The network starts slowing down, transactions start to fail across the 450+ stores, the website starts to spit 500 errors what is going on?
Queue a frantic running around the office working out what was going wrong... Calls from all 3 data centres, nothing is going in or out of the network.
Notice the network admin come back to his desk, his eyebrows raise and he looks left and right before unplugging his laptop ethernet from one of the server access points
The network rushes back to life, everything is fine.
That particular network mapping tool is now banned for use on production.10 -
Not to get political, but apparently the political climate in the world leads to the following situation.
"I'm being a fucking evil lying asshole. But I'm actually a good guy, because I'm doing it as pseudo-scientific research to show how easy it is to be evil and dishonest"
https://zdnet.com/article/...
("Researchers" with an anti-FOSS motive attempting software supply chain attacks on Linux kernel)
What's next? "Scientists" killing puppies to show that, if someone was inclined to be that evil, puppies are weak and their necks snap easily?16 -
Taught by managers who are too eager to hold "meetings which could have been emails", developers have now fully succumbed to holding "webinars which could have been a readme".7
-
So I told my wife one week ago: "Yeah, you should totally learn to code as well!"
Yesterday a package arrived, containing a really beautiful hardcover book bound in leather, with a gold foil image of a snake debossed into the cover, with the text "In the face of ambiguity -- Refuse the temptation to guess" on it.
Well, OK, that's weird.
My wife snatches it and says: "I had that custom made by a book binder". I flip through it. It contains the Python 3.9 language reference, and the PEP 8 styleguide.
While I usually dislike paper dev books because they become outdated over time, I'm perplexed by this one, because of how much effort and craftsmanship went in to it. I'm even a little jealous.
So, this morning I was putting dishes into the dishwasher, and she says: "Please let me do that". I ask: "Am I doing anything wrong?"
Wife responds: "Well, it's not necessarily wrong, I mean, it works, doesn't it? But your methods aren't very pythonic. Your conventions aren't elegant at all". I don't think I've heard anyone say the word "pythonic" to me in over a decade.
And just now my wife was looking over my shoulder as I was debugging some lower level Rust code filled with network buffers and hex literals, and she says: "Pffffff unbelievable, I thought you were a senior developer. That code is really bad, there are way too many abbreviated things. Readability counts! I bet if you used Python, your code would actually work!"
I think I might have released something really evil upon the world.29 -
QA: When I start the onboarding process, kill the app and reopen it, I return to where I left off with no way to go back to the previous screen.
Me: Please click the back button in the top left corner5 -
Two mobile devs were talking for 10 minutes in this zoom meeting whether "the component on the bottom should be hidden, or made sticky".
I just could not contain my laughter any longer when they showed an animated mockup comparison, and the product manager yelled excitedly: "Oh yeah, I love the one where it's very visible and sticky! But could you make it bigger for me?"
Sorry HR. I will never become a grown up boy.5 -
I'm specialized in creating technical debt.
Basically, I rant my way in any dev specialty.
Since I never have a solid understanding of what I'm fucking with, ranting is more natural.
Ability to create technical debt is one of the most important skill, often underestimated:
- it will lead to heavy refactoring or even rewrite = more job for dev
- it will save a lot of short term effort, and luckily will produce the mid-term lock-in of the developers (more money for dev)
- it will increase billable hours to the customer. Higher the technical debt, more complex the explanation, and easier to confuse the customer.
- the best thing is that you'll never pay the debt. You'll eventually leave - willing or not - the job and you'll find some green field to exploit and create more debt.17 -
We have an API which returns 600 MB of JSON.
Because client "Wants to see everything first and then apply filters, just like Excel".
FML
Edit and ofc thier laptops with core i3 and 4GB of ram can't even process that.40 -
A while back, I had a lot of telemarketers were calling me daily, and I mean A LOT of them.
I got so frustrated with he calls that I decided I had to figure out a better way to handle those calls.
At the time, I was working with a PBX software called Asterisk, which is used to handle hardware interfaces and network applications for phone calls.
I needed a suitable side project and there was a version of Asterisk designed for Raspberry Pi, so I made a fun little answering service for myself.
Whenever a telemarketer called, I asked them to call back later, but to "my personal number", and gave them the number to my phone robot. (which had a pre-paid SIM card in a GSM dongle mounted)
When it received a call, it would play a pre-recorded phrase, wait for 1000 ms of silence and then play the next phrase.
After all 16 phrases had been played, it would start from phrase 7 again and repeat until the caller gave up.
I had this set up running for a while, and then added another robot for english speaking callers.
The calls stopped after a few months.
MISSION ACCOMPLISHED!13 -
iPhones are ridiculously picky when it comes to finding a mate- um charger. And knowing why doesn't really make it any easier to understand why. If anything it baffles me more.
So, let's start with appliances that are not phones. Think Bluetooth headsets, keyboards, earbuds, whatever. Those are simple devices. They see 5V on the VCC line and 0V on ground, and they will charge at whatever current they are meant to. Usually it will not exceed 200mA, and the USB 2.0 spec allows for up to 500mA from any USB outlet. So that's perfectly reasonable to be done without any fuss whatsoever.
Phones on the other hand are smarter.. some might say too smart for their own good. In this case I will only cover Android phones, because while they are smarter than they perhaps should be, they are still reasonable.
So if you connect an Android phone to the same 5V VCC and 0V ground, while leaving the data lines floating, the phone will charge at 500mA. This is exactly to be within USB 2.0 spec, as mentioned earlier. Without the data lines, the phone has no way to tell whether it *can* pull more, without *actually* trying to pull more (potentially frying a charger that's not rated for it). Now in an Android phone you can tell it to pull more, in a fairly straightforward way. You just short the data lines together, and the phone will recognize this as a simple charger that it can pull 1A from. Note that shorting data lines is not a bad thing, we do it all the time. It is just another term for making a connection between 2 points. Android does this right. Also note that shorted data lines cannot be used to send data. They are inherently pulled to the same voltage level, probably 0V but not sure.
And then the iPhones come in, Thinking Different. The iPhones require you to pull the data lines to some very specific voltage levels. And of course it's terribly documented because iSheep just trying to use their Apple original white nugget charger overseas and shit like that. I do not know which voltage levels they are (please let me know!), but it is certainly not a regular short. Now you connect the iPhone to, say, a laptop or something to charge. An Android phone would just charge while keeping data transmission disabled (because they can be left floating or shorted). This is for security reasons mostly, preventing e.g. a malicious computer from messing with it. An iPhone needs to be unlocked to just charge the damn thing. I'm fairly sure that that's because the data lines need to be pulled up, which could in theory enable a malicious computer to still get some information in or out of it. USB data transmission works at at least 200mV difference between the data lines. It could be more than that. So you need to unlock it.
Apple, how about you just short your goddamn data lines too like everyone else? And while you're at it, get rid of this Lightning connector. I get it, micro USB was too hard for your users. I guess they are blind pigs after all. But USB-C solved all of that and more. The only difference I can think of is that the Lightning connector can be a single board with pads on either side on the connector, while in USB-C that could be at the socket end (socket being less common to be replaced). And at the end of the day, that really doesn't matter with all the other things that will break first.
Think Different. Think Retarded. Such tiny batteries and you can't even fucking charge them properly.6 -
-- Senior Colleague: You're always slow to reply your slack messages... Seems like your brain is running on iOS 2.0 with 2mb ram
-- Other colleague: Yeah... It's better than yours which is still on prototype.
-- Me: Cortana... Do Jellyfishes have brain?
-- Cortana: No, they don't but they're really pretty.
-- Boss: **walks in**
-- Everybody: 👩💻👩💻👩💻👩💻1 -
I had 5 round of detailed technical interviews on java, springboot, React and Google Cloud.
Finally it seems they are going to make me an offer.
Last conversation was with the team I should work with.
They use dot.net, AWS and maybe maybe some angular.
I wann cry.
I'll say yes anyway.
Maybe the idea is to get some new perspective from me?
Or they want to be sure they will be better than me?
Or otherwise, fuck them?5 -
So, you start with a PHP website.
Nah, no hating on PHP here, this is not about language design or performance or strict type systems...
This is about architecture.
No backend web framework, just "plain PHP".
Well, I can deal with that. As long as there is some consistency, I wouldn't even mind maintaining a PHP4 site with Y2K-era HTML4 and zero Javascript.
That sounds like fucking paradise to me right now. 😍
But no, of course it was updated to PHP7, using Laravel, and a main.js file was created. GREAT.... right? Yes. Sure. Totally cool. Gotta stay with the times. But there's still remnants of that ancient framework-less website underneath. So we enter an era of Laravel + Blade templates, with a little sprinkle of raw imported PHP files here and there.
Fine. Ancient PHP + Laravel + Blade + main.js + bootstrap.css. Whatever. I can still handle this. 🤨
But then the Frontend hipsters swoosh back their shawls, sip from their caramel lattes, and start whining: "We want React! We want SPA! No more BootstrapCSS, we're going to launch our own suite of SASS styles! IT'S BETTER".
OK, so we create REST endpoints, and the little monkeys who spend their time animating spinners to cover up all the XHR fuckups are satisfied. But they only care about the top most visited pages, so we ALSO need to keep our Blade templated HTML. We now have about 200 SPA/REST routes, and about 350 classic PHP/Blade pages.
So we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA 😑
Now the Backend grizzlies wake from their hibernation, growling: We have nearly 25 million lines of PHP! Monoliths are evil! Did you know Netflix uses microservices? If we break everything into tiny chunks of code, all our problems will be solved! Let's use DDD! Let's use messaging pipelines! Let's use caching! Let's use big data! Let's use search indexes!... Good right? Sure. Whatever.
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA + Redis + RabbitMQ + Cassandra + Elastic 😫
Our monolith starts pooping out little microservices. Some polished pieces turn into pretty little gems... but the obese monolith keeps swelling as well, while simultaneously pooping out more and more little ugly turds at an ever faster rate.
Management rushes in: "Forget about frontend and microservices! We need a desktop app! We need mobile apps! I read in a magazine that the era of the web is over!"
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + GraphQL + React + SPA + Redis + RabbitMQ + Google pub/sub + Neo4J + Cassandra + Elastic + UWP + Android + iOS 😠
"Do you have a monolith or microservices" -- "Yes"
"Which database do you use" -- "Yes"
"Which API standard do you follow" -- "Yes"
"Do you use a CI/building service?" -- "Yes, 3"
"Which Laravel version do you use?" -- "Nine" -- "What, Laravel 9, that isn't even out yet?" -- "No, nine different versions, depends on the services"
"Besides PHP, do you use any Python, Ruby, NodeJS, C#, Golang, or Java?" -- "Not OR, AND. So that's a yes. And bash. Oh and Perl. Oh... and a bit of LUA I think?"
2% of pages are still served by raw, framework-less PHP.32 -
An enormous government project that leaves the tax office's database along with all backups exposed to SQL injection.
I know for a fact that the tax office database in at least one country only got a cold backup a few years ago, so it's more likely than you think.
Although around that time someone hacked the public transport company and bought a 12 month ticket for free as PoC and he got jail for it so the risk is quite high.5 -
Not anti-man, curious about this particular problem:
Females have unique problems in the workplace and personal life yes, because of stereotypes.
I agree, I am a female. But when i read those articles about what we really go through, I really feel weak. I think if these many obstacles are present how am I supposed to do something without instinctively being influenced by the society.
It really felt better when I consider myself human not female.
What do you people do when you feel weakened by these impositions?9 -
From my work -as an IT consultant in one of the big 4- I can now show you my masterpiece
INSIGHTS FROM THE DAILY LIFE OF A FUNCTIONAL ANALIST IN A BIG 4 -I'M NOT A FUNCTIONAL ANALYST BUT THAT'S WHAT THEY DO-
- 10:30, enter the office. By contract you should be there at 9:00 but nobody gives a shit
- First task of the day: prepare the power point for the client. DURATION: 15 minutes to actually make the powerpoint, 45 minutes to search all the possible synonyms of RESILIENCE BIG DATA AGILE INTELLIGENT AUTOMATION MACHINE LEARNING SHIT PISS CUM, 1 hour to actually present the document.
- 12:30: Sniff the powder left by the chalks on the blackboards. Duration: 30 minutes, that's a lot of chalk you need to snort.
13:00, LUNCH TIME. You get back to work not one minute sooner than 15.00
- 15:00, conference with the HR. You need to carefully analyze the quantity and quality of the farts emitted in the office for 2 hours at least
- 17:00 conference call, a project you were assigned to half a day ago has a server down.
The client sent two managers, three senior Java developers, the CEO, 5 employees -they know logs and mails from the last 5 months line by line-, 4 lawyers and a beheading teacher from ISIS.
On your side there are 3 external ucraininans for the maintenance, successors of the 3 (already dead) developers who put the process in place 4 years ago according to God knows which specifications. They don't understand a word of what is being said.
Then there's the assistant of the assistant of a manager from another project that has nothing to do with this one, a feces officer, a sys admin who is going to watch porn for the whole conference call and won't listen a word, two interns to make up a number and look like you're prepared. Current objective: survive. Duration: 2 hours and a half.
- 19:30, snort some more chalk for half an hour, preparing for the mail in which you explain the associate partner how because of the aforementioned conference call we're going to lose a maintenance contract worth 20 grands per month (and a law proceeding worth a number of dollars you can't even read) and you have no idea how could this happen
- 20:00, timesheet! Compile the weekly report, write what you did and how long did it take for each task. You are allowed to compile 8 hours per day, you worked at least 11 but nobody gives a shit. Duration: 30 minutes
- 20:30, update your consultant! Training course, "tasting cum and presenting its organoleptic properties to a client". Bearing with your job: none at all. Duration: 90 minutes, then there's half an hour of evaluating test where you'll copy the answers from a sheet given to you by a colleague who left 6 months ago.
- 22:30, CHANCE CARD! You have a new mail from the HR: you asked for a refund for a 3$ sandwich, but the receipt isn't there and they realized it with a 9 months delay. You need to find that wicked piece of paper. DURATION: 30 minutes. The receipt most likely doesn't even exist anymore and will be taken directly from your next salary.
- 23:00 you receive a message on Teams. It's the intern. It's very late but you're online and have to answer. There's an exception on a process which have been running for 6 years with no problems and nobody ever touches. The intern doesn't know what to do, but you wrote the specifications for the thing, 6 years ago, and everything MUST run tonight. You are not a technician and have no fucking clue about anyhing at all. 30 minutes to make sure it's something on our side and not on the client side, and in all that the intern is as useful as a confetto to wipe your ass. Once you're sure it's something on our side you need to search for the senior dev who received the maintenance of the project, call him and solve the problem.
It turns out a file in a shared folder nobody ever touches was unreachable 'cause one of your libraries left it open during the last run and Excel shown a warning modal while opening it; your project didn't like this last thing one bit. It takes 90 minutes to find the root of the problem, you solve it by rebooting one of your machines. It's 01:00.
You shower, watch yourself on the mirror and search for the line where your forehead ends and your hair starts. It got a little bit back from yesterday; the change can't be seen with the naked eye but you know it's there.
You cry yourself to sleep. Tomorrow is another day, but it's going to be exactly like today.8 -
user an support: bekomme keine push-nachrichten.
support: darf ich ihre User-ID haben?
user an support: CHE-123.456.789
support an user: nein, das ist unserer Mehrwertsteuer-Nummer, wir brauchen ihre User-ID.
User an support: mann seid ihr umständlich, nehmt doch die Nummer und probiert es erstmal.13 -
I just released a tiny game for iPhone!
It's basically an attempt to mix 'Heroes of Might & Magic' and mtg.
In the screenshot my terminal says 'helloworld.cpp'. That's right, this is my first c++ program and I don't care how crappy you think this game is, I'm super proud of myself!
I've always worked in data science where managers assume I know how to code because there's text on my screen and I can query and wrangle data, but I actually didn't know what a class was until like 3 years into my job.
Making this game was my attempt to really evolve myself away from just statistics / data transforms into actual programming. It took me forever but I'm really happy I did it
It was brutal at first using C++ instead of R/Python that data science people usually use, but now I start to wonder why it isn't more popular. Everything is so insanely fast. You really get a better idea of what your computer is actually doing instead of just standing on engineers' shoulders. It's great.
After the game was 90% finished (LOL) I started using Swift and Spritekit to get the visuals on the screen and working on iPhone. That was less fun. I didn't understand how to use xCode at all or how to keep writing tests, so I stopped doing TDD because I was '90% done anyway' and 'surely I'll figure out how to do basic debugging'. I'll know better next time...22 -
dear boss,
I can't work if you're calling me every 5 minutes to check on my progress. You're only slowing us down. I suggest you resign.4 -
Pet peeve: When people use "Jira" to mean story / task / sprint / epic.
*Real* pet peeve: When people use it with more than one of the above meanings in the same sentence.
"Will we finish this Jira (story) by the time we close the Jira (sprint) on Monday?"
Dude, wtf. I actually have to decode your sentences to figure out what you're on about. Just learn the right terminology. It's not hard.10 -
Nothing but the best for little bittersweet jr., so I mask up and bike out through the rain to buy the tiny girl the most expensive pacifier I can find.
When I hand it to baby, she giggles, grabs the nipple end in her fist, and passionately starts slobbering on the back of this luxury mouthhole-plug, sucking the edge, biting on the ring. Angry grunt, yeets the plastic object out of the crib.
Apparently, it doesn't meet her specs at all. When I fall to my knees asking what else I can do for her, she just pouts, groans, whines, and then falls asleep.
That's when I realized.
When my little monster grows up, she's going to be a product manager.12 -
apparently with massively long videos, with no timestamp corruption or seek table fuckery, like ACTUALLY massively long videos, VLC dies somewere around the "several hundred hour" mark when trying to get the next frame.
is this a bug or did my hubris exceed VLC's tolerance?13 -
Me: *working on a project for a year solo*
Management: Let's move development to consultants
Me: I don't think we'll profit from that
Management: Yes let's do it anyways
Me: *switching between project management and working on another project for 6 weeks*
EMERGENCY MEETING
Management: We're not getting enough output
Me: What did I say?
I'm so fucking tired of this project fuckery. Cred to my boss, she's great, but this time they should've just listened to me.2