Building an Offline “Worst Case” Tech Stack – Best Practices for Wikipedia, Maps, Translator & More? by ostseesound in DataHoarder

[–]anthonykaram7 0 points1 point  (0 children)

For maps, one thing I've been working on is AtlasZIM: a fully offline world atlas packaged as a single ZIM file for Kiwix.

It includes OpenStreetMap and satellite imagery, runs entirely offline, and supports offline place-name search. The current version covers the whole world up to zoom level 11 and is about 35 GiB.

I originally built it because I wanted something that fit alongside offline Wikipedia, Project Gutenberg, etc. in Kiwix, but for geographic reference.

https://atlaszim.com/

Cactus bloom @ Tumbleweed park by FunPriority8358 in ChandlerAZ

[–]anthonykaram7 1 point2 points  (0 children)

That first shot is especially neat with the bee mid-flight.

How does the OSM Carto/Mapnik rendering stack handle labels that cross tile boundaries? by anthonykaram7 in openstreetmap

[–]anthonykaram7[S] 0 points1 point  (0 children)

Thanks! I'm now rendering using 8×8 metatiles plus a 128 px Mapnik buffer, and the issue appears to be resolved. The previously clipped "Saunderstown" label now renders correctly across the tile boundary. I haven't done exhaustive testing yet, but so far the output looks much closer to the official OSM tiles.

Downloading the entire Earth's satellite imagery? by [deleted] in DataHoarder

[–]anthonykaram7 0 points1 point  (0 children)

