• 0 Posts
  • 48 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle




  • marmarama@lemmy.worldtoDevOps@programming.devDSLs are a waste of time
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    edit-2
    10 months ago

    Pulumi code ends up looking like a DSL anyway with all the stuff you end up using from the top-level pulumi package to do anything vaguely complicated.

    Only now, compared with Terraform, you need to worry about resource ordering and program flow, because when you have a dependency between resources, the resource object you depend on has to be instantiated (within the program flow, I mean - Pulumi handles calculating the ordering of actual cloud resource creation) before the dependent resource. This gets old really quickly if you’re iterating on a module that creates more than a few interdependent resources. So much cut, paste, reorder. FWIW CDK has the same issue, and for the same reason - because it’s using a general-purpose programming language to model a domain which it doesn’t fit all that well.

    I like Pulumi and it’s got a lot going for it, especially if you have complex infrastructure requirements. You get a bunch of little quality of life enhancements that I wish Terraform would adopt, like cloud state management by default, and a built-in mechanism for managing secrets in a sane way. Python/TypeScript etc. modules are much more flexible than Terraform modules, and really help with building large chunks of reusable infrastructure. The extra programmability can be useful, though you need to be extra-careful of side-effects. You get more power, but you also get some extra work.

    But for most people deploying a bit - or even quite a lot - of cloud infrastructure, Terraform is honestly just easier. It’s usually some fairly simple declarative config with some values passed from one resource to another, and a small amount of variation that might require some limited programmability. Which is exactly what Terraform targets with HCL. It’s clear to me that Pulumi sees this too, since they introduced the YAML syntax later on. But IMO HCL > YAML for declarative config.



  • What? Tech companies the world over have people on 24/7 on-call rotas, and it’s usually voluntary.

    Depending on the company, you might typically do 1 week in 4 on-call, get a nice little retainer bonus for having to have not much of a social life for 1 week in 4, and then get an additional payment for each call you take, plus time worked at x1.5 or x2 the usual rate, plus time off in lieu during the normal workday if the call out takes a long time. If you do on-call for tech and the conditions are worse than this, then your company’s on-call policies suck.

    I used to do it regularly. Over the years, it paid for the deposit on my first house, plus some nice trips abroad. I enjoyed it - I get a buzz out of being in the middle of a crisis and fixing it. But eventually my family got bored of it, and I got more senior jobs where it wasn’t considered a good use of my energies.

    Your internet connection, the websites and apps you use, your utilities - they don’t fix themselves when they break at 0300.

    If TSMC’s approach to on-call is bad, then yeah, screw that. I don’t see anything in the article that says that one way or the other. But doing an on-call rota at all is a perfectly normal thing to do in tech.


  • Do we have to bring this up again? It’s just boring.

    systemd is here and it isn’t going anywhere soon. It’s an improvement over SysV, but the core init system is arguably less well-designed than some of the other options that were on the table 10 years ago when its adoption started. The systemd userspace ecosystem has significantly stifled development of alternatives that provide equivalent functionality, which has led to less experimentation and innovation in those areas. In many cases those systemd add-on services provide less functionality than what they have replaced, but are adopted simply because they are part of the systemd ecosystem. The core unit file format is verbose and somewhat awkward, and the *ctl utilities are messy and sometimes unfriendly.

    Like most Red Hat-originated software written in the last 15 years, it valiantly attempts to solve real problems with Linux, and mostly achieves that, but there are enough corner cases and short-sighted design decisions that it ends up being mediocre and somewhat annoying.

    Personally I hope that someone comes along and takes the lessons learned and rewrites it, much like Pulseaudio has been replaced by Pipewire. Perhaps if someone decides it needs rewriting in Rust?


  • The WiFi card is probably a Realtek 8852AE, which has become very common in laptops since 2021. Unfortunately Realtek driver support tends to lag quite a bit.

    If you want to run Ubuntu Desktop 22.04, then you’re probably best off waiting a few weeks for the Ubuntu Desktop 22.04.4 point release. It’s due sometime this month. It will boot and install an “HWE” (Hardware Enablement) kernel and drivers, that are based on the kernel from Ubuntu 23.04, and therefore should work out of the box with your WiFi card.

    While it’s possible to upgrade an existing Ubuntu 22.04 installation with the latest HWE kernel, doing it by downloading the relevant packages on another machine and moving them across using a USB stick is going to be somewhat frustrating if you’ve not done it before. You’ll certainly learn a few things, but it may not be an enjoyable experience. I’m a grizzled Linux veteran, and I’m pretty sure I’d end up forgetting to download one or more packages and having to swap back and forth between machines.

    In the meantime, I would just continue to use Ubuntu 23.04. In fact, if it was me, I would probably just stick with 23.04, upgrade to 23.10 and then subsequently 24.04 when they become available. What you do once you’re on the 24.04 LTS release is up to you. By that time, other distros will probably also work out of the box too.


  • Russians in positions of power have frequently said that Ukraine is an aberration, and doesn’t actually exist at all as a national identity. So any Ukrainian symbol is an act of resistance to that.

    Why use that particular flag? Well, why does anyone do any trolling? Because it feels good getting an emotional reaction out of other people. Because it feels good sticking it to those people who want you dead, or assimilated.

    But also because it helps to figure out who isn’t a fan of the concept of Ukrainian statehood. If the initial reaction towards a Ukrainian nationalist flag is that it’s “Nazi” then that’s a pretty strong signal.



  • I’m a big fan of Kubernetes, and for larger projects the flexibility and power it brings is unrivalled. But for smaller projects, assuming equal levels of competence, delivery teams using managed Kubernetes are almost universally later and have more issues than teams that use simpler solutions. Container-as-a-service solutions like GCP CloudRun or AWS FarGate help somewhat, but are not cheap for a given amount of compute time.

    Terraform (or IaC in general) absolutely has a place, because even if you use Kubernetes, most projects have more infrastructure to manage than just the cluster - at the very least, lemmy.world has a CloudFlare proxy to manage - and clicking buttons in a management portal is not a repeatable way of deploying that, or deploying the Kubernetes clusters themselves.

    Ansible also has a place, particularly if you’re deploying onto bare metal. I wouldn’t use it for new deployments unless I had bare metal to configure and maintain, but lemmy.world is deployed onto a bare metal server as I understand it. Plus, the most effective tooling is generally the one your team understands.



  • Sure. I’m sure Trinidad and Tobago, and Albania, are definitely Nazis. And those anarchists with their black and red flags, they’re definitely Nazis too, right?

    Seriously though, in this case, it’s the unofficial war flag of Ukraine.

    It was originally associated with the WWII nationalist Banderite movement, which has some dubious history but is important in the 20th century story of Ukrainian nationalism. However its usage has evolved and is used widely, albeit unofficially, in modern Ukraine, by lots of military-associated groups who have nothing to do with Nazis or fascism.

    One of the main selling points of it is that it trolls people who uncritically believe that Ukraine is run by Nazis.




  • If we hypothetically assume this is true for a moment, then consider:

    1. No SAMs would have been fired if there were no Russian missiles attacking Odesa, and thus indirectly it’s still Russia’s fault.

    2. The Russian-designed and manufactured S-300 (and presumably the closely-related S-400) are dangerous to use over populated areas if they have no working safe abort or engagement minimums safety features, therefore they are even more dogshit than we thought they were. So, Russia is still at fault here for supplying unsafe SAMs, and no-one should buy any Russian SAMs in future if they care at all about their civilian population. If we assume that the anonymous Twitter source is indeed correct, then this is probably why Russia isn’t saying anything about it.

    I’m sure once the war is over we’ll get some proper analysis from people with actual warhead ballistics knowledge though, and not just some anonymous propaganda.



  • This is the end of official updates for them, they’re not bricked.

    Older Chromebooks do have a shitty support lifecycle, it can’t be denied. Newer (post 2020 launch) Chromebooks come with at least 8 years of updates, although that’s from product launch, not from when you buy them. That is comparable to Apple’s support lifecycle.

    It is possible to install ChromeOS Flex on out-of-support Chromebooks, though likely you will lose some features. You can also install generic Linux on them, but it’s got to be said it’s a slightly annoying experience.


  • Apple users have been sending text messages interchangeably between their phones and computers/tablets for years.

    As have Android users. Microsoft Phone Link/My Phone Companion and KDE Connect have supported this for years on their relevant PC platforms. The Phone Link Android app is even preinstalled on Samsung devices. There’s a teensy bit of setup but nothing complicated. KDE Connect even supports stuff like using the phone as a touchpad, remote keyboard, or media/presentation controller.

    If your PC is a Chromebook then you don’t even need these. If you sign into the phone and Chromebook with the same Google account, the integration just works, much as it does on Apple devices.

    Most of your arguments can be boiled down to “everything is really slick if you use an all-Apple ecosystem”. Which is fine, but the same can be said about Android - if you use an all-Google ecosystem with Pixels, Chromebooks and Google Workspace then most, if not all of your complaints about Android go away. Pixel Android is more consistent and less buggy than most vendor versions of Android. Integration with Chromebooks works out of the box. Google Workspace MDM is simple and straightforward, and you don’t really need to buy a separate MDM solution.

    The difference is that Android at least makes a decent effort to cater for a heterogeneous ecosystem. With Apple, if you’re not entirely onboard with an all-Apple ecosystem then it starts getting messy quickly.