• 1 Post
  • 335 Comments
Joined 2 years ago
cake
Cake day: June 20th, 2023

help-circle
    1. Buy more dishes so you can go longer between washes
    2. Buy a half-height dishwasher. They exist, I owned one that lived on the floor of my bathroom.

    I live alone and I fill up my full size dishwashers every few days. If you don’t eat ordered/preprocessed food you can also just chuck pots and pans in the bottom rack.

    Dishwashers use a lot less water than hand-washing. Even if there’s a little bit of room left, it’s still a net positive. There’s no reason for anyone to hand-wash unless they live in a tiny NYC broom closet or exclusively eat take-out in disposable containers.


  • The punishment must fit the crime. Minimum sentence in Canada for a DUI is apparently 1000 rupees and 12 months driving prohibition. That punishment makes sense for the crime of negligently operating heavy machinery that can and does kill thousands every year. Not for operating light low-power electric vehicles where killing a third-party is only a remote (though real) possibility. That minimum sentence being applied equally is not just when the danger posed to society is so unequal. I would also expect a truck driver to have a higher minimum sentence for the same reasons.

    On top of the justice concerns, if the punishment is the same for everyone, a drunk college dickhead who would have ridden a bicycle home (still a reprehensible crime mind you) might decide to drive their car instead if they feel like they’re less likely to get caught and it would be punished the same anyway. Especially as cases like this get media attention.

    That’s the pitfall with blind and strict rules, if I know I’ll be getting expelled from school for getting punched by a bully, then I’m incentivized to cave their face in before the grown-ups get here.


  • So happy to see the game is not dead.

    Combat and movement look fun and satisfying, graphics look amazing. So many moody areas, from gritty snowscape to colorful caves. Mojang could learn a thing or five from this trailer.

    I do hope there will be more breadth of gameplay especially on the creative side so those promising exploration mechanics do not feel stale after a few hours of running around and blasting skeletons. That’s one thing mojang does get right, if anything they have too much breadth and not enough depth.

    Not sure about the ease of movement when scaling multiple blocks. Figuring it how to get from point A to point B with the limited movement options is a core part of most Minecraft gameplay loops, especially when caving and/or fighting. Seems they made up for it with good fighting mechanics, but they will have to make up for it in the other gameplay loops as well.

    Either way I wish them the best and hope they light a fucking fire underneath mojang’s ass.

    EDIT:

    This is the original legacy engine from the 2018 trailer, running on a four-year-old build as we push Hytale forward again.

    Now hold the fuck up. What do you mean this is the 2018 engine? What the fuck have they been doing the past 7 years? Did they rewrite a whole new engine for no good reason? It looks fucking beautiful and seems to run great! I’m sure they had their reasons, and I don’t think we can draw accurate conclusions by speculating, but the insider perspective on the development cycle must be absolutely wild.

    EDIT2: Okay their blog post explains quite a bit more. Seems to paint a picture that Riot wanted the engine to be cross-platform (makes sense for consoles) and they could not make it work with a full rewrite away from their otherwise functional Java/C# engine. Kind of a crazy play on Riot’s part to make Java/C# devs and former minecraft modders write a modern game engine from scratch in C++ if that’s the case. Probably a tough lesson to learn for everyone involved. If only they could learn from an incredibly popular voxel-based building/aventure game that went through the exact same engine rewrite away from a GC VM language and faced similar struggles.

    As a PC player, great news that they’re sticking to .NET and Java. It will make modding much easier.


  • I don’t think that’s really fair. There are cranky contradictarians everywhere, but in my experience that feature has been well received even in the AI-skeptic tech circles that are well educated on the matter.

    Besides, the technical “concerns” are only the tip of the iceberg. The reality is that people complaining about AI often fall back to those concerns because they can’t articulate how most AI fucking sucks to use. It’s an eldtritch version of clippy. It’s inhuman and creepy in an uncanny valley kind of way, half the time it doesn’t even fucking work right and even if it does it’s less efficient than having a competent person (usually me) do the work.

    Auto translation or live transcription tools are narrowly-focused tools that just work, don’t get in the way, and don’t try to get me to talk to them like they are a person. Who cares whether it’s an LLM. What matters is that it’s a completely different vibe. It’s useful, out of my way when I don’t need it, and isn’t pretending to have a first name. That’s what I want from my computer. And I haven’t seen significant backlash to that sentiment even in very left-wing tech circles.


  • Honestly, PCs are not ready for local LLMs

    The auto-translation LLM runs locally and works fine. Not quite as good as deepl but perfectly competent. That’s the one “AI” feature which is largely uncontroversial because it’s actually useful, unobtrusive, and privacy-enhancing.

    Local LLMs (and related transformer-based models) can work, they just need a narrow focus. Unfortunately they’re not getting much love because cloud chatbots can generate a lot of incoherent bullshit really quickly and that’s a party trick that’s got all the CEOs creaming their pants at the ungrounded fantasy of being just another trillion dollars away from AGI.



  • For systems programming it makes the most sense out of the languages you mentioned. Languages requiring a runtime (Java/Python) do not fill the bill for system tools IMO. Golang is more arguable, but its memory safety comes through GC which many systems programmers aren’t fans of for a variety of technical and personal reasons.

    Rust is meant to be what C++ would be if it were designed today by opiniated system developers and didn’t have to be backwards-compatible.

    Those are the technical arguments I would use in a corporate setting.

    All that aside, there’s personal preference, and my point is that for FOSS projects that matters too. Rust is fun in a brain-teasy kind of way in the same way that writing C is fun, but without nearly as many footguns. Golang is practical but arguably not as fun. That’s the same logic that draws many programmers to write Haskell projects.

    The story of the Fish shell illustrates it quite well; the project gained a lot of development attention and contributions when they decided to rewrite from C++ to Rust, where they achieved a stable release with feature-parity a few months ago. It would have been a remarkably dumb decision for a private company to make, but makes perfect sense when you are trying to attract free talent.


  • The counterpoint is that, especially with FOSS that does not receive much (if any) corporate backing, developer retention and interest is an important factor.

    If I’m donating some of my free time to a FOSS project I’d rather not slug through awful build systems, arcane mailing lists, and memory unsafe languages which may or may not use halfway decent - often homebrew - manual memory management patterns. If the project is written in Rust, it’s a pretty clear indicator that the code will be easily readable, compilable, and safer to modify.


  • [Pop/rock] music has been a formula virtually since its inception. Respectfully, AC/DC put out some bangers but also all their songs kinda sound the same. Thriller was successful because it was written specifically to be the most commercially viable album of all time. Hell even in the '60s the formula was very simply “find out what’s topping the African-American charts and get white artists to copy it”. That’s how we got disco, which became so formulaic by the end that its “downfall” was a Worldwide Cultural Moment. If you think today’s music is bad, go listen to the top 100 disco hits of any random week in 1978… Probably not going to be a particularly great musical experience.

    Every successful counter-cultural movement only lasts a few years before only the esthetic remains. Angry young artists “flame out” or sell out, corpos take over, make a safer formula out of it, and only then does the genre go mainstream.

    I’d argue things are actually a lot better now than they were in the Disco era. The fragmentation of culture and slow downfall of linear media means that the formulaic stuff can be much more easily avoided, and it doesn’t reach nearly the same level of cultural saturation like it did when the radio was the main way to listen to music. The top charts are still relevant, but nowhere near what they were 20 years ago. Today anyone can pick up a DAW and be their own producer then self-publish to youtube, so who cares if the labels are led by uninspired fuckheads? They’re not in a position to bottleneck music production or audience reach anymore.


  • Celeste is the perfect embodiment of that philosophy IMO. The whole story is an explicit metaphor for overcoming a great personal challenge. And the gameplay’s difficulty is what drives that point home and makes the game an all-time great.

    I’ve seen a couple streamers with G4m3r Skillz breeze through Celeste, and the game didn’t leave them much of an impression. But it touches very deeply those who struggled through it because the struggle is the bond that ties the player to Madeline.

    Other games it doesn’t really matter. Portal 2 is a great game even if the puzzles are quite easy, because the greatness lies in its writing, atmosphere and worldbuilding. There’s an Aperture miniseries just begging to be made - but a Dark Souls or Celeste cinematographic adaptation would miss the entire point.



  • Quite the contrary! They effectively sell their cards at a ~20% discount to a bunch of AI companies by “investing” in the companies for a promise to use that money to buy their cards.

    It’s as dumb as it sounds and textbook unsustainable economic bubble behavior, but NVidia don’t care because more sales = more stonks = more money to “invest” = more sales = more stonks = more yachts for Jensen. So what if it makes 1929 look like a walk in the park, it’s not their problem.


  • On maybe the third day of my first programming job, a colleague pulled me aside and said “don’t give me ‘shoulds’ and ‘probablys’. You need to sound confident so I can know to trust what you’re saying”.

    That guy was a bit of a dickhead in general but there’s a lot of truth there. To the question “what’s the expected impact of this change?”, “None.” is a good answer. “Well it should work…” is not useful feedback and a good Operations Manager will rightfully reject the change.

    Of course it is better to be hesitant than falsely confident, but far too many (software) engineers hide behind indecisive language to dodge the necessary hard work of validating their hunches. If you didn’t test your shit fully, just say so. If you’re right, say it. Personal ego doesn’t belong in an engineering discussion.


  • And Hytale got shitcanned!

    It’s actually amazing that in an industry so hell-bent on copying successful formulas ad-nauseam (e.g. Quake&Doom spawning the whole genre of First Person Shooters), Minecraft has not seen anything reach the status of spiritual successor in over 15 years of charts-topping sales performance. Not from its own studio, not from its former creator, not with the Late Hypixel Studios.

    There are survival games and base-building games and exploration games, but none of them are “Minecraft-likes” in the way that early FPS were “Quake-likes”. CS has Valorant. LoL has Dota. Tekken has Street Fighter. PUBG has Fortnite has Roblox. Minecraft somehow remains truly one-of-a-kind, a gaming UFO that eludes suits looking for a replicable formula. I actually believe Mojang themselves don’t understand why Minecraft works in the first place either, which is why every update seemingly either underwhelms or angers everyone. That game is lightning in a bottle and no-one knows what to do with it.

    If Nadella had a stroke so bad he decided to make Minecraft FOSS, I’d be really interested to see what would happen. If any for-profit company was allowed to make direct Minecraft derivatives, I do think we would see a level of creativity and innovation that would dwarf even the already extremely prolific current modding scene.



  • I can’t prove it but I think there is a real sociolinguistic phenomenon where Americans are unusually obsessed with “safety through temperature”. Like they hear “fire = no germs” as children and somehow internalize that steaks should be somewhere between well done and burnt beyond recognition, and dishwashers should boil your plates like you’re sterilizing a hospital gown that’s been thrown up on by an Ebola patient.

    Soap, bitches. It works. Even at 40 °C (with modern detergent and washing cycles). Good thing too because I don’t want to know how y’all are having sex if you think boiling water is the only decent cleaning procedure for putting things in your mouth.


  • Technology Connections and Hank Green have been shouting this for a while, but that whole issue is way overblown. Some first gen EVs around 2010 had issues, but every major manufacturer since then has way exceeded expectations on battery lifetime thanks to advanced BMS and thermal controls. Car batteries don’t just rapidly degrade out of the blue, the tech has nothing in common with what’s in your phone. But public sentiment has not caught up because most people think Li-Ion = smartphone = dead after 2-5 years, so second hand EVs are way undervalued. Which is great for buyers.

    It’s not like you can’t easily total a second-hand ICE by mechanical failure. Just ask anyone who own(ed) a puretech engine. If you went by manufacturer recommendations, the fucking thing might just eat your timing belt one day and grenade itself. And there’s no way a full engine swap on a 5-10 year old economy car is economically viable.

    There’s always something that could go wrong when you buy a car. Unless you get comprehensive insurance and warranty, you need to accept the fact that losing the entire car to an accident, catastrophic mechanical failure, or theft is always a risk. If that’s too much anxiety to deal with, get a lease.


  • If only.

    Should America one day go back to something resembling a functioning democracy, his legacy will be “who could have seen it coming” “no-one I know voted for him” “voter fraud” “we were too afraid” “at least the trains ran on time” “it was China/Russia’s fault”. I’ve heard most of those already.

    Variations on all these lies and more were peddled by the Germans after the war and believed by the world. Even by American judges right after WWII who acquitted the overwhelming majority of Nazi War Criminals tried at Nuremberg despite mountains of evidence.

    Anything but a society, culture, and individuals holding themselves accountable for easily predictable and predicted failures to govern.


  • THANK YOU.

    I migrated services from LXC to kubernetes. One of these services has been exhibiting concerning memory footprint issues. Everyone immediately went “REEEEEEEE KUBERNETES BAD EVERYTHING WAS FINE BEFORE WHAT IS ALL THIS ABSTRACTION >:(((((”.

    I just spent three months doing optimization work. For memory/resource leaks in that old C codebase. Kubernetes didn’t have fuck-all to do with any of those (which is obvious to literally anyone who has any clue how containerization works under the hood). The codebase just had very old-fashioned manual memory management leaks as well as a weird interaction between jemalloc and RHEL’s default kernel settings.

    The only reason I spent all that time optimizing and we aren’t just throwing more RAM at the problem? Due to incredible levels of incompetence business-side I’ll spare you the details of, our 30 day growth predictions have error bars so many orders of magnitude wide that we are stuck in a stupid loop of “won’t order hardware we probably won’t need but if we do get a best-case user influx the lead time on new hardware is too long to get you the RAM we need”. Basically the virtual price of RAM is super high because the suits keep pinky-promising that we’ll get a bunch of users soon but are also constantly wrong about that.


  • Being able to assign a nameserver per interface with a domain wildcard is a fucking godsend. I use it every day with a hook script because my job uses some private domains but I don’t want to send my entire DNS history through the VPN. Now ~job.com goes to tun0 and that’s the end of it.

    systemd-resolved is not perfect but with libnss’s overly rigid nature the only alternative for my use-case would be to recreate similar functionality to resolved with dnsmasq – which is just objectively worse especially when you want to use DHCP sometimes but not always. Why reinvent the wheel? resolved does its job and does it well. I had some issues with it a few years ago but have been using it for the past couple years without complaint.