• 0 Posts
  • 11 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
    8
    arrow-down
    1
    ·
    edit-2
    1 year 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.


  • At least for me, there is a big difference between naming things at home and naming things for work.

    Work “pet” machines get systematic names based on function, location, ownership and/or serial/asset numbers. There aren’t very many of them these days. If they are “cattle” then they get random names, and their build is ephemeral. If they go wrong or need an upgrade, they get rebuilt and their replacement build gets a new random name. Whether they are pets or cattle, the hostnames are secondary to tags and other metadata, and in most cases the tags are used to identify the machines in the first instance, because tags are far more flexible and descriptive than a hostname.

    At home, where the number of machines is limited, I know all of them like the back of my hand, and it’s mostly just me touching them, whimsical names are where it’s at.


  • marmarama@lemmy.worldtoSelfhosted@lemmy.worldWhat is your machine naming scheme?
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    2
    ·
    edit-2
    1 year ago

    Ungulates. Because who doesn’t like a hoofed animal?

    My client machines are even-toed ungulates (order Artiodactyla) and my servers/IoT machines are odd-toed (order Perissodactyla). I’m typing this on Gazelle. My router is called Quagga, both after the extinct zebra subspecies and the routing protocol software (I don’t use it any more but hey, it’s a router).

    Biological taxonomy is a great source of a huge number of systematic (and colloquial) names.


  • That’s only true if China gets no further than attempting an amphibious landing on Taiwan. If China succeeds in creating a bridgehead on the island, then many of the same land-based weapons and systems that the US is currently supplying to Ukraine, or that Ukraine would like to have, come into play, including 155mm artillery, rocket artillery, tanks, air defence missiles, and land-based multirole aircraft like the F-16.

    From a war planning point of view, unfortunately you can’t assume that China’s amphibious landing would fail. In fact, I think it’s more likely that China would succeed in establishing some kind of foothold on the island in the early stages of a future Taiwan war than not. If the amphibious force is large enough, it would be very difficult to eliminate all the landing craft, especially if there is a successful misdirection.

    This is without considering that North Korea could also simultaneously launch a land-based attack on South Korea to dilute any US response in either theatre.



  • The US (and the rest of NATO) is being cautious for a reason, and it’s not because they’re using Ukrainians as “meat shields.”

    NATO stocks of war materiel were at historically low levels before February 2022, and it’s difficult for the US to commit fully when China is sabre-rattling over Taiwan. That’s Xi’s (and Kim Jong-Un’s, to a lesser extent) gift to Putin. Sabre-rattling keeps the US from engaging fully in Ukraine, even though China won’t be ready to invade Taiwan for several years yet.

    Unfortunately for Ukraine, it’ll be several years before NATO materiel stocks start to grow above 2022 levels, but they will grow.

    The question is, will they grow fast enough?

    Personally I’m predicting world war in 2027-28 unless the West pulls its finger out.



  • Most Fediverse users are Western. The Western world has plenty of media diversity, and you can find virtually every viewpoint you can imagine represented there. Open criticism of government, all the way to the top, is a normal part of everyday life, and media outlets regularly criticise each other, and themselves, for bad takes and poor journalism.

    Because of the diversity of media opinion, it is harder to push an agenda, so mainstream Western media does it, by and large, with substantial subtlety, building trust first, and seeding ideas over long periods of time.

    Russian and Chinese media aimed at a Western audience seems brash and full of bad takes by comparison. It is rarely, if ever, critical of itself or of its own government, and also rarely provides any independently verifiable evidence for its claims. To a Western audience used to Western media, it appears so one-sided that it is laughable. That is why it is easy for people in the West to dismiss it as propaganda.

    You could probably write a PhD thesis on why media outlets in China and Russia find it difficult to play the Western media game, but I think the main issue is this: If you live in a society that doesn’t itself value diversity of opinion and thought, it is difficult to produce media for a society that does value that without it seeming off-kilter. It’s a bit like the difference between being fluent in another language and “feeling” the language. To a native speaker listening to it, the difference is really obvious.




  • Converted-to-Bluetooth Stadia controller.

    It’s actually a really nice controller. The ergonomics are great for my big meaty hands, it’s got some weight to it and feels really solidly built. The heft means the vibration really has some kick to it. The battery life is really good too - it was specced for having Wi-Fi on all the time, so now it’s running only a little Bluetooth LE radio, the battery is massive. Even when it runs down, the charge rate is quick - full in about half an hour, and then good to go for weeks. Again, probably because it was specced for Wi-Fi, the radio circuitry is way above average and the range is stupid - I can control a Steam Deck from two rooms away, through two solid brick walls, something none of my other controllers can do.

    The sticks are accurate and don’t drift, the buttons are pretty good, and the D-Pad is a bit stiff but perfectly serviceable. My one significant complaint is that the springback on the triggers is way too light, which makes it difficult to be subtle with the triggers, a little annoying for driving games.

    Still, if you see one at a sensible price, they’re a steal.