I don't know, I think it's pretty embarrassing that Teams is an electron (or whatever) app. The plot on native has been lost so badly that even the fucking company that makes the OS doesn't want to deal with it.
Every time someone complains about firefox it's something trivial like this... "I don't like the default download location." / "I don't like how the dev tools opens on the bottom." / "I don't like the way the tab bar looks." Absolutely wild to me that using a browser without an adblocker, forever, is better than spending a week or whatever getting used to the different dev tools.
Pretty much matches my experience. Trying to sell something on Craig's list or whatever is pretty hit-or-miss, whether it's $5 or $500. But make it free, and people will bang down your door to try to get it. It could be a shoebox full of used soy sauce packets and you'll get people for days asking if it's still available.
My favorite part about the type annotations in python is that it steers you into a sane subset of the language. I feel like it's kind of telling that python is this super dynamic language but the type annotations aren't powerful enough to denote all that craziness.
They can be used at runtime though. I wrote typedload, to load external data (json/bson/yaml) into python typed objects. In this way you know that if the data doesn't match the expectations you will have an exception at a specific point in the code, and after that it's safe to use the objects, rather than having to manually check at every access.
Now there are several other libraries that do this thing, but at the time (python3.5 and 3.6) it was the only option.
That depends on what you're using. If you're using Pydantic, which lets you define a struct-like data type with validation, you can tell it to validate assignments as well [1]. Or you can set the class as frozen and forbid assignment entirely [2].
However, if you mean annotating a local variable with a type, then no, nothing will stop it at runtime. If you use a type checker, though, it will tell you that statically.
The ecosystem also offers other runtime validation options, such as beartype [3]. For example, you can annotate a function such that it always checks the data types of input parameters when called. You can even apply this to a whole module if you want, but I don't think that's commonly done.
Checking types on all function calls adds a considerable amount of extra work that I personally am not willing to pay, especially since static type checkers exist.
Me neither! I was just mentioning it as a possibility. My main use of beartype is `is_bearable` for runtime checking of specific data structures, in cases where `isinstance` isn't quite enough. I would still explore turning full checks during tests, though [1].
There are always winners and losers in political discussions not every corporation could have control over decision making. But that doesn't mean companies aren't playing a major rool in decisions. I'd imagine companies owned by Larry Ellison (fox and soon cnn) have a much larger role in decision making and agenda setting that most people are comfortable with.
Corporatism/corporatocracy is about representative groups from industries being embedded in the state and their interests shaping state policy.
The current US administration's relationships with corporations is more seeking to maximise how much bribe money it can extract from them, whilst undermining them with counterproductive policies no matter how big the tax breaks are.
Lyte2D is a game engine for 2D games with a very small and tight API. It's scripted in lua and it's easy to make tiny self contained executables for Windows, Mac, Linux and the web.
Yeah I love it when people start defining their own operators all over the place and give them all inscrutable names. "Dude just use the eggplant parm operator: <<=-=>>"
^ This meme is from 10+ years ago when Scala was at the peak of its hype driven by the FP craze. Nobody seriously writes cryptic-symbolic-operator code like that nowadays. Scalaz, the FP library most notorious for cryptic operator/method names, hasn't been relevant for many years. Today everyone uses Cats, ZIO, or plain Tapir or Play, all of which are quite ergonomic.
This is the type of thing that a good PR review culture will handle. I love that this is an option in some languages. But in a company, you need to decide what cool features should be used and when and how much.
Good PR review isn't really enough unless the organization is only large enough to handle around one PR at a time.
With languages like Scala I think its a clearer necessity that someone or some small group in an organization maintains a dominance of expertise or you have different groups that are only using the same language in name or facing overhead to keep in agreement where a lot of the best developers might be basically doing ambassador work.
reply