Site map
Every page this site generates, with the markdown it comes from. Sources live in data/content/; the build writes finished HTML into app/. Rebuilt 2026-10-30 23:11 UTC.
Open this site in the uapp editor to edit sources and rebuild pages here.
| Page | Date | Source → output | Components | State | |
|---|---|---|---|---|---|
| Home | home.md → index.html | zero-JS | built | ||
| Portfolio Work history, projects and resumes for Joshua Bemenderfer, software engineer and Linux sysadmin. | Oct 30, 2026 | posts/portfolio/index.md → portfolio/index.html | zero-JS | built | |
| The future might just be software freedom (and less e-waste) Cheap software makes e-waste useful again, and owning your own devices practical. | Oct 23, 2026 | posts/the-future-might-just-be-software-freedom/index.md → the-future-might-just-be-software-freedom/index.html | zero-JS | built | |
| I can't figure out how to write My best thinking happens while I'm driving, and dictation doesn't help me get it written down. | Aug 31, 2026 | posts/i-can-t-figure-out-how-to-write/index.md → i-can-t-figure-out-how-to-write/index.html | zero-JS | built | |
| Why my site looks like Maverick Meerkat Why my site looks like Ubuntu 10.10. | Aug 31, 2026 | posts/why-does-this-desktop-look-like-maverick-meerkat/index.md → why-does-this-desktop-look-like-maverick-meerkat/index.html | zero-JS | built | |
| How this site was built draft Every write to this archive is logged — reconstructing the five-hour session that built the site, straight from its own 177 log rows. | Aug 27, 2026 | posts/how-this-site-was-built/index.md → how-this-site-was-built/index.html | ClientOnly BuildLog | built | |
| How do bikes work? draft A post that keeps its interactive parts next to its words — the components live in this folder. | Aug 25, 2026 | posts/how-do-bikes-work/index.md → how-do-bikes-work/index.html | ClientOnly Drivetrain BikeScene | built | |
| How this site works? draft A single SQLite file holds the content, the builder, and an AI assistant that edits both — and the output is a plain static site anyone can crawl. | Aug 25, 2026 | posts/how-this-site-works/index.md → how-this-site-works/index.html | ClientOnly ArchiveStats ChangeFeed LiveSiteMap QueryConsole WhoAmI WriteDemo | built | |
| Not found | (generated) → 404.html | zero-JS | built | ||
| Site map / admin (this page) | (generated) → admin.html | zero-JS | built |
Other content files
Components and assets under data/content/. Markdown files are pages (delete via their row above); style.css is site-wide. Deleting rebuilds the pages that use the file and removes its build-time copy under app/content/.
| File | Kind | Size | Used by | |
|---|---|---|---|---|
components/ClientOnly.vue | component | 1.2 KB | How do bikes work?, How this site works?, How this site was built | |
components/Counter.vue | component | 799 B | — | |
components/Uptime.vue | component | 480 B | — | |
posts/how-do-bikes-work/BikeScene.vue | component | 6.7 KB | How do bikes work? | |
posts/how-do-bikes-work/Drivetrain.vue | component | 3.1 KB | How do bikes work? | |
posts/how-this-site-was-built/BuildLog.vue | component | 15.3 KB | How this site was built | |
posts/how-this-site-works/ArchiveStats.vue | component | 1.4 KB | How this site works? | |
posts/how-this-site-works/ChangeFeed.vue | component | 963 B | How this site works? | |
posts/how-this-site-works/LiveSiteMap.vue | component | 1.6 KB | How this site works? | |
posts/how-this-site-works/QueryConsole.vue | component | 2.6 KB | How this site works? | |
posts/how-this-site-works/WhoAmI.vue | component | 947 B | How this site works? | |
posts/how-this-site-works/WriteDemo.vue | component | 2.7 KB | How this site works? | |
posts/portfolio/alligator-io.jpg | asset | 90.0 KB | — | |
posts/portfolio/cannons-and-coastlines.jpg | asset | 115.1 KB | — | |
posts/portfolio/corpcapture.jpg | asset | 146.0 KB | — | |
posts/portfolio/cubbycad.jpg | asset | 148.1 KB | — | |
posts/portfolio/cubbyslicer.jpg | asset | 185.0 KB | — | |
posts/portfolio/guido.jpg | asset | 60.9 KB | — | |
posts/portfolio/incredibots.jpg | asset | 84.9 KB | — | |
posts/portfolio/joshua-bemenderfer-ai-engineer.pdf | asset | 90.8 KB | — | |
posts/portfolio/joshua-bemenderfer-senior-engineer.pdf | asset | 89.1 KB | — | |
posts/portfolio/keenet.jpg | asset | 45.2 KB | — | |
posts/portfolio/litebase.jpg | asset | 46.0 KB | — | |
posts/portfolio/magic-mirror.jpg | asset | 67.8 KB | — | |
posts/portfolio/midi2piano.jpg | asset | 66.0 KB | — | |
posts/portfolio/prerender-spa-plugin.jpg | asset | 112.6 KB | — | |
posts/portfolio/prerenderer.jpg | asset | 104.3 KB | — | |
posts/portfolio/quark.jpg | asset | 105.5 KB | — | |
posts/portfolio/solvefront.jpg | asset | 153.1 KB | — | |
posts/portfolio/sqlite-rls.jpg | asset | 71.6 KB | — | |
posts/portfolio/thederf-desktop.jpg | asset | 98.9 KB | — | |
posts/portfolio/thermal-printer.jpg | asset | 84.8 KB | — | |
posts/portfolio/tidefront.jpg | asset | 88.3 KB | — | |
posts/portfolio/uapp.jpg | asset | 139.5 KB | — | |
posts/portfolio/void-spaces.jpg | asset | 20.3 KB | — | |
posts/the-future-might-just-be-software-freedom/casting-app.jpg | asset | 48.4 KB | — | |
posts/the-future-might-just-be-software-freedom/casting-phone.jpg | asset | 81.8 KB | — | |
posts/the-future-might-just-be-software-freedom/ewaste-shelf.jpg | asset | 120.0 KB | — | |
posts/the-future-might-just-be-software-freedom/gas-pump-testing.jpg | asset | 214.7 KB | — | |
posts/the-future-might-just-be-software-freedom/gas-sign.jpg | asset | 283.2 KB | — | |
posts/the-future-might-just-be-software-freedom/hackberry-hosts.jpg | asset | 206.8 KB | — | |
posts/the-future-might-just-be-software-freedom/hackberry-tools.jpg | asset | 215.7 KB | — | |
posts/the-future-might-just-be-software-freedom/magic-mirror.jpg | asset | 67.8 KB | — | |
posts/the-future-might-just-be-software-freedom/thermal-printer.jpg | asset | 84.8 KB | — |
(generated) → 404.html(generated) → admin.html