• 0 Posts
  • 31 Comments
Joined 1 year ago
cake
Cake day: August 7th, 2023

help-circle
  • What’s fun is determining which function in that list of functions actually is the one where the bug happens and where. I don’t know about other langauges, but it’s quite inconvenient to debug one-linres since they are tougher to step through. Not hard, but certainly more bothersome.

    I’m also not a huge fan of un-named functions so their functionality/conditions aren’t clear from the naming, it’s largely okay here since the conditional list is fairly simple and it uses only AND comparisons. They quickly become mentally troublesome when you have OR mixed in along with the changing booleans depending on which condition in the list you are looking at.

    At the end of the day though, unit tests should make sure the right driver is returned for the right conditions. That way, you know it works, and the solution is resistant to refactor mishaps.


  • Norway has something similar, you own the inside usually and the HOA own the outside, including the houses themselves. Live in one, largely a good thing but some things come slow since they need to be voted for of course. Generally worth it, since you get good deals on things like internet. It’s cheaper but it’s also something you usually have to use and the only option. Eg only that provider of internet.

    I’m my case, they are also responsible for my balanced ventilation, my exterior doors and my water heater. So when the time comes, they handle it. Shared costs cover snow plowing, the shared community building, upkeep of garage, outdoors and the buildings, and things like water bills and taxes paid. In particular, HOAs purchases do not need to pay a 2.5% of the purchase price fee when you purchase a home. This itself saves you quite a bit, and makes up for some of the extra you pay in monthly costs. (but pretty much all of those are at least going somewhere that benefit you anyways)

    The downsides are, there are special rules so some people that have membership may have a right to take over the winning bid in a sale. I myself used this to purchase my place, having gotten 10 years of seniority in “HOA company”. You spend the seniority with your purchase, but also are not allowed to own more than one part. Also, no long term renting so there aren’t any companies buying and renting out and things like that. You have to live in the HOA.


  • But nothing is forcing you to check exeptions in most languages, right?

    While not checking for exceptions and .unwrap() are pretty much the same, the first one is something you get by not doing anything extra while the latter is entirely a choice that has to be made. I think that is what makes the difference, and in similar ways why for example nullable enabled project in C# is desired over one that is not. You HAVE to check for null, or you can CHOOSE to assume it is not by trying to use the value directly. To me it makes a difference that we can accidentally forget about a possible exception or if we can choose to ignore it. Because problems dealt with early at compile time, are generally better than those that happen at runtime.


  • It can be pretty convenient to throw an error and be done with it. I think for some languages like Python, that is pretty much a prefered way to deal with things.

    But the entire point of Rust and Result is as you say, to handle the places were things go wrong. To force you to make a choice of what should happen in the error path. It both forces you to see problems you may not be aware of, and handle issues in ways that may not stop the entire execution of your function. And after handling the Result in those cases, you know that beyond that point you are always in a good state. Like most things in Rust, that may involve making decisions about using Result and Option in your structs/functions, and designing your program in ways that force correct use… but that a now problem instead of a later problem when it comes up during runtime.



  • If you use it frequently, I suggest getting a GUI that have profiles or remember options so you don’t have to mess with commands all the time. I wrote my own little command line wrspper which is Windows only since I don’t have Linux to test on. Though it shouldn’t take much effort to add support.

    Makes it much more convenient when you don’t have to specify things like archive (ignore duplicates), filename to be “artist - title” (where possible), download destination, etc. Just alt-tab, Ctrl-v, Enter. And the download is running. And mine also has parallel downloads and queue for when you got many slow downloads.


  • Counter-argument: A lot of computer part brands are not viewed in the best light. From Intel and their constant upgrades of sockets and recent issues with CPUs, to mobo vendors doing anti-consumer stuff, most storage(ssd/hdd) vendors hiding details or downgrading models silently to save money at consumer cost. Nvidia is still getting hate for the price increases of their GPUs, and doing other anti-comptetitive things using their dominance.

    It’s not everyone but making a good choice isn’t always easy these days. Since the post mentioned brands, I’d rather hear which brsnd is doing good rather than just a “the market in general is good”.





  • It’s worth adding I greatly prefer MS Auth style authentication, since I don’t have to find the right entry to read the Auth code and then write it on the other computer. Instead MS pops a notification and you either type or select the right number, verify with fingerprint and done. Much more convenient.

    It often tells you what you login into and where you are attempt to log in from, so it’s a few extra layers of security for those that have that awareness to check those details.








  • Already been explained a few times, but GPU encoders are hardware with fixed options, with some leeway in presets and such. They are specialized to handle a set of profiles.

    They use methods which work well in the specialized hardware. They do not have the memory that a software encoder can use for example to comb through a large amount of frames, but they can specialize the encoding flow and hardware to the calculations. Hardware encoded can not do everything software encoders do, nor can they be as thorough because of constraints.

    Even the decoders are like that, for example my player will crash trying to hardware decode AV1 encoded with super resolution frames, frames that have a lower resolution that are supposed to be upscale by the decoder. (a feature in AV1, that hardware decoder profiles do not support, afaik.)