site: reviews — Isopolis, ssh.place (graduate from finds)
This commit is contained in:
@@ -6,9 +6,10 @@ shortlist: true
|
||||
link: "https://sf.isopolis.city/"
|
||||
linkText: "sf.isopolis.city"
|
||||
source: "Hacker News — Show HN"
|
||||
promotedTo: isopolis
|
||||
topics: [design-and-art, web-tools]
|
||||
tags: [pixel-art, san-francisco, maps, free]
|
||||
description: "An isometric pixel-art San Francisco built on the city's real geometry — pan it, take a guided tour, send a postcard."
|
||||
---
|
||||
|
||||
The geometry underneath is the real city — OpenStreetMap footprints, a CARTO basemap, neighbourhood boundaries from DataSF — and every tile of it has been repainted by a fine-tuned image model into isometric pixel art. Chinatown, the Financial District and Rincon Hill are labelled where they actually sit, the Bay Bridge runs off the corner, and there are guided tours, a button that drops you at a random landmark, and a postcard you can send.
|
||||
The geometry underneath is the real city — Google's photorealistic 3D mesh, rendered through a single orthographic camera and then repainted tile by tile into isometric pixel art by a fine-tuned image model. Chinatown, the Financial District and Rincon Hill are labelled where they actually sit, the Bay Bridge runs off the corner, and there are guided tours, a button that drops you at a random landmark, and a postcard you can send.
|
||||
|
||||
@@ -6,6 +6,7 @@ shortlist: true
|
||||
link: "https://ssh.place"
|
||||
linkText: "ssh.place"
|
||||
source: "Hacker News — Show HN"
|
||||
promotedTo: ssh-place
|
||||
topics: [cli-and-automation, design-and-art]
|
||||
tags: [terminal, collaborative, pixel-art, free]
|
||||
description: "A shared 200×60 canvas you draw on over SSH — no account, no install, one placement every fifteen seconds."
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 773 KiB |
@@ -0,0 +1,28 @@
|
||||
---
|
||||
name: "Isopolis"
|
||||
subtitle: "All 121 square kilometres of San Francisco, hand-checked quadrant by quadrant"
|
||||
date: 2026-08-03
|
||||
category: design
|
||||
topics: [design-and-art, web-tools]
|
||||
tags: [pixel-art, san-francisco, maps, free, generative]
|
||||
link: "https://sf.isopolis.city/"
|
||||
linkText: "sf.isopolis.city"
|
||||
description: "A continuous, zoomable isometric pixel-art map of San Francisco, repainted from Google's 3D mesh — published with the technical report on everything that went wrong."
|
||||
source: "Hacker News — Show HN"
|
||||
fromFind: "isopolis"
|
||||
---
|
||||
|
||||
import { Image } from 'astro:assets';
|
||||
import hero from './hero.webp';
|
||||
|
||||
<Image src={hero} alt="An isometric pixel-art view of San Francisco's Marina district: the domed rotunda of the Palace of Fine Arts beside its blue lagoon, dense rows of pale houses on a grid running down to the bay, and a dark mass of Presidio trees filling the lower half." />
|
||||
|
||||
> All ~121 km² of San Francisco, repainted tile by tile into isometric pixel art — roughly a 22-gigapixel image you can pan and zoom. The write-up behind it is as good as the map, because it is mostly a list of things that went wrong.
|
||||
|
||||
The credits at the bottom of the page are easy to misread. OpenStreetMap, CARTO and DataSF are all in there, but none of them is the city: the buildings come from Google's photorealistic 3D mesh, scraped and rendered through **one orthographic camera for the whole of San Francisco** — azimuth 22.5°, elevation 30°, chosen by eye to land on the SimCity angle — into 440 blocks of 1024² frames. A LoRA fine-tune of Qwen Image Edit then repaints every one. The published set is 2,630 quadrants: 1,606 generated, and 1,024 that are water.
|
||||
|
||||
**The Golden Gate defeated it.** The bridge was so far outside the model's distribution that it kept hallucinating extra structure, and the author eventually gave up, generated half the span with a different model entirely, unconnected to the rest of the city, and stitched it back in. Open water failed in the other direction — shadows and flat green fields kept resolving into lakes — so the fix was to stop generating water at all and stamp a single water tile through a hand-drawn mask. Every flat blue quadrant on the map is that same tile.
|
||||
|
||||
The viewer is hand-built for a specific reason: the projection is a fixed local dimetric frame, not Mercator, so an off-the-shelf map library would resample the art through a projection it was never drawn in. Underneath the pixels, CARTO's dark basemap is warped into that frame at 45% alpha, which is what lets you zoom out from pixel art to a recognisable Bay Area. Everything above is data rather than code — signposts, neighbourhood polygons and the guided tours are all GeoJSON, and the entire app state lives in the URL hash, so any view or tour stop is a link you can send someone.
|
||||
|
||||
Two things stated plainly, both by the author rather than about them: seams survive in places, with two of them pointed at directly, and scraping Google's 3D Tiles to build the base renders is against Google's terms of service. Free, static files, no account.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,28 @@
|
||||
---
|
||||
name: "ssh.place"
|
||||
subtitle: "A shared canvas with no app, no account, and one rule that everybody breaks"
|
||||
date: 2026-08-03
|
||||
category: terminal
|
||||
topics: [cli-and-automation, design-and-art]
|
||||
tags: [terminal, collaborative, pixel-art, free, open-source]
|
||||
link: "https://ssh.place"
|
||||
linkText: "ssh.place"
|
||||
description: "r/place rebuilt over SSH — a 200×60 shared canvas, fifteen seconds between pixels, and your SSH key fingerprint as the entire account system."
|
||||
source: "Hacker News — Show HN"
|
||||
fromFind: "ssh-place"
|
||||
---
|
||||
|
||||
import { Image } from 'astro:assets';
|
||||
import hero from './hero.png';
|
||||
|
||||
<Image src={hero} alt="The ssh.place canvas: a dense black field of coloured pixel blocks framed in purple and teal, with blocky hand-drawn lettering spelling out words, a Greek-key border along the bottom, and scattered small drawings between them." />
|
||||
|
||||
> `ssh ssh.place` and you are in — a 200×60 canvas shared by everyone connected right now, one block every fifteen seconds. The rule against writing text is the most interesting thing about it, because nobody obeys it.
|
||||
|
||||
There is no app to download and no account to make. Whatever SSH key you connect with, its fingerprint is who you are — that is the entire identity system, and it is also the rate limiter, because the fifteen-second cooldown is tied to the key rather than the session. Reconnecting does not reset it. Arrow keys, `wasd` or `hjkl` move the cursor, `0`–`9` pick from sixteen colours, `space` puts a block down. The canvas is 200 columns wide and your terminal is not, so the view pans as you go.
|
||||
|
||||
**The one rule is that you cannot write.** The server refuses any input containing a character; you can place solid colour and nothing else. "Draw something instead," the page says. What people do instead, of course, is draw letters — the canvas as it stands is dense with blocky hand-built lettering, arguments about whether some piece of software is unsafe, a Greek-key border somebody laid down one pixel at a time. The restriction did not stop text. It just made text expensive, which turns out to be a different and better thing: every word up there cost somebody fifteen seconds per block.
|
||||
|
||||
The stats page is worth the click on its own — live counts of who is connected, how much of the 12,000 cells is filled, and a palette breakdown by share. Teal leads at 17%. Lime, at the time of writing, has two cells in the entire canvas.
|
||||
|
||||
It is about 5,400 cells drawn out of 12,000, roughly 45% full, and the canvas survives server restarts even though the placement counter does not. Written in Go, MIT-licensed, and you can run your own. The author's README is the honest version and worth quoting: "I built this because the idea was funny, not because anyone needed it. It works, but expect rough edges."
|
||||
Reference in New Issue
Block a user