Details
-
AboutStudent, tech nerd and freelance developer from Finland. Software engineer-to-be. Shameless anglophile.
-
SkillsWebdev, React, Node.js, open source
-
LocationFinland
-
Website
-
Github
Joined devRant on 5/1/2018
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
-
Buckle up kids, this one gets saucy.
At work, we have a stress test machine that trests tensile, puncture and breaking strength for different materials used (wood construction). It had a controller software update that was supposed to be installed. I was called into the office because the folks there were unable to install it, they told me the executable just crashed, and wanted me to take a look as I am the most tech-savvy person there.
I go to the computer and open up the firmware download folder. I see a couple folders, some random VBScript file, and Installation.txt. I open the TXT, and find the first round of bullshit.
"Do not run the installer executable directly as it will not work. Run install.vbs instead."
Now, excuse me for a moment, but what kind of dick-cheese-sniffing cockmonger has end users run VBScript files to install something in 2018?! Shame I didn't think of opening it up and examining it for myself to find out what that piece of boiled dogshit did.
I suspend my cringe and run it, and lo and behold, it installs. I open the program and am faced with entering a license key. I'm given the key by the folks at the office, but quickly conclude no ways of entering it work. I reboot the program and there is an autofilled key I didn't notice previously. Whatever, I think, and hit OK.
The program starts fine, and I try with the login they had previously used. Now it doesn't work for some reason. I try it several times to no avail. Then I check the network inspector and notice that when I hit login, no network activity happens in the program, so I conclude the check must be local against some database.
I browse to the program installation directory for clues. Then I see a folder called "Databases".
"This can't be this easy", I think to myself, expecting to find some kind of JSON or something inside that I can crawl for clues. I open the folder and find something much worse. Oh, so much worse.
I find <SOFTWARE NAME>.accdb in the folder. At this point cold sweat is already running down my back at the sheer thought of using Microsoft Access for any program, but curiosity takes over and I open it anyway.
I find the database for the entire program inside. I also notice at this point that I have read/write access to the database, another thing that sent my alarm bells ringing like St. Pauls cathedral. Then I notice a table called "tUser" in the left panel.
Fearing the worst, I click over and find... And you knew it was coming...
Usernames and passwords in plain text.
Not only that, they're all in the format "admin - admin", "user - user", "tester - tester".
I suspend my will to die, login to the program and re-add the account they used previously. I leave the office and inform the peeps that the program works as intended again.
I wish I was making this shit up, but I really am not. What is the fucking point of having a login system at all when your users can just open the database with a program that nowadays comes bundled with every Windows install and easily read the logins? It's not even like the data structure is confusing like minified JSON or something, it's literally a spreadsheet in a program that a trained monkey could read.
God bless them and Satan condemn the developers of this fuckawful program.8 -
The single cuntiest error I ever had in one sentence:
Cannot read property 'undefined' of undefined.4 -
I wrote a type checking utility that also considers all types (JS without TypeScript, so this meant arrays etc.). The desired type had to be declared in a config file and the data didn’t even come from the config.
What would I not do to prevent all possible attack vectors... -
Just observed a robot lawnmower driving in circles on a small hill on someone’s lawn.
Teslas are supposed to be able to drive autonomously in city traffic... -
I was just listening to Last Week Tonight with John Oliver on YouTube while brushing my teeth and tried to adjust the volume on my phone but instead accidentally locked it. Then the fingerprint scanner refused to open the phone again, so I turned it the right way around, accidentally removing the electric toothbrush from my mouth in the process, spraying toothpaste and saliva all over my screen like a giant fan.
When I finally unlocked my stained phone, how did YouTube react to my blood being ready to boil?
“Wish videos kept playing even when you close the app? Try YouTube Premium for 12,99€ a month.”
I wanted to drop my phone into the bog and walk away singing Fucked With an Anchor.3 -
I've come up with a new Linux setup I'd like to name "Masochist Linux".
- TinyCore
- i3
- Vim with custom bindings
- Dvorak keyboard layout3 -
TFW you put your local changes on a flash drive, drive 35 km away and notice that you forgot the drive. So you go back to get the drive the next day, take it and hightail it back. Then, the next day, you copy your changes over and are about to start developing when...6
-
Badly lahmayo eggsdee
Jokes aside, while I am a sociable person, I don’t feel the need to go and hang out with my friends - and they don’t demand I do either. I’ve been just fine with the daily interactions at school and that sort of stuff, so the balance is already biased for me. I do however hang out a lot on Discord in various communities and enjoy the social interaction I get from there as well.
As a result, the dev life takes the bigger piece of the cake, but in my case it’s not a bad thing. Which is how it should be at the end of the day - do what feels best for you. -
In two days, on 28 June, I'll know whether I'm going to enter the path of becoming a software dev or if I have to try again next year. Wish me luck fam.7
-
This started off as a rant but it soon grew way too large to fit in 5000 characters, so I had to take to my Medium blog instead.
Here, y'all, have a lesson in web design from hell.
https://medium.com/@linuswillner/...2 -
You know what really cheeses my onions? When people write their code in a foreign language, say French or Spanish, and then come to me asking why it doesn’t work. Like, mate, how you expect me to be able to make sense of your code if your variable naming is totally foreign? And it looks horridly out of place to boot.
Moral of the story: Write your code in English and save us the headache.2 -
You know that feeling when you're coding late at night and you get an error that you just can't parse with your tired brain, and go FUCK IT ALL, FUCK IT ALL
I'm having that feeling right about now...6 -
If it’s a personal project, I’ll put it off for a while and do something else to switch things up - I might work on a different project for a day and then pick the first one up again.
If it’s a work project, I can’t naturally put it down, but I might just drop it for a shorter period of time, like a minute or two. Get up, take a walk, refresh my thoughts.
This may of course be a slippery slope for some, but for me it’s proven effective in juggling my projects. -
Leaving Discord open while working on personal projects. When switching between windows it’s all too easy to get distracted by a spicy shitpost strolling by...
-
(Q: How much are you allowed to Google as a developer?)
“You’re allowed to Google as much as you want. This is not school, you’re employed to solve a problem. Nobody cares whether you Google for the answer or remember the answer from another Googling.”15 -
Just noticed that my Recycle Bin had about 130 MB of stuff in it. Peeked in and I soon found out why.
Turns out I didn't hit Shift + Delete when deleting node_modules from a React project...3 -
We’re supposed to have self-driving cars in this world soon if Google and Apple are to be believed...3
-
Me: *spends 5 hours screwing around with recursion and performing operations in reverse order*
Unit tests: *pass*
Me: Wow. Okay, that’s interesting.
*run tests again*
Me: Right, well, that’s just dandy. Now, how did I get here and how do I document this...
TL;DR I spent 5 hours fucking about and accidentally came up with a working solution that I can’t explain
EDIT: RIP wrong category1