<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: zylepe</title><link>https://news.ycombinator.com/user?id=zylepe</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 18:05:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=zylepe" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by zylepe in "Claude Fable 5"]]></title><description><![CDATA[
<p>Vibes are all that matter. As soon as you start measuring it, that measurement becomes a target and vendors start optimizing for it at expense of the general usefulness of the model. We’ve seen plenty of models with great benchmark scores flop when people start using it.</p>
]]></description><pubDate>Wed, 10 Jun 2026 11:39:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48474808</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=48474808</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48474808</guid></item><item><title><![CDATA[New comment by zylepe in "Hardwood: A New Parser for Apache Parquet"]]></title><description><![CDATA[
<p>Cool! I definitely felt the pain of current options when I added parquet support to Planetiler to process overture data. I ended up using parquet-floor to trim the dependencies but it’s a bit of a hacky approach. If there’s a way to use the lower level utilities from my own threads without hardwood spawning it’s own then I’ll have to give it a shot.</p>
]]></description><pubDate>Sun, 01 Mar 2026 19:30:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47209846</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=47209846</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47209846</guid></item><item><title><![CDATA[New comment by zylepe in "MapLibre Tile: a modern and efficient vector tile format"]]></title><description><![CDATA[
<p>Planetiler currently supports generating MLT by adding —-tile-format=mlt cli argument. It’s only on latest main right now but I should be able to get a release out in the next few days. In my testing I’ve seen ~10% reduction in overall OpenMapTiles archive size with default settings but there are some more optimizations the team is working on that should bring it down even further.</p>
]]></description><pubDate>Mon, 26 Jan 2026 14:22:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46765969</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=46765969</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46765969</guid></item><item><title><![CDATA[New comment by zylepe in "Pole of Inaccessibility"]]></title><description><![CDATA[
<p>Pole of Inaccessibility is also a useful technique for placing the label for a polygon at a visually pleasing location on a map. @mourner came up with a more efficient algorithm for computing the point <a href="https://blog.mapbox.com/a-new-algorithm-for-finding-a-visual-center-of-a-polygon-7c77e6492fbc" rel="nofollow">https://blog.mapbox.com/a-new-algorithm-for-finding-a-visual...</a> (<a href="https://github.com/mapbox/polylabel" rel="nofollow">https://github.com/mapbox/polylabel</a>) which JTS's MaximumInscribedCircle utility is based on, which I use for "innermost point" label placement in planetiler.</p>
]]></description><pubDate>Fri, 09 Jan 2026 01:13:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46548911</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=46548911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46548911</guid></item><item><title><![CDATA[New comment by zylepe in "Rating 26 years of Java changes"]]></title><description><![CDATA[
<p>I haven’t used markdown in javadoc yet but this seems like at least 3/10? I often want to put paragraphs or bulleted lists in javadoc and find myself wanting to use markdown syntax for readability in the code but need to switch to less readable html tags for tooling to render it properly.</p>
]]></description><pubDate>Sat, 11 Oct 2025 20:35:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45552466</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=45552466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45552466</guid></item><item><title><![CDATA[New comment by zylepe in "Show HN: Ten years of running every day, visualized"]]></title><description><![CDATA[
<p>A friend of mine is on a 25 year running every day streak. He flew to Australia and landed 2 days after taking off and said that day “never existed for him” ¯\_(ツ)_/¯</p>
]]></description><pubDate>Mon, 14 Jul 2025 01:16:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=44555450</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=44555450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44555450</guid></item><item><title><![CDATA[New comment by zylepe in "A site that tracks the price of a Big Mac in every US McDonald's"]]></title><description><![CDATA[
<p>I’ve stopped at that Lee McDonald’s and remember thinking the price seemed kind of high. Little did I know it was the most expensive in the country. Even the eastbound one across I-90 is $1.40 cheaper!</p>
]]></description><pubDate>Sun, 14 Jan 2024 00:32:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38986194</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=38986194</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38986194</guid></item><item><title><![CDATA[New comment by zylepe in "FFM (Foreign Function and Memory API) Goes Final"]]></title><description><![CDATA[
<p>I’m looking forward to be able to memory-map an entire large file without having to split it up into 2gb segments, and to be able to reliably unmap it when done. So many hacks to work around this lack of functionality today…</p>
]]></description><pubDate>Sun, 10 Dec 2023 22:29:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=38595712</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=38595712</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38595712</guid></item><item><title><![CDATA[New comment by zylepe in "15 years ago, I helped design Google Maps"]]></title><description><![CDATA[
<p>I came up with an approach for placing labels where each gets a min zoom to show up at such that there are no collisions and always appears beyond that. Personally I like the feel of it a lot better, but the downside is that at a given zoom labels are less dense than if they could show/hide to fill in empty spaces. Also, it makes it impossible to dynamically style the labels, or rotate/tilt.<p>Demo: <a href="https://msbarry.github.io/maplibre-minzoom-demo/world" rel="nofollow noreferrer">https://msbarry.github.io/maplibre-minzoom-demo/world</a></p>
]]></description><pubDate>Fri, 24 Nov 2023 12:00:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=38403082</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=38403082</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38403082</guid></item><item><title><![CDATA[New comment by zylepe in "Protomaps – A free and open source map of the world"]]></title><description><![CDATA[
<p>The protomaps basemap is also built on planetiler: <a href="https://github.com/protomaps/basemaps">https://github.com/protomaps/basemaps</a> - and Brandon is one of the main contributors a to planetiler!</p>
]]></description><pubDate>Mon, 23 Oct 2023 22:00:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=37992157</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=37992157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37992157</guid></item><item><title><![CDATA[Explorable Overture Map Tiles]]></title><description><![CDATA[
<p>Article URL: <a href="https://msbarry.github.io/planetiler-overture-demo/">https://msbarry.github.io/planetiler-overture-demo/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36985534">https://news.ycombinator.com/item?id=36985534</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 03 Aug 2023 13:22:59 +0000</pubDate><link>https://msbarry.github.io/planetiler-overture-demo/</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=36985534</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36985534</guid></item><item><title><![CDATA[New comment by zylepe in "SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s"]]></title><description><![CDATA[
<p>Exactly, this use case is write-once then read-only after that. Random updates to the sqlite file after that would need more “normal” settings, but they wouldn’t also need as much throughput.</p>
]]></description><pubDate>Thu, 13 Apr 2023 12:37:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=35554447</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=35554447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35554447</guid></item><item><title><![CDATA[New comment by zylepe in "SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s"]]></title><description><![CDATA[
<p>I spent a while optimizing sqlite inserts for planetiler, this is what I came up with:<p><a href="https://github.com/onthegomap/planetiler/blob/db0ab02263baaae3038de058c4fb6a1bebd81e3c/planetiler-core/src/main/java/com/onthegomap/planetiler/mbtiles/Mbtiles.java#L151-L183">https://github.com/onthegomap/planetiler/blob/db0ab02263baaa...</a><p>It batches inserts into bulk statements and is able to do writes in the 500k+ per second range, and reads are 300-400k/s using those settings.</p>
]]></description><pubDate>Thu, 13 Apr 2023 11:37:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=35553908</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=35553908</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35553908</guid></item><item><title><![CDATA[New comment by zylepe in "Self-hosted vector tiles"]]></title><description><![CDATA[
<p>I built planetiler (<a href="https://github.com/onthegomap/planetiler">https://github.com/onthegomap/planetiler</a>) for this purpose. The output up to z14 is ~80gb and depending on how big of a machine you have it takes from 30 minutes up to a few hours - no DB required, just java or docker. If you are only going to z11-12, it should be quite a bit faster/smaller.<p>Brandon from Protomaps is also helping add pmtiles output natively to planetiler, so you won't need a conversion step afterwards!</p>
]]></description><pubDate>Fri, 27 Jan 2023 11:27:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=34544898</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=34544898</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34544898</guid></item><item><title><![CDATA[New comment by zylepe in "Maps.earth – free and open-source web maps"]]></title><description><![CDATA[
<p>You may have chosen Valhalla for other reasons, but FWIW I’ve found Graphhopper can handle 1-2 orders of magnitude more qps than Valhalla on the same hardware.</p>
]]></description><pubDate>Mon, 22 Aug 2022 18:03:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=32554972</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=32554972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32554972</guid></item><item><title><![CDATA[New comment by zylepe in "Show HN: mbtiles-s3-server – serve vector map tiles directly from mbtiles on S3"]]></title><description><![CDATA[
<p>We’ve been experimenting with R2 for serving tiles from an 80gb pmtiles archive, unfortunately the latency on up to 3 byte range requests from a worker is 5-10 seconds so it’s not practical for real usage yet. Can we expect that to improve as R2 gets closer to general availability?</p>
]]></description><pubDate>Sun, 10 Jul 2022 15:15:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=32045508</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=32045508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32045508</guid></item><item><title><![CDATA[New comment by zylepe in "Show HN: mbtiles-s3-server – serve vector map tiles directly from mbtiles on S3"]]></title><description><![CDATA[
<p>You can track progress for planetiler producing pmtiles output here: <a href="https://github.com/onthegomap/planetiler/issues/98" rel="nofollow">https://github.com/onthegomap/planetiler/issues/98</a>.<p>Another bonus of writing pmtiles directly is that it will cut the time to generate vector tiles for the planet from ~40 to ~30 minutes on a 64-core ec2 instance since pmtiles format is much simpler and more efficient to write than SQLite. It should also cut the output file size a bit from the 80gb that mbtiles uses.</p>
]]></description><pubDate>Sun, 10 Jul 2022 15:09:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=32045458</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=32045458</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32045458</guid></item><item><title><![CDATA[New comment by zylepe in "Show HN: Self-Hosted Maps Stack"]]></title><description><![CDATA[
<p>Another option if you want to offload the tiles from embedded in your docker image to static file hosting would be to convert the mbtiles output to pmtiles [1]. Then just upload the pmtiles file to s3 or similar and use the maplibre plug-in to read tiles directly from that large file using byte range requests without a tile server.<p>There’s a python utility to convert mbtiles to pmtiles, but I’m also planning to add native pmtiles output to planetiler soon [2].<p>[1] <a href="https://github.com/protomaps/PMTiles" rel="nofollow">https://github.com/protomaps/PMTiles</a><p>[2] <a href="https://github.com/onthegomap/planetiler/issues/98" rel="nofollow">https://github.com/onthegomap/planetiler/issues/98</a></p>
]]></description><pubDate>Sat, 28 May 2022 09:09:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=31538818</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=31538818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31538818</guid></item><item><title><![CDATA[New comment by zylepe in "Show HN: Self-Hosted Maps Stack"]]></title><description><![CDATA[
<p>Nice! I was going to point out the project I’ve been working on [1] to reduce the cost but I see you’ve already found it :-) Feel free to reach out it you run into any issues!<p>[1] <a href="https://github.com/onthegomap/planetiler" rel="nofollow">https://github.com/onthegomap/planetiler</a></p>
]]></description><pubDate>Sat, 28 May 2022 02:02:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=31536970</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=31536970</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31536970</guid></item><item><title><![CDATA[New comment by zylepe in "JEP 419: Foreign Function and Memory API"]]></title><description><![CDATA[
<p>I recently found this approach: <a href="https://github.com/onthegomap/planetiler/blob/main/planetiler-core/src/main/java/com/onthegomap/planetiler/util/Madvise.java" rel="nofollow">https://github.com/onthegomap/planetiler/blob/main/planetile...</a> but I’m hoping this api will eventually let you do that without an external dependency or writing/compiling C connectors.</p>
]]></description><pubDate>Tue, 29 Mar 2022 12:34:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=30841672</link><dc:creator>zylepe</dc:creator><comments>https://news.ycombinator.com/item?id=30841672</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30841672</guid></item></channel></rss>