ToLower()to compare paths 🤮it’s valid on macos tho…
I am glad I worked on codebases where we didnt run fast and break things. Well built software is achievable, but not flashy
These are good comments.
Honestly, yeah. I mean, not the best but I definitely am more in favor of comments being a commentary than explaining what’s happening. Explaining why is better than what, but in general, comments where anything absolutely bonkers is happening are useful. Bare minimum, I think some sort of acknowledgement that the person writing the code also recognized their code was weird (necessarily or not) is nice.
I can’t swear or reference other team members anymore, it was considered hostile. Fuck Steve, trying to get his git numbers up by running a linter on my feature branch while I am developing the branch. Now I can’t fucking quickly read the code, it is a mess for a reason, it is temporary. I hate Python for this, I come from C++ land and need my whitespace.
git pull # you see bullshit git reset --hard HEAD@{1} git push --forceSolved! Tell your coworker to make their own branch!
That comment made me laugh so hard
If it’s your feature branch, just revert his commits (or reset the remote branch to your local branch)? Not sure why a feature branch would be shared between devs…
Ask Steve why he was working on my feature branch. Steve is not a smart person. He also built a feature that another team was working on, over a weekend and implemented it on Monday morning. The feature was already finished on Friday and the PR was waiting for approval. While 10x devs work fast, they create 10x the work for everyone else. He no longer works here and it turns out he burned every single team with shit like this. It is so hard to get rid of someone who can work fast. When upper management is convinced someone who is productive and smart can do no wrong. They ignore the fucking carnage they create.
Just don’t pull his commit
For fucks sake Garry!
I literally just wrote this a few hours ago (line 55)

The more insane, unlikely, and catastrophic the error, the more appropriate an insane, terse, apocalyptic error message is.
You writing an interpreter/VM? For what language?
Once i have a solid implementation, I wanna morph it into a custom scripting language for generating diagrams (a la graphviz or mermaid js)
I thought as much! Didn’t want to assume though just in case. I’ve gone through that book twice and I want to look at adding types to my implementation. Good luck!
Wasn’t there a graph posted somewhere at some point which showed the frequency of different swear words in comments in the Linux kernel code?
I’m pretty sure its a website that just analyzes the git repo and you can search for your own terms as well
These are normal and healthy comments
Most of the places I’ve worked I’d have been told to get rid of the cursing before checking something in. But, my own personal codebase has tons of this sort of thing.
But, aside from the cursing, these actually look like excellent comments. Comments should warn you when the code isn’t what you might expect. These are excellent from that point of view. If this is what a random sampling of the comments in the codebase looks like, it is probably a very well commented codebase.
Why are the fart sniffers reading the code? Or does the mere thought of a naughty no-no word give them the bad tingles?
The fart sniffers are there to prevent your pull request from being accepted because they have nothing better to do. They exist because they are promoted so your manager, that contributes nothing, can point to them as a “team player”.
I swear to God. Corporate code would literally work better if we auto accepted every pull request and just had a single meeting each month to decide if we should revert back to last month and try again or accept our current state as “better”.
Fuck waterfall, Fuck agile. Just go with the “was it worth it?” monthly review method.
Did we create more problems than we solved? Like, I feel like the Windows search function wouldn’t have passed this review and we wouldn’t get 0 results for the “uninstall” search string and start suggesting Bing results if this minimal method of rational discussion existed at a higher level.
Man, at $DAYJOB, if we open-source something, they tell us to check for checked-in passwords and whatnot, and force us to throw away the commit history, which always feels stupid when we’ve known upfront that we’re going to open-source it and so kept things clean from the start.
But then, yeah, you see a post like that and just think that it really wouldn’t have been too difficult to search for swear words before publishing.
I mean, I also don’t really care, since it’s code rather than an official communication channel, but I can understand why management might care.Management can go fuck themselves. Do they want the code to fucking work or not? These are load-bearing fucks.
It literally helps future programmers. There is nothing more inspiring than reading comments you can feel solidarity with. These literally are load bearing comments.
I also enjoy the sarcastic “I won’t regret taking this shortcut” comments. Like, you’re trying to fix some ass-holes code and they are literally mocking you for the fact that they knew they did it wrong but it would be someone else’s problem in the future. It’s a “pass the torch” kind of thing that I always enjoy. Like, I can’t be mad because I just feel so connected in our mutual frustration of wage labor bull shit.
The day I cannot swear in my code is the day I auto obsfuscate the whole thing so I can continue using swearwords but now also nobody else can work the code
Now THIS is art!
These are pretty calm messages to an Australian and Garry is British, so culture checks out.
// What the fuck
// Fuck dynamic compiling.
// what the fuck is this shit
// What the fuck, why isnt this a methodShould this by the by commentary be there?
Not really.
But as a programmer, I understand each and every time I see something like:// Urgh this is so dirty, Invalidate() and Refresh() do nothing.
tButt.AutoSize = false;
tButt.Width = maxWidth;
tButt.Height = maxHeight;
tButt.AutoSize = true;// this is bollocks, delete itThat’s almost certainly from a Brit.
// this looks like I'm being a fancy arsehole, but this is all because // the window shows up white for some reason when first opened, and this // disguises it.Could be either.

