Somewhat tangential, but USB-C docking stations, as useful as it is to have everything in one cable, it can also be annoying.
At the office, I often just want to charge my laptop with them, but they also give me a wired internet connection, which, thanks to corporate networking shitfuckery, doesn’t work. So, every time I plug in, I have to disable that wired connection.
Also, recently a colleague had problems getting her headset working when she was plugged into certain docks, ultimately due to a bug in the OS.
Like, alright, that should be fixed in the OS, but that USB-C dock doesn’t even have a speaker attached to it. It’s completely useless that it shows up as an audio device.
And even after we found a workaround to fix her headset, she will now have to switch over her audio device every time she plugs into a dock.
So, basically it’s now one step to plug in the cable, but potentially multiple steps to undo half of what you unwillingly plugged in…
Kind of feels disparate from it being a video game, but it’s difficult to really make this experience another way:
I wanted to play a healer in an MMO. It was a shitty MMO, so healers could only be female characters wearing skimpy armor.
Well, it took about half a minute until I had people walk up to me, to then just stop 3 meters away. From the way they were moving, I have to assume, they were working their cameras to look underneath my skirt, and probably doing so with only one hand.
Some of them were sending me “hello :)” messages, which I guess is basic decency, if you’re going to use my body, but it felt weird, too, since we had nothing to talk about.
All in all, it felt uncomfortable. And I did not even have to fear for them to start touching or even raping me. Plus, I was able to log out, delete my account and basically just leave all of that behind.
Well, except for one thing I did not leave behind: I do not want to be the other side in that experience either.
Yeah, and at least those are their pets and they don’t, like, violently kidnap wild Pokémon to force those into fights.
Well, I’m mostly a backend dev, so my favorite part is that I don’t have to write JavaScript. 🙃
You might be more adept at navigating it, but that language is just a minefield of unexpected behaviour and has a massive, complex ecosystem.
I’m using Rust to compile to WASM (has the most mature tooling for that, as far as I’m aware) with Leptos as the UI framework.
You write your HTML and CSS like normal, but JS is replaced with Rust code.
And well, one big advantage is that since my backend is in Rust, too, I can use the exact same models, constants etc. in backend and frontend. If they drift apart, that’s a compile error.
(You do get this advantage, too, if you use NodeJS for the backend.)
But aside from me not liking JavaScript, there’s lots of little things that make Rust a pleasure to use here.
Rust’s sum types (Option, Result etc.) match really nicely with the infos you need for crafting a UI. Like, just yesterday I simply wanted to load a list of songs (Vec
) and thought, I’ll do the error handling later, but Rust’s paradigms still eventually left me with a Result, Error>
(contains either the song list or an error message).
At that point, I could have still just told it explode, if there’s an error, but then I realized, oh yeah, if I can’t load the list of songs, that Error
is precisely what I want to show to the user.
And then you don’t have to deal with horrid ternaries. Instead you get full pattern matching, so my UI code now looks roughly like this:
let song_list_result = load_song_list().await;
match song_list_result {
Ok(song_list) =>
Err(cause) => <span>{cause}</span>
}
I did leave out quite a bit of the boilerplate there, so this isn’t valid code, but point is, it’s a hundred times better than passing data and error in separate variables, separately checking, if they’re non-null and never quite knowing what all the legal states are, since both could be intentionally null or uninitialized null or unintentionally null or both non-null. It’s so much complexity that you just don’t have.
And ultimately, yeah, I chose the word “fun” quite intentionally there. You get the cool parts of frontend, i.e. lots of visual feedback and something to show, while leaving out most of the downsides, i.e. fugly code.
There is, of course, different downsides to the WASM/Rust/Leptos stack, like it simply being a very new ecosystem. You can’t yet pull in dozens of component libraries and so may have to build things more often yourself. And it isn’t yet as tried-and-tested as some of the bigger frameworks, plus Leptos is still going through breaking changes.
So, yeah, maybe don’t yet switch over everything at your dayjob, and of course, if you know Rust already, that’s quite the advantage, but overall, I do quite recommend it and feel like it’ll become a lot more relevant in the future.
Ah, probably shouldn’t have abbreviated there. “OS automation” meaning “operating system automation”, as in scripted deployment and configuration of software, similar to Ansible, Puppet, Saltstack etc…
I’ve mostly been frustrated with how relatively little assistance these tools give you. Your IDE obviously won’t tell you what values can be put into a given configuration slot, nor will it auto-complete the right values, if everything is written in goshdarn YAML.
And so, this has mostly been an exercise in creating such a framework in a strongly-typed language, with lots of compile-checks, and which allows you to quickly define own task (in the same language, you use to configure tasks).
Current main side project is a web music player, using WASM for the UI, because everything else is no fun.
I also have an own, tiny OS automation framework that I’ve been meaning to continue dicking around with.
Then I’ve got a minimalistic note-taking helper program. (My note system is just a bunch of loose text files, and that program helps create those files according to a scheme and allows me to search them.)
Planned projects, requiring larger and larger levels of megalomania:
They couldn’t find a real cow out on a pasture, so they had to AI generate it.
I don’t pirate, but generally, I don’t pay for digital goods either. I’m mostly not a fan of how digital goods are tied to corporate platforms, which could disappear or make changes I don’t enjoy. For some digital goods, you can fully download them and back them up to a hard-drive, but I just don’t care enough to do that, when I can use FOSS software and Creative Commons songs, e-books etc…
Id Tech 3 is GPLv2, so for that one, yes. I’m not aware of similar being true for Unreal Engine 2, so I’d assume, no.
But if you’re just generally looking for an engine that won’t bite you, Godot is a better choice.
It’s like “busy”, but a noun.
Don’t ask me why the y becomes an i and silent…
In one of the bathrooms at my workplace, the light timer used to be far too short. It reacted to sound, but not very well, so whenever it switched off, you’d hear me clapping my hands like a dumbass.
Then one day, I had a co-sitting with another guy. And of course, the light went out on us. I was already thinking, great, now I’ll get to applaud that guy shitting.
But instead, the guy lifted his leg, stomped a single time and the light went back on. That was the day I learnt that I’m a rookie at pooping.
Sounds cool. I have my dad on Tumbleweed, because I wanted to avoid big upgrades, but needing to download hundreds of packages every week is quite pointless for him…
Ah, I thought, you were being fanciful with your wording, because acid simply tastes sour. Lemons, apples, vinegar, they all taste sour, because they contain acid.
I just looked it up, by the way, and tomatoes apparently do contain acid, too. I guess, it’s just not usually the prevalent taste to me…
I find it interesting that you call them acidic. I’ve never had a tomato which tasted acidic to me, except maybe if they aren’t ripe yet.
In fact, it’s quite common to add vinegar to tomatoes (ketchup, tomato salad, various dishes with balsamic vinegar). So, yeah, maybe your sense of taste picks up on some molecule that others can’t taste…
I wish. Just chilling on a vertical stone wall, munchin’ tomatoes, that sounds like a good day to me.
Eh, I don’t expect random tourists to be locked up by the fascists, nor do I necessarily expect the not-quite-fascists to distance themselves from the fascists, just from losses in the tourism industry.
I’m mostly just saying, there’s tons of places you could be traveling to and “drinking beer with fascists” isn’t quite as attractive anymore.
This is specifically Bavaria. They also recently found out that their vice president has a past as a Nazi and the reaction of their president was essentially “Oh no. Anyway…”. So, yeah, if you considered visiting the Oktoberfest, maybe reconsider.
I mean, sure, but it’s not like that makes you forget the normal English words. Just don’t abbreviate those words and you’ve likely got a semi-decent variable name.
Well, and my expectation for non-shit seniors is to be somewhat good at their job and to lead by example.
Well, usually because you’ve got a team of frontend folks needing to do a backend.
There’s one other advantage, which is that you can have a compile-time shared model between backend and frontend. You also have that advantage with WASM, but not with a traditional backend/frontend technology split…
“Open-source” is not up for interpretation. The word was coined by this definition being made public: https://opensource.org/osd/