Details
-
AboutTaught myself the best language for the job - am terrible at all of them
-
SkillsPython, Powershell, JS, Dart
-
LocationNew Zealand
Joined devRant on 3/15/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
-
Only because I'm a girl I can't pick facial hair for my avatar? What virgin thinks girls can't have a mustache?33
-
Fuck this goofy apple magic mouse which i gotta recharge from the bottom making the mouse unusable instead of charging from the sides28
-
I don't like how being an entrepreneur is glamorized these days.
People make you think that just starting a company will make you rich.
But we don't really pay attention to the hundreds of startups that fail each year. (And that could very well be you).
We only pay attention to those that do make it.10 -
Wtf Microsoft...
Found out the hard way that copying a line of code from Teams chat will sometimes convert the spaces into unrecognized ASCII char.
Spent a few hours yesterday to fix the bad chars.
🤡👍16 -
#Suphle Rant 9: a tsunami on authenticators
I was approaching the finish line, slowly but surely. I had a rare ecstatic day after finding a long forgotten netlify app where I'd linked docs deployment to the repository. I didn't realise it was weighing down on me, the thought of how to do that. I just corrected some deprecated settings and saw the 93% finished work online. Everything suddenly made me happier that day
With half an appendix chapter to go, I decided to review an important class I stole from my old company for clues when I need to illustrate something involved using a semblance of a real world example (in the appendix, not abstract foo-bar passable for the docs)
It turns out, I hadn't implemented a functionality for restricting access to resources to only verified accounts. It just hasn't been required in the scheme of things. No matter, should be a piece of cake. I create a new middleware and it's done before I get to 50 lines. Then I try to update the documentation but to my surprise, user verification status turns out to be a subset of authentication locking. Instead of duplicating bindings for both authentication and verification, dev might as well use one middleware that checks for both and throws exceptions where appropriate.
BUT!
These aspects of the framework aren't middleware, at all. Call it poor design but I didn't envisage a situation where the indicators (authentication, path based authorisation and a 3rd one I don't recall), would perform behaviour deviating from the default. They were directly connected to their handlers and executed after within the final middleware. So there's no way to replace that default authentication scheme with one that additionally checks for verification status.
Whew
You aren't going to believe this. It may seem like I'm not serious and will never finish. I shut my system down for that day, even unsure how those indicators now have to refactored to work as middleware, their binding and detachment, considering route collections are composed down a trie
I'm mysteriously stronger the following day, draw up designs, draft a bunch of notes, roll my sleeves, and the tsunami began. Was surprisingly able to get most of previous middleware tests passing again before bed, with the exception of reshuffled classes. So I guess we can be optimistic that those other indicators won't cause more suffering or take us additional days off course2 -
Interviewer: I don't understand. With a resume and portfolio like yours you shouldn't be applying to companies like us. You should be setting your sights on companies like Google/Meta. You'd be bored here after everything you've done so far. I know we're offering more money than your current position but you're worth more believe me. I'm going to keep looking, and so should you. But you need to aim higher.
Dev: ...
Well fuck me I guess?18 -
I'm fixing a security exploit, and it's a goddamn mountain of fuckups.
First, some idiot (read: the legendary dev himself) decided to use a gem to do some basic fucking searching instead of writing a simple fucking query.
Second, security ... didn't just drop the ball, they shit on it and flushed it down the toilet. The gem in question allows users to search by FUCKING EVERYTHING on EVERY FUCKING TABLE IN THE DB using really nice tools, actually, that let you do fancy things like traverse all the internal associations to find the users table, then list all users whose password reset hashes begin with "a" then "ab" then "abc" ... Want to steal an account? Hell, want to automate stealing all accounts? Only takes a few hundred requests apiece! Oooh, there's CC data, too, and its encryption keys!
Third, the gem does actually allow whitelisting associations, methods, etc. but ... well, the documentation actually recommends against it for whatever fucking reason, and that whitelisting is about as fine-grained as a club. You wanna restrict it to accessing the "name" column, but it needs to access both the "site" and "user" tables? Cool, users can now access site.name AND user.name... which is PII and totally leads to hefty fines. Thanks!
Fourth. If the gem can't access something thanks to the whitelist, it doesn't catch the exception and give you a useful error message or anything, no way. It just throws NoMethodErrors because fuck you. Good luck figuring out what they mean, especially if you have no idea you're even using the fucking thing.
Fifth. Thanks to the follower mentality prevalent in this hellhole, this shit is now used in a lot of places (and all indirectly!) so there's no searching for uses. Once I banhammer everything... well, loads of shit is going to break, and I won't have a fucking clue where because very few of these brainless sheep write decent test coverage (or even fucking write view tests), so I'll be doing tons of manual fucking testing. Oh, and I only have a week to finish everything, because fucking of course.
So, in summary. The stupid and lazy (and legendary!) dev fucked up. The stupid gem's author fucked up, and kept fucking up. The stupid devs followed the first fuckup's lead and repeated his fuck up, and fucked up on their own some more. It's fuckups all the fucking way down.rant security exploit root swears a lot actually root swears oh my stupid fucking people what the fuck fucking stupid fucking people20 -
Started my Monday morning by dm'ing all recruiters that are dragging their feet (for 1-2 weeks) to expedite their recruitment proccesses because I "received" an offer to which I have to respond by end of the week.
Let the chips fall where they may.1 -
> Manager gives me new ticket.
> This seems like a ticket Dingus would do.
> Remember Dingus got fired a month ago.
> Realize I’m the new Dingus.4 -
I hate these idiots that post source code examples as an image just so they can keep their cool highlighting and style. How the fuck am I supposed to test that without re-typing the whole thing myself? Ever try OCR on source code? Not too great, is it.12
-
After I caught COVID-19 my eyesight got really bad. Well, I just got back from the doctor and I need to wear glasses. What's the first thing I did?
[ ] Buy the glasses
[ X ] Put glasses on my devRant avatar8 -
Throughout my career I've blocked a total of three toxic clients.
They still find me via email.
Most recently, I've gotten an email simply asking "how does BitBucket work and how can I use it?"
LEAVE ME ALONE!!!!!!8 -
I tried being a manager or director or whatever... Can I go back to being a developer/programmer now?8
-
November 2022
*Wife*: What do you want for x-mas? A new phone maybe? Yours has lived through a lot already - perhaps it's time for an upgrade?
*I*: Naah, thanks. My trusty S7 still works incredibly well. I also have all those 2FAs set up there and stuff I'm too lazy to transfer over to a new device.
*Parents*: What do you want for–//–
*I*: Naah, thanks. My tr–//–
*in-laws*: What do you want for–//–
*I*: Naah, thanks. My tr–//–
*Siblings*: What do you want for–//–
*I*: Naah, thanks. My tr–//–
January 2023:
*My phone*:5 -
So.. I'm giving one of my employers webapps a visual refresher, new company branding and whatnot.
And then I stumbled onto a check that is not returning what anybody expects, and, well , I'm busy fixing things, yeah..? so I go digging.. 🤔
```
function isDefined(obj) {
return !(typeof obj === "undefined") || obj !== null;
}
```
Here's the fun part, these particular lines have been in the code base since before 2017, which is when my Git history starts, because that's when we migrated projects from Visual SourceSafe 6 over to Git. Yes, you read that right. They were still using VSS in 2017.
I've begged and pleaded with my last 3 bosses to let us thrown this piece of shit out our second story window and rewrite it properly. But no, we don't have time to rewrite, so we must fix what we have instead.
I lost 4 hours of my life earlier today, tracking down another error that has been silently swallowed by a handler with its "console.log" call commented out, only to find that it's always been like that, and it's an "expected error". 🤦
Please, just fucking kill me now... I just, I can't deal with this shit anymore.5 -
Got rejected by a company in Italy because in order to work for them remotely apparently I need to have Italian VISA. Tried to reason with them that I'm an EU citizen and I don't need a VISA but they wouldn't budge. Its either VISA or ASTALAVISTA16
-
When pandemic hit in 2020 I found myself out of work. Until then I used to have a java based pirate gameserver of a MMORPG as a hobby.
When pandemic hit I noticed that online players count increased from like 70 to 200 without much advertising because purely of people being stuck in home. So i decided to scale and spent 2 years with that. What a wild ride it was.
So i invested a bit in ads, managed to reach around 500 online players, opened my own company and launched a couple other successful spinoffs of that gameserver.
First year it was a goldmine but I was doing 10-14 hour days because I had to take care of everything (web, advertising, payment integrations, player support and also developing the server itself, ddos protections and etc.). I made quite a bit of money, saved for a downpayment for mortgage and got an apartment.
Second year I noticed that there was a lot of competition and online players count dropped, but I double downed on this and invested a lot into the product itself and spent most of the time developing a perfect gameserver that would be the big bang while also maintaining existing ones. Clasic overengineering mistake. As you can guess, I crashed and burned on all levels, never even managed to launch my final project because simply the scope was too big and I had trouble finding decent devs to outsource it to, since it was a very niche gameserver.
In the end I learned a lot especially about my own limits and ownership, now Im back to being a dev but working as a contractor.
I believe having actual business owner experience allows me to have different perspective and I can bring more to the table rather than focusing on crunching tasks.6 -
Last year I built the platform 'Tindex'. It was an index of Tinder profiles so people could search by name, gender and age.
We scraped the Tinder profiles through a Tinder API which was discontinued not long ago, but weird enough it was still intact and one of my friends who was also working on it found out how to get api keys (somewhere in network tab at Tinder Online).
Except name, gender and age we also got 3 distances so we could calculate each users' location, then save the location each 15 minutes and put the coordinates on a map so users of Tindex could easily see the current location of a specific Tinder user.
Fun note: we also got the Spotify data of each Tinder user, so we could actually know on which time and which location a user listened to a specific Spotify track.
Later on we started building it out: A chatbot which connected to Tinder so Tindex users could automatically send a pick up line to their new matches (Was kinda buggy, sometimes it sent 3 pick up lines at ones).
Right when we started building a revenue model we stopped the entire project because a friend of ours had found out that we basically violated almost all terms.
Was a great project, learned a lot from it and actually had me thinking twice or more about online dating platforms.
Below an image of the user overview design I prototyped. The data is mock-data.51 -
"Oh no this platform is serverless"
I hate this "serverless" term.
How does a cloud platform run serverless?
HOW?!
"yeah but like we don't have to run updates and manage the underlying stuff and can thus deploy stuff serverless"
NO.
THERE ARE ACTUAL SERVERS RUNNING IN ORDER TO RUN THIS PLATFORM.
YOU CANT RUN THIS FUCKING PLATFORM WITHOUT ACTUAL SERVERS.
HOW WOULD IT RUN THEN, ON FUCKING STARDUST?!
IT. IS. NOT. SERVERLESS. AS. LONG. AS. SERVERS. ARE. INVOLVED. AT. SOME. LEVEL.73 -
Worst Hackathon ? When you have coded so hard during 48 hours to have a functional prototype and the winners get trophee with a static PowerPoint, full of bullshit buzzwords...10