• 1 Post
  • 25 Comments
Joined 1 year ago
cake
Cake day: July 24th, 2023

help-circle

  • I mean I can just take a job in the states, they pay quite a bit more there compared to Europe, and it can be even more targeted in the area of my interest (low-level stuff in Rust which pays even better than what I can find here)… Locally the jobs are pretty limited (at least those that interest me)… Everyone wants Java/C# or JS devs here (all languages I’ll try to avoid, and I suspect it has to do with maintaining old (tech-debt) code-bases which I try to avoid even more)… But I’m quite happy with my team currently and just have rant about JS everyday, but at least don’t have to maintain tech-debt (at least not something that I haven’t produced myself^^)… And I get great food for free… Hmm trade-offs.






  • Yes it’s absolutely depressing. Also just thinking about the idiocratic/authoritarian/right-wing movement that doesn’t want to do against or even wants to accelerate climate-change.

    But apart from good things that are happening right now (as I just watched it https://youtu.be/vUA1kFSJnYQ)

    Think about it, there are what > 8 billion people in a highly developed /technological advanced world, how realistic is it really that everyone of them will die for good? Evolution took all kinds of measures to avoid it. There will likely be humans (unfortunately likely those that mostly caused climate-change) that will survive. We can already create artifical climate, there’s vertical farming that can be isolated from the outside. Even if we’re approaching a hell like planet with > 10 C warming, it’s not that we don’t have very cold places that may be suitable for living then. Yes it will be a lot less people but I don’t believe in a total collapse. We have all kinds of redundancy with data storage etc. know-how won’t just be lost.

    Also while all of this is happening rapidly on a geological timescale it’s still slow for humanity and it’s ability to adapt. We’re still talking about centuries, for the hellish kind of development. It’s getting uncomfortable the next decades, but likely so that humanity will finally grasp the fuck up, and takes effective counter-measures. Also the probability that we advance quick enough to sequester carbon so fast (and find safe geoengineering), to reverse at least some of the tipping points is still on the table.









  • Yep tinkering with the system is probably the main issue (for that NixOS is awesome btw.). But even when you’re not constantly tinkering. System-State accumulates over time, bugs are also apparent in (upgrading of) distros, and the maintainers of a distro cannot realistically handle every upgrade time-point x -> y, so stuff will likely break after some time.

    But even when I have fixed all the issues in my previous at some time broken distros, at some point it just feels good to have a freshly installed system without all that dirty accumulated state (NixOS + impermanence and you’ll have that every reboot :P, see also this)


  • You probably don’t have much on that system and/or you have a lot of discipline…

    I did reinstall it after max 1 1/2 years (Arch btw.), either because of breakage, or weird behavior, or it was a chaotic dumpster fire.

    At some point I discovered NixOS and was sold (and am still sold after 3 1/2 years using it). But it has a steep learning curve, though it certainly got better over that time.



  • Rust has exactly the same problems with depreciation as many Frameworks rely on experimental features which are subject to change.

    Rust has actually quite a good record with depreciation and backwards-compatibilty etc. They are changing the language in non-backwards compatible way over editions, but the changes are mostly very manageable.

    But to not end up being another C++ (syntax-wise it’s a disaster IMHO), a few non-backwards-compatible changes every few years are the way to go, when it’s manageable.


  • Learning curve is steep in the beginning, I agree (I wouldn’t argue painful though, maybe if you have to unlearn bad practices, like interior mutability though etc.).

    But I think it pays off after some time. I’m now faster in Rust than in C# with similar experience, and the quality of the code is definitely higher as well (which can be credited to the strict kinda opinionated design of Rust IMO).

    It composes really well, better than most (non-functional) popular languages. I think this is probably the Sell for Rust, as it additionally works remarkably well over the entire stack (kernel -> frontend) (in each abstraction level might be better/easier to use languages to be fair though).



  • I’m not speaking for Rust level performance. I’m using Rust nowadays, because it’s generally doing a lot right, that other popular languages struggle with IMO.

    Think about error handling. I think even Java is better here than C#. I think it’s quite a mistake, not being required to add all possible exception types that a function can throw to the function signature.

    Then the next thing, I really hate about almost every popular language is implicit null. To be really safe, you have to check every (non-primitive) variable for null before using it, otherwise you have a potential NullPointerException.

    Then take pattern matching, this is a baked in feature of Rust from the beginning and it does this really well (exhaustive matching etc.). There’s “basic” pattern matching in C#, but it just doesn’t really feel right in the language, and is not even close in capability compared to Rusts.

    All of this (and more) makes Rust the less error-prone language, which I can say with confidence after long experience with both of these languages (both > 5 years).

    I’m honestly not sure why exactly C# was chosen for most of the games, but it’s probably because it’s relatively good to embed, is relatively strong-typed, while being somewhat performant (compared to something like python or other scripting languages).