All blogs / Software / engineering practice
Joel Dare
Field notes on shipping fast, privacy-first, evergreen web products.
- Posts
- 141 from 1 Jun 2020 to 15 Sep 2026
- Posting
- weekly (31 in the last year)
- Kind
- personal blog
2026 25
- Ten Commandments
- Simplicity is the Most Important Software Design Consideration
- A Local Open-Weight Model Builds Its First Web App from a GitHub Issue
- How I Reduce Tokens in Skills
- Automating a Claude Skill
- Running Claude Code in a Clean Environment
- My AI Skill Conventions
- A Markdown Code Fence Is Just a CSS Class
- Building a Set of Rules for My Dark Software Factory
- My macOS Trash Isn’t Emptying
- My Dark Factory Software Stack
- Creating a Minimal Dark Factory
- Building a Static Site with Pandoc
- GitHub Builds are Unreliable
- When Bugs Feel Like Sabotage
- How to Make Hollow 3D Prints
- The Human Harness
- Built to Last Web App
- The Life of a Blog Post
- Buy and Set Up a Domain Name for Your Blog
- How to Get a List of Markdown Files Updated This Month
- Create a Blog on GitHub with Markdown in 15-Minutes
- Books I’ve Read
- I Charge for a Single-File Web App I Can’t Protect From Piracy
- How I Plan to Write Better Show HN Posts
2025 49
- How I Built a Rolling Collector to Grab X Threads for AI
- How to Create Git Aliases that Supercharge your Workflow
- Leveraging my Website for Everything I Do
- Why I’m Starting to Hate VS Code
- My Favorite Local AI Models
- A Tour of the Telegard BBS System
- I Replaced Google Analytics with a CSV File and an AI Agent
- I Wrote an ImageMagick Field Guilde
- Productivity from a Traditional Digital Watch
- My Build Takes Too Long
- ImageMagick with a URL
- Informing Engineering Decisions with Bite-Size Data
- Resizing Images for the Web with ImageMagick
- The 14kb Problem
- Ways to be a Stunning Creator
- Creating Software Engineering Flow Charts with Graphviz Dot
- Creating a Docker Container for the Lynx Browser
- Doing Things the Hard Way
- Custom Window Size and Position on Mac
- Always Exclude .DS_Store in Git
- My Blogging Manifesto
- Running Local Ollama Models with Codex CLI
- SSH Tunnels: My VPN Alternative for Privacy on the Go
- How I Turn a Web Page Into a Mobile App
- My Plan to Build an AI Chat Bot in My Bedroom
- Things I’ve Learned About Mailing Lists
- Font Choices From Around the Web
- How I Got My First 100 Email Subscribers
- Keep Email Simple
- Why I’m Writing Pure HTML & CSS in 2025
- Do Redirects Kill Google Traffic?
- Trying to Stop Procrastination with My Receipt Printer
- Where I Put Personal Binaries in MacOS
- Resizing Video for the Web
- A/B Testing Without the Overhead
- How to Lose Money with 25 Years of Failed Businesses
- Improve Spell Checking on macOS
- Reducing Animated GIF File Size with ImageMagick
- Combining Multiple Images into an Animated GIF with ImageMagick
- Screen Share with a Sleeping MacBook
- Hosting Markdown on GitHub with Neat CSS
- Setting a Cookie with JavaScript to the Day you Die
- Git without a Central Repository
- Deploying a GitHub Pages Site from www Using a gh-pages Branch
- Deploying the www Folder on GitHub Pages
- Interesting Tools
- Ledger Cheat Sheet
- Create a Custom Icon for Add to Home Screen on iOS
- Cron Problems Under MacOS
2024 25
- My Wishes and Dreams
- Which CPU does the TRS-80 Color Computer Use?
- Learn Assembly Language Programming
- Using Awk on CSV Files
- Setting up XRoar to Emulate a Color Computer 1
- Designing a Washer with OpenSCAD
- How to Track Your Engineering Work
- Creating an Email Mailing List
- Private Analytics and My Raspberry Pi 400
- Adding a Simple Like Button to My Website
- Creating a Minimal Docker Container
- Reverting to a Previous Git Commit
- AI Prompts I’ve Found Useful
- Programming a Hacker News Clone with AI
- Running Local LLMs
- My Command Line Todo List
- Swap Paste and Match Style on Mac
- Setting up a Domain
- Clone a GitHub Gist Locally
- 3D Printable Button for Sewing
- Cricut Joy Sharpie Extra Fine Adapter
- Sharpie Extra Fine
- Using Neat CSS on GitHub Pages
- OpenGPG Key Expire Time
- Export Your Kindle Library
2023 4
2022 13
- Creating a Go Package
- Why is My Interest Rate Rising?
- Systemd Log Output
- Caddy PHP Config
- Planting More Seedlings
- I’m a Scanner
- Bash Script Template
- Coding in Ukraine
- Copy a Directory Recursively Using SCP
- Rounding Image Corners with ImageMagick
- Stack Images with ImageMagick
- Gains I’m Seeing From My Second Brain Tool
- Why I’m Using HTTP Basic Auth in 2022
2021 6
2020 3
Undated 16
- Minimal Viable Programs
- Book Formatting
- Learn JavaScript by Making Art
- How I Setup Nginx as a Reverse Proxy
- Sending Email with Sendgrid
- Installing OpenSCAD on MacOS
- Status Updates on my Blog
- SQLite WAL Mode
- How to Create an HTTPS (TLS) Server in Go
- I Built my own Second Brain Software Tool
- Website Writing Process
- Using Awk to Prepend or Append Data to Each Line
- Using Awk or Sed on CSV or Text Files
- How to Make a Markdown Website
- Quick Calories
- Printing on Smaller Paper Sizes