chefkiss.png
Typical Garry.
Yep.
Not too long ago I was explaining to people how Garry is both an asshole and bad at coding… now we get to see the unprofessional struggle session.
Like, if you are frustrated that calling methods from your own code base doesn’t work… maybe fix your code’s utility functions?
Instead of doing one off hackjobs for everything?
Any serious, experienced coder has tendencies toward this or even versions of their code with some of this kind of stuff in it.
… but you fucking clean it up and rewrite the rage with actually helpful documentation, if you actually give a damn about other people who might use it.
As the TF2 Sniper put it:
Professionals have standards.
Ah, yes I also work professionally, in very clean non-swear-inducing code without hackjobs that are in production and does a job, because it exists, and I know because I code a lot professionally and never see hacks or swear ever and it also reflects my flawless personality. In fact, here they are now, in the room with us. All the code that is perfect and without hacks are greeting us and they speak highly of me and badly about that unprofessional garry even though we don’t really know who he is we are definitely superior since our code is without any hacks and doesn’t use any libraries with swear words in the comments
I don’t see anything unprofessional there. Just naughty words. But, the naughty words are somewhere where they warn you that the code below doesn’t behave as expected, or complain because there isn’t a better way to do something. That seems like the best time to use strong language.
Cleaning it up is a great idea in theory, but in practice almost everybody has higher priority things to be doing. Leaving a comment in the code for why something is ugly is the best thing you can do when you don’t clean something up, so that someone coming along after you doesn’t struggle with it. We have no idea how many “naughty” comments are no longer there because the issues they addressed were cleaned up.
If you were to talk like this in any job I’ve ever worked at, you’d be fired in about a week, maybe faster.
Same with writing emails with this language.
And you’re missing my point that if you made your own functions… and they don’t work right, … you should fix those functions, rework them.
Not doing that is how you get technical debt, spaghetti code, which is bad for you, bad for what you’re trying to do, bad for anyone else trying to help you do it.
Commenting on a bunch of slapdash fixes is like covering holes you punched in your wall with framed graffitti about how frustrated you are.
If you saw that in a date’s home, you’d hopefully recognizr that as a red flag and nope the hell out.
If everybody else is too busy to actually fix the code, you have inept project management.
You as well have clearly never worked in an actual professional software dev environment, if you think this is reasonable or defensible.
Absolutely correct.
I always tell our new developers: If your new feature works, you aren’t done, you have to check if your code has to be refined first, before checking it in. (e.g. duplicated passages made into a common function, ugly hacks removed and “done properly”, stuff like this) Documentation and testing are also mandatory, but that’s because of the industry we work in.
Yep.
You can avoid having to do something like a total refactor that takes half the year, if you do the rough equivalent of a sanity check / clean up pass, when any new system or feature set is added, and make that habitual.
Its… kinda like how if you just do a bit of regular shopping, regular meal prep, regularly do the dishes, whatever, everything just flows easier in general.
The longer you run lean, move fast and break things… yeah it can improve output in the short term, but medium to long term, you’ll run yourself ragged, and things will break and fall apart.
Where the fuck are you coming up with the time to refactor all of your fucking frameworks?
But the trick is to keep the code good enough that it runs, but bad enough that you have job security
I wasn’t sure if Garry was commenting on his own code, or someone was calling Garry out on Garry’s code. Either way, your comment works.
Its likely a mix of Garry and maybe 2 to 4 other coders, who Garry assigns to develop various subsystems off of his broken core systems.
Thats exactly how he did it during Garry’s Mod.
Clearly they gave every last fuck they could about that code.
fuck me c# - is this how we compare paths
hahaha I’ve done this exact thing before, with windows formatting folder paths as
x/y/zand file paths asx\y\z.ext, especially since some modules would only accept one format or anotherWhy don’t they just have a
FilePathclass with an==operator?
I’ve never felt so elated for taking up Qt instead of going with the .NET C# route.
They wrote what we’re all thinking!