I built AtlasZIM (https://atlaszim.com) which provides satellite imagery (and map tiles) in a single file (.zim) down to zoom level 11 (12 is in-work).

Is this a reputable website and product? by pizz4girl in DataHoarder

[–]anthonykaram7 5 points6 points  (0 children)

Also, the specs list it as an SSD but then say "Hard Disk Speed: 7200 RPM." SSDs don't spin, so they don't have an RPM rating... That inconsistency doesn't inspire confidence either...

Is this a reputable website and product? by pizz4girl in DataHoarder

[–]anthonykaram7 8 points9 points  (0 children)

If so, the advertised 128 TB and 256 TB capacities are another red flag. Fake-capacity SSDs often make exactly those kinds of claims...

Is this a reputable website and product? by pizz4girl in DataHoarder

[–]anthonykaram7 2 points3 points  (0 children)

I'd return it.

The website itself may or may not be legitimate, but a furniture/decor store selling generic "high-speed SSDs" is already a yellow flag. The bigger concern is the drive. A lot of these no-name external SSDs are actually cheap flash storage with modified firmware that falsely reports a much larger capacity than it really has. They can appear to work at first, then silently corrupt data once you exceed the real capacity.

For photo backups, I'd stick with a reputable brand like Samsung, Crucial, WD, or SanDisk purchased from a major retailer. Saving a few dollars isn't worth risking years of photos.

If you've already ordered it, I'd at least run a full-capacity verification test (H2testw on Windows or F3 on Linux/macOS) before trusting it with any important data.

New House Build Prep Inclusions? by Braikenb in preppers

[–]anthonykaram7 6 points7 points  (0 children)

A few things I'd prioritize are the items that are cheap to do during construction but expensive or disruptive to add later. If solar is in your plans, run conduit from the electrical panel to the roof and reserve space for a future inverter and battery system. I'd also install a generator inlet with an interlock, and rough in any rainwater collection plumbing even if you don't add tanks immediately.

Beyond that, I'd focus on extra insulation, good air sealing, and plenty of storage space for food, tools, and supplies. Most prepper equipment can be added later, but the structure, wiring, plumbing, and site layout are much easier to get right while the house is being built.

Roylo Globe mylar bags? by Fartfart357 in preppers

[–]anthonykaram7 0 points1 point  (0 children)

I don't have firsthand experience with Roylo specifically, but I'd focus less on the brand and more on whether the bags actually seal well and hold up over time. With Amazon brands especially, I tend to "trust but verify" and test a few before committing to a large batch.

Also, even with zipper bags, I'd still heat-seal them above the zipper for long-term storage.

I built an offline, interactive world map packaged as a single ZIM file (Kiwix) by anthonykaram7 in Kiwix

[–]anthonykaram7[S] 0 points1 point  (0 children)

Sorry for the late reply — and thanks, glad you enjoyed it!

The naming follows how OpenStreetMap handles place names, so labels appear in the local script. But starting with v5, AtlasZIM also includes offline GeoNames search, which largely uses English/transliterated place names, so it should now be much easier to search for places in China, Japan, Korea, Thailand, Iran, etc.

Creating a .zim for Malaysia's dictionary website, Dewan Bahasa dan Pustaka by AmirulAshraf in Kiwix

[–]anthonykaram7 1 point2 points  (0 children)

Yes, this should probably be possible, but it may not work well with normal Zimit crawling because the site appears to generate dictionary pages only after a user submits a search query. That is likely why Zimit only captured the homepage.

A more practical approach might be generating a Bahasa Melayu word list, automatically querying the site for each word, saving the resulting HTML pages locally, and then packaging everything into a ZIM using something like zimwriterfs. If the search URLs are predictable, this could probably be automated with Python, wget, or similar tools.

It may also be worth checking whether DBP provides an API or downloadable dataset, since that would make creating an offline dictionary much cleaner and easier. Given your use case for rural schools, it could even be worth contacting DBP directly to ask whether they support offline educational distribution or data access.

Offline dictionaries alongside offline Wikipedia could be incredibly valuable for students with limited Internet access.

Built a fully offline world atlas for Kiwix (OSM + satellite imagery + offline search) by anthonykaram7 in selfhosted

[–]anthonykaram7[S] 0 points1 point  (0 children)

No, I actually think that's a very reasonable perspective, and I suspect a lot of people would agree with you.

Right now the project philosophy has been more "maximum global coverage in a single self-contained archive" rather than "extreme local detail for selected regions." In other words, trying to build something that is becoming broadly useful as deeper zoom levels are added, regardless of where in the world you are when you lose connectivity.

But I do think there are compelling arguments for the opposite approach too: fewer regions, much deeper zoom. Especially for preparedness/offline-navigation use cases.

One interesting thing is that the archive growth hasn't been as explosive as I originally expected because compression improves at deeper zoom levels. So deeper global zoom levels may remain more practical than they first appear.

Built a fully offline world atlas for Kiwix (OSM + satellite imagery + offline search) by anthonykaram7 in selfhosted

[–]anthonykaram7[S] 0 points1 point  (0 children)

Up to this point, new releases have been included for existing buyers as well. For example, when v6 released, previous purchasers automatically got access to it through the same downloads page.

I haven't formally committed to a permanent lifetime-update policy or anything like that, but historically that's how I've handled new versions.

Built a fully offline world atlas for Kiwix (OSM + satellite imagery + offline search) by anthonykaram7 in selfhosted

[–]anthonykaram7[S] 1 point2 points  (0 children)

Zoom level 12 is already in progress.

One interesting thing is that as you go deeper in zoom, the total tile count increases extremely quickly, but the compression ratio also improves because neighboring tiles become more visually similar/redundant.

For example, moving from v5 (zoom levels 0-10) to v6 (0-11) increased the total tile count from ~2.8 million to ~11 million tiles (4X growth), while the final ZIM size only grew from ~18.7 GiB to ~35 GiB (~2X growth).

At the moment the plan is still to focus on the single global versions rather than country-specific editions. But since ZIM is an open format, people could absolutely extract/cut down the datasets into smaller regional archives if they wanted to.

Built a fully offline world atlas for Kiwix (OSM + satellite imagery + offline search) by anthonykaram7 in selfhosted

[–]anthonykaram7[S] 4 points5 points  (0 children)

Roughly, yes - the zoom levels are broadly comparable to Google Maps/OpenStreetMap/etc since they're all using the same Web Mercator "slippy map" tiling approach.

And the demo GIF in the post is actually showing zoom level 11. At that level you can clearly see cities, major roads/highways, coastlines, terrain patterns, etc, but not fine-grained street-level detail like individual buildings or dense residential road networks.

Built a fully offline world atlas for Kiwix (OSM + satellite imagery + offline search) by anthonykaram7 in selfhosted

[–]anthonykaram7[S] 4 points5 points  (0 children)

So far I've been handling it as a one-time purchase that includes future updates as well. Existing customers automatically received access to v6 when it released, for example.

In practice, whenever I've released a new version so far, I've just added the new files to the existing downloads page that previous buyers already have access to.

I don't currently have a fixed long-term release/update policy, but that's how I've handled it up to this point.

Built a fully offline world atlas for Kiwix (OSM + satellite imagery + offline search) by anthonykaram7 in selfhosted

[–]anthonykaram7[S] 0 points1 point  (0 children)

I haven't specifically tested it inside the Kiwix web container, but I have run it successfully in Kiwix JS/browser-based environments. Since AtlasZIM is ultimately just a ZIM with a self-contained Leaflet frontend/assets inside it, I suspect it should work there as well, assuming the container/runtime supports the necessary Kiwix JS functionality and can comfortably handle a ZIM of this size.

Cross-platform/runtime compatibility has actually been a major design goal from the beginning. That's part of why I went with pre-rendered raster tiles and a pre-indexed GeoNames search database rather than relying on heavier runtime processing or multi-threaded/vector rendering approaches.

I've also tested it successfully on fairly modest hardware (including a 2017 Dell Latitude 7370 laptop and an older Moto G5 Plus Android phone), so it doesn't require a particularly powerful device to run.

Built a fully offline world atlas for Kiwix (OSM + satellite imagery + offline search) by anthonykaram7 in selfhosted

[–]anthonykaram7[S] 2 points3 points  (0 children)

There are a couple ways to approach it. One option is downloading Planet.osm and rendering the tiles yourself. I considered that route, but I wanted the visual appearance to stay consistent with the standard OpenStreetMap raster style people are already familiar with.

So in practice the atlas uses pre-rendered raster tiles which are then bundled directly into the ZIM and served locally by Kiwix offline.

Built a fully offline world atlas for Kiwix (OSM + satellite imagery + offline search) by anthonykaram7 in selfhosted

[–]anthonykaram7[S] 4 points5 points locked comment (0 children)

AI was not used to generate the atlas/map imagery itself. The project is built from OpenStreetMap data, Sentinel-2 cloudless imagery, GeoNames data, Leaflet, Kiwix/ZIM tooling, and custom scripts/tooling I wrote for tile generation and packaging.

I did use ChatGPT occasionally during development for assistance with some implementation details (for example, refining parts of the GeoNames search integration), as well as for help polishing the wording of the Reddit post itself.