Details
-
SkillsPython, Linux, Java, C#, HTML/CSS
-
LocationPittsburgh PA
Joined devRant on 5/13/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
-
The first job I had, asked me to build a simple CRUD functionality in CodeIgniter (It was popular in 2017).
I wasn't able to understand the framework and its ins and outs.
(I only knew Core PHP at that point).
It took me 3 days to finish the task and I got yelled at by the team leader because of it and I almost broke down crying. At that point I was convinced that web development career isn't for me.3 -
I have worked with a handful of very green devs in the last 10 years. A common theme has emerged.
They don't heed any of my advice.
An exercise to the reader:
If you have a Windows machine, but need to work in a Linux environment, what would be your first instinct how to proceed?
In this exercise, you are as green as it gets. You have very little professional development experience, let alone server admin experience. And your lead dev has suggested setting up a VM.
1. Set up a Linux VM
2. Use a live CD or set up a dual boot system
3. Pay for a cloud server and set it up from scratch
I have no idea how this person intends to get any work done on a remote, terminal only, Linux server. That is if I can even get their environment into a sane configuration.13 -
CR: "Add x here (to y) so it fits our code standards"
> No other Y has an X. None.
CR: "Don't ever use .html_safe"
> ... Can't render html without it. Also, it's already been sanitized, literally by sanitize(), written by the security team.
CR: "Haven't seen the code yet; does X change when resetting the password?"
> The feature doesn't have or reference passwords. It doesn't touch anything even tangentially related to passwords.
> Also: GO READ THE CODE! THAT'S YOUR BLOODY JOB!
CR: "Add an 'expired?' method that returns '!active'?"
> Inactive doesn't mean expired. Yellow doesn't mean sour. There's already an 'is_expired?' method.
CR: "For logging, always use json so we can parse it. Doesn't matter if we can't read it; tools can."
CR: "For logging, never link log entries to user-readable code references; it's a security concern."
CR: "Make sure logging is human-readable and text-searchable and points back to the code."
> Confused asian guy, his hands raised.
CR: "Move this data formatting from the view into the model."
> No. Views are for formatting.
CR: "Use .html() here since you're working with html"
> .html() does not support html. It converts arrays into html.
NONE OF THIS IS USEFUL! WHY ARE YOU WASTING MY TIME IF YOU HAVEN'T EVEN READ MY CODE!?
dfjasklfagjklewrjakfljasdf4 -
I was today years old when I realized I could unzip with 7zip a excel, word, ppt files. Which then lead me down a rabbit hole of finding other OLE type files.. altium schematic files, brd files etc11
-
Fuck first level support.
Usually the users are the problem because they don't know how to reboot or they delay software updates to infinity if you give them the option.
Additionally, having to log in on a user's computer, I always feel like I'm entering a messy's appartment. How can they live like that?
Fucking imbeciles.2 -
I need an opinion.
I want to learn something new. I consider myself a non-stupid person, and I am quite embarassed by the fact that the only tool I know well is Js+friends.
My options are:
- Java because money
- C/C++ because smartass
- Rust because yes
- some new shiny obscure shit like nim/zig/hare because lol
Currebtly I need money tbh. Java would seem a reasonable option, yet I'm scared by its huge ecosystem and I'm afraid that it would seriously take too long (like MANY years) to be confident enough to get a job.
Also, despite the common memes and crap, I fucking like Java.32 -
I do not usually shit on operating systems or participate on hate discussions about tech and what not.
But boy, Windows 11 does fucking suck and it is giving me Vista vibes regarding how much I fucking hate it. And no, unfortunately I cannot change this PC to Linux (as I have before with other work computers) since I need Windows for it.25 -
!rant
boombodies here. Just wanted to thank this community for being there over the last year. This place has been an absolute haven that has welcomed my frustrations with open arms. As much as I love to bitch, it has been an absolute privilege working in this profession. After spending my 20s in a completely different field host to a vastly different set of values, learning to dev and continuing to hone my skills finally feels like home. And by home, I mean like hearth-coaxed sweat dripping from the balls of a blacksmith and the cocoa at the cottage in the middle of nowhere patiently waiting for his return. I wish each and everyone of you a treacherous and catastrophically dreadful 2023…A burden in which you all bear successfully, and emerge greater and grander than ever.
Actually can you action that by EOD instead? I already promised it to the client.7 -
Dev: Why do you have an identical if statement right below this one?
Manager: Because I want the code to double check, obviously.
Dev: …22 -
Someone should definitely collect all the rants of devRant and fine tune an existing model with that data so it’s able to produce new rants. I wonder what it would come up with 🤔9
-
I asked Santa to carpet fire every HR from my company, now it's time to log in and see if I've been good enough to have my wish granted.1
-
Ever dealt with people who don’t understand a damn thing they’re coding and just copy and paste stuff around and say that it works? It’s amazing how long people can skate by with only knowing 50% of how what they’re working on works.
We had some dumb know it all on our team who would regularly ship half-done stuff to production and then scramble to fix it after the users bitched about how it didn’t meet the requirements.
This stupid person changed an else to an if having no idea what any of the logic did in this section of code, didn’t adequately test it, and it somehow made it through code review because the better devs were out of office.
This bullshit goes to production, fucks up 200,000 records, and users start complaining about it. Shitty developer refuses to revert the offending code until multiple people on the team overrule them. They spend the next week unfucking the data and decides to just take a day off on Wednesday because it’s been “too much mental energy to fix.” The shit wasn’t even fully resolved yet.
Some people seriously do not belong in this industry. This person’s thought process was:
“Changing an else to an if can’t possibly have significant consequences. Let’s just change this so my code change executes to see what happens.”
Still not sure how they weren’t fired when this happened. They unfortunately got to quit on their own two months later.4 -
Fully Homomorphic Encryption (computing addition and multiplication of numbers WITHOUT decrypting) is fucking cool. That is all.
https://bit-ml.github.io/blog/post/...17 -
Meeting with CEO went well I heard. Only thing he didn’t like that there was no permission level “worthy of leadership” (GUI options are view-only/worker/admin/super).
Keeping the existence of the the secret “god” permission to myself I proceeded to create the “executive authority” permission, which is an alias…
…for view-only. 🖕😘🖕5 -
Time to say no to artificial intelligence, tried ChatGPT today and it's frightening.
The day when we won't consider nukes as the biggest threat to our civilization is approaching exponentially faster and faster and this is really worrying.21 -
I was recently hired as a lead devops to a giant shit show. The CTO said he needs someone to do things correctly instead of quickly. This is a conversation I just had this morning
HR: We want you to interview a potential new DevOps engineer
ME: okay, when?
HR: Tomorrow
ME: I won't be able to create interview tests and materials for tomorrow. How's next week
HR: This hire is urgent! It has to be tomorrow
ME: Then you'll have to do the interview without me
HR: We need you to interview them because we've had a few bad hires in the past that we don't want to repeat
ME: The best way to filter out bad hires is with technical tests, which will take time to develop. I can be ready by next week.
HR: We can't give you a weeks notice for each hire, we are in urgent need for more devops.
ME: ...14 -
🎉 As of today, I can proudly count myself among the members of the "Killed Prod on A Friday Afternoon" club. 🎉16
-
Today, I dropped my 5900x while cleaning the computer. It's dead. pins got bent and one pin got loose.
I feel like crying... please send prayers and thoughts.
R.I.P AMD Ryzen 9 5900X 5900x 12 Cores 24 Threads 70 MB Cache 3.7 GHz up to 4.8 GHz. You will be missed.19 -
Dev: Why did you suddenly start adding random whitespace to the end of all of the files in your PRs?
Manager: IT’S NOT RANDOM!
Dev: ?
Manager: That’s a way I came up with for tracking my contributions. Every time I edit a file I add a line of whitespace at the bottom so it’s clear to everyone how much and how often I’ve contributed to the team. Although I haven’t been doing it this entire time so I had to make up for this by adding more to files that I *know* I’ve touched a bunch before. Just think! Especially with how big my PRs are compared to everyone else the tally of my contributions is going to get huge!
Dev: …20 -
Just saw someone use Bing unironically as their main search engine. They have a masters in computer science.
Equal parts horrified and kinda tempted to study them like a creature9 -
Newly hired developer who calls himself ”senior” on linkedin has not contributed for 6 months. At least. I have been very helpful on many pair programming sessions. Directing him. Being extremely precise how things works and are working together. Small and big picture. He calls me and ask questions and I answer. Explain. Again and again. But it does not stick.
Nothing.
Extremely precise tasks. Written specifically for him.
Nothing.
He has like 10 commits in one year. It’s the worst I’ve seen in a developer role.
The other day in a zoom meeting he failed to declare a variable correctly. He copy/pasted a line instead and renamed the variable.
I saw this early. But I need not to work with him for a long time. It is now very clear that he will never contribute but in fact decrease the velocity of the team.
One year is a long time.
He is stupid. He can’t learn. Did he not tell the truth about himself when management hired him?
It so sad they hired him.13 -
Goddamnit Linux Whyyyyyyyy? Whyyyyyyy? How many gods do I have to pray to, to make you work on my machine.22
-
Mgr: composer require. That's all you're allowed to do. I want you to manually go through our word press site, check which ones need an update. And do a composer require in the command line for each to update them.
Me: wouldn't it make more sense to just increment the version in the composer.json and then run update?
Mgr: no, you don't understand how composer works, it's very complicated. Just do require. Don't ever do update.
Me: *does it anyway (reverting later of course) and compares update vs require and their differences in the lock file*
I mean it looks like 'update' is updating important dependencies for each of the packages as well as the package itself... The 'require' just seems to download the package itself but no updates to dependencies for those packages.
But seriously is composer that complicated that I can't just do an 'update'?
I've been reading the composer documentation and it seems to be saying that update is the better way to go...
I'm doubting myself these days...12 -
Let me flex a bit. Rendered the complete world of micro kingdoms in unity.
https://youtu.be/7DmCX9vFI5w
🥹6 -
Just refered to senior menagement as "money bugs" in a meeting,
Got away with it :D
Wabadaba dab dab!4 -
Today on "How the Fuck is Python a Real Language?": Lambda functions and other dumb Python syntax.
Lambda functions are generally passed as callbacks, e.g. "myFunc(a, b, lambda c, d: c + d)". Note that the comma between c and d is somehow on a completely different level than the comma between a and b, even though they're both within the same brackets, because instead of using something like, say, universally agreed-upon grouping symbols to visually group the lambda function arguments together, Python groups them using a reserved keyword on one end, and two little dots on the other end. Like yeah, that's easy to notice among 10 other variable and argument names. But Python couldn't really do any better, because "myFunc(a, b, (c, d): c + d)" would be even less readable and prone to typos given how fucked up Python's use of brackets already is.
And while I'm on the topic of dumb Python syntax, let's look at the switch, um, match statements. For a long time, people behind Python argued that a bunch of elif statements with the same fucking conditions (e.g. x == 1, x == 2, x == 3, ...) are more readable than a standard switch statement, but then in Python 3.10 (released only 1 year ago), they finally came to their senses and added match and case keywords to implement pattern matching. Except they managed to fuck up yet again; instead of a normal "default:" statement, the default statement is denoted by "case _:". Because somehow, everywhere else in the code _ behaves as a normal variable name, but in match statement it instead means "ignore the value in this place". For example, "match myVar:" and "case [first, *rest]:" will behave exactly like "[first, *rest] = myVar" as long as myVar is a list with one or more elements, but "case [_, *rest]:" won't assign the first element from the list to anything, even though "[_, *rest] = myVar" will assign it to _. Because fuck consistency, that's why.
And why the fuck is there no fallthrough? Wouldn't it make perfect sense to write
case ('rgb', r, g, b):
case ('argb', _, r, g, b):
case ('rgba', r, g, b, _):
case ('bgr', b, g, r):
case ('abgr', _, b, g, r):
case ('bgra', b, g, r, _):
and then, you know, handle r, g, and b values in the same fucking block of code? Pretty sure that would be more readable than having to write "handeRGB(r, g, b)" 6 fucking times depending on the input format. Oh, and never mind that Python already has a "break" keyword.
Speaking of the "break" keyword, if you try to use it outside of a loop, you get an error "'break' outside loop". However, there's also the "continue" keyword, and if you try to use it outside of a loop, you get an error "'continue' not properly in loop". Why the fuck are there two completely different error messages for that? Does it mean there exists some weird improper syntax to use "continue" inside of a loop? Or is it just another inconsistent Python bullshit where until Python 3.8 you couldn't use "continue" inside the "finally:" block (but you could always use "break", even though it does essentially the same thing, just branching to a different point).19