Details
Joined devRant on 3/26/2017
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
-
So apparently jupyter / ipython adds the current workdir to kernel library path, and it crashes if you happen to have a file named something like "tokenize.py" in your workdir because it gets prioritised over ipython's builtin module with the same name. What a great design for something which is specifically made to run isolated chunks of code, that it can't even properly isolate itself from the workdir.1
-
Not entirely dev related, but...
I'm getting tired of (electrical, mechanical) engineers complaining about HW limitations like "oh this board only has 12 KB of flash memory" or "I can't make this thing move smoother because my CPU is only 16 MHz" Bitch, you can spend $500 on 3 servo motors, but you can't afford to pay extra $5 to get a board with better specs to control them?10 -
"note that the package name is different from the importable name"
God I hate Python dependency management3 -
Being rejected as "unprofessional" for explaining that I don't want to rush a decision 2 days before Christmas. By the guy who, I kid you not, showed their EKS credentials on screen during a recorded online interview. Kinda glad I dodged that one now that I'm looking back...6
-
A customer specialising in identification and security solutions called today, claiming "they" found malware on their website. Then they provided a weird link to some shady malware scanner, and the "malware" turned to be a <noscript> tag which adds ?noscript to the page url, so we can serve no-JS optimised content. As a bonus, the scanner only detected it on two URLs, even though every single page on the site contains that same line of code.
Joke's on them, have fun paying for priority support outside of the business hours for nothing.2 -
Follow-up on https://devrant.com/rants/5001553/...
How the fuck are Jupyter notebooks so popular in research? Like some dude had an idea to take perfectly good markdown and python code, add a whole lot of transitional properties to make version control impossible, encode it as JSON on the assumption that a human could somehow look at it and make sense of countless escaped characters and base64 encoded data, create dedicated software people need to install in order to read what used to be simple plain text, and think "This. This is what 99% of data researchers will use from now on." And somehow, overwhelming majority of researchers agreed that this extremely inefficient data format is the best there is and they should develop all their tools around it.12 -
Hey Python, why in the ever loving readability universe I can't break the following command across multiple lines?
df.replace(...).apply(...).reset_index().drop(...)
Oh, but I hear you say "Hitko, why you can break it into multiple lines if you break within brackets!"
To which I ask you, does this shit look any more readable?
df.replace(...
).apply(...
).reset_index(
).drop(...)14 -
The most common mistake people do is trying to learn some complex cutting-edge technology from scratch. Cutting-edge technology is just combining old technology in new ways to solve new problems. To learn it, first learn existing technology. Existing technology is here to stay, it's well-explained, and it's usually much simpler to understand. Then the rest will just click.7
-
Why can't managers understand that functionality changes and UX changes should be two separate epics? There's a huge fucking difference between composing an UI from existing components vs. having to figure out new components while at the same time paying attention to 12234234 new scenarios while at the same time duplicating existing components because existing portion of the app has to keep old UX.
And then they say bullshit like "we need solutions, not problems". Fuck you. Solution is to keep existing UX and focus on functionality, and do complex UX changes when functionality is well-defined and STABLE. But no, you fuckers won't listen even when the fucking lead dev tells you to.4 -
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 -
!dev
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