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

help-circle

  • Love my old precision, but my new latitude uses this Intel ipu6 bullshit with god-awful kernel support on Linux. No effort made from Intel or Dell on upstreaming. Onboard audio support only halfway works, webcam straight up doesn’t work in-tree, and power management is hilariously bad. Shit’s already awful on Windows, but on Linux I’m delighted if I get 90 minutes of runtime, and even when sleeping I only get maybe 8 hours before the battery empties.

    Also don’t get me started on DisplayLink. The real thunderbolt docking stations work great though, love mine.

    But I would never buy a Dell product I haven’t used before at work. My experience is literally 50/50 between “great, no notes” and “I would rather use anything else”.


  • Ideally you’d use the docker executor with a dind service instead of docker commands in the shell. You’ll have better isolation (e.g. no conflicts from open port forwards) and better forward-compatibility (the pipeline won’t break every time a major upgrade is applied to the runner because the docker - especially compose - CLI is unstable).


  • For gitlab this is only correct with a shell executor which is to be avoided in the general case in favor of a docker or k8s executor for isolation&repeatability.

    Those you can actually run locally with gitlab-runner, but then you won’t have all your gitlab instance’s CI variables so it’s a PITA if you need a CI token which you probably do if you actually make decent use of gitlab’s features.

    In most cases I just end up committing my changes to avoid the headache. :!git commit --amend --no-edit && git push -f goes pretty dang fast and 60 % of the time third time’s the charm.


  • I don’t disagree with the point being made but I think the author is underselling the value of opentelemetry tracing here.

    OTEL tracing is not mere plumbing. The SDKs are opinionated and do provide very useful context out of the box (related spans/requests, thrown exceptions, built-in support for common libraries). The data model is easy to use and contextful by default.

    It’s more useful if the application developer properly sets attributes as demonstrated, but even a half-assed tracing implementation is still an incredibly valuable addition to logging for production use.


  • My guess is the same thing as “critics say [x]”. The journalist has an obvious opinion but isn’t allowed by their head of redaction to put it in, so to maintain the illusion of NeutTraLITy™©® they find a strawman to hold that opinion for them.

    I guess now they don’t even need to find a tweet with 3 likes to present a convenient quote from “critics” or “the public” or “internet commenters” or “sources”, they can just ask ChatGPT to generate it for them. Either way any redaction where that kind of shit flies is not doing serious journalism.



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



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



  • Real answer: it depends.

    • Deleting a file in use: no problemo. File is removed from the directory immediately, but exists on disk until last program who had the file open closes. Everyone wins! (Unless you’re trying to free up space by deleting a huge file that’s being held open by a program and not understanding why the filesystem usage didn’t go down)
    • Unmounting a hard drive in use: Will error out similarly to Windows. lsof can tell you which process has which files open. There’s nuance with lazy unmounts and whatnot but that should not be used in most cases.

    Now in practice you should be wary of one very important thing that changes compared to Windows: Writes are asynchronous on Linux. First the kernel writes to RAM, then it flushes to disk at a later time for performance reasons (this is one of the reasons why writing a bunch of small files is many times faster on Linux than Windows). The upshot is that just because your file copy is “done” doesn’t mean you can just yank the USB cable. Always safely unmount before unplugging a storage device on Linux.



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


  • My dad’s Mercedes indeed beeps incredibly loudly (anyone sleeping immediately wakes up in a panic) if the blind spot sensor goes off… which it does as soon as you put your blinker on.

    Guess what that wonderful bit of tech taught my dad to do? That’s right, don’t use the blinker to change lanes if you don’t want your eardrums blown out.

    The fundamental problem is that car manufacturers aren’t being held liable for the accidents caused directly or indirectly by these “safety” systems. There is zero oversight and no mandate to investigate false positives of these systems, even when they cause an accident. The end result is that for the manufacturers the point is not to improve safety but to do obnoxious safety theater so regulators look away from rising pedestrian deaths. “Sure our cars are one ton heavier, but they have automatic braking soooo we’re good right?”

    Who knows if these gadgets actually do anything or even if they don’t decrease overall safety. The manufacturer gets positive marketing, throws the regulator off their scent, and isn’t held liable for shit when the “safety” system fails or encourages bad habits. Win-win-win. Except the general public loses. But who ever cared about these schmucks?