frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Harder, Better, Faster, Stronger Version of Uber H3 in Rust

https://grim7reaper.github.io/blog/2023/01/09/the-hydronium-project/
85•ashergill•1w ago

Comments

krapht•6h ago
This is cool. Not personally going to switch because I want to stay with the official implementation, but I appreciate the effort involved in porting libraries.
ramon156•6h ago
This is pretty big for WASM projects
serjester•5h ago
H3o is an awesome piece of work. I created polars bindings for it(another reason I love polars) and last time I benchmarked it, it had 5X better performance than even duckdb’s C++ implementation.

https://github.com/Filimoa/polars-h3

grim7reaper•5h ago
I really want to do a DuckDB extension someday, I think it would be pretty cool. I had looked into it 2 years ago but didn't dig further.

Now that H3 provides one, maybe I should take another look at it.

grim7reaper•5h ago
Author here!

Funny to see this on the front page xD

That was the blog post for the initial release, and a lot of things have changed since then (definitely deserves a new blog post ^^).

The first big change happened six months after the release, when I rewrote most of the geometrical algorithms (leveraging the excellent geo crate) and got a massive boost in speed and reduction in memory usage which made it applicable at high resolutions and country-scale levels (e.g. some computation went from 15h to 7min, and from 18GB of RAM to 100MB). I also added support for alternative coverage methods (back then H3 only offered centroid containment).

Since then, the reference implementation has caught up in term of coverage predicate and even provides a new experimental coverage algorithm addressing some performance issue. I haven’t implemented yet but, IIRC, my current implementation still outperforms theirs (but less dramatically so).

I’ve also developed a little ecosystem of libraries around h3o: - Tailored compression algorithm with h3o-zip (in optimal cases I’ve observed reductions from ~2GB to 100KB) - Compact data structure for fast lookup with h3o-ice (based on FST) - Map rendering with h3o-mvt

Most of these things run in production at Amo, where one of the main use cases is powering the Scratchmap feature, both client and server side, in the Bump app. I’ve also seen adoption from other projects (bindings for R, Erlang, Polars, ...) and enterprises :)

pheelicks•4h ago
Very impressive results, cool to see innovation in this space! I’d definitely be interested in a follow up post going into the details of the geometric algorithms.

I’m working on my own DGGS, A5, the first (and only) to use pentagons. It offers true equal area cells and a much higher cell fidelity (below 1cm compared to 1m for H3).

I’m looking for contributors to get involved and you seem to have the perfect skill set. It would be amazing to have you join the project :) https://a5geo.org/ https://github.com/felixpalmer/a5

grim7reaper•3h ago
Ha, yeah, I remember reading about your project back in April (I think someone shared it on the GeoRust Discord). Really cool stuff you have here!

Can't say I understand all the math behind it, as it's not my forte (even for H3, for the more numerical parts, I rely on the work of the original authors: I could never have come up with this myself), but your doc is really great!

For the follow-up article, I hope I can get to it eventually. But spare time is a rare currency ^^

ajfriend•1h ago
h3o-zip is really impressive! I've been wanting to play around with it more, and I've been meaning to ask you if you have any good references for that encoding approach. I understand how it works in h3o-zip, but I'd be interested to know more about where else that approach has been used.
websiteapi•5h ago
who is using uber h3 and what for? (besides uber of course)
Audiolite•4h ago
As one example, the U.S. Federal Communications Commission uses it in its Broadband Data Collection program. You can see some of how it's been implemented here: https://broadbandmap.fcc.gov/

Edit: It seems some people get a blocked message when visiting the base url. The home path may work better? https://broadbandmap.fcc.gov/home

maxnoe•4h ago
I cannot... Geoblockig European IPs?
mcdonje•3h ago
I'm blocked and I'm in the US
Audiolite•3h ago
Maybe the home path will work better? https://broadbandmap.fcc.gov/home
simonw•3h ago
That's really neat. Here's a screenshot for people who can't access that URL: https://gist.github.com/simonw/eb31ec34af16a1e19ee0d7ca90e8a...
zX41ZdbW•4h ago
H3 was integrated into ClickHouse in 2019, and since then, I have heard many interesting stories. There are unusual ones, e.g., when it is used not to map data on Earth, but for astronomy (stars, galaxies).
grim7reaper•3h ago
I'm curious about those interesting stories ^^ Care to share a bit more?
jandrewrogers•3h ago
H3 is commonly used for creating visualization aggregates e.g. creating visual summaries of data distribution. That was its primary design case.
justanotherunit•3h ago
I’ve used h3 for a game. Since they align with an unique hex, I can ensure that one cell grid aligns and is placed on the same place in the world, where players could then compete on.
grim7reaper•3h ago
amo is using it quite a lot, mainly for the scratch map feature in the Bump Map application, but not only.

Use cases are: - data storage - data aggregation/clustering - spatial indexing - geometrical computation (as long as you're OK with approximation, you can speed up a lot of things by working with CellID instead of actual geometries) - data visualization

I've seen it used by Databend, Helium, Breakroom (they did an Erlang binding on top of h3o), beaconDB, Greptime, Meilisearch. But I don't exactly know what they are using it for (just that they pulled h3o in their projects).

zigzag312•1h ago
Overture maps docs use it to visualize the coverage of Overture address data.

https://docs.overturemaps.org/guides/addresses/

Picture url: https://docs.overturemaps.org/assets/images/address-coverage...

seanlane•1h ago
We use it at Neighbor.com for a lot of data analysis in our marketplace, things like our price recommendations, supply and demand balances, etc.
jiggawatts•3h ago
I never understood why anyone would prefer the H3 hex tiles over Google’s much simpler S2 system: http://s2geometry.io/

Sure, hex tiles make certain circular nearest neighbour searches slightly more accurate… but still have an error.

And then… everything else that’s inconvenient with hex tiling, like that issue that subdivisions of a cell leak into the neighbouring cells and hence don’t add up to 100% of the parent! This makes many database queries return lies, or the queries need very complex and slow(!) code to compensate.

grim7reaper•3h ago
They have a page about pros and cons: https://h3geo.org/docs/comparisons/s2/

For my use case, the visual distortion of S2 was quite a no-go.

As for DB queries, it really depends on your use case and how you store your data, but you can get some good results. But yeah, if you really need exact parent-child containment, S2 is easier to work with.

vladimirzaytsev•3h ago
H3 is preferred for geo analytics because it produces a more uniform spatial index with low distortion and consistent distances between cells

Its primary use case was efficient spatial aggregation for applications like pricing, demand forecasting, positioning etc.

seanlane•1h ago
Some of the original developers of H3 gave a presentation about it that goes over the tradeoffs between those different systems, would recommend watching it.

https://www.youtube.com/watch?v=wDuKeUkNLkQ

mattrighetti•3h ago
TIL! What are the advantages of hexagonal spatial indexing compared to e.g. quad trees, r-trees?
ashergill•3h ago
The main advantages of hexagons are that the distance to each neighbour is always the same, and the distortion across the globe is much less, because of the way H3 creates its grid (compared to the earlier Google S2 which uses squares and distorts a lot). There’s an excellent Uber blog post about this, I’ll see if I can find the link.
ashergill•3h ago
(here’s the blog post: https://www.uber.com/en-GB/blog/h3/ )
jandrewrogers•2h ago
The main advantage of hexagonal spherical tiling systems is that they are roughly equal area at a given resolution. This makes them particularly suitable for generating visualizable aggregates when you primarily care about spatial distribution rather than specific boundaries (like borders).

The main disadvantage of non-congruent tiling systems like H3 is poor scalability and performance when running analytical computations. In most cases you wouldn't want to shard your underlying data this way even if this is how you want to visualize it.

It is easy to get the best of both worlds. You can shard data models as 3-space spherical embeddings (efficient for large-scale analytic computation) and convert query results to an H3 tiling at wire speed on demand.

serjester•1h ago
One of the big ones that hasn't been mentioned is all of a hexagon's neighbors are equidistant. As a result, h3 is a better fit for flow modeling - stuff like telematics. This has some nice properties for ML too.

You can see one of my jupyter notebooks that dives deep into this with h3 here: https://drive.google.com/file/d/18jIVEbE_1QbwTbHdMqj0AVqguf2...

Guideline has been acquired by Gusto

https://help.guideline.com/en/articles/12694322-guideline-has-joined-gusto-faqs-about-our-recent-...
46•surprisetalk•1h ago•32 comments

AI's Dial-Up Era

https://www.wreflection.com/p/ai-dial-up-era
100•nowflux•3h ago•84 comments

The Mack Super Pumper was a locomotive engined fire fighter (2018)

https://bangshift.com/bangshiftxl/mack-super-pumper-system-locomotive-engine-powered-pumper-extin...
92•mstngl•3h ago•62 comments

A Friendly Tour of Process Memory on Linux

https://www.0xkato.xyz/linux-process-memory/
17•0xkato•1h ago•4 comments

Ask HN: Who is hiring? (November 2025)

276•whoishiring•8h ago•309 comments

Things you can do with diodes

https://lcamtuf.substack.com/p/things-you-can-do-with-diodes
9•zdw•40m ago•2 comments

Maintaining a Music Library, Ten Years On

https://brianschrader.com/archive/maintaining-a-music-library-ten-years-on/
38•sonicrocketman•5d ago•18 comments

Learning to read Arthur Whitney's C to become smart (2024)

https://needleful.net/blog/2024/01/arthur_whitney.html
212•gudzpoz•8h ago•82 comments

Linkers: A 20 Part Series (2007)

https://www.airs.com/blog/archives/38
10•mattrighetti•1h ago•1 comments

Gallery of wonderful drawings our little thermal printer received

https://guestbook.goodenough.us
71•busymom0•6h ago•22 comments

Israels top military lawyer resigns, goes missing, is found and thrown into jail

https://apnews.com/article/israel-military-scandal-prisoners-abuse-7becb2de4079b76b656910cc3c640d0d
18•nabla9•14m ago•1 comments

Ask HN: Who wants to be hired? (November 2025)

117•whoishiring•8h ago•238 comments

Tiny electric motor can produce more than 1,000 horsepower

https://supercarblondie.com/electric-motor-yasa-more-powerful-tesla-mercedes/
530•chris_overseas•15h ago•508 comments

The MP3.com Rescue Barge Barge

https://blog.somnolescent.net/2025/09/mp3-com-rescue-barge-barge/
74•CharlesW•1w ago•23 comments

State of Terminal Emulators in 2025: The Errant Champions

https://www.jeffquast.com/post/state-of-terminal-emulation-2025/
143•SG-•9h ago•111 comments

The Case Against PGVector

https://alex-jacobs.com/posts/the-case-against-pgvector/
258•tacoooooooo•11h ago•101 comments

Agent-o-rama: build, trace, evaluate, and monitor LLM agents in Java or Clojure

https://blog.redplanetlabs.com/2025/11/03/introducing-agent-o-rama-build-trace-evaluate-and-monit...
37•yayitswei•6h ago•3 comments

A visualization of the RGB space covered by named colors

https://codepen.io/meodai/full/zdgXJj/
205•BlankCanvas•5d ago•47 comments

WebAssembly (WASM) arch support for the Linux kernel

https://github.com/joelseverin/linux-wasm
212•marcodiego•2d ago•50 comments

</> Htmx – The Fetch()ening

https://htmx.org/essays/the-fetchening/
220•leephillips•4h ago•73 comments

S1130 – IBM 1130 Emulator in C#

https://github.com/semuhphor/S1130/tree/feature/web-frontend
28•rbanffy•1w ago•5 comments

Claude Code refused to add rainbows and unicorns to my app

56•glamp•1h ago•29 comments

Harder, Better, Faster, Stronger Version of Uber H3 in Rust

https://grim7reaper.github.io/blog/2023/01/09/the-hydronium-project/
85•ashergill•1w ago•30 comments

First recording of a dying human brain shows waves similar to memory flashbacks (2022)

https://louisville.edu/medicine/news/first-ever-recording-of-a-dying-human-brain-shows-waves-simi...
184•thunderbong•17h ago•180 comments

Skyfall-GS – Synthesizing Immersive 3D Urban Scenes from Satellite Imagery

https://skyfall-gs.jayinnn.dev/
100•ChrisArchitect•10h ago•28 comments

FreakWAN: A floor-routing WAN implementing a chat over bare-LoRa (no LoRaWAN)

https://github.com/antirez/freakwan
31•teleforce•5h ago•12 comments

Why Nextcloud feels slow to use

https://ounapuu.ee/posts/2025/11/03/nextcloud-slow/
356•rpgbr•11h ago•282 comments

Pixi: Reproducible Package Management for Robotics

https://prefix.dev/blog/reproducible-package-management-for-robotics
10•droelf•1w ago•1 comments

VimGraph

https://resources.wolframcloud.com/FunctionRepository/resources/VimGraph/
137•gdelfino01•10h ago•26 comments

Robert Hooke's "Cyberpunk” Letter to Gottfried Leibniz

https://mynamelowercase.com/blog/robert-hookes-cyberpunk-letter-to-gottfried-leibniz/
68•Gormisdomai•8h ago•21 comments