Hacker Newsnew | past | comments | ask | show | jobs | submit | Boxxed's commentslogin

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.

> Firefox is painful.

What exactly is painful about Firefox? It's so painful that you'd rather go without an adblocker?


I'm not used to its dev tools. It takes me a lot longer to find my way around.

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.

Ok


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.


That's nice if you're starting from scratch, but if you have existing code to deal with, you don't have the privilege of ignoring the insane subset.


The type hints are not even enforced at runtime. They are mostly documentation.


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 seems to handle deserialization? But would it protect you from assigning a value of the wrong type to the object later on?


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.

[1] https://docs.pydantic.dev/latest/api/config/#pydantic.config...

[2] https://docs.pydantic.dev/latest/api/config/#pydantic.config...

[3] https://beartype.readthedocs.io/en/latest/eli5/


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].

[1] https://github.com/beartype/pytest-beartype


It must be used in combination with a static checker to be useful.

So you can do like a = typedload.load(json_data, int) and then "a" is considered to be an int and at runtime will be an int.

Of course your static checker should prevent you from doing a + "string" later on because that would fail.


> But it looks like they would have spared Anthropic if they capitulated to the regime's demands and bent their back over.

Yeah dude, that's the point.


That's the opposite of corporatism. Corporatism would be if the corporations made demands of the government, and the government bent over backwards.

The US government has lots of corporatism, but this isn't an example of that.


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.

It lives at https://lyte2d.com and the source is at https://github.com/lyte2d/lyte2d. Check it out at your leisure!


Well that's terrifying


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.


yeah a small group of experts can leverage scala, its not a language for a corporate environment


One reason why I keep bouncing off of Haskell.


Is your argument that it's now someone else's problem? That it must be paid, just by someone else? Thanks, I hate it.


You will probably be able to just keep throwing AI at it in the coming years, as memory systems improve, if not already.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: