HN user

708145_

62 karma
Posts6
Comments26
View on HN

I see no need to ever rebase manually, just merge on your branch and always fast-forward squash merge (only sane default) with GitHub/GitLab/whatever.

How about possibly also failing for being too US centered, basically being an "internet portal" but mainly for the US. Sure Yahoo where _huge_ 2000, but it was never the main goto portal in Scandinavia where I grew up using internet from the mid 90s.

Here Altavista was the defacto standard for search until Google replaced. For the portal aspect of Yahoo, there were local alternatives with more relevant material.

I don't see that Yahoo ever succeeded globally.

Of course it possible to limit the number of virtual threads. A web server can have a limit on number of virtual threads too, and queue incoming request before dispatching to to workers (virtual threads).

As other have said, this can be achieved with a semaphore and the bulkhead pattern. You can also limit the number of number of connections.

I would expect any "production ready" web server using virtual threads having some sort of limiting. That must be the case right?

It is definitely not procedural.

"This seems rather … procedural. Even though we get all the nice guarantees of working with side effectful functions in Haskell, the code itself reads like any other procedural language would. With Haskell, we get the best of both worlds."

Working with the IO monad is much more complex, especially if you want to use other monadic types inside that code.

For me it is if in a cosy position and doing something cognitively demanding. Fell asleep very often during my university studies reading literature. It can happen also if trying to learn something new technical at work, but only if I don't sit at a desk.

If normal or not I can't say...

The main benefit of Liskov's substitution principle is ensure developers don't need to dig into each and every concrete implementation to be able to reason locally about the code.

Yeah, but doesn't help in this context (enable local reasoning) if the objects passed around have too much magic or are mutated all over the place. The enterprise OOP from 2010s was a clusterfuck full of unexpected side effects.

It is still true what she says. Having an interconnected electricity system is problematic when countries like Germany misbehave by having a horrible energy politics.

That said, it would had been better in Sweden if they hadn't phased out nuclear too! There is a electricity shortage in south of Sweden where industries are denied establishing new initiatives.

Seriously, why? The only compelling argument for monadic effect systems I see is in languages with no easy-to-use and lightweight concurrency, and this is where Go shines. I thinks this is cool and all but I don't think it can ever be justified with this added complexity in Go. I have worked much with Cats Effect in Scala, which is nice but it adds some serious cognitive overhead.

I think default values are a major flaw, much worse than nil. An unintended default value causes data corruption. All types should be nillable in my opinion, using types that have fallback to a default value is source of nasty silent bugs. In Java for example I would never use a primitive data type.

But if vendors does not want to upstream them as free software, then we have a problem and an issue with the non stable ABI solution. The end user does not care if the driver is free software, they just want their machines to work. I guess this is an issue for Google too, for their Linux fork Android.

Of course everyone has the liberty to write a wrapper, but that is just silly.

If Windows can have a stable ABI, why can't Linux have it too? Why would it need to "reduce the quality of running kernels"?