HN user

smadge

1,716 karma
Posts7
Comments550
View on HN

The prequel “Message Passing Is Shared Mutable State” makes the claim that highly scrutinized go codebases had just as many message passing bugs (using go channels) as shared memory bugs. But then this article claims the Erlang community has a record of higher quality and reliability largely through discipline and convention.

It is a classic cooperation problem. Perhaps not prisoners dilemma. Perhaps not at individual scale. Probably tragedy of the commons.

Cooperation is not consuming fossil fuels. Defection is consuming fossil fuels.

If you cooperate and other defects you suffer climate impact and expensive energy (expensive everything, worse economic growth than others).

If you defect and other cooperates you suffer climate impact but at least you get cheap energy (cheap everything, more economic growth than others).

People, nations, corporations, etc don’t stop using fossil fuels because they incur a penalty against their competitors if they volunteer to and their competitors don’t.

I think a lot of web services talk about reliability in terms of uptime (e.g. down for less than 5 minutes a year) but in reality operate on failure ratios (less than 0.001% of request to our service fail).

Indices, not Pointers 11 months ago

The distinction in the article really is between calling malloc for every added node in your data structure (“pointer”) or using the pre-allocated memory in the next element of an array (“index”).

I believe you are interpreting “business need” as “commercial need” when I think it’s more like “what is your business here?” Purely anecdotal, but when I visited Moffett Federal Airfield to visit the aviation history museum there I asked the security guard at the gate checking my ID if I could ride my bike around the base afterwards. He said I needed a business purpose to being on the base and that visiting the museum was a business purpose but biking around aimlessly wasn’t.

Benzene at 200 1 year ago

Maybe the target audience doesn’t need to be reminded, but benzene is really toxic and dangerous and it’s odd the article doesn’t mention that.

I have experience with token bucket and leaky bucket (or at least a variation where a request leaves the bucket when the server is done processing it) to prevent overload of backend servers. I switched from token bucket to leaky bucket. Token bucket is “the server can serve X requests per second,” while leaky bucket is the “the server can process N requests concurrently.” I found the direct limit on concurrency much more responsive to overload and better controlled delay from contention of shared resources. This kind of makes sense because imagine if your server goes from processing 10 QPS to 5 QPS. If the server has a 10 QPS token bucket limit it keeps accepting requests and the request queue and response time goes to infinity.

IRS Direct File 1 year ago

What percentage of tax filers have a single W-2, maybe a 1099, and take the standard deduction? If I had to guess, 80%.

I am curious what other factors were at play in those battles. It seems like first, Libya had no air support as western allies grounded Libya’s Air Force, second Libya did not have the logistics necessary to deploy their tanks so far from home, and third Libyan morale and training was low.

Is that really the wrong decision for a technologically advanced and industrialized nation like Australia, though? If you can logistically afford to field an M1 Abrams you are going to win against an opponent who can’t field a similar tank, even if they can afford more of them. Additionally I imagine there are other benefits such as integrating with allies who use the same tank.

One letter increments wouldn’t work because each commit has to leave the program correct. For example committing the first f of a for loop would leave the code with a syntax error. But you often should break up changes into as small as possible commits that leave the code correct. E.g. make one commit that refactors the code (no change in program output), then another change which implements the change in program behavior that motivated the refactor. This generally makes commits easier to review, less likely to contain defects, and easier to attribute bugs and roll back.

The light is already by necessity hooked up to the wheel for power and adding a switch and wires to the brakes adds another point of failure making the system less reliable, makes installation more difficult because you have to wire up to the hub generator and the brakes, and more expensive because more components.

Yeah, I have the Busch & Müller Toplight [1]. "The Toplight Line Brake Plus senses when the bike slows under braking and glows brighter. It does this by monitoring the AC frequency from the hub. During braking, the AC frequency slows quickly, and then makes the LEDs pulse or flicker, hopefully getting the attention of that fool in the jacked up SUV behind you."

[1] https://www.rivbike.com/products/dyno-rack-light?srsltid=Afm...