• 1 Post
  • 29 Comments
Joined 1 year ago
cake
Cake day: June 5th, 2023

help-circle



  • Like most things the true reason is far more complicated than what those simplified narratives often say. Unfortunately they make good headlines.

    Nobody who can to speak publicly knows for sure whether or not Putin alone chose to start the war and exactly what the reasons where. But if you look more broadly than just 24th February 2022 the reasons go beyond just Putin. Even without Putin, Russia (the country not the people) had reasons (horrible as they are) to escalate tensions with Ukraine prior to 2022, it had reasons to start the war, and even today it has reasons to keep the war going. In the West, and in Russia, Putin is the personification of the choices Russia makes. But Russia itself would have reasons even without him.

    Those reasons are many, and I wouldn’t do them justice to talk about the various theories. But one in particular that I feel isn’t talked about enough is the Sevastopol Naval base. Crimea, and it’s naval base was the centre of Soviet and now Russian control over the Black Sea. Prior to 2014 Russia was leasing the base from Ukraine, so it has essentially been under control of Moscow continuously since the Soviet era. The 2014 revolution in Ukraine posed a threat to that continuing. Russia’s rather extreme solution to that was to anex Crimea. If you look at from Russia’s perspective they were put in quite a tough situation and they tried to make the best they could from the hand they were delt. Most people would probably disagree with the use of “best” in that sentence, but from Russia’s perspective it was the right choice.

    Since 2014, Crimea has been problematic to Russia for various reasons, in particular due to needing an outside source of fresh water, and needing the very expensive new Kerch bridge to connect it to Russia. One of the apparent benefits of the full scale invasion in 2023 was to supply Crimea with water from the Nova Khakovka dam via a canal, and connect Crimea to Russia via land from the North. The reality of the war so far hasn’t actually been a net win for either of those things. And recently Russia has been forced to move a lot of their fleet out of the Sevastopol Naval base due to Ukrainian attacks. But presumably Russia is looking long term and continues to hope for a good outcome eventually.

    Looking to the future, both sides think they can outlast the other’s will to continue and hope to eventually force the other side to back down. Russia’s end game now seems to be some form of negotiation or ceasefire where they are able to retain as much of what they have grabbed onto as possible. Ukraine’s endgame that they have stated publicly is to remove Russia entirely from their land. But there is also the hope of being truly free from Russian influence for the first time in centuries. Ukraine hopes to come out of this war with a strong military to deter any further Russian aggression indefinitely. And possibly also NATO membership.

    Russia hopes that eventually the political will for Ukraine to continue fighting for that aim, and the West’s will to support it will dry up. They also hope that if they keep the conflict going indefinitely at a small scale, or if they hang onto some territory, then Ukraine will never be able to join NATO.

    Ukraine knows that if things continue as they have for the last year they will eventually win. The open question is how long is eventually, and will it be too long.

    Unfortunately this means enormous loss of life on both sides for the foreseeable future. Likely 1-2 more years minimum and hundreds of thousands more dead.




  • An important point to add for someone who hasn’t heard of reproducible builds before: The key difference to a normal build process is that it is 100% deterministic i.e. it produces exactly the same output every time.

    You might think that most built processes would be like this by default, however this is not the case. Compilers and linkers usually have some non-deterministic values that they put in the final binary such as timestamps. For a build to be deterministic these sources of variation must be disabled or mocked to be a repeatable value (i.e. not based on the actual compile time).




  • Would a game that is essentially a micro Linux distro count? I feel that should be pretty doable as a bootable USB stick or CD.

    If you did it that way you’d have to bundle the Linux kernel plus graphics drivers at a minimum. But I wonder how much of the OS you could avoid having. Certainly you wouldn’t need a Desktop Environment. I wonder if you would need something like X or Wayland or if you could get away without that (to run games built in a normal-ish userspace way). I guess finding the minimal environment for SDL would be a good starting point. That sounds like an interesting exercise for sure.

    Although something like that probably isn’t as pure as you’re looking for, it would be pretty cool to do anyway. Maybe we should start a club.








  • This is bizarre. Snap has improved a tiny bit over time, but it continues to not be that great. Meanwhile, flatpak is miles ahead. Things are generally just smoother and less annoying, even when Snap is working as intended.

    Personal anecdote: I was having no end of trouble with Inkscape, it was just not working, very unreliable, all sorts of very odd issues. It got worse and worse over time to the point where it didn’t even seem to understand paths to open files anymore, if it even felt like opening that day. I tried reinstalling, clearing the config, all sorts of things. I suspected maybe the version of Inkscape Snap was giving me might have a bug in it so I was looking around for alternative ways to install an older version and then for some reason I tried Flatpak. It was like some kind of magic. Totally night and day. All of a sudden Inkscape had absolutely none of the issues that the Snap version had. It just worked. After that I realized that it hadn’t been a bug in that version of Inkscape at all, it was just Snap.

    I haven’t had any issues with any other Snaps, but that incident really opened my eyes to just how bad things can get if a program isn’t packaged correctly.