

The first step in any software project is not doing it. Have you checked if the product you want to build isn’t already out there?


The first step in any software project is not doing it. Have you checked if the product you want to build isn’t already out there?


Imagine thinking about what you’re going to code beforehand. What a world we live in!


Let’s be real here. The problem isn’t that it’s “too complicated” to list the fees. What’s complicated about listing a few numbers? The problem is that they don’t want to list a myriad of fees.
The fact that “tell your customers what you will charge them” is a rule that had to be instantiated in the Biden legislation is in itself a joke.


Single responsibility. I deplore my backend developers who think that just because you’re mauling a single (Java) stream for an extended operation, it’s ok to write a single wall-of-text, 5 lines long, 160 characters wide. Use fucking line breaks, for fuck’s sake!
Sometimes there’s literally no other way (that I know of). When you’re debugging concurrency issues, stopping all time with a debugger just isn’t an option.


For me Steam never picks up the discrete GPU and always wants to report the integrated one. Might be relevant for you if you intend to do anything with Steam’s hardware survey data.
For every department, IT knows of a canary. If that person of … questionable mental ability … finds their way around the new systems, everyone else will, too.
WTF‽ I’m a web dev for 5 years, 8 if you count university, and I’ve never heard about bookmarklets. Why would that even begin to work?
Man, this is so amazing!


If you count the programming language you use as ‘platform’, then yes. Python rounds both 11.5 and 12.5 to 12.


Devices are configurable via software. If windows managed to “flip a switch” on the WiFi chip, it would affect Linux as well if it didn’t reset it on boot.


I didn’t know Malfoy was royalty.
The logic is fine. If you rename the variable to isAdmin, it makes perfect sense. Either they are an admin, or they are not an admin, or the state is unknown (here expressed as null). If you want to throw another JS-ism at this, undefined could be assigned before the check has been made.
I regularly use variables like this. If users is undefined, I haven’t fetched them yet. If they’re a list, then fetching is complete. If they’re null, then there was an error while fetching.


Angular provides a utility to update its packages. If you naively update every single one manually, you’ll get errors because the library will be incompatible with itself. Maybe other flavors of SPA have update scripts, too?
ng update /core@<the next major version> /cli@<the next major version> Don’t skip versions!


For each problem you might want a package for, there are at least 3 packages, sometimes lots more. You need to sift through them in order to get the one that works and is maintained.


Very efficient. I’m starting to feel this is what users see when they interact with websites, anyway. Only the cross should be “donation_dialog_button_close”.


If that’s the only error mechanism, sure. Exceptions in most languages tend to be relatively expensive, though, and most have a cheaper idiomatic way of returning error codes; you’d want to use those if they’re available, right?
I think not being able to get the current time from the system is very exceptional. And I think exceptional circumstances should act that way and not “look like” normal executions. To me, that means letting hell break loose, and not “silently” return a 1 instead of a 0.
By similar reasoning, “Exceptions in most languages tend to be relatively expensive” is a very weak argument. We don’t expect this error-throwing code to execute a lot.
Luckily I learned programming when I was already using the NEO layout. I couldn’t imagine typing parentheses and the like in German…