• 2 Posts
  • 163 Comments
Joined 2 years ago
cake
Cake day: June 20th, 2023

help-circle

  • 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.



  • 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.


  • Induction is objectively better than every other option for anyone connected to the grid looking to buy a new kitchen stove.

    Unfortunately it’s one of these things that takes five minutes to explain because everyone has tried the Slumlord Special resistive stove and the general public can’t tell the difference. Those five minutes are why induction uptake is pathetically low compared to how superior it is in literally every way.

    Same deal with people who would still buy incandescent lightbulbs if they could just because they don’t understand that technology has moved on from CFLs and to them it’s all “newfangled economic bulbs that can’t light for shit”.


  • That’s treading dangerously close to a specific kind of conspiracy theory there.

    The EBU has pretty strong financial ties to Israel, not least of which their main sponsor Moroccan Oil. But at the end of the day you can count on the ghouls in charge to always find the coward’s way out and follow the money. It’s the exact same pattern of behavior they had with Russia in 2022, which they initially allowed to compete before backpedalling.

    Pretending that this is an issue solely because of some conspiracy is not only baseless, but it also unfairly lets most European broadcasters off the hook for refusing to uphold the set the same hard lines with Israel that they set with Russia. Israel competed because European broadcasters were happy enough to include Israel. Simple as.



  • It’s like every other media industry. The monoculture is dying. Everyone’s who’s “about it” is into niche subcultures and micro-celebrities you’ll probably never hear of.

    There was a weird period of time from the mid-20th through the early 21st century where radio and TV had very strongly concentrated media production which made up most people’s media consumption.
    For the last 15 years or so the tools of professional-looking media production for mass consumption have been available to anyone with a few hundred bucks to spare.

    In some ways it’s a communist utopia. The means of production have been commodified so much virtually anyone can afford them. However capitalists have moved on from owning the means of production to owning the means of distribution (the platforms).



  • Counterpoint: Yes, parse don’t validate, but CLIs should not be dealing with dependency management.

    I love Python’s argparse because:

    • It’s “Parse, don’t validate” (even supports FileType as a target)
    • It enforces or strongly encourages good CLI design
      • Required arguments should in most situations be positional arguments, not flags. It’s curl <URL> not curl --url <URL>.
      • Flags should not depend on each other. That usually indicates spaghetti CLI design. Don’t do server --serve --port 8080 and server --reload with rules for mix-and-matching those, do server serve --port 8080 and server reload with two separate subparsers.
      • Mutually exclusive flags sometimes make sense but usually don’t. Don’t do --xml --json, do -f [xml|json].
      • This or( pattern of yours IMO should always be replaced by a subparser (which can use inheritance!). As a user the options’ data model should be immediately intuitive to me as I look at the --help and having mutually exclusive flags forces the user to do the extra work of dependency management. Don’t do server --env prod --auth abc --ssl, do server serve prod --auth abc --ssl where prod is its own subparser inheriting from AbstractServeParser or whatever.

    Thinking of CLI flags as a direct mapping to runtime variables is the fundamental mistake here I think. A CLI should be a mapping to the set(s) of behavior(s) of your application. A good CLI may have mandatory positional arguments but has 0 mandatory flags, 0 mutually exclusive flags, and if it implements multiple separate behaviors should be a tree of subparsers. Any mandatory or mutually exclusive flags should be an immediate warning that you’re not being very UNIX-y in your CLI design.


  • I’ve been using the AI to help me with some beginner level rust compilation checks recently.

    I never once got an accurate solution, but half the time it gave me a decent enough keyword to google or broken pattern to fix myself. The other half of the time it kept giving me back my own code proudly telling me it fixed it.

    Don’t worry though, AGI is right around the corner. Just one more trillion dollars bro. One trillion and we’ll provide untold value to the shareholders bro. Trust me bro.


  • I don’t trust the US government to do literally anything right with this, and I’m kinda surprised Google didn’t already gift an underage child to Trump so he’d make the problem go away.

    However a perfectly viable option that I’m sure the previous government looked into would be to entrust Chromium (which is Open-Source though not copyleft) to a new, independent nonprofit made of Google’s former chromium team led and paid for by a consortium of the major commercial chromium users (Google, Microsoft, etc.). It would be in everyone’s best interest to share the relatively small financial burden so that Chromium can remain decent and competitive.

    This wouldn’t be anything revolutionary. This approach of financing an independent open-source project as a “common good” is basically how the Linux kernel has been developed for many years now, most Linux code is written by corporate sponsors.


  • music-library $ du -h -d 0 .
    270G	.
    

    I am not looking for a compromise. I listen to my high-quality digital library on shuffle most of the time, and am very well aware that my phone allows me to access orders of magnitude more music than even the most compact CD player.

    When I do listen to my favorite albums as LPs, the clunkiness and the artifacts are part of an Experience. I can listen to exact copies of the digital masters of those songs any time I want to, but sometimes we do things BECAUSE they are not maximally optimal. Sometimes I want to take a walk alongside the river and get my feet a little bit wet even though I could have worn boots. Feel a little something, you know?



  • This kind of shit happens with a similar frequency… on Arch Linux. It’s rolling release, shit happens sometimes. archlinux.org’s homepage actually lists past major packaging issues.

    Debian however is rock-fucking-solid. But so is Windows Server, I hear. The problem is that Microsoft is treating Windows Home/Pro like a rolling release distro, and the users are guinea pigs. I guess Microsoft is right though, their users will eat it up 'till shit is spilling out from both ends, so why bother?



  • You’ve completely missed the point.

    You grew up in a world where the quirks of analog formats were nothing but technical limitations to be overcome. It is true that a FLAC is literally superior in every way to a Vinyl if your value function only takes in cost, quality, and convenience.

    HOWEVER Gen Z grew up in a world where music was always cheap and convenient to access. We also (mostly) grew up in a world of touchscreens and always-online gadgets and doodads. My generation’s first portable music player was often the iPod touch. You know what all of that does to a person? It creates a deep craving for tactile feedback. For technology that doesn’t nag with software updates, for music that can’t be “unlicensed” and pulled from your library remotely, for a music player that you can touch and feel and interact with in a more meaningful way than tapping on the little square of glass that already runs our lives. For the little rituals that have been stripped away, like flipping a vinyl at the midway point or rewinding a tape.

    The entire point of analog is that it’s “worse”. It’s un-clinical, it’s raw, it’s tactile, it’s physical. Listening to my favorite albums on vinyl is such a better experience than through the disembodied shuffle of my phone. I don’t crave maximum audio fidelity or convenience because I always could have those things literally whenever I want.



  • The hard part isn’t processing payment… They already basically do that for themselves with the steam wallet.

    The problem is getting the ability to withdraw funds from your customers’ bank accounts. That requires a commercial relationship with your customer’s bank and going through an insane amount of red tape. And there is no standard worldwide protocol for this, you’ll be starting from zero in every market by cold-calling major banks.

    The only viable approach is to have an army of salespeople, accountants, and project managers to do all those individual negotiations.

    The EU has been trying for years to have an indigenous continent-wide payment processor. The first attempt failed, now Wero is poised to succeed in the next few years but that’s building off negotiations that started a few years ago with pressure from the EU and buy-in from the financial sector, and still only a handful of European markets have been integrated at this point.

    Now imagine all this difficulty but you have to also get active buy-in from every market worldwide. There’s a reason Visa/MC have a near monopoly on international payments in the western world, and it’s not that no-one else thought to get a piece of that very juicy pie that’s making them literally billions in profit every year.