HN user

killbot5000

150 karma
Posts0
Comments36
View on HN
No posts found.
Just Use Go 3 months ago

I love go, but I find it did little to make concurrency management easier to reason about. Race conditions are easy to write. Go routines have all the same concurrency problems of threads.

In the parallel HTTP fetcher, the error is discarded. This will likely result in a panic when the response is nil. Also, what if it a server locks up? Or the underlying socket never connects and never times out?

I know it’s a toy example, but one must consider all these things in a real system. Go does have good pathways for these concerns, but it’s also easy to do it wrong. I still have to manually reason about access to variables/struct fields from multiple go routines.

It’s the same assumption is required for any hole punching handshake (including STUN).

This is a property called “equal delta mapping”

FWIW I’ve worked in computer networking for 20 years and have never heard it called this. This blog is the only source that comes up when I search for that exact term. I wonder where the author got it from.

The foundation models themselves will be cheap to deploy, but we’ll still need general purpose inferencing hardware to work along side them, converting latent intermediate layers to useful, application-specific concerns. This may level off the demand for “gpu/tpu” hardware, though, by letting the biggest and most expensive layers move to silicon.

Quality of code has never had anything to do with which products are successful. I bet both youtube and facebook's codebase is a tangled mess.

The code’s value is measured in its usefulness to control and extend the Facebook system. Without the system, the code is worthless. On the flip side, the system’s value is also tied to its ability to change… which is easier to do if the code is well organized, verified, and testable.

The Uber business model is:

Undercut competition. Use borrowed money to sell rides under cost. Wait for all competitors to die. Jack up prices.

AFAIK they’re still living on borrowed money.

It reminds me of the airline deregulation of the 90s. New airlines would use borrowed money to sell seats at below cost to attract customers, driving established carriers out of business.

The funny thing is that this smells a lot like “the tragedy of the commons”. Everyone wants to use this amazing infrastructure for flying, but no one wants to pay for it. New firms undermine the stability of the system by charging less than cost in order to starve established competitors whose business model is focused on being profitable.

Engineers don't generally enjoy paying off technical debt, it's a chore. But they recognise that it must be done sometimes.

I disagree. Most engineers I work with like refactoring. It’s usually well defined work with clear metrics for success. It can also reduce daily pain if it makes delicate/messy code much easier to work with.

The problem with refactoring is that its only value is in improved execution of future projects. So it can be extremely valuable or completely useless. It depends on how likely the refactored things are to be worked on again.

The simplest example I can think of is: Map(slice, func)

You can can implement this generically in Go using interface{} types and runtime type checking, but then you have runtime type checking failures.

A java/c++-esque "generics" implementation would be able to type-check at compile time.

It seems like this is being used as a cheap tactic to avoid giving users meaningful and accurate feedback. Eg the loan approval example, if the user was presented with the details of what got them the approval instantly, it might be more convincing than an instantaneous response with no rational. The artificial wait just gives the space for the user to make up a cause for the delay and walk away with a completely incorrect perception about how the system works, which is great if your goal is to manipulate people’s behavior using psychological tricks.

It's well within the rights of a state to regulate the vehicles that operate on its roads. Those regulations may (and do) include having a visible license plate with up to date registration stickers.

You are free to drive unregistered vehicles on private land.

C is a Wasteland 15 years ago

There are new techniques wrt to garbage collected languages and hard deadlines (eg, every period has a dedicated amount of time to garbage collection, whether it needs it or not).