2020–2022
454 posts
2022 85
December 2022
- The comfort of rewatching 90s sitcoms
- A quote from the Beaker Browser wind-down notice
- A cappuccino emoji?
- Writing code with GitHub Copilot for personal projects and expressing ideas
- Announcing highlight.js, an extension to highlight text on web pages
- Documentation in chat: A case study from the IndieWeb
- Create a sparkline showing your MediaWiki contributions
- Seasonal emojis for your personal website
- Decentralized Website Communication with Webmention (Talk Announcement)
- The IndieWeb (according to ChatGPT)
November 2022
October 2022
- Send a Webmention in 10 (or fewer) lines of Python code
- Adding hovercards to my website
- Announcing IndieWeb Utils v0.4.0 (with reflections on the library)
- autotag_draft.py
- tagging.py
- Adding fragmention links to my website
- Announcing IndieWeb Utils v0.3.1
- Announcing getsitemap, a Python library for sitemap URL retrieval
- Joining my first W3C Sustainability CG meeting
September 2022
- Photo: Robin
- Adding review support to Breakfast and Coffee
- Hosting a fun DNS server with Go and a DNS library
- TIL: Fixing the author card on my home page h-feed
- Berlin 2022 - More Photos
- Beyond Tellerrand 2022
- I wrote an article for Sprudge
- Building an ‘on this day’ feature for my website
August 2022
- Is Firefox a search engine?
- Subscribe to IANA Root KSK signing and Google algorithm update events
- Building an IRC archiver bot for the IndieWeb community
- TIL: Terminal shortcuts
- TIL: Don’t actually display the man pages
- TIL: Using sed to replace text in a file
- A few things I just learned about Lisp
- Separating I/O and logic
- A one-liner to get root paths in my sitemap
June 2022
- Creating maps to share the coffee shops I have visited
- Join Homebrew Website Club Today
- Creative Voices
- The Melodica
- Some thoughts on walled gardens
May 2022
- Poll: How much coffee you drink in a day? [Results]
- Linking to GitHub repositories from my own site
- York Coffee Recommendations
- Growing houseplants
- Owning my links
- Starting sentences with conjunctions isn’t bad practice?
- You don’t need to be an expert to write
- Learning PHP: The Beginning
- Sparklines in Google Sheets
- Poll: How much coffee you drink in a day?
- Distributed polls on your personal website
- Plurality and the IndieWeb
- Using Known for posting notes, likes, and bookmarks
April 2022
March 2022
- Computer-generated art
- First day of spring
- The Fellow Ode grinder: a few weeks later
- A photo from last weekend
- How can I improve the typography on my site?
February 2022
- IndieWeb Utils v0.2.0 is Out
- Breakfast and Coffee: A wiki for sharing food and drink recommendations
- What could a browser be?
January 2022
- Integrated IndieWeb Services
- Some things on my mind
- How my social reader search features work
- Improving my social reader experience on mobile
- Annotating my website page structure
- Using my social reader as a progressive web application
- How I post notes on my website
- Social readers, a new way of thinking about social web interactions
- Programming, cooking, and making what you want to use
- IndieWeb Search results are also feeds
- Movies I have watched recently
- Parse IndieWeb Search in 15 lines of Python code
- Scaling IndieWeb Search
- Brainstorming Email to RSS: Part 2
- What communities are you in?
- Microsub to Blogroll Idea
- Brainstorming Email to RSS
- Keep It Simple, Silly
- Overcomplicating post types (and committing to more simple ones)
- Happy New Year
- Music by The Beatles
2021 267
December 2021
- Advent of Bloggers 2021: The Final Edition
- Drinking tea in the afternoon
- Advent of Bloggers 2021: Day 23
- Advent of Bloggers 2021: Day 22
- Advent of Bloggers 2021: Day 21
- Advent of Bloggers 2021: Day 20
- Announcing indieweb-utils
- Advent of Bloggers 2021: Day 19
- Advent of Bloggers 2021: Day 18
- Advent of Bloggers 2021: Day 17
- IndieWeb New Years’ Eve Commitment: Expanding my person tags
- Advent of Bloggers 2021: Day 16
- Advent of Bloggers 2021: Day 15
- Advent of Bloggers 2021: Day 14
- Advent of Bloggers 2021: Day 13
- Advent of Bloggers 2021: Day 12
- Advent of Bloggers 2021: Day 11
- Advent of Bloggers 2021: Day 10
- Advent of Bloggers 2021: Day 9
- Advent of Bloggers 2021: Day 8
- Advent of Bloggers 2021: Day 7
- Advent of Bloggers 2021: Day 6
- My Edinburgh Field Report is in Barista Magazine
- Advent of Bloggers 2021: Day 5
- Advent of Bloggers 2021: Day 4
- Advent of Bloggers 2021: Day 3
- Advent of Bloggers 2021: Day 2
- Advent of Bloggers 2021
November 2021
- Moving over to my own static site generator
- Discovering new music (with recommendations)
- Playing Scrabble
- A quick thank you to my readers
- Building a Feed Reader to Follow Blogs and Websites: Part I
- Introducing the HyperText Coffee Pot
- Adding dark mode to my static Jekyll site
- I love my website
- Getting back into Vinyl
- Exploring retro web design
- Freezing coffee beans
October 2021
- Why I publish microformats on my website
- Adding Reacji support to my Micropub editor
- Coffee Filtration: A Guide
- Adding reply context to my social pages
- Building my own IndieAuth Endpoint
September 2021
- Coffee Chat with Conor from HBW Coffee
- How to make a plant monitor dashboard: Part III
- Weeknotes #1: The Beginning
- Building my own webmention receiver
- How to make a plant monitor dashboard: Part II
- Some things to keep in mind if you build a search engine
- Why I am Building IndieWeb Search
- How to Make a Cold Foam Iced Coffee at Home
- My New Social Pages
- How my search engine direct answers work
- A theory on sour coffee and cheap grinders
- Coffee Chat with Gillian from MAYZE Finnieston
- Updating My IndieWeb Wiki Profile Page
- How to make a plant monitor dashboard: Part I
- My search engine has moved to IndieWeb Search
- Bookshelf
- Technology I Use
- Sharing social interactions with Micropub
August 2021
- Starbucks’ influence on my interest in speciality coffee
- Flavour attributes I like in coffee
- Coffee Chat with Hannah from the Manchester Coffee Festival
- Fixing a line width issue on this blog
- Ordering espresso at cafes
- Sounds of the cafe
- Building a random Aeropress recipe generator for my search engine
- Coffee Chat with Pete from Black Pine Coffee
- A Future for Packaging With Manifesto Coffee (Barista Magazine)
- Quiet Edinburgh Zine Launch
- Coffee Chat with Darryl from Short Long Black Coffee
- Weighing search results on my personal search engine
- Coffee Chat with Author Lani Kingston
- How my blog search engine works, briefly
- Build your own web home page: Tutorial
- Coffee Chat with Fraser from EH9 ESPRESSO
July 2021
- Edinburgh’s police box cafes (feature in Barista Magazine Online)
- Implementing TextRank on my blog search engine
- Building a search engine for my blog: Part II
- Building a search engine for my blog
- Using Keybow to build custom keyboard functions
- Writing physical letters
- Coffee and food pairings
- Old photos
- My weekday coffee routine
- Coffee Chat with Angela from The Barista League
- Brazilian coffees and flavour notes
- How I store coffee at home
- A short word on decaf coffee
- The Aromaboy: A month (or so) on
- Blogs I follow using RSS
- The Thermal Printer Project: Printing hcards
- The Thermal Printer Project: IndieWeb Wiki
June 2021
- Recycling coffee packaging
- Coffee Chat with Mandy from Mandy’s Daily Grind
- The Thermal Printer Project was mentioned on the Adafruit Blog
- The Thermal Printer Project: How I Print Events
- Coffee Chat with William from It All Started Here
- Edinburgh New College (Photo)
- Coffee Chat with Robert from Brew Culture Coffee and Tea
- I was featured in Coffee People
- I was featured on Rubenerd’s blog
- The Thermal Printer Project: Part III
- The Thermal Printer Project: Part II.5
- The Thermal Printer Project: Part II
- The Thermal Printer Project: Part I
- What made you start James’ Coffee Blog?
- My growing mug collection
- How is my website hosted?
- Saving my blog posts in one single .docx file
- Creating my GitHub README.md
- Blog about what you are learning
- Guess the Scottish Cafe
- The printed blog
May 2021
- How I built this website
- Game: Guess the Edinburgh Cafe (Part 3)
- How do I start brewing coffee at home?
- Tasting pour-over coffee at different points of extraction
- Coffee Ratio Calculator Tool
- Game: Guess the Edinburgh Cafe (Part 2)
- My first brew with the Aromaboy
- Coffee Chat with The Drip in Edinburgh
- How to Shake Up Your Aeropress Recipe
- Game: Guess the Edinburgh Cafe
- Brewing with the Aeropress in the park
- Drinking coffee out of a smaller cup
- Speciality coffee shops in Edinburgh I have visited
- Notes from a coffee crawl
April 2021
- More testing with the Hario V60
- Coffee documentaries I have watched
- Coffee Chat with Tim Williams from World Aeropress Championship
- My experience using a cloth Aeropress filter
- How I am brewing with the Aeropress
- Coffee Chat with Luke from Standart
- Coffee Chat with Jordan from Grumpy Mule
- Sweet Bean Paste Book Review
- My Hario V60 continuous pour recipe
- Make cold brew at home with no fancy equipment
- Complex and not so complex coffees
- Taking a break from home espresso
- Coffee Chat with Kat from Coffee People
- Coffee Chat with Dan from Machina Coffee
- Coffee Chat with James from PuckPuck
- My first cloth-filtered coffee
- The Chemex: A week or two on
- Coffee Chat with Barista and Barista Trainer Millie (@thatgirlfromthecafe)
- The Great Passage by Shion Miura Book Review
- The Housekeeper and The Professor Book Review
- The Midnight Library Book Review
- The Travelling Cat Chronicles Book Review
- Coffee Chat with Robbie from Canary Girl Coffee Company
- My two-cup Chemex recipe
- Coffee origins I have tried so far
- My first go at making an affogato
- Five Ways to Make Coffee at Home
- How to Read a Coffee Label
March 2021
- Coffee Chat with Giulia from The Milkman
- A Beginner’s Introduction to Grinding Coffee at Home
- Brewing one cup of coffee with the Chemex
- Coffee Chat with John from Artisan Roast and Coffee Nexus
- The Coffee Visionary By Jasper Houtman Book Review
- My Home Brew Bar
- Home espresso and interesting resources
- Trying a Robusta coffee
- Scottish Coffee Roasters I Have Tried
- Purchasing an espresso grinder
- On the road to better espresso shots
- Coffee Chat with Roland from Hasbean
- Coffee Chat with Jamie from Luckie Beans
- Espresso journaling
- Comparing the Kalita Wave and the V60
- My experience making espresso at home
- My ongoing journey with the Flair
- Coffee Chat with Danny from Obadiah Coffee
- Pulling more shots with the Flair NEO
- First shots with the Flair NEO
- Coffee Chat with Jay from AeroPrecipe
- Pour-Over Brewing: Pulse and Continuous Pouring
- Brewing pour-over coffee without a bloom
- Coffee Chat with Laboratorio Espresso
- Strange Weather in Tokyo Book Review
- The Guest Cat by Takashi Hiraide Book Review
- Coffee Chat with Nasko Panov from NP’s Coffee Science
February 2021
- Coffee Chat with Haydn from Filtrew
- How to Make an Iced Latte at Home
- Coffee Chat with Jamie from Sacred Grounds Coffee Company
- Coffee Chat with Lisa Lawson from Dear Green
- Coffee Chat with Christopher from Full Court Press
- How to Make a Cappuccino at Home (without an espresso machine)
- Coffee Chat with Eve from Argyll Coffee Roasters
- Coffee: From Bean to Barista Book Review
- The Best of Jim Seven Book Review
- Coffee: A Global History Review
- Coffeeography: The Coffee Producers Book Review
- God in a Cup by Michaele Weissman Review
- London Coffee by Lani Kingston Book Review
- A Pour-Over Brewing Glossary
- Pour Your Heart Into It Book Review
- What I Know About Running Coffee Shops by Colin Harmon Review
- My Experience Cupping Coffee with Steampunk
- The Coffee Dictionary Book Review
- The Monk of Mokha Book Review
- Uncommon Grounds by Mark Pendergrast Review
- Bringing Back My Website
- Coffee Chat with Alex from Manifesto Coffee
- Brewing two cups with the Chemex
- Acaia Pearl: ongoing thoughts
- Before the coffee gets cold: Tales of the cafe Book Review
- Coffee Chat with Fiona Grant from Glen Lyon Coffee Roasters
- Coffee Chat with Todd Johnson from Williams and Johnson
- Coffee Chat with Davide from Papercup Coffee Roasters
- First impressions of the Acaia Pearl scale
- Cupping the same coffee roasted three ways: Part two
- Coffee Chat with Bruce from Fortitude Coffee Roasters
- An Aeropress glossary
- Ecuador Altos De Saragullas by Redemption Roasters
- Coffee Chat with Cathryn from Little Fitzroy
- Cupping three of the same coffees
- Coffee Chat with Tom from Manchester Coffee Archive
- My Experience with the Aeropress
- Coffee Chat with Callum and Alex from Untitled Oats
- San Jose de Lourdes Peru by Neighbourhood Coffee Roasters
- The V60: A week (or so) on
- First impressions with the Chemex
- Observations on the Hario V60
January 2021
- My first impressions with the V60
- Cupping the same coffee roasted differently
- Coffee Chat with Adam from Cult Espresso
- Why do a coffee cupping at home?
- My Current V60 Recipe
- Coffee Chat with Paul from Lowdown Coffee
- V60 vs The Chemex
- Dog and Hat Subscription Box Review
- Basic set up for brewing with Kalita Wave
- Coffee Chat with Jonathan from Ukiyo Koffie
- Cleaning the Aeropress rubber plunger
- The Nakano Thrift Shop Book Review
- Pushing slower on the Aeropress
- Juan Vergara Full Court Press Coffee Review
- Experimenting with coarser grinding for the Aeropress
- Coffee Chat with Robi Lambie from Cairngorm Coffee
- Before the coffee gets cold Book Review
- Interview for The Coffee Life Blog
- Coffee Chat with Mark Edwards from Unorthodox Roasters
- Guatemala Finca La Esperanza by Steampunk Coffee Review
- Aeropress vs. Kalita Wave?
- My Kalita Wave Recipe
- Going back to the Aeropress
- Thoughts on the regular Aeropress method
- Coffee Chat with Cheapshot
- El Salvador Finca Bonanza by Steampunk Coffee Review
- Lessons from a home coffee cupping
- Coffee Chat with Coffee Snob Blog
- Coffee Chat with The Coffee Life
- Coffee Chat with The Pourover
- Coffee Chat with Catherine Franks from Steampunk Coffee
- Observations using the Kalita Wave
- Observations on gooseneck kettles
- Standart Magazine Review (Issue 21)
- Melitta Gooseneck Kettle Review
- Baratza Encore Coffee Grinder Review
- Observations on cupping at home
- Jamila Abakeno Ethiopia by The Good Coffee Cartel Review
- Acids in Coffee
- The design of the Kalita Wave
2020 102
December 2020
- My first brew with the Kalita Wave
- Adado Ethiopia by The Good Coffee Cartel
- Using a coarser grind with the Aeropress
- Bukonzo Dream Uganda by Steampunk Coffee Review
- Aeropress French Press
- Why I switched to an electric grinder
- Blending at home
- Coffee Books to Read This Holiday Season: Part Two
- Online cupping classes
- Hario Mini Mill Grinder Review
- My Aeropress is difficult to push...
- Sweetness in Coffee
- Coffee Chat with Silviu Rad from The Missing Bean
- Brewing hacks
- Coffee Books to Read This Holiday Season: Part One
- I cannot taste this flavour...
- Ethiopia Bale Mountain by Steampunk Coffee Review
- Coffee Chat with Bean Thinking
- Bombe, Ethiopia Obadiah Coffee Review
- Coffee Blogs To Follow This Holiday Season: Part Two
- Coffee Chat with Double Skinny Macchiato
- Cojones Guatemalan by Good Coffee Cartel Review
November 2020
- Coffee Blogs To Follow This Holiday Season: Part One
- Coffee Chat with SOLO Coffee
- Barista Documentary Review
- Baristas Documentary Review
- What is Turkish Coffee?
- Coffee Chat with Edinburgh Coffee Shops
- Kenya Kiganjo Peaberry Artisan Roast Review
- From Seed to Cup: Sourcing, Exporting, and Roasting
- The Journey from Seed to Cup: Planting, Harvesting, and Processing
- Craft Coffee: A Manual Review
- Caffeinated Documentary Review
- Coffee Chat with Brewing Coffee Manually
- How I Taste Coffee
- How to Make Coffee Book Review
- We Have No Tables
- Steampunk Columbia El Carmen Sugarcane Decaf Review
- Artisan Roast Finca Don Jaime Review
- The Blue Bottle Craft of Coffee Review
- How I Choose Coffee Beans
- Coffee: A Modern Field Guide Review
- The Aeropress: Inverted vs Regular Methods
- Coffee in ’90s Sitcoms
- Grinding Coffee at Home
- The Philosophy of Coffee Book Review
- My First French Press Brew
October 2020
- Brewing a Better Cup of Coffee
- Missing Bean Peruvian Direct Trade Review
- Measuring Coffee with Scales
- Why I Love the Aeropress
- My First Brew with a Scale
- How I Learn About Speciality Coffee
- Changing My Coffee Brewing Process
- Steampunk Coffee’s Packaging
- Curse of the Pumpkin Spice
- Why I Drink Speciality Coffee
- A Low Supply of Beans
- An Unknown Coffee Tasting
- Building Relationships at My Local Coffee Shop
- Tracking the Word Count on My Blog
- Writing an Analytics Bash Script: Part II
- Writing an Analytics Bash Script
- Cleaning Up the IndieWeb Webring
- Reading Content with RSS
- Coffee Cupping with Steampunk
- Unorthodox Roasters Wee Stoater Review
- Checking My Webmentions Using RSS
- Displaying Webmentions on My Site
- Aeropress Recipe
- Writing a New Tab Extension: Part II
September 2020
- Writing a New Tab Extension
- Why I IndieWeb
- Adding Webmentions to Jekyll
- Brewing Coffee With the Aeropress
- Resisting Complexity on My Site
- Writing a Colophon
- How I IndieWeb
- The Five Factors of Coffee Tasting
- Owning a Raspberry Pi
- Setting Up My Raspberry Pi
- How I Design for Accessibility
- Building a Weather Station
- My Website Hosting Journey
- Self Dogfooding and Losing Steam
- Social Interactions on the Web
- Micropub and Publishing Content
- A New Website Architecture
- Archiving My Internet Presence
- Homebrew Website Club London
- Owning My Coffee Data
- Rethinking the Blog
- Blue Bottle Coffee Course Notes
- The Philosophy of Static Websites
- Trying Not to Overengineer
- How I Use Webmentions
- Scratching My Itches
- My Experience With Jekyll