Joined devRant on 3/26/2017
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
Dear X. There's an obvious error with the way you're merging arrays; instead of conditionally adding items to the existing array, each condition overrides any items added by the previous conditions, which is clearly not the desired behaviour. I'd love to add a test to illustrate this behaviour, but you're not using them. I'd also love to create a simple pull request, but for some fucking reason you're using the worst possible version control system so I can't do that. I've submitted a support ticket along with all the code needed to fix this silly mistake, but apparently you either don't understand 2 lines of your own fucking code, or you didn't even bother looking at it before posting a shitty generic reply about "needing more information". There is no such thing as more information. There are two IFs, and they are supposed to add items to the array, not override any previous items. It's written in your own comments, and it's pretty obvious from the way the rest of the function merges those items.
Also, use a fucking linter, your code is a mess.7
How do smart (and, I presume, well-educated) people get an idea like "Oh, I know what this world needs, another video where someone scientifically disproves a story from the Bible" or "I should commemorate the new year by telling everyone how insignificant this day is for the universe"? How does someone spend years traveling the world, giving speeches about science, teaching curious people about physics, history, mathematics, chemistry, the space, etc., and then figure that the next thing they should share from their impressive knowledge is an edgy video disproving some old story or tradition?24
We don't talk enough about type 2 error! So many papers everywhere are just pure trash because they don't account for it, and people are so fucking oblivious about it, they don't even catch the obvious ones. Even researchers and publications which are supposed to properly review their articles simply fail to ask the obvious "Did you measure the segment which doesn't fit either of your variables?"8
The more I use snaps on Linux, the more I feel like we came the full circle. Installable package (snap) contains a bundle of all dependencies, and installs them in an isolated system path to avoid version incompatibilities. Snaps can can have some sort of install-time configuration, and they create links to a handful of entry points rather than adding all executables to the path. In short, they do the exact same thing Windows installers have been doing for the past 30 years.18
A little follow up regarding https://devrant.com/rants/3115422/
I'm quitting. Seems like owners took a huge chance in the past couple years when the business was doing good, and didn't plan for any kind of potential trouble. Now the stress is going through the roof, noting we do is good or fast enough, there's micromanagement everywhere. On top of that, it seems the company took a huge financial risk with the project I've been in charge of, and isn't getting nearly enough customers to cover that. As a result, people were told to lie about new features we've had in works to attract customers.
Several other people are quitting in the following months, and it seems like it's all coming down like a house of cards.
On a brighter note, I'll be done with all this just in time for my exams, so I can properly prepare for them.7
At least pretend to have a reason for using checkboxes where the behaviour is obviously a single choice. I know I'm sometimes full of crap. I know I can waste so much time arguing for something I'm wrong about. At least I have arguments to support my approach, and I don't dismiss my mistakes. I don't need you to spend the next 5 minutes changing checkboxes for radio buttons in the mockup, it took dev 5 seconds to replace "checkbox" with "radio" and move on. However, I do need you to know what you're doing, even if it turns to be wrong.
I know this world celebrates people who can do things perfectly: models with perfect bodies, singers with perfect voices, sportsmen with perfect scores, students with perfect grades. I understand that's why you wish to try again so you can do it perfectly.
That's not what the world needs. The world needs people who know why they did what they did. It's drunk drivers who break down in the court, not serial killers. Serial killers know what they did, they know why they did it, and they believe it was the right thing to do; drunk drivers on the other hand had no idea what they did or why they did it, and they try to dismiss their wrongdoings by blaming them on alcohol, not getting a taxi, parking fees, the car, or some other circumstances.
So confront your bullshit for once. Stop searching for excuses to dismiss challenging ideas and prove you can defend your position. Otherwise, don't get angry when your "impeccable" ideas lose to someone who at least tries to defend their nonsense.3
So after a couple years working at this company, the faculty I graduated from introduced a postgrad (masters) course in data science. I was always interested in the field, so I said fuck it and jumped the bandwagon...
I'm starting this week, I'm kinda worried my knowledge of maths and statistics got a bit rusty since graduation. Also most students there will be 4 years younger than me, and I'll keep doing my full-time job at the same time. But hey, at least I'll break the routine, and I can always quit my job if it turns out I can't do both, so whatever.
That's all folks!1
Why are OSS maintainers so fucking incompetent and cocky? A documentation clearly says to use "use_parent_assets: true" when creating a child theme. Yet not a single fucking line of code actually checks that value. The fix is literary a single if(value) assets = deepMerge(parentAssets, assets). But because some contributor somewhere didn't write that line to the maintainer's liking, it's been hanging in the air for months.
Take your head of of your ass, there's thousands of people paying for support & addons for your product, and you can't add one fucking line to fix a rather critical bug.6
Is apple a fruit? Yes.
Is orange a fruit? Yes.
Is apple an orange? No.
Does apple equal a fruit? No.
Does orange equal a fruit? No.
If you're capable of understanding this, then WHY IS IT IT SO DAMN HARD TO UNDERSTAND 0 == ""?14
Note: I posted this as a comment, but figured it could be a rant on its own.
I absolutely hate what frameworks like Bootstrap did for the web. True, 10 or 20 years ago quick personal / pet project sites looked plain and boring, and only sites with dedicated developers had a nice layout. But what did Bootstrap bring? Those "minimal effort" sites still look boring as fuck, except now they have Bootstrap look & feel. What's even worse is that thanks to Bootstrap, every fucking UI kit is just Bootstrap with more bloat. To further prove my point, if you google "material CSS" you'll find a ton of projects, and except for the official Google projects, they all look & feel like a mutilated incest child of Bootstrap and MD because instead of making their own implementations, everyone just started with Bootstrap. And the same goes for all sorts of templates which look & feel nothing like Bootstrap, but thanks to its shitty influence devs still start with Bootstrap instead of writing clean CSS which does what a template needs without extra bloat.1
Had an interesting application for a web / fs position the other day. Some guy in his 40s sent a CV, along with a bunch of 5+ years old reference letters (recommending him for things like PHP 5.3 and ExtJs 4). A bit outdated but okay.
And then, he put in a list of NPM packages he used. Not just relevant frameworks like Angular & React, or tools like Webpack and Babel. No. A list. Of. NPM. Packages. There were things like UUID there, which is literary a single function!2
Would be a perfect joke if it read "Then it's true" (or maybe "Then it's 22")
Now it's more like the kind of joke your annoying boss would make to "act smart around tech guys"2
Can we ban SO links please? Or at least add something to filter out posts with those links? Not a day goes by without someone copy-pasting their SO questions here, and it's getting fucking annoying.12
ARGH the next person to tell me how X is the best toolchain is getting their fucking head cut off! Holy fucking shit, this is even more annoying than the whole IDE debate. At least with IDEs everyone has a favourite one and they hate others accordingly, with build toolchains there's always a huge group of fucktards sucking each other's dick by adding new features, and they're always too busy wanking their sparkling features for small projects to realise how fucking inefficient their polished dings and dongs are for any bigger job.
For the millionth time, no, we're not switching to this popular toolchain just because it gave you a blowjob with your pet project (although that would indeed be a tempting offer), so stop talking how fast and flexible it is. Until you can show how it compiles a 500 MB project faster than our current setup, I don't give a shit how many people jerk on that nookie.3
Go to fucking hell SO!
Question: "How to do X?"
Answer: "You can solve your particular problem without doing X."
God fucking damnit, yeah some noob tried to use X to solve a completely unrelated problem and thank god somebody pointed out a better solution. But since all other questions about doing X are labelled as duplicates of this question, could you dickheads at least provide an actual answer to the question instead of an answer which only works for that particular problem and has nothing to do with X?3
You know how some kid says "poo" like it's the best joke ever? That's exactly what your shitty "programmer" jokes are like, and we're all fucking tired of them (not to mention we've already heard them countless times).8
God fucking dammit why are people so fucking lazy? A couple months ago I've had the intern refactor and organise this coworker's spaghetti code, and he did an excellent job, added type safety, etc.
I've took special care to explain it to this coworker that I understand he didn't have time to organise code and the intern took care of it, and to please keep it clean from now on.
Today I had to add a small feature to the same codebase, and every single thing that fucktard added from then on was crammed in the same file. And that guy's been here for 5 years already, I thought I don't have to triple check every single line he writes by now...5
God I fucking hate my country! The moment it looks like we've managed to control covid spread by limiting movement between cities / municipalities and banning people from public places, and we may just be able to slowly loosen some restrictions, some fucktard on national TV starts telling people how all those restrictions are unbearable just because they came from the "wrong" political option. And people listen to that idiot more than all doctors telling them to stay safe.
The worst part is we probably wouldn't even limit movement if it didn't become obvious people are hoarding natural attraction / getting injured by extreme sports / inviting friends & relatives over when told to stay at home and avoid public places.32
Don't make your problems too tangible. Abstract them. Sure you need to check which events (given by start & end dates) are happening at a given time. Don't jump in just yet. Think about it. You're searching for intervals given a point. Google that. Read about it. You'll learn something useful instead of just doing an inefficient naive solution. Now that you know it, show off. Find some programming competition and own that!10
Why the fuck open source solutions need to be such a load of bullcrap? I've spent a week trying to set up every single self-hosted video conference software, and the only thing I've got is a shorter lifespan.
How the fuck does your (judging by GitHub, well maintained) software only support Ubuntu 16.04? And I mean ONLY, there's no support for docker, or any other distro either, and we're only weeks from getting the second LTS since 16.04. And why the fuck does documentation tell me to manually go through 20 different config files just to enable SSL?
Why the fuck doesn't your official AWS cloudformation template include VPC or other required parameters? I've had to rewrite the whole thing just to get a valid stack you dipshit!
And how fucking hard is to make your software look decent, I can't expect clients to chat with me using something that looks like an incest child of 2003 MSN and eDonkey?
Oh, and it'd be fucking dandy if your documentation wouldn't return 404, maybe I'd be even able to test what your product has to offer?
I guess after everything I've tried I'll go with Jitsi; it seems the most decent, although it lacks some pretty basic features like limiting chat features for guests.26
Why is it so fucking hard for people to follow basic rules? FFS you're supposed to stay at home to limit contact between people, that doesn't mean you can play volleyball with your friends or go to the local park! And if you decide to go hiking, choose a place where you'll be alone, not the most popular trails around the city! You're the fucking reason government needs to make new quarantine regulations every day, not this virus, and you deserve no help if you catch it! Fuck you!19
I'm so happy to have an electric car in times like these, not only it saves me a whole lot on gas, I can keep using it without the need to visit public places to fill it.6
Studying engineering doesn't make you an expert physicist, and studying medicine doesn't make you an expert virologist. Learn the bloody difference, just because somebody has a degree doesn't mean all they say is true and verified, especially if the don't list their sources or talk about it "exclusively" for one media.2
You may know I love to hate tests. Well not the tests actually, what I hate is the TDD culture.
DBMS schema in my app dictates a key can either have a value, or be omitted - it can't be null, and all queries are written with that in mind (also they're checked compile-time against schema). But tester failed to mock schema validation, inserted a bunch of null keys with mock data, actually wrote assertions to check those keys are null (even though they never should be), and wanted me to add "or null" to my "exists" queries.
No, we don't need more tests, and you're not smart with your "edge cases" argument. DBMS and compiler ensure those null values can never exists in our DB, and they're already well tested by their developers. We need you to stop relying on TDD so much you forget about the practical purpose of the code, and to occasionally break from the whole theoretical independent tests to make sure your testing actually aligns with third-party services some code uses.
And no, we don't need more tests to test your mocks, and tests to test those test, and yo dawg, I heard ...5
"It takes A and B and C and X and ... to make this work on Windows"
What? Nooo really? Making Linux tools work on Windows takes more effort than on Linux? And it must totally be Windows' fault, right?
Pull your head out of the ass already. Running Windows tools on Linux takes just as much effort and just as many extra steps, and the same goes whenever you try to run any software on a system it wasn't made for.18
For fucks sake, just because you don't know anything besides JS, you don't have to constantly complain how it's "so fucked up"!
Yeah there's a lot of frameworks. So what? Python has 50+ wsgi frameworks just for server-side apps, Linux has literary hundreds of desktop environments, C++ has over 30 actively-developed UI frameworks, and let's not even get started on CMSs or game engines. And each language comes with its own dependency management or two, NPM discourages static linking & bundling dependencies until the very end, while some others only recommend dynamically linking widely-available dependencies & always bundling the remaining ones.
Software development is constantly evolving, and for most time there's no right or wrong approach. And when one approach is chosen over another, there's a reason for that. Imagine you just found a perfect library for your use case, but some idiot decided to only offer minified code with bundled jQuery? Or a different idiot made it impossible to have multiple versions of a dependency on your system without resorting to one of various third-party hacks?
Every language has a ton of various frameworks & libraries that ultimately do the same thing, every language has a bunch of design choices you probably don't understand at first, and every language was made with a purpose and the fact that you're using it proves it achieved that.
Last but not least, all devs had to learn about quirks in various languages, and they're fucking tired when someone who barely knows a language tries to act smart going "ahaha how the fuck 0.1 + 0.2 isn't 0.3".10