• 1 Post
  • 21 Comments
Joined 1 year ago
cake
Cake day: June 17th, 2023

help-circle

  • I don’t know, I thought it was kind of fun that they mixed things up for a change and had the protagonist be the villain and the central plot be about his triumph over the antagonists who are the heroes; the movie ending with him relaxing and enjoying the sunset now that his great work was over and so he could retire and put down his burdens was a really nice touch.






  • I can’t speak for other distributions, but Pop!_OS has had a “Refresh Install” option for a while now that does exactly this. This hasn’t happened often, but there have been a couple of times when something borked my system to the point of making it no longer boot, and re-running the installer in “Refresh Install” mode got everything back and running within 30 minutes while preserving all of my non-system files; in particular this meant that I didn’t have to re-download my Steam and other locally installed games, which is significant because they are the largest apps on my system.








  • For day-to-day purposes, if you are used to Fahrenheit but not Celsius or vice versa, and all you want to do is get a rough sense of how warm or cold it is outside without having to do arithmetic involving fractions in your head, then remember that there are two temperatures in Celsius that are roughly the same in Fahrenheit but with their digits transposed: 16° C ~ 61° F, and 28° C ~ 82° F. You can then roughly interpolate/extrapolate by about 2° F for every 1° C.


  • There’s essentially an open standard for streaming video so it’s not like the old days where you needed to download a platform-specific component to watch streaming video. I use Linux as my primary environment and I can’t even remember the last time I had trouble with it; certainly not for several years at least. I’ve used Netflix, DisneyPlus, Amazon, Paramount+, and probably others.

    Just as a heads up, though, if you are using Firefox then the first time you go to any of these sites it will prompt you as to whether you are fine with enable support for DRM video, and you need to click “Yes”. This is a one-time thing, though. (It does this because if you are an open source purist then you might not want to do this so it likes to get your permission first; most browsers just assume that you don’t care and enable it by default.)



  • It can be nice not to have to worry about types when you are doing exploratory programming. For example, I once started by writing a function that did a computation and then returned another function constructed from the result of that computation, and then realized that I’d actually like to attach some metadata to that function. In Python, that is super-easy: you just add a new attribute to the object and you’re done. At some point I wanted to tag it with an attribute that was itself a function, and that was easy as well. Eventually I got to the point where I was tagging it with a zillion functions and realized that I was being silly and replaced it with a proper class with methods. If I’d known in advance that this is where I was going to end up then I would have started with the class, but it was only after messing around that I got a solid notion of what the shape of the thing I was constructing should be, and it helped that I was able to mess around with things in arbitrary ways until I figured out what I really wanted without the language getting in my way at intermediate points.

    Just to be clear, I am not saying that this is the only or best way to program, just that there are situations where having this level of flexibility available in the language can be incredibly freeing.

    And don’t get me wrong, I also love types for two reasons. First, because they let you create a machine-checked specification of what your code is doing, and the more powerful the type system, the better you can do at capturing important invariants in the types. Second, because powerful type systems enable their own kind of exploratory programming where instead of experimenting with code until it does what you want you instead experiment with the types until they express how you want your program to behave, after which writing the implementation is often very straightforward because it is so heavily constrained by the types (and the compiler will tell you when you screwed up).