HNHacker News
TopNewBestAskShowJobs

mourner

1,732 karma · joined July 10, 2011

Engineer at Mapbox, creator of Leaflet, open source enthusiast, algorithms geek, speaker, musician (Obiymy Doschu), baker, father of twin girls, Ukrainian. agafonkin.com
submissionscomments
mourner··on OpenLayers
Leaflet author here! Just wanted to note that if you haven't looked into OpenLayers in a few years, you absolutely should — it's astonishing how much it progressed: from something that I was so frustrated with that it prompted me to write Leaflet in the first place (11 years ago) to a modern, fast, well-engineered and lovingly maintained library.

It's especially great when you're doing complex GIS stuff and need a ton of features and formats supported out of the box. As for other libraries, I'd recommend Leaflet for simple maps, and Mapbox GL for rich, highly interactive apps that benefit from vector rendering tech (I'm biased since I contributed to both), but it's great to have OpenLayers in the mix — there's a library for anyone's needs, cross-inspiration moves all three forward, and the mapping software landscape in general is greater than it has ever been.

mourner··on Go master Lee Se-dol says he quits, unable to win over AI Go players
> Even if I become the number one, there is an entity that cannot be defeated

Hard for me to empathize with this argument for his retirement. If we can't outrun a car, does that make running competitions pointless? The existence of AlphaGo doesn't diminish the triumph of being a number one human player in any way.

mourner··on The Kindle is fine, but could’ve been much more
I've used Kindles for 7 years now, it's by far my most beloved gadget and I don't go anywhere without it. And I love it just the way it is — a reader of books without any other distractions.

The only thing I really wish they'd do software-wise is add reading stats / achievements — they have that for kid accounts but for some reason didn't extend it to adult readers.

mourner··on The Kindle is fine, but could’ve been much more
I don't think Amazon cares that much about Kindle sales — they made it deliberately way cheaper than other e-ink models when it was introduced. Their goal is to profit from book sales on their platform. I bought about a hundred electronic books on Amazon since getting a Kindle, so I think the model works great.
mourner··on Bullshit.js
Ha, looks like we missed the word "augmented" here :) Wow, that page is a treasure trove of meaningless buzzwords.
mourner··on Bullshit.js
Oh yes, merged 22 PRs since the post so far :)
mourner··on Bullshit.js
Author here — really happy that a joke project I did 7.5 years ago (while working at a typical outsourcing company) finally got a spotlight on HN!

Please feel free to contribute! I cleaned up and modernized the repo a little recently, but didn't revise the terms list properly in a very long time (except a few obvious additions like "autonomous" and "AI"), so it's a little outdated. There's so much new bullshit to add!

mourner··on I built a wind map with WebGL (2017)
I think this is actually doable — the GFS data this project pulls from has a lot of levels, see for example here https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25.pl?dir=...
mourner··on Non-Robust Arithmetic as Art
Interesting, can you share the exact log of the errors you're seeing? There are none for me on both Firefox & Chrome with uBO.
mourner··on I built a wind map with WebGL (2017)
Thank you!
mourner··on I built a wind map with WebGL (2017)
Thank you very much!
mourner··on I built a wind map with WebGL (2017)
Author here — very happy to see this resurfacing on HN! So, ask me anything!
mourner··on A Million Digits of Pi in 9 Lines of JavaScript
Alternatively, you can generate Pi digits one by one in a streaming way: https://observablehq.com/@mourner/calculating-pi-digits
mourner··on Map Design – a guide to good looking maps (2008) [pdf]
BTW, for digital cartography, I highly recommend The Guide to Map Design by Amy Lee (Mapbox): https://www.mapbox.com/map-design/
mourner··on Martini: Real-Time Terrain Mesh Generator
I would really love to see your toy Mapbox renderer — please share it, even if unpolished! We'd benefit a lot from fresh ideas on how to improve Mapbox GL performance.
mourner··on Martini: Real-Time Terrain Mesh Generator
Yeah, it's a thin balance, and to me as someone without years of experience in graphics programming, GPU feels like such a blackbox — hard to predict what will be the actual bottleneck until you implement an approach fully, with real-world loads, and even then it's hard to assess, especially with such variety of GPU performance characteristics on different devices.

So what's simpler / easier to implement in a given system will play an important role, and so are any additional things you want to do with the height data like collision detection, querying, data analysis etc. Anyway, that's a super-exciting topic to learn more about! Thanks a lot for all the thoughtful comments.

mourner··on Martini: Real-Time Terrain Mesh Generator
Really weird! No idea what could be the culprit. Some GPU bug maybe?
mourner··on Martini: Real-Time Terrain Mesh Generator
Thank you!
mourner··on Martini: Real-Time Terrain Mesh Generator
Would love to learn more, since it seems counter-intuitive — are there any studies / benchmarks on this for modern hardware? Why would a uniform mesh with, say, 10x more triangles perform better if it's not updated often (e.g. a few times a second)?
mourner··on Martini: Real-Time Terrain Mesh Generator
Everyone's hardware is different, so I've included notes about computational complexity of the algorithm in the notebook too.
mourner··on Martini: Real-Time Terrain Mesh Generator
Wow, what OS / device is this on? Looks fine on Firefox 68 / OS X for me.
mourner··on Martini: Real-Time Terrain Mesh Generator
Good point! I'm coming to this in the context of interactive maps, where pretty much all data is tiled. So we can use tiles for loading the terrain mesh & adjusting level of detail too while avoiding frequent GPU memory updates. But I'm a newbie in 3D rendering, so this is more of an exploratory/learning work than something to use in production — I've heard a lot about geometry clipmaps and would love to explore them too!
mourner··on Martini: Real-Time Terrain Mesh Generator
Haven't seen this, thanks for sharing!
mourner··on Martini: Real-Time Terrain Mesh Generator
That's surprising. Does it help to do a hard reload? Are any other WebGL demos working?
mourner··on Martini: Real-Time Terrain Mesh Generator
All the code is there — browse to the bottom and click on the left side of ThreeJS sections to expand them.
mourner··on Martini: Real-Time Terrain Mesh Generator
The easiest method would be downward "skirts" as mentioned above. A little more complicated one I'm thinking about is reconciling error maps on the border when an adjacent tile loads so that they split at the same point, and updating the corresponding mesh — should be fast enough to do on tile loads.
mourner··on Martini: Real-Time Terrain Mesh Generator
Oh yes, quadtree-like structures come up all the time when you're dealing with maps. E.g. check out this algorithm I came up with for finding pole of inaccessibility of a polygon: https://github.com/mapbox/polylabel
mourner··on Martini: Real-Time Terrain Mesh Generator
Just open https://studio.mapbox.com and have a go! It's a really powerful tool with a ton of customization options, including ones related to textures & patterns. Also check out one of the recent tutorials for a textured map: https://blog.mapbox.com/designing-the-treasure-map-style-431... We also have a cool guide for map design: https://www.mapbox.com/map-design/
mourner··on Martini: Real-Time Terrain Mesh Generator
Author here — thanks for checking this out, everyone! Happy to answer any questions in comments.
mourner··on Martini: Real-Time Terrain Mesh Generator
Thank you! Someone just forked the notebook, adding satellite texturing — that's a really cool aspect of Observable (and I'll probably merge it back): https://observablehq.com/@rzoller/martin-real-time-rtin-terr...
← PreviousPage 5 of 7Next →