Recent submissions

Comment · 1 month ago
You create formulas to estimate the cost of running a given query plan. Use statistics collected about the tables (e.g. how many rows) to try to be accurate. The topic is "Cost Based Optimization".
Comment · 2 years ago
Person 1 adds code that uses this with Pandas. Person 2 sees the csvbase:// URIs and copy/pastes them to use with some other library Foozle that uses URIs and it works because Foozle also happens to use fsspec. Foozle migrates off of fsspec to some other filesystem wrapper. 3 years later, after persons 1 and 2 have left the company, person 3 bumps the version of Foozle the project uses and suddenly tests are failing because they can't resolve csvbase:// URIs, but the Foozle release notes say nothing about removing support for csvbase:// URIs.
Comment · 2 years ago
The opening of the animation has the phrase “A Mickey Mouse Sound Cartoon” on screen. IANAL but I saw on the news that this means the character’s name and old-style likeness are fair game for new content by anybody.
Comment · 3 years ago
The most common point is that they're safe to share between threads making parallel algorithms easier to invent, understand, and implement correctly.

You can also safely re-use sub-structures without performing a deep copy. For example, if you want to keep a sub-tree around for later you can do that in O(1) time because it's safe to keep a reference to it. If it is a mutable tree you don't know what's going to happen to it so you need to do a deep copy of the entire sub-tree you're holding on to. This can save a lot on memory allocation and copying depending on your use case.

Comment · 4 years ago
I think starting with Standard ML is a good idea. It is the core of ocaml and really highlights the differences with other approaches to programming. I went from SML to ocaml to Haskell.
Comment · 4 years ago
Comment · 4 years ago
It's clear he can do it: the ending of Anathem ties up everything very neatly and it is hard for me to imagine any major events happening in the characters' lifetimes that would rival the plot arc they've been through.
Comment · 4 years ago
I feel that his novels are becoming more and more mainstream friendly, and Termination Shock is my suggestion. The world is very similar to our own, set in the near future (versus The Diamond Age) of our planet (versus Anathem) and is very relatable.

My other suggestions would be REAMDE for people who are into action movies or spy novels, or the first half of Seveneves for space nerds.

Comment · 4 years ago
A large enough increase in supply could cause property values to level off while also increasing the vacancy rate for rental properties. I think the idea is that those circumstances would make real estate no longer attractive as an investment.
Comment · 4 years ago
Apple is big enough to make it happen and there are plenty of iOS game devs out there to make it a success.
Comment · 4 years ago
Comment · 4 years ago
This was really interesting both in exploring the architecture of a retail system and looking at how systems fail. Better to read about it and learn than to live it.

I'd call it a 4 hour outage because the initial "recovery" was a result of cashiers manually typing in prices for items. Then when load decreased and they discovered that scanning items worked again the problem came right back.

Maybe returning 404 for both a cache miss and a "there's no endpoint at this path" error is an issue too. For other status codes there's a distinction between temporary and permanent failure; e.g. 301 versus 302. It would've been good to use HTTP 400 Bad Request for the misconfigured URL and 404 for a cache miss.

In the 10% of stores with the early roll out of the config change the cache hit rate went to 0 right away, and that started 12 days before the outage. Alerts on cache hit rates and per-store alerts would've caught that.

Then there were 4 days where traffic to the main inventory micro-service in the data center jumped 3x which took it to what appears to be 80% of capacity. Load testing to know your capacity limits and alerts when you near that limit would've called out the danger.

Then during the outage when services slowed down due to too many requests they were taken out of rotation for failing health checks. Applying back pressure/load shedding could have kept those servers in active use so that the system could keep up.

Comment · 4 years ago
I worked on a C project where we counted 14 different hash table implementations done for different key/value data types strewn through the code.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton