Instead of using integers IDs for the hexes, we created an encoded version of the ID that has the property that removing a character gets you the containing parent of the cell. This means we can do basic containment queries by querying with a low resolution hex (short string) as a prefix query. If a gps track goes through this larger parent cell, the track will have hexes with the same prefix. You don’t get perfect control of distances because hexes have varying diameters (or rather the approximation, since they aren’t circles they are hexes), but in practice and at scale for a product that doesn’t require high precision, it’s very effective.
I think at the end of this year we’ll have about 6tb of these hex sets in a four node 8 process ES cluster. Performance is pretty good. Also acts as our full text search. Half the time we want a geo search we also want keyword / filtering / etc on the metadata of these trips.
Pretty fun system to build, and the concept works with a wide variety of data stores. Felt like a total hack job but it has stood the test of time.
Thanks uber, h3 is a great library!
* I'd frame it as "kludge", reserving "hack" for the positive HN sense. :)
Deleted Comment
I am glad that they bought the rights to Brandon Sanderson's books, because I know Netflix wouldn't do them justice and Amazon prime would be far worse than that, but it also means that it will have a tenth of the available audience that a Netflix contract would have brought.
A new sailing record was set recently, which didn't _quite_ beat 40 days - it took them 40 days and almost 11 hours.
If you've ever seen a SailGP boat flying up out of the water on their hydrofoils and doing 100kmh - imagine a 32m long 26m wide ocean going trimaran doing the same thing in a non stop circumnavigation of the globe. I think they _averaged_ 27knots or 50kmh!
If you _haven't_ seen the SailGP boats and are curious, here's somewhere to start: https://youtu.be/BQWOoP-Iwn8
I personally can't stand my git commit command to be slow or to fail.
[0]: such as https://github.com/watchexec/watchexec
Deleted Comment
I have been trying to build skills to do various things on our internal tools, and more often then not, when it doesn't work, it is as much a problem with _our tools_ as it is with the LLM. You can't do obvious things, the documentation sucks, api's return opaque error messages. These are problems that humans can work around because of tribal knowledge, but LLMs absolutely cannot, and fixing it for LLM's also improves it for your human users, who probably have been quietly dealing with friction and bullshit without complaining -- or not dealing with it and going elsewhere.
If you are building a product today, the feature you are working on _is not done_ until Claude Code can use it. A skill and an MCP isn't a "nice to have", it is going to be as important as SEO and accessibility, with extremely similar work to do to enable it.
Your product might as well not exist in a few years if it isn't discoverable by agents and usable by agents.
This article is perennially posted here and is probably the best breakdown of this quote.
Who specifically is this intended for? It's a wonder that the model didn't spice things up with some tangential compliance catnip like FIPS or PCI DSS.
I would be curious to see the prompts used to create this.
Recently, I don't think there could be a better example of applicability of Brandolini's law.
FTR I'm not commenting on whether the posted project is bs, just clarifying the meaning of your last sentence.