• 1 Post
  • 14 Comments
Joined 2 years 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.







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




  • The issue I see a lot in the JS ecosystem is laying out documentation like a reference guide, but then not including all parameters or functions. These types of documentation are very helpful if what you need to know is included, because they have nice friendly explanations and examples. But eventually you will run into a parameter that is mentioned on Stack Overflow, or is in a code snippet in the documentation, but then has no further explanation in the documentation, as if it doesn’t exist.

    Projects where the README is the only documentation seem to suffer from this problem the most. They give examples of the most common parameters and functions, and then that’s it.

    In JS this is a big issue because there may be no way to know a parameter even exists, or what values it accepts, unless it is documented.

    A lot of documentation in the Java ecosystem has huge auto-generated monstrosities with absolutely no explanations. In Java this is usually not useful because that information can be found in the types. But in JS it would be incredibly useful. Unfortunately it isn’t as easy to automatically generate that type of documentation for JS.

    Python in my experience has the best of both worlds. It has the friendly explanations and examples. But also has all of the parameters, even if explanations for some are a bit less detailed. And all of that is combined into a single place.