<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: westnordost</title><link>https://news.ycombinator.com/user?id=westnordost</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 23 Sep 2026 03:34:52 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=westnordost" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by westnordost in "Iran school bombing: grounds to believe US was behind atrocity, UN finds"]]></title><description><![CDATA[
<p>As far as I know, yes. However, it was not quite adjacent but rather within the military base.<p><a href="https://www.openstreetmap.org/?mlat=27.10983&mlon=57.08475&zoom=15" rel="nofollow">https://www.openstreetmap.org/?mlat=27.10983&mlon=57.08475&z...</a><p>After first looking at the map, I was quite surprised as it wasn't mentioned in the news.<p>Why is a school basically located on a military area, and not in a residential area?</p>
]]></description><pubDate>Thu, 17 Sep 2026 15:27:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=49742265</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=49742265</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49742265</guid></item><item><title><![CDATA[New comment by westnordost in "StreetComplete: Fixing OpenStreetMap, one tiny quest at a time"]]></title><description><![CDATA[
<p>It works offline, for one. A lot of datais kept persistently in a SQLite database.</p>
]]></description><pubDate>Tue, 07 Jul 2026 18:12:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48821417</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=48821417</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48821417</guid></item><item><title><![CDATA[New comment by westnordost in "StreetComplete: Fixing OpenStreetMap, one tiny quest at a time"]]></title><description><![CDATA[
<p>Well, sort of. That'd be <i>very</i> bluesky. What's closer, actually, would be a desktop version, or rather, a version for Linux mobile like postmarketOS (would run like a desktop app in a JVM, but for a mobile target, the layout and UX wouldn't need to be changed.</p>
]]></description><pubDate>Tue, 07 Jul 2026 18:11:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48821406</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=48821406</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48821406</guid></item><item><title><![CDATA[New comment by westnordost in "StreetComplete: Fixing OpenStreetMap, one tiny quest at a time"]]></title><description><![CDATA[
<p>When you are out of quests in your area, check the overlays! (Button to the left of the menu)</p>
]]></description><pubDate>Tue, 07 Jul 2026 18:05:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48821336</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=48821336</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48821336</guid></item><item><title><![CDATA[New comment by westnordost in "StreetComplete: Fixing OpenStreetMap, one tiny quest at a time"]]></title><description><![CDATA[
<p>In my opinion, gamification that makes one addictive is very unethical.<p>So, any measure that aims at keeping users engaged (as the duolingo icon for example) should be viewed cautiosly.<p>Also, specifically with apps with which people provide real data, the more they see it as a game, the more the system will be gamed. When users start to guess, without really confirming it on-site, this leads to outright incorrect data.<p>What's fine, in my book, is to make the experience more gratifying, more "fun". That's probably what you meant, with firework animation etc..
The progress bars however already fall somewhat in the former category.<p>By the way, edits are accepted immediately. There is no verification step by the community (just like in wikipedia), all the more important it is that people don't start seeing it as a game first and as a way to contribute to a libre map second.</p>
]]></description><pubDate>Tue, 07 Jul 2026 18:01:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48821295</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=48821295</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48821295</guid></item><item><title><![CDATA[New comment by westnordost in "StreetComplete: Fixing OpenStreetMap, one tiny quest at a time"]]></title><description><![CDATA[
<p>In regards to your edit: Yes, this is exactly correct.</p>
]]></description><pubDate>Tue, 07 Jul 2026 17:39:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48821047</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=48821047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48821047</guid></item><item><title><![CDATA[New comment by westnordost in "Mapping latitude and longitude to country, state, or city"]]></title><description><![CDATA[
<p>The bitmap approach you describe allows for immediate (i.e. O(1) ) lookup of region by coordinate, which is pretty neat. Space-efficiency-wise, a bitmap (+ index that maps color to country) might not be the most efficient data structure, though, as there are more than 256 countries, so you already need 16 bits for each pixel instead of 8. Then, you have the additional complexity of if you actually want the bitmap to be viewable by humans, you need to make sure that the colors for neighbouring countries at least are sufficiently distinct.<p>Anyway, a Kotlin library I wrote uses a similar technique to make requests for the majority of locations immediate, while also handling the edge cases - i.e. when querying a location near a border.<p><a href="https://github.com/westnordost/countryboundaries">https://github.com/westnordost/countryboundaries</a> (also available in Rust)<p>What it does is to slice up the input geometry (e.g. a GeoJson) into many small cells  in a raster. So, when querying for a location, one doesn't need to do point-in-polygon checks for potentially huge polygons, but just for those little slices that are in the cell one is querying for. And of course, if a country completely covers a cell, we don't even need to do any point-in-polygon check anymore.
All this slicing is done in a preprocessing step, so the actual library consumes a serialized data structure that is already in this sliced-up format.<p>I needed it to be fast because in my app I display a lot of POIs on the map for which there is logic that is dependent on in which country/state the POI is located.</p>
]]></description><pubDate>Wed, 04 Jun 2025 11:09:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=44179419</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=44179419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44179419</guid></item><item><title><![CDATA[New comment by westnordost in "What's New in Kotlin 2.0.0"]]></title><description><![CDATA[
<p>Are you thinking of certain secondary libraries in particular?</p>
]]></description><pubDate>Tue, 21 May 2024 21:25:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=40434166</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=40434166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40434166</guid></item><item><title><![CDATA[New comment by westnordost in "What's New in Kotlin 2.0.0"]]></title><description><![CDATA[
<p>You probably mean Compose Multiplatform?<p>That is a fork, or rather, extension to Jetpack Compose, Google's declarative UI framework for Android. It uses Skia for rendering but has an the identical API to Jetpack Compose, hence from the point of view of a framework user, there is nothing new about it (other than that it works on Android, iOS, desktop OSs and web).</p>
]]></description><pubDate>Tue, 21 May 2024 21:22:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=40434128</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=40434128</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40434128</guid></item><item><title><![CDATA[New comment by westnordost in "Overpass Turbo: A Web Based Data Mining Tool for OpenStreetMap"]]></title><description><![CDATA[
<p>Regarding data mining tools for OpenStreetMap, there is also a tool with which one can use SPARQL syntax. This means that one could conflate data with wikidata or other data sources easily, too:<p>QLever: <a href="https://qlever.cs.uni-freiburg.de/osm-planet" rel="nofollow">https://qlever.cs.uni-freiburg.de/osm-planet</a><p>Actually, there are two. Sophox is around for longer:<p>Sophox: <a href="https://sophox.org/" rel="nofollow">https://sophox.org/</a></p>
]]></description><pubDate>Thu, 25 Jan 2024 17:08:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=39131874</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=39131874</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39131874</guid></item><item><title><![CDATA[New comment by westnordost in "OpenStreepMap 2012 vs. 2022"]]></title><description><![CDATA[
<p>The most accessible general-purpose map app for end users (Android and iOS) is written in C/C++. This is pretty high on the cool and useful scale: <a href="https://organicmaps.app/" rel="nofollow">https://organicmaps.app/</a><p>Both map renderers Tangram-ES and Maplibre-GL
- <a href="https://github.com/tangrams/tangram-es" rel="nofollow">https://github.com/tangrams/tangram-es</a> and 
- <a href="https://github.com/maplibre/maplibre-gl-native" rel="nofollow">https://github.com/maplibre/maplibre-gl-native</a>
are also written in C/C++.<p>Finally, most routing software, such as OSRM or Valhalla are written in C/C++.</p>
]]></description><pubDate>Fri, 30 Sep 2022 22:14:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=33041478</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=33041478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33041478</guid></item><item><title><![CDATA[New comment by westnordost in "In Defense of OpenStreetMap's Data Model"]]></title><description><![CDATA[
<p>Just for context, here is the current OSM data model in a nutshell:<p>There are three data types - nodes, ways and relations. All of the three can have any number of "tags" (i.e. a map<string, string>), which define their semantic meaning. For example, a way with `barrier=fence` is a fence. This stuff is documented in the openstreetmap wiki.<p>A node is a point with a longitude and a latitude.<p>A way is a sequence of nodes.<p>A relation is a collections of any number of nodes, ways or other relations. Each member of this collection can be assigned a "role" (string). Again, the semantics of what each role means is documented in the openstreetmap wiki.<p>To modify data, simply new versions of the edited data are uploaded via the API.<p>---<p>The most prominent point that stands out here is that only nodes have actual geometry.<p>This means that...<p>1. to get the geometry of a way (e.g a building, a road, a landuse, ...), data users first need to get the locations of all the nodes the way references. For relations, it is even one more step.<p>2. in order to edit the course of a way, editors actually edit the location of the nodes of which the way consists of, not the way itself. This means (amongst other things) that the VCS history of that way does not contain such changes</p>
]]></description><pubDate>Sun, 12 Jun 2022 17:39:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=31716481</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=31716481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31716481</guid></item><item><title><![CDATA[New comment by westnordost in "Maplibre: community-driven Mapbox GL fork"]]></title><description><![CDATA[
<p>Where the SDK pulls its data from is not hardcoded.<p>The SDK is just a library, used to render vector map tiles, usually in the MVT-format: <a href="https://docs.mapbox.com/vector-tiles/specification/" rel="nofollow">https://docs.mapbox.com/vector-tiles/specification/</a><p>Most maps rendered with such an SDK are based on OpenStreetMap data.</p>
]]></description><pubDate>Wed, 23 Jun 2021 17:05:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=27606910</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=27606910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27606910</guid></item><item><title><![CDATA[New comment by westnordost in "Maplibre: community-driven Mapbox GL fork"]]></title><description><![CDATA[
<p>If it is true that Apple will soon drop OpenGL and only support Metal:<p>Will the SDK also work on iOS and Mac then, i.e. has Metal support?</p>
]]></description><pubDate>Wed, 23 Jun 2021 16:57:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=27606773</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=27606773</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27606773</guid></item><item><title><![CDATA[New comment by westnordost in "StreetComplete: Easy to use editor of OpenStreetMap data"]]></title><description><![CDATA[
<p>(Author here:) I got many emails about new patrons/sponsors yesterday and was astonished where this was all coming from, now I know!<p>Thank you for posting this and thank you all for your support! This helps me a lot to find the time to maintain the app, in general a kind of work that I think is often underestimated, also in terms of time invested.<p>For example, Google recently kicked the app out of their app store for spurious reasons so I had to act quickly to get it back ASAP. I kept track of the issue (and am still updating it, it's not over yet) here:<p><a href="https://github.com/streetcomplete/StreetComplete/issues/2909" rel="nofollow">https://github.com/streetcomplete/StreetComplete/issues/2909</a><p>This may be an interesting read and shed some light on how the Google Play Store team works and handles policy violations and appeals.</p>
]]></description><pubDate>Sat, 19 Jun 2021 07:56:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=27558682</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=27558682</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27558682</guid></item><item><title><![CDATA[New comment by westnordost in "StreetComplete: Easy to use editor of OpenStreetMap data"]]></title><description><![CDATA[
<p>Doesn't it run in anbox?</p>
]]></description><pubDate>Sat, 19 Jun 2021 07:13:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=27558479</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=27558479</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27558479</guid></item><item><title><![CDATA[New comment by westnordost in "StreetComplete: Easy to use editor of OpenStreetMap data"]]></title><description><![CDATA[
<p>(Author here:) I too wish there could be an iOS version one day and it is also theoretically possible to do this, i.e. share code between the iOS version and the native Android version.
The issue is, that the intial effort to do this is enormous  and then, there'd need to be a maintainer for the finished (and continuously extended) version too.<p>See here for more information, especially for iOS programmers this might be interesting:
<a href="https://github.com/streetcomplete/StreetComplete/issues/1892" rel="nofollow">https://github.com/streetcomplete/StreetComplete/issues/1892</a></p>
]]></description><pubDate>Sat, 19 Jun 2021 07:11:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=27558460</link><dc:creator>westnordost</dc:creator><comments>https://news.ycombinator.com/item?id=27558460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27558460</guid></item></channel></rss>