41554 blogs · [ { "id": "01a0954a-288b-737f-a2a8-72cf8d4ca982", "title": "The Golden Cage: Why I stopped trusting Apple’s software and started tinkering with Linux", "url": "https://www.stefanimhoff.de/writing/golden-cage/", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a0ef07890", "title": "Dolomitgrau: The Car That Cost Me a Million Euros", "url": "https://www.stefanimhoff.de/writing/dolomitgrau/", "published_at": "2026-08-19T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a0fbc934c", "title": "The Uniparty of the Maximal State: A Libertarian View of German Party Platforms", "url": "https://www.stefanimhoff.de/writing/uniparty-maximal-state/", "published_at": "2026-06-01T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a106b9987", "title": "A Design Engineer’s Guide to Agentic Coding: Six weeks rebuilding my website with Claude, Codex, and a team of subagents.", "url": "https://www.stefanimhoff.de/writing/guide-to-agentic-coding/", "published_at": "2026-05-19T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a10b11e2b", "title": "From Bookmark to Brain: A streamlined pipeline that turns saved links into lasting knowledge", "url": "https://www.stefanimhoff.de/writing/bookmark-to-brain/", "published_at": "2026-04-27T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a110d9271", "title": "Agentic Note-Taking: Transforming My Obsidian Vault with Claude Code", "url": "https://www.stefanimhoff.de/writing/agentic-note-taking-obsidian-claude-code/", "published_at": "2026-03-07T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a118cf43b", "title": "15 Years at XING: Reflections and a Farewell", "url": "https://www.stefanimhoff.de/writing/15-years-xing/", "published_at": "2025-12-15T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a11a95e67", "title": "OK, Boomer: A Post-War Psychoanalysis", "url": "https://www.stefanimhoff.de/writing/ok-boomer/", "published_at": "2025-11-28T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1225dc6b", "title": "From Typewriter to Split Keyboard: How I Fell in Love with Typing", "url": "https://www.stefanimhoff.de/writing/from-typewriter-to-split-keyboard/", "published_at": "2025-08-04T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a12ef3a88", "title": "The Modern Atlas Shrugged 3: The Strike", "url": "https://www.stefanimhoff.de/writing/modern-atlas-shrugged-3-strike/", "published_at": "2025-06-02T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1339c5ec", "title": "The Modern Atlas Shrugged 2: The Looters in Action", "url": "https://www.stefanimhoff.de/writing/modern-atlas-shrugged-2-looters-in-action/", "published_at": "2025-05-26T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a139b242c", "title": "The Modern Atlas Shrugged 1: The Signs of Decline", "url": "https://www.stefanimhoff.de/writing/modern-atlas-shrugged-1-signs-of-decline/", "published_at": "2025-05-19T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1445b937", "title": "Fuck you, Sonos: Journey of Disappointment and Search for New Audio Solutions", "url": "https://www.stefanimhoff.de/writing/fuck-you-sonos/", "published_at": "2025-04-30T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a14583d5f", "title": "My 2025 Note-Taking System: Obsidian, Readwise, and AI", "url": "https://www.stefanimhoff.de/writing/note-taking-obsidian-readwise-ai/", "published_at": "2025-02-16T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a151ddf50", "title": "Beyond the Bookshelf 2: My Reading Journey of 2024", "url": "https://www.stefanimhoff.de/writing/beyond-the-bookshelf-2-books-2024/", "published_at": "2024-12-27T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a15c454d8", "title": "Beyond the Bookshelf 1: Rediscovering the Magic of Reading in a Digital Age", "url": "https://www.stefanimhoff.de/writing/beyond-the-bookshelf-1/", "published_at": "2024-12-20T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a169d9c5f", "title": "Raycast: The Must-Have Productivity App for macOS", "url": "https://www.stefanimhoff.de/writing/raycast/", "published_at": "2024-01-19T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1787dc1f", "title": "Discovering Thomas Sowell: The Voice That Challenges Conventional Thinking", "url": "https://www.stefanimhoff.de/writing/thomas-sowell/", "published_at": "2023-10-29T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a187ab0fe", "title": "Website Relaunch 2023: How I built my personal website using Astro, Tailwind CSS, and Preact", "url": "https://www.stefanimhoff.de/writing/website-relaunch-2023/", "published_at": "2023-06-16T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1974c36c", "title": "Shokunin: The Spirit of an Artisan", "url": "https://www.stefanimhoff.de/writing/shokunin/", "published_at": "2023-03-08T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1a6faf44", "title": "The Advent of AI 4: Getting Started with Text-to-Image Generation", "url": "https://www.stefanimhoff.de/writing/artificial-intelligence-4-getting-started/", "published_at": "2022-12-24T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1ad662a7", "title": "The Advent of AI 3: Text-to-Image Generation", "url": "https://www.stefanimhoff.de/writing/artificial-intelligence-3-text-to-image-generation/", "published_at": "2022-12-21T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1b4f1b1b", "title": "The Advent of AI 2: Text Generation", "url": "https://www.stefanimhoff.de/writing/artificial-intelligence-2-text-generation/", "published_at": "2022-12-17T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1c208085", "title": "The Advent of AI 1: Introduction", "url": "https://www.stefanimhoff.de/writing/artificial-intelligence-1-introduction/", "published_at": "2022-12-14T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1cdbba15", "title": "The Return of the News Feed: The case for RSS in the age of algorithmic feeds", "url": "https://www.stefanimhoff.de/writing/rss-news-feed/", "published_at": "2022-11-05T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1cf68152", "title": "Tools for Better Writing: The essential toolkit I rely on for clearer, cleaner, more effective writing", "url": "https://www.stefanimhoff.de/writing/tools-for-better-writing/", "published_at": "2022-09-09T00:00:00+00:00" }, { "id": "01a087e5-8eeb-71c6-8782-505a1de971c5", "title": "Civil War for Truth 7: Conclusion", "url": "https://www.stefanimhoff.de/writing/civil-war-truth-7-conclusion/", "published_at": "2022-07-18T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327547a2dc", "title": "Civil War for Truth 6: Science", "url": "https://www.stefanimhoff.de/writing/civil-war-truth-6-science/", "published_at": "2022-07-11T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232755cc058", "title": "Civil War for Truth 5: Academia", "url": "https://www.stefanimhoff.de/writing/civil-war-truth-5-academia/", "published_at": "2022-07-04T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223275c5e7af", "title": "Civil War for Truth 4: Media and Journalism", "url": "https://www.stefanimhoff.de/writing/civil-war-truth-4-media-journalism/", "published_at": "2022-06-27T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223275f04856", "title": "Civil War for Truth 3: Political Division", "url": "https://www.stefanimhoff.de/writing/civil-war-truth-3-political-division/", "published_at": "2022-06-20T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223276666b15", "title": "Civil War for Truth 2: Corporatism and Technocracy", "url": "https://www.stefanimhoff.de/writing/civil-war-truth-2-corporatism-technocracy/", "published_at": "2022-06-13T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223276e1acfa", "title": "Civil War for Truth 1: Introduction", "url": "https://www.stefanimhoff.de/writing/civil-war-truth-1-introduction/", "published_at": "2022-06-06T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327714e304", "title": "Manage References for Note-Taking: A sane system for finding and citing what you read", "url": "https://www.stefanimhoff.de/writing/manage-references-for-note-taking/", "published_at": "2022-04-22T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327728febe", "title": "iA Writer Template 2: Shibui", "url": "https://www.stefanimhoff.de/writing/template-ia-writer-shibui/", "published_at": "2022-03-18T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232775b633c", "title": "iA Writer Template 1: Nanzan", "url": "https://www.stefanimhoff.de/writing/template-ia-writer-nanzan/", "published_at": "2022-03-17T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223277e3b4b9", "title": "I Counted Everything I Own: Minimalism, measured", "url": "https://www.stefanimhoff.de/writing/i-counted-everything-i-own/", "published_at": "2022-01-25T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223277ed00d1", "title": "Dreaming of the Old Normal: A portrait of normalcy, drawn from memory", "url": "https://www.stefanimhoff.de/writing/dreaming-of-the-old-normal/", "published_at": "2022-01-06T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327854ec09", "title": "Setting Up a Web Developer Work Environment: Neovim", "url": "https://www.stefanimhoff.de/writing/web-developer-work-environment-2/", "published_at": "2021-12-23T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327945206c", "title": "Setting Up a Web Developer Work Environment: Terminal, Zsh, and TMUX", "url": "https://www.stefanimhoff.de/writing/web-developer-work-environment-1/", "published_at": "2021-12-20T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223279f4be62", "title": "If— Guidance for a Virtuous, Stoic Life: A Modern Interpretation of Rudyard Kipling’s Great Poem", "url": "https://www.stefanimhoff.de/writing/interpretation-if/", "published_at": "2021-12-13T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327abeff21", "title": "How to Prepare for the Worst Case: Plan now, panic less later", "url": "https://www.stefanimhoff.de/writing/how-to-prepare-for-the-worst-case/", "published_at": "2021-11-19T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327b37773c", "title": "The Decentralized Web 3: Develop and Publish a Website", "url": "https://www.stefanimhoff.de/writing/the-decentralized-web-3-develop-and-publish-a-website/", "published_at": "2021-11-08T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327bbe9006", "title": "The Decentralized Web 2: The Wild West Web", "url": "https://www.stefanimhoff.de/writing/the-decentralized-web-2-the-wild-west-web/", "published_at": "2021-11-01T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327c68526e", "title": "Haiku undefined", "url": "https://www.stefanimhoff.de/haiku/#haiku-undefined/", "published_at": "2021-11-01T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327d4a4a47", "title": "The Decentralized Web 1: Why Do We Need It?", "url": "https://www.stefanimhoff.de/writing/the-decentralized-web-1-why-do-we-need-it/", "published_at": "2021-10-25T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327dfc6442", "title": "Using Readwise with Obsidian for Note-Talking: Make your highlights work for you", "url": "https://www.stefanimhoff.de/writing/using-readwise-with-obsidian-for-note-talking/", "published_at": "2021-09-14T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327e30bbc8", "title": "The Old Man on the Bench: A quiet friendship found on a forest path", "url": "https://www.stefanimhoff.de/writing/the-old-man-on-the-bench/", "published_at": "2021-08-31T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327ed4a83c", "title": "Learning Poems: Verse you can carry anywhere", "url": "https://www.stefanimhoff.de/writing/learning-poems/", "published_at": "2021-08-23T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327ef28ea3", "title": "DEVONthink and Obsidian: The Perfect Pair of Tools for Note-Taking", "url": "https://www.stefanimhoff.de/writing/devonthink-obsidian-for-note-taking/", "published_at": "2021-07-23T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22327fcfa4d8", "title": "The Gods of the Copybook Headings: A Warning Against Loss of Virtue, Morality, and Reason", "url": "https://www.stefanimhoff.de/writing/interpretation-the-gods-of-the-copybook-headings/", "published_at": "2021-06-12T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232802c7370", "title": "How I Process Information Into Notes: Turn what you read into what you remember", "url": "https://www.stefanimhoff.de/writing/processing-information-into-notes/", "published_at": "2021-05-13T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232805a545f", "title": "New Website 2021: Faster site, simpler stack, happier writer", "url": "https://www.stefanimhoff.de/writing/new-website-2021/", "published_at": "2021-04-24T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223280dbb29c", "title": "Best of 2020: The year’s most compelling rabbit holes", "url": "https://www.stefanimhoff.de/writing/best-of-2020/", "published_at": "2020-12-22T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328100e9aa", "title": "Tools I Use For Note-Taking: Notes built for connection, not clutter", "url": "https://www.stefanimhoff.de/writing/tools-i-use-for-note-taking/", "published_at": "2020-09-03T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223281150012", "title": "New Website 2020 – Development: How I engineered the stack, testing, theming, MDX, and deployment", "url": "https://www.stefanimhoff.de/writing/new-website-2020-development/", "published_at": "2020-07-28T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223281df10c3", "title": "New Website 2020 – Design: Designing a personal site with constraints I actually wanted", "url": "https://www.stefanimhoff.de/writing/new-website-2020-design/", "published_at": "2020-07-21T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223281f6032a", "title": "New Website 2020 – Inspiration: How Japanese aesthetics shaped my site", "url": "https://www.stefanimhoff.de/writing/new-website-2020-inspiration/", "published_at": "2020-07-14T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328287dcf5", "title": "New Website 2020: After 250 hours, a complete rebuild—design, code, and content", "url": "https://www.stefanimhoff.de/writing/new-website-2020/", "published_at": "2020-07-07T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232836af0a0", "title": "Zettelkasten Note-Taking Method With DEVONthink: Build a Zettelkasten that lasts", "url": "https://www.stefanimhoff.de/writing/zettelkasten-note-taking-devonthink/", "published_at": "2020-05-18T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223283ddf734", "title": "Apps, Tools & Services: My everyday apps, all in one place", "url": "https://www.stefanimhoff.de/writing/apps-tools-services/", "published_at": "2020-04-18T08:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328484babe", "title": "101 Things You Can Do While Being on Lockdown: Learn, create, move, and explore—without leaving your living room", "url": "https://www.stefanimhoff.de/writing/101-things-you-can-do/", "published_at": "2020-03-28T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232857aa1b0", "title": "Everyday Carry: What’s in my pockets (and why)", "url": "https://www.stefanimhoff.de/writing/everyday-carry/", "published_at": "2020-03-14T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223286470c5b", "title": "How to Store Information: Keep what counts, where you’ll find it", "url": "https://www.stefanimhoff.de/writing/storing-information/", "published_at": "2018-10-03T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232871452b3", "title": "Morning Routine: Win the morning, win the day", "url": "https://www.stefanimhoff.de/writing/morning-routine/", "published_at": "2018-09-08T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232878e8fb7", "title": "Self-Defense in the Age of Attention: A simple playbook to protect your time, attention, and mental bandwidth", "url": "https://www.stefanimhoff.de/writing/attention/", "published_at": "2017-11-03T07:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232882cbe17", "title": "I Wrote a Book in GitBook: 18 years of notes, now a book", "url": "https://www.stefanimhoff.de/writing/gitbook/", "published_at": "2017-06-27T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232892b4eef", "title": "Minimalism: Less, but better—and on purpose", "url": "https://www.stefanimhoff.de/writing/minimalism/", "published_at": "2017-06-07T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328a02a049", "title": "Underwear: A warm, beautifully crafted series about craft, character, and quiet excellence", "url": "https://www.stefanimhoff.de/writing/japanese-netflix-tv-show-underwear/", "published_at": "2016-02-12T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328a75ceeb", "title": "Human: The world, looking back at itself", "url": "https://www.stefanimhoff.de/writing/human-documentary/", "published_at": "2015-09-29T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328b4214c5", "title": "Motivational Video: Every quote, finally sourced", "url": "https://www.stefanimhoff.de/writing/motivational-video/", "published_at": "2015-08-14T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328c0b3c92", "title": "Calisthenics: Strong with nothing but gravity", "url": "https://www.stefanimhoff.de/writing/calisthenics/", "published_at": "2015-05-19T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328c3ee6e9", "title": "Introduction to Gulp.js 16: PostCSS", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-16-postcss/", "published_at": "2014-12-30T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328c96cef9", "title": "Introduction to Gulp.js 15: Performance Improvements with WebP and Gzip", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-15-performance-improvements-webp-gzip/", "published_at": "2014-12-21T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328d6b744f", "title": "Introduction to Gulp.js 14: Deploying the Website with Rsync", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-14-deploying-the-website/", "published_at": "2014-10-31T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328d7421a1", "title": "Introduction to Gulp.js 13: Revisioning", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-13-revisioning/", "published_at": "2014-10-30T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328daa4438", "title": "Introduction to Gulp.js 12: Optimize CSS, JavaScript, Images, and HTML", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-12-optimize-css-javascript-images-and-html/", "published_at": "2014-10-29T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328de864db", "title": "Introduction to Gulp.js 11: Production Build, Server, and Jekyll", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-11-production-build-server-and-jekyll/", "published_at": "2014-10-28T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328ee82a4d", "title": "Introduction to Gulp.js 10: Generating CSS Image Sprites", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-10-generating-sprites/", "published_at": "2014-10-27T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328f20eaa5", "title": "Introduction to Gulp.js 9: Syntax-Check of SCSS and JavaScript", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-9-linting-scss-and-javascript/", "published_at": "2014-10-26T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22328ffe848d", "title": "Introduction to Gulp.js 8: Watch for Changes", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-8-watch/", "published_at": "2014-10-25T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223290c59539", "title": "Introduction to Gulp.js 7: Base64 Encoded Images", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-7-base64/", "published_at": "2014-10-24T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22329165937c", "title": "Introduction to Gulp.js 6: Images and Vector Fonts", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-6-images-vector-fonts/", "published_at": "2014-10-23T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223291cfaf99", "title": "Introduction to Gulp.js 5: Bundling JavaScript with Browserify", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-5-javascripts-browserify/", "published_at": "2014-10-22T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223291f51e1a", "title": "Introduction to Gulp.js 4: Creating CSS and Source Maps with Sass and Compass", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-4-css-generation-sass/", "published_at": "2014-10-21T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22329218ca79", "title": "Introduction to Gulp.js 3: Build, Clean and Jekyll", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-3-build-clean-jekyll/", "published_at": "2014-10-20T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232927b3223", "title": "Introduction to Gulp.js 2: Setting up a Development Server with BrowserSync", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-2-development-server-browsersync-configuration/", "published_at": "2014-10-19T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22329362a760", "title": "Introduction to Gulp.js 1: Setting up Gulp.js and Jekyll", "url": "https://www.stefanimhoff.de/writing/gulp-tutorial-1-intro-setup/", "published_at": "2014-10-18T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232936756c8", "title": "John Seymour’s Books on Self-Sufficiency: Self-sufficiency, beautifully explained", "url": "https://www.stefanimhoff.de/writing/john-seymour-books/", "published_at": "2014-08-03T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223293bdca61", "title": "Typography of My Website: Type first, everything else follows", "url": "https://www.stefanimhoff.de/writing/website-typography/", "published_at": "2014-06-19T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232945b614c", "title": "Design of My New Logo: From sketches to seal", "url": "https://www.stefanimhoff.de/writing/logo-design/", "published_at": "2014-04-18T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232947ed8bf", "title": "Decodeunicode: All the world’s characters, one remarkable book", "url": "https://www.stefanimhoff.de/writing/decodeunicode/", "published_at": "2011-06-02T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223294a3b569", "title": "Vim: Make text bend to your will", "url": "https://www.stefanimhoff.de/writing/vim/", "published_at": "2010-10-29T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-2232957af741", "title": "Django Article: Apparently they still print things and I’m in one of them", "url": "https://www.stefanimhoff.de/writing/webstandards-magazine-django/", "published_at": "2010-09-21T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223295a9dd0a", "title": "Rework: A sharp, illustrated manifesto for working smarter, not bigger", "url": "https://www.stefanimhoff.de/writing/rework/", "published_at": "2010-04-27T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223295f3d540", "title": "HOME: A love letter to the planet", "url": "https://www.stefanimhoff.de/writing/home-documentary/", "published_at": "2009-06-15T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223296524b68", "title": "GitWeb Theme: Because the default GitWeb theme hurt my eyes", "url": "https://www.stefanimhoff.de/writing/gitweb-theme/", "published_at": "2009-02-19T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223297154497", "title": "Git: Your Git learning playlist", "url": "https://www.stefanimhoff.de/writing/git/", "published_at": "2009-02-10T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-22329773faef", "title": "Colors of Japan: Historic hues from kimono to samurai armor, packaged for modern design", "url": "https://www.stefanimhoff.de/writing/japanese-colors/", "published_at": "2007-12-08T00:00:00+00:00" }, { "id": "01a087e5-8eec-73c2-a2ed-223297c9636a", "title": "GTD: Getting Things Done", "url": "https://www.stefanimhoff.de/writing/gtd/", "published_at": "2007-11-24T00:00:00+00:00" } ] posts Claim your blog
Back to Stefan Imhoff · Design Engineer from Hamburg, Germany
Blog · corpus.blog/blogs/stefanimhoff.de/posts

Stefan Imhoff · Design Engineer from Hamburg, Germany

stefanimhoff.de

2026

2025

2024

2023

2022

2021

2020

2018

2017

2016

2015

2014

2011

2010

2009

2007