Hiker, software engineer (primarily C++, Java, and Python), Minecraft modder, hunter (of the Hunt Showdown variety), biker, adoptive Akronite, and general doer of assorted things.

  • 3 Posts
  • 749 Comments
Joined 2 years ago
cake
Cake day: August 10th, 2023

help-circle
  • I mean, I’ve seen a growing number of companies looking for Salesforce; it’s even worse (all of your code only works on their platform because it’s a proprietary language AND they charge for things as absurd as how many lines of code you have).

    A lot of the things that you can’t do with serverless expressed in this article are not things you want to do on a web server anyways. Like writing a temporary file, sharing state in process between requests, or spawning a thread.

    Sure for a truly small workload where you don’t have to worry about abuse and scaling beyond one machine you can get away with that stuff. However, for companies that do need to be able to deal with multiple machine workloads and don’t want to worry about hiring a team of engineers to implement a scalable cloud or run their own physical hardware in a data center … I think serverless likely has some value.





  • And games are more expensive than ever for studios to make and push to the market. Given that, I’m not surprised we have loot crates, micro transactions, and predatory dlc. A AAA game should have a baseline price closer to $200.

    Yeah … then there are people the won’t buy games for more than $20 (not necessarily because they can’t afford it but because “it’s just a game”) … which is just kinda crazy to me (and disrespectful to the amount of work that went into the game).














  • But they are not the default option. And your new job may not use them.

    Who cares if it’s the default? If it’s the best tool, use it.

    It’s silly to have a reason for “going Rust” be the build system, especially in the context of something as new as a WASM context where basically any project is going to be green field or green field adjacent.

    Exceptions is a non standard exit point. And by “non standard” I’m not talking about the language but about its surprise appearance not specified in the prototype. Calling double foo(); you don’t know if you should try/catch it, against which exceptions, is it an internal function that may throw 10 level deep ?

    And that’s a feature not a bug; it gets incredibly tedious to unwrap or forward manually at every level.

    By contrast fn foo() -> Result<f64, Error> in rRst tell you the function may fail. You can inspect the error type if you want to handle it. But the true power of Result in Rust (and Option) is that you have a lot of ergonomic ways to handle the bad case and you are forced to plan for it so you cannot use a bad value thinking it’s good:

    You can do this in C++ https://en.cppreference.com/w/cpp/utility/expected (and as I said, if you feel so inclined, turn off exceptions entirely); it’s just not the “usual” way of doing things.