41554 blogs ยท [
{
"id": "01a08736-3e11-71d9-9deb-c28b1631688c",
"title": "Narrating your blog with Kokoro, a local and opensource text-to-speech model",
"url": "https://bart.degoe.de/narrating-your-blog-with-kokoro-a-local-opensource-model/",
"published_at": "2026-07-12T10:00:00+00:00"
},
{
"id": "01a08736-3e11-71d9-9deb-c28b1726ed55",
"title": "Client-side semantic search for your static site",
"url": "https://bart.degoe.de/semantic-search-in-your-browser/",
"published_at": "2026-07-10T17:00:00+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-019975e9cd90",
"title": "Running a coding agent locally for when the budget runs out",
"url": "https://bart.degoe.de/running-a-coding-agent-locally/",
"published_at": "2026-06-29T19:00:00+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-019976b14504",
"title": "Your OpenClaw can book flights. But can it survive a dungeon crawl?",
"url": "https://bart.degoe.de/ai-agent-dungeon-crawl/",
"published_at": "2026-02-19T19:00:00+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-019976bacc44",
"title": "Building a semantic search engine in ยฑ250 lines of Python",
"url": "https://bart.degoe.de/building-a-semantic-search-engine-in-250-lines-of-python/",
"published_at": "2026-02-10T01:00:00+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-0199772ef4ca",
"title": "Modernizing my 150-line Python search engine: Yahoo! dumps -> Hugging Face ๐ค",
"url": "https://bart.degoe.de/modernizing-python-search-engine/",
"published_at": "2026-02-09T19:00:00+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-0199773b3902",
"title": "Migrating my hopelessly outdated Hugo blog with Claude Code",
"url": "https://bart.degoe.de/migrating-hugo-blog-with-claude-code/",
"published_at": "2025-10-26T09:00:00+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-0199780a4155",
"title": "Building a full-text search engine in 150 lines of Python code",
"url": "https://bart.degoe.de/building-a-full-text-search-engine-150-lines-of-code/",
"published_at": "2021-03-25T03:00:12+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-019978d38ea3",
"title": "Use Google Cloud Text-to-Speech to create an audio version of your blog posts",
"url": "https://bart.degoe.de/use-google-cloud-text-to-speech-to-create-an-audio-version-of-your-blog-posts/",
"published_at": "2019-10-29T15:00:00+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-01997906b170",
"title": "Use Hugo Output Formats to generate Lunr index files for your static site search",
"url": "https://bart.degoe.de/use-hugo-output-formats-to-generate-lunr-index-files/",
"published_at": "2019-07-12T22:27:40+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-0199793881e6",
"title": "Custom OpenSearch: search from your URL bar",
"url": "https://bart.degoe.de/tab-plus-search-from-your-url-bar-with-opensearch/",
"published_at": "2018-11-21T19:00:00+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-019979541566",
"title": "Free SSL on Github Pages with a custom domain: Part 2 - Let's Encrypt",
"url": "https://bart.degoe.de/github-pages-and-lets-encrypt/",
"published_at": "2018-05-02T20:34:06+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-019979f2945f",
"title": "Free SSL with a custom domain on GitHub Pages",
"url": "https://bart.degoe.de/free-ssl-on-github-pages-with-a-custom-domain/",
"published_at": "2018-03-28T21:55:40+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-01997a5055f5",
"title": "Bloom filters, using bit arrays for recommendations, caches and Bitcoin",
"url": "https://bart.degoe.de/bloom-filters-bit-arrays-recommendations-caches-bitcoin/",
"published_at": "2018-03-23T14:00:00+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-01997afbb647",
"title": "Searching your Hugo site with Lunr",
"url": "https://bart.degoe.de/searching-your-hugo-site-with-lunr/",
"published_at": "2018-03-04T22:38:44+00:00"
},
{
"id": "01a08736-3e12-702b-a87b-01997be36b03",
"title": "About",
"url": "https://bart.degoe.de/about/",
"published_at": "2018-02-21T21:40:33+00:00"
}
] posts Claim your blog