❌

Normal view

  • βœ‡James' Coffee Blog
  • Rewriting
    This weekend I started work on rewriting the static site generator that I use for this website, Aurora. I was looking over the codebase and wondered if I could make the code a bit more efficient and easier to understand. I had ideas for new abstractions – things I could do to reduce the amount of code needed.One of the areas I wanted to improve on was the logic for generating category and date pages. The existing version of Aurora had large functions that generated these pages. This weeke
     

Rewriting

17 March 2026 at 00:00

This weekend I started work on rewriting the static site generator that I use for this website, Aurora. I was looking over the codebase and wondered if I could make the code a bit more efficient and easier to understand. I had ideas for new abstractions – things I could do to reduce the amount of code needed.

One of the areas I wanted to improve on was the logic for generating category and date pages. The existing version of Aurora had large functions that generated these pages. This weekend I realised I could create what I have been thinking of as a “virtual page”, which is basically adding the category name to the list of templates to be generated with an identifier that the page is a category page.

While the rewrite doesn’t have several of the features in the current version – and for this reason, as well as incompatibilities with how templates are generated, I have not yet open sourced the code – the code works well for the use case I have in mind right now (this website!). Importantly, I had a lot of fun with the rewrite, challenging myself to figure out how to reduce the number of lines of code in the project while keeping the code clear.

This is the third time I have written a static site generator. Every time I have rewritten the code, my code has been shorter. I think it is because I understand the problem better every time I do a rewrite, and every time I come with new knowledge about programming.

Looking through the current Aurora codebase, I realised there were features I really like too: the hooks API that lets you “hook into” the generator and process templates with your own Python logic works well. In cases where I really liked how a feature was designed, I brought it into the new codebase.

On the topic of rewriting, a few weeks ago I removed almost 1,000 lines of code from the Artemis codebase by creating a better abstraction for forms. The codebase had a lot of repetitive code that came from copy-pasting form boilerplate; one abstraction allowed me to reduce a significant amount of repetition.

I don’t have a timeline for releasing an update to Aurora. This was more a project for me to practice my skills. I started with a few ideas that I wanted to explore and ended with implementations of those ideas. And: my new generator is now running this blog! If any pages don’t look right, please let me know.

Aurora
  • βœ‡James' Coffee Blog
  • Starting; playing; maintaining
    I think back to how I used to think about how my finger tips would hurt if I learned to play the guitar. I was right: my fingers do get a bit sore. But with practice playing for longer gets easier. I am so glad I started to play.I have been continuing to learn new Taylor Swift songs lately, singing along where I can. Because I have only been playing for a few months, every song has something challenging to practice: singing with the strumming pattern that fits with the song, moving between two
     

Starting; playing; maintaining

17 March 2026 at 00:00

I think back to how I used to think about how my finger tips would hurt if I learned to play the guitar. I was right: my fingers do get a bit sore. But with practice playing for longer gets easier. I am so glad I started to play.

I have been continuing to learn new Taylor Swift songs lately, singing along where I can. Because I have only been playing for a few months, every song has something challenging to practice: singing with the strumming pattern that fits with the song, moving between two chords, using a chord I don’t use much. I love when I am playing and I realise I am getting the hang of something that was difficult and is now getting easier. This is learning.

Last week I started to learn The Bolter, one of my favourite Taylor Swift songs. That was one of the surprise songs Swift played on the night I went to the Eras Tour in Edinburgh. I didn't know many of the words to the song that night, but I sang with all the passion I have the words that I did know.

This week I want to try and learn a song by The Revivalists, an indie band whose music I love. I tried to start playing a song by The Revivalists yesterday but I broke a guitar string early into the song. Ironically, I later went to listen to a few songs by The Revivalists and their lead musician broke a guitar string during the performance; it seems part of playing.

When I broke my first guitar string a few weeks ago, the thought of changing it was a bit overwhelming. Thankfully, Fender has a video online that demonstrates how to change a guitar string. I am still learning how to do it, but I am sure I will become more proficient with practice. In repairing a string, the guitar feels a bit more like it is mine. I maintain my guitar so it sounds its best when I play.

  • βœ‡James' Coffee Blog
  • Sparking joy
    I am trading blog post titles with Frances. Frances wrote Where art exists in my life. I will be writing “Sparking joy”.On the top right corner of my bedroom whiteboard, written in orange pen – one of my favourite colours! – reads:Have a great day xxxWhenever I read this message, added a few days ago, I smile a little bit.The whiteboard is positioned in front of my bed, next to the door. This means I have many opportunities to see what is written on the whiteboard: when
     

Sparking joy

17 March 2026 at 00:00

I am trading blog post titles with Frances. Frances wrote Where art exists in my life. I will be writing “Sparking joy”.

On the top right corner of my bedroom whiteboard, written in orange pen – one of my favourite colours! – reads:

Have a great day xxx

Whenever I read this message, added a few days ago, I smile a little bit.

The whiteboard is positioned in front of my bed, next to the door. This means I have many opportunities to see what is written on the whiteboard: when I wake up, when I am going to sleep, when I am moving around.

I write messages that make me smile every so often on my whiteboard; whenever I think I need an extra bit of cheering up, I’ll write something down. The little things – those small notes: smiley faces, “have a great day”, “you matter” – make all the difference.

Through the power of blogging, I can share a little moment that brings me joy with you, dear reader. Oh! how wonderful the web can be.

_Frances_ _Where art exists in my life_
  • βœ‡James' Coffee Blog
  • Blossom
    When I write about nature, I sometimes go to my archives and search for what phenomena I am thinking about. I was looking at my previous posts on blossom and saw that I last wrote about the topic on the 5th of April, 2025. I started my post with “One of my favourite times of the year is when trees blossom.” These words are as true today as they were when I first wrote them. I am always glad when I write about nature; I can save a moment for future James to read. The seasons are refl
     

Blossom

17 March 2026 at 00:00

When I write about nature, I sometimes go to my archives and search for what phenomena I am thinking about. I was looking at my previous posts on blossom and saw that I last wrote about the topic on the 5th of April, 2025. I started my post with “One of my favourite times of the year is when trees blossom.” These words are as true today as they were when I first wrote them. I am always glad when I write about nature; I can save a moment for future James to read. The seasons are reflected in the dates in my archive.

The tips of the branches on the trees outside my flat are starting to turn pink. Soon there will be blossom! My excitement to see the first pink leaves emerge from the buds grows with every passing day. It may still be a few weeks before the tree fully blossoms; Nature sets its own pace. Nevertheless, like the anticipation that comes from knowing the scent of coffee in the morning means you will soon drink coffee, the changing colour of the trees from winter to spring means that, soon, the trees will be full of blossom leaves.

Some trees have already started to blossom. I noticed a tree with white blossom while idly gazing through the bus window this weekend; the moment made me smile. On a walk last week I stopped to look up close at a tree and study the colour, eager to see if any petals have yet emerged.

I find myself thinking about the trees I know that have pink blossom – those in my neighbourhood, and those in the city – as well as those that are a surprise and a delight to see. I could draw a map of several blossom trees I know; namely, those that I study every year: the ones I keep coming back to because they are close or in a place steeped with meaning and memory.

Blossom is a magnet in spring: the colour, the meaning, the rhythm all call out in Nature’s silent tone. Spring is almost here. Then, with time: Spring is here.

  • βœ‡James' Coffee Blog
  • Ideas for managing post volume in web readers
    As I subscribe to more web feeds, I am starting to think about whether there are features that a “calm” web reader should have that are designed specifically for managing the number of posts in one’s reader.I recently introduced Artemis roll-up to “roll up” a week’s posts from an author into a single list that is added to a user’s feed once per week. This was designed to help reduce the risk of feeling overwhelmed if you subscribe to authors that post s
     

Ideas for managing post volume in web readers

17 March 2026 at 00:00

As I subscribe to more web feeds, I am starting to think about whether there are features that a “calm” web reader should have that are designed specifically for managing the number of posts in one’s reader.

I recently introduced Artemis roll-up to “roll up” a week’s posts from an author into a single list that is added to a user’s feed once per week. This was designed to help reduce the risk of feeling overwhelmed if you subscribe to authors that post several times per day.

Since then, I have had a few more ideas related to managing post volume in web readers. I have not yet added many of the ideas I have recently to Artemis, but I wanted to document my ideas so that I can: (i) share them with you, and; (ii) think through them a bit more. My ideas are below.

Timed subscriptions

I have noticed that I sometimes follow a website because I see a good blog post. I sometimes realise a week or two later that I am not interested in seeing all the posts from the website in my reader. After realising this, it sometimes takes me a few days to remove an author from my reader. It is only when I realise the number of posts in my reader is getting higher that I end up unsubscribing.

This gave me the idea of a “timed subscription”: a feature that would let you follow an author for a specified number of days and then receive a notification to ask whether you still want to follow the author. This would allow me to follow an author and also have a prompt to evaluate whether I still want to follow their website after a few days. For me, if I hadn’t read any of the posts from the author since I subscribed, this is a good signal I would want to end my timed subscription.

Pausing subscriptions

Sometimes I want a break from a web feed without having to unsubscribe. This made me think about the idea of “pausing” a subscription. I have since added this feature to Artemis, accessible in the Author settings page. When you pause a subscription, you will stop seeing posts from the paused author until either: (i) you unpause the subscription, or; (ii) the pause period is over. [^1]

Hide posts on the weekend

I had this idea earlier today so it is a bit raw. The premise is that you may not want to see some kinds of content on a weekend. For example, if you follow news sources you may want to hide them on the weekend so that personal websites can take up more space in your web reader interface. This idea related to the idea of a “paused” subscriptions, except this idea makes the pause recurring (i.e. every weekend).

Rate limiting

Back when I first made Artemis, I added a feature that would let you see only the top n most recent posts from a author published on a day (i.e. top post, top three posts, top ten posts), n random posts, or the top n posts in terms of how high they appear in the source feed file. The idea was to add a “rate limit” for web sources that publish regularly (i.e. Subreddit RSS feeds, which may publish dozens of posts in a day).

Artemis no longer supports this feature because it needed to be reworked after a refactor. But, I still like the idea. For example, I am following a Tumblr account that publishes pictures of paintings and art. I love the account. But it posts too frequently. Ideally, a random post or two is chosen every day to appear in my reader. I should be able to set how many posts I want to see.

Grouping by main post

This idea started with a narrow edge case. I saw someone whose blog I follow publish a blog post. I also follow their Mastodon account, where they posted an announcement for their post. Ideally, a web reader would group the announcement under the main post in the reader interface so that: (i) I still know there is some information on, for example, Mastodon, and; (ii) the blog post itself is prioritised in the reader interface.

Conclusion

This post summarises a few ideas I have had lately about what a web reader could do to help people manage the volume of posts in a web reader interface. As I reflect on this piece, I realise there is a relationship in my mind between a “calm” approach to a technology and user agency. All of the features above give a user control over what posts they see, when they see the posts, and for how long they may see posts from an author. Indeed, technology should be for people. The more control a user has over a technology, the more potential that technology has to feel calm. [^2]

[^1]: Artemis doesn’t technically have an “unpause” button yet; to unpause you need to set the paused date to any date in the past. I will need to add an “unpause” button explicitly so the user experience for unpausing a subscription is more explicit.

[^2]: The opposite – a technology where someone has little control, especially when control is wanted – feels restrictive at best; the downsides of a lack of control range from significant to chilling.

Tumblr account that publishes pictures of paintings and art Artemis roll-up
  • βœ‡James' Coffee Blog
  • Library memories
    One of the ideas Frances shared when we exchanged blog post titles was to write about a memory from a library. While the prompt “Sparking joy” is the one I ended up writing about, as soon as I started to think about library memories a few ideas came to mind. One memory in particular stands out.Last year I visited Philadelphia. At the time, I wrote about my experience at the Barnes Foundation, a museum that got me thinking about how a piece of art relates to the objects around the ar
     

Library memories

18 March 2026 at 00:00

One of the ideas Frances shared when we exchanged blog post titles was to write about a memory from a library. While the prompt “Sparking joy” is the one I ended up writing about, as soon as I started to think about library memories a few ideas came to mind. One memory in particular stands out.

Last year I visited Philadelphia. At the time, I wrote about my experience at the Barnes Foundation, a museum that got me thinking about how a piece of art relates to the objects around the artwork. The Barnes Foundation is on the Benjamin Franklin Parkway, a long stretch of road in the centre of the city. At both sides of the road are museums: the Barnes Foundation, Rodin Museum, The Franklin Institute. The road leads to the Philadelphia Museum of Art. [^1] Museums everywhere!

Also on that stretch of road was the Parkway Central Library run by the Free Library of Philadelphia. Between the tall pillars at the front of the building – a building with grand architecture – there were banners that together read “FREE LIBRARY”. Intrigued by the architecture, the message, and my love of libraries, I went in and walked around, enjoying the exhibits in the hallway.

A building with classical architecture with purple banners that read "Free Library".
A building with classical architecture with purple banners that read "Free Library".

I remember one exhibition vividly. On the top floor, where the reading rooms are, there were glass exhibition cases that surrounded the large taking visitors back to the ground floor. One of the pieces of paper in one of the glass cases was mainly black, save for a few words. This, I later learned, was an example of blackout poetry. As far as I can remember, this was my first time seeing blackout poetry. Several months after the trip, I was inspired to make a web page that adds blackout areas to text on the web page.

On that trip, I saw lots of art in museums. I even learned that Winston Churchill liked to paint; one of his artworks was on display in the Philadelphia Museum of Art. But the blackout poetry still stands out to me. It stood in contrast to all the other exhibitions: the amount that was hidden caught my eye by the black on the paper. My attention caught, the poetry invited me to focus on what the author had chosen to make visible, demonstrating how, when seen through the right lens, poetry can be in the most unexpected of places.

[^1]: The steps that lead up to the museum were made famous in the movie Rocky.

^1]: The [steps that lead up to the museum _Frances_ Barnes Foundation _Sparking joy_ adds blackout areas to text on the web page
  • βœ‡James' Coffee Blog
  • Space
    Two years ago, I visited Greenwich in London. I had been to London before, but Greenwich was that bit further out so I hadn’t made the trip. What drew me to Greenwich was the Royal Observatory and the Prime Meridian line. The day I visited, I had great joy standing over the Prime Meridian line, thinking I had one foot in one meridian and one foot in another.The Royal Observatory was fascinating. I remember vividly some of the clocks and timepieces I saw. There, I learned about the connect
     

Space

18 March 2026 at 00:00

Two years ago, I visited Greenwich in London. I had been to London before, but Greenwich was that bit further out so I hadn’t made the trip. What drew me to Greenwich was the Royal Observatory and the Prime Meridian line. The day I visited, I had great joy standing over the Prime Meridian line, thinking I had one foot in one meridian and one foot in another.

The Royal Observatory was fascinating. I remember vividly some of the clocks and timepieces I saw. There, I learned about the connection between time and the sea. Celestial navigation. Ships can use clocks to more accurately calculate where they are in the world.

I remember vividly the physical spaces in that museum: the spacious interior of the observatory dome, the equipment at the Prime Meridian line, the display cases with various time pieces. I remember the joy I felt at seeing different clocks. I remember in what direction I was looking. Even if the details of a specific exhibit allude me, I remember the place where I stood when I saw it.

After visiting the Royal Observatory, I walked down the hill and went to the National Maritime Museum. While a maritime museum is not as interesting to me as an art gallery, I heard from a friend that the award winning pictures from the Astronomy Photographer of the Year competition were on display in one of the galleries.

One of the things I love about museums is that one exhibit can draw you in and, hours later, you can find yourself with a new interest. The Astronomy Photographer of the Year exhibition was my anchor. From there, I wandered around the museum and explored other exhibits. I learned so much: of voyages to the arctic and antarctic, of the extent of the British Navy, and so much more. After that experience, I would definitely visit a maritime museum again.

Within the maritime museum, I have vivid memories of being in different spaces. I remember the wall on which a particular photograph that caught my eye was on display. I could walk you to the picture today (although the exhibition has since rotated, so I could only take you to the wall, not the picture itself). I can’t remember the name of the photograph, but I remember where I was when I saw it. I remember the vivid blue colour of the ocean, illuminated by, if I remember, some kind of plankton. I was in awe at so many of the paintings in that room.

Many of my museum memories are anchored in a specific place: a room, a hallway, a specific wall. The images of some spaces are vivid. I remember where I was when I saw a work of art that particularly caught my attention (Even if, ironically, I couldn’t tell you how I got from the entrance of the museum to that piece. Oh! Museums can be labyrinths).

I started writing this post because I read Elena’s contribution to the IndieWeb Carnival this month that mentioned the term “Wildlife Photographer of the Year”. Reading those words instantly reminded me of the aforementioned Astronomy Photographer of the Year exhibit, and the specific wall on which the picture that really caught my attention was.

I have just found the picture: Like Blue Lava by Petr Horalek. The photograph is wonderful.

I started that day in Greenwich with the desire to see the Royal Observatory and the Prime Meridian. I ended the day with a newfound appreciation for astronomy photography and maritime history, and memories that, when recalled, make me feel as if I am back in Greenwich.

Celestial navigation Elena’s contribution to the IndieWeb Carnival Like Blue Lava by Petr Horalek
  • βœ‡James' Coffee Blog
  • Landscape by Moonlight
    Whenever I visit an art gallery, there is inevitably a painting that sparks joy, or otherwise leaves me with an impression that sticks with me. Peter Paul Rubens’ Landscape by Moonlight was one such painting.The painting depicts a landscape at night time. The ground and the trees on the left are dark. The river in the bottom left is illuminated by reflection of moonlight which draws attention to an animal in the foreground. A full moon peeks through an otherwise cloudy sky.The sky, and th
     

Landscape by Moonlight

18 March 2026 at 00:00

Whenever I visit an art gallery, there is inevitably a painting that sparks joy, or otherwise leaves me with an impression that sticks with me. Peter Paul Rubens’ Landscape by Moonlight was one such painting.

The painting depicts a landscape at night time. The ground and the trees on the left are dark. The river in the bottom left is illuminated by reflection of moonlight which draws attention to an animal in the foreground. A full moon peeks through an otherwise cloudy sky.

The sky, and the top of the trees, are dotted with specs of white paint. Stars.

I didn’t think too much about the stars until I read the commentary for the painting written by Francesca Herrick, the Public Programmes Educator at The Courtauld (plaque visible in the interactive view of the Permanent Collection), which notes:

The little flecks of white paint that form the twinkling stars suggest relaxed and joyful experimentation.

Notably, the stars appear in front of the clouds.

I remember smiling when I saw this painting. I stared at it for a while. I remember being struck by those words “joyful experimentation”, especially when reflecting on how the piece was painted between 1635-40. I was surprised and delighted that an attribute in a painting from centuries ago – the way the stars were painted – was perceived by someone as exhibiting “joyful experimentation”.

I started to think about how Rubens felt working on this piece. Why did he decide to add the stars as he did? Did Rubens smile when adding the stars? We will never know, but this perspective stuck with me.

As I moved onto the next room, I took one last look back at the painting to savour it for one more second. It is a beautiful piece.

_Landscape by Moonlight_ plaque visible in the interactive view of the Permanent Collection
  • βœ‡James' Coffee Blog
  • The Timeless Way of Building
    The book for this month’s IndieWeb Book Club, hosted by Nick, is Christopher Alexander’s book The Timeless Way of Building.The book is about architecture, but its principles have broader application to any discipline involved with building something.The idea of a “pattern language”, discussed throughout the book, is one that has stuck with me. I was thinking about “patterns” before reading the book, but The Timeless Way of Building put the idea of a pattern i
     

The Timeless Way of Building

18 March 2026 at 00:00

The book for this month’s IndieWeb Book Club, hosted by Nick, is Christopher Alexander’s book The Timeless Way of Building.

The book is about architecture, but its principles have broader application to any discipline involved with building something.

The idea of a “pattern language”, discussed throughout the book, is one that has stuck with me. I was thinking about “patterns” before reading the book, but The Timeless Way of Building put the idea of a pattern into perspective:

Your language generates the buildings which you make, and the buildings live or not, according to the life your language has.

The word “live” in this sense is related – but not equal – to the “quality without a name” that is introduced early in the book. This quality roughly captures the extent to which a building reaches its potential.

The idea behind a pattern language is that there are, and you can define, a library of concepts for use in building.

Patterns are like tools: concepts that you can apply in a design. Alexander also talks about how patterns are defined not only in isolation, but by their relationship to other patterns:

Beyond its elements each building is defined by certain patterns of relationships among the elements.

[…]

When we look closer, we realize that these relationships are not extra, but necessary to the elements, indeed a part of them.

Alexander gives the example of how an isle in a cathedral would not be an isle if it did not have connections to other architectural features like a nave. The idea of relationships between patterns is something I am now starting to think about more thanks to Alexander’s book.

The book is immensely quotable. Every time I open the book, no matter at what page, there is an insight that could be explored. But the book comes alive when read in full: indeed, the book in its entirety, propels the reader forward toward new ways of thinking about how to build.

I am writing this review a few months after reading the book, when I had time to read it in full; it is likely there are so many more conclusions that can be drawn. Every point above could be developed further. This post is my way of saying that the idea of a pattern language is increasingly foundational to how I think about designing software and technology.

I keep a running list of software patterns, and in 2024 I did a series dedicated to software patterns. I started writing about patterns because I wanted to put into words what I was seeing in software, and I wonder if, through their broader influence, Alexander’s ideas of “patterns” influenced my thinking even before I knew about them.

a series dedicated to software patterns running list of software patterns this month’s IndieWeb Book Club
  • βœ‡@seansharp
  • Mid-March
    Time flies as March rolls on through. Just a couple of photos today . . . From a bygone era with my friend Kurt. It looks like we are some mountain, but I can’t recall where. Before the grey, before the bald. The green wool ball cap was one of my favorites at the time, however. Taking flight – near my place along Amazon Creek last evening.
     

Mid-March

18 March 2026 at 12:37

Time flies as March rolls on through. Just a couple of photos today . . .

From a bygone era with my friend Kurt. It looks like we are some mountain, but I can’t recall where. Before the grey, before the bald. The green wool ball cap was one of my favorites at the time, however.

Taking flight – near my place along Amazon Creek last evening.

  • βœ‡James' Coffee Blog
  • Colour
    Hues of red and lavender blended together in the clear evening sky. I don’t think I have seen the sky like this before. I write with my laptop propped up on one lap as I gaze out the window, trying to find the words to describe the sky. As the minutes pass, the sky changes. The sun sets further over the hills; pink rises and the lavender turns to grey. The street lights illuminate.I sometimes think about how sunsets are never the same. I know what colours to expect and in what direction I
     

Colour

19 March 2026 at 00:00

Hues of red and lavender blended together in the clear evening sky. I don’t think I have seen the sky like this before. I write with my laptop propped up on one lap as I gaze out the window, trying to find the words to describe the sky. As the minutes pass, the sky changes. The sun sets further over the hills; pink rises and the lavender turns to grey. The street lights illuminate.

I sometimes think about how sunsets are never the same. I know what colours to expect and in what direction I need to look to see them, but there is always a surprise: the arrangement of the clouds, or the lack of them, the position of the sun and how it relates to the hills or the trees, or something else. This evening, it was the hues of red and lavender. I felt like I was seeing a sunset I had never seen before. No two sunsets are the same.

Before the sun set over the hills earlier this evening, the sun peeked over and below clouds, creating bands of yellow through the greys and the whites in the sky. I smiled as I admired the details of the sky – the clouds, the colours, the width of the horizon.

Looking back, I realise that this is now the time of year where I can watch more of the setting sun. The clouds of winter have receded; the spring breeze blew them away. The sun sets later.

From my window I no longer see the pink in the sky; the sky is now a deep blue. Things change with time. But the colour is forever in my words: the way that the red and lavender blended in a way I have never seen before, now here, in words.

This was the sunset of March 19th, 2025, seen from here, the place I call home.

  • βœ‡James' Coffee Blog
  • 🌸
    When I loaded my website this morning – an hour or two after having woken up with great joy to rays of golden light radiating through the edges of the curtains – I noticed the cherry blossom emoji (🌸). It must be the first day of spring! I love moments like this when my website surprises me. The seasonal emojis almost feel like a gift from past James. Today means something. Every day does.The spring weather has motivated me to go on more walks. When the sky is clear, the fre
     

🌸

20 March 2026 at 00:00

When I loaded my website this morning – an hour or two after having woken up with great joy to rays of golden light radiating through the edges of the curtains – I noticed the cherry blossom emoji (🌸). It must be the first day of spring! I love moments like this when my website surprises me. The seasonal emojis almost feel like a gift from past James. Today means something. Every day does.

The spring weather has motivated me to go on more walks. When the sky is clear, the fresh breeze – the one that blows through the windows I can now have open – is seductive. It looks warm outside. I should go out. With the energy that comes from feeling the spring air and the golden sun after a long winter, I decided I would go for a walk at lunch.

Before I left, I had a thought: maybe I should take my spring jacket. In the moment, I realised what this meant: spring is really here.

While walking, I decided to take the longer route. The air was refreshing. I could see for miles. I knew that there were sights to be seen: scenes I haven’t seen since before the winter kept me indoors and closer to home. I kept my headphones out so I could listen to the rhythm of the walk. Birdsong, birds walking through the leaves left over since last autumn, the rustle of the single fallen leaf that followed me briefly, propelled by the gentle breeze of spring.

The autumn leaves were memories of the last season. The birdsong? The sounds of the next one.

As I was heading home, after stopping to admire the hills in the distance and how radiant they were with the spring light, I noticed a tree in blossom: the first pink cherry blossom in bloom I have seen this year. One of my favourite parts about walking are the surprises like this one – of being on familiar paths and seeing something that brings both surprise and joy.

  • βœ‡James' Coffee Blog
  • Crescent
    I love watching the sun set, from golden hour to the moment when the last pink hues fade from the sky. Every moment is magical. As I write, there are bands of purple radiating behind the ripples of thin clouds on the horizon.I periodically look out the window when the sky is clear and the sun is setting, eager to see as many of the colours of the sky as possible – the oranges and the yellows, the pinks and the purples, the blues. I know that every time I look, there will be something new
     

Crescent

20 March 2026 at 00:00

I love watching the sun set, from golden hour to the moment when the last pink hues fade from the sky. Every moment is magical. As I write, there are bands of purple radiating behind the ripples of thin clouds on the horizon.

I periodically look out the window when the sky is clear and the sun is setting, eager to see as many of the colours of the sky as possible – the oranges and the yellows, the pinks and the purples, the blues. I know that every time I look, there will be something new to see. In the same place, a different perspective.

When I looked out the window a few moments ago, I saw a faint silver arch in the sky. Is that… a crescent moon? I smiled and laughed a little to myself. It was as if I had never seen a present moon before. I am looking at the moon now as I write this sentence, searching for words to describe the new, silvery, light in the sky.

The silver crescent stands out in front of the darkening blue sky. It has been a while since I have seen a crescent moon so narrow.

I turned the light off indoors so that the interior light would not reflect on the window so that I could see more. Shortly thereafter, I noticed, below the moon, at a distance I cannot quantify for I know not how to measure the night sky (some things are beautiful because they are indescribable), a star: the first star visible this evening.

The lavender is fading and the blue of the late evening envelops more of the sky, the colours of sunset giving way to the celestial. I look eagerly to the horizon for the next star to appear.

  • βœ‡A Collection of Unmitigated Pedantry
  • Gap Week: March 20, 2026
    Hey folks! I was traveling this week to give an invited talk at Western Michigan University, so I don’t have a blog post ready for you. That’ll also probably be the case for next week (where I will be at the annual meeting of the Society for Military History), though at least there I will have an abstract to let you see. Now I am always reticent to post up the text of talks that are intended to be delivered live, because the genres are different, they rely on different kinds of
     

Gap Week: March 20, 2026

Hey folks! I was traveling this week to give an invited talk at Western Michigan University, so I don’t have a blog post ready for you. That’ll also probably be the case for next week (where I will be at the annual meeting of the Society for Military History), though at least there I will have an abstract to let you see.

Now I am always reticent to post up the text of talks that are intended to be delivered live, because the genres are different, they rely on different kinds of delivery and they often aren’t footnoted and such for written publication. But in this case, I can do something a bit different, because the main parts of my talk for Western Michigan University were based around things that I’ve written (and in one case, something someone else has written) which you can read. So this is a chance to plumb the archives, in a sense and in so doing, basically ‘read along’ a version of the talk I gave which is rather ‘meatier’ than what I could have said in the 45-or-so minutes I had to speak.

The core of my talk was the concept of ‘historical verisimilitude‘ that I’ve riffed on here: the use of the appearance of historical accuracy, or a claim to historical accuracy in the absence of the real thing to market or promote something, be that something a film or show or game or what I have begun terming a ‘history influencer’ who makes history-themed social media content.

My initial example of this at work was the disconnect in Assassin’s Creed:Valhalla between the emphasis on visual accuracy and the catastrophic fumbling of other forms of historical accuracy, which you can read about in my “Assassin’s Creed: Valhalla and the Unfortunate Implications.” I then expanded on this example with a broader one from 2000’s film Gladiator and its initial battle scene, arguing that once again what was prioritized was visual accuracy because that gave the viewers the – incorrect! – assumption that ‘the research had been done’ on the rest, which you can read about in our series on “Nitpicking Gladiator‘s Iconic Opening Battle.”

I then jumped to example of this as a rhetorical strategy deployed by marketing, grounded in a critique of how George R. R. Martin (and the marketing team for Game of Thrones) has framed historical accuracy, using the Dothraki as an example of how this can go badly wrong and perpetuate quite nasty stereotypes about real peoples through the supposedly ‘realistic’ (in fact, deeply flawed) depiction of a fantasy stand-in for those people. You can read about that in our series on the Dothraki, “That Dothraki Horde.”

From there I transition into talking about this strategy used by the aforementioned ‘history influencers,’ with a contrast between how differences in platforms between YouTube and Twitter produced very different environments: where YouTube’s long-form video nature pushed a lot of content creators towards more carefully researched historical content which was often actually quite valuable (I particularly focused, and again this was very brief, on arms-and-armor and historical dress channels), Twitter’s emphasis on ultra-short micro-blogging produced a very different environment.

For the part focused on Twitter, I leaned quite heavily on T. Trezevant’s “The Antiquity to Alt-Right Pipeline” published in Working Classicists in 2024, which I think is one of the most revealing investigations of this particular space and the incentives that the post-Musk Twitter algorithm, which appears to openly and quite strongly prefer frankly bigoted or xenophobic content, created. From my own observations, while some of the accounts that push this particular, generally badly historically misinformed, version of the ancient past emerged in the pre-Musk period of Twitter, Classics Twitter largely held its own until the algorithm was slanted against them, making it all but impossible for a lot of good Classics accounts to compete for eyeballs.

And then I closed with a plea for greater engagement by historians in these online spaces, albeit with a caution that picking your platform is important. The fact that historical verisimilitude, the pretense of historical accuracy or knowledge, is so frequently used as a marketing tool speaks to the public’s desire for an accurate knowledge of the past. Folks want to know what the past was really like, but of course regular folks often do not have the tools to tell what is reliable, rigorous and careful history vs. what is not. So as historians, we need to be more present in these kinds of spaces (though we ought to pick our platforms; there is little point ‘competing’ on Twitter if the deck is stacked against you) to help folks find the accurate historical knowledge they are seeking.

And that, in an abbreviated form (or an enlarged form if you read all of the links as you went!) was the talk! Very grateful for WMU for inviting me out to give it. Until next week!

  • βœ‡James' Coffee Blog
  • Saturday
    When I woke up this morning, I knew I wanted to open the blinds early – to let the spring light in. The previous night, I had made sure the book I wanted to read was sitting by my bedside, ready for me in the morning. I enjoyed the soft yellow light shining through the room as I read, my book temporarily taking me into the world of motorcycles and maintenance and care.I love how books let you be in two places at once: where you are, and another world crafted by the author. Maybe that is p
     

Saturday

21 March 2026 at 00:00

When I woke up this morning, I knew I wanted to open the blinds early – to let the spring light in. The previous night, I had made sure the book I wanted to read was sitting by my bedside, ready for me in the morning. I enjoyed the soft yellow light shining through the room as I read, my book temporarily taking me into the world of motorcycles and maintenance and care.

I love how books let you be in two places at once: where you are, and another world crafted by the author. Maybe that is part of why I love writing, too: I can craft a little world for you to be in for a few moments.

After spending my time immersed in another world, I got up and looked out the window. There was a light blanket of frost on the grass that, just yesterday, was more green than I have ever seen it, illuminated by the light of spring. Seasons and times blend together: the cold of winter and night lingers in the morning, the sun bringing new perspective to the frost.

I love frosty mornings: the chill wakes me up. I went for a walk to get some bread; I had half an avocado in the fridge that I didn't want to let go to waste.

Outside, the world was quiet. I myself was still waking up; the fresh air helped. I paid attention to my breath with every step I took. I have a bit of a cold; being in Nature was exactly what I needed. On one part of the walk, with nobody else around, I closed my eyes and recalled memories of other mornings where the air was just like this. I felt connected both to the world around me and other moments in time.

The frost outside has melted. After my walk – and my delicious breakfast – now sit in my armchair, gazing out the window with a sense of peace. I just finished my cup of tea. I always like to hold my tea cup for as long as I can so that I can feel all the warmth it has. Since I am writing, the tea cup is next to my left knee. I can still feel its warmth.

  • βœ‡James' Coffee Blog
  • Tinkering
    I love making incremental improvements to my website. All the changes I make to this website build up to what you see. This has me thinking that websites are both a place to reflect on, discuss, and make change, as well as being something that can, and does, change over and with time. My website grows with me. While exploring my website, I noticed in the past that the bold typeface in the headings and in my website name looked a bit different in Safari to Firefox. This week, I learned why: I di
     

Tinkering

21 March 2026 at 00:00

I love making incremental improvements to my website. All the changes I make to this website build up to what you see. This has me thinking that websites are both a place to reflect on, discuss, and make change, as well as being something that can, and does, change over and with time. My website grows with me.

While exploring my website, I noticed in the past that the bold typeface in the headings and in my website name looked a bit different in Safari to Firefox. This week, I learned why: I didn’t supply a bold typeface for my website. This meant that both browsers were trying to create a bold effect rather than relying on the typeface itself to supply bold characters. This has now been fixed. My site, which uses the Standard web font, now loads the bold version of the web font too.

Today I also set out to fix how links appear in italics in my blog posts. Links are styled in blue with an underline, but the colour rules for the em tag were overriding the colour of links within the em tag. This meant that links in em tags preserved their underline, but had the same colour as the surrounding text. This, too, is now fixed. It felt good to finally make this change. Small changes collectively make a big difference.

I also have a new “Make a Website” page. I wrote this page to be a short introduction to how to make a website, referring to the excellent resources others have made on the topic, as well as communities of people building websites. I now link to this page both on my home page and my website sidebar. If you have been looking for a sign to start a website, this is it. The web is wonderful.

On a side note, I learned that Ghost, which I use for publishing blog posts – my static site generator reads posts from Ghost, stored as text files – does not allow emojis in permalinks. I learned this while trying to set the permalink for 🌸 to be the eponymous emoji. This is probably for the best: emojis in permalinks do not, on reflection, necessarily fit into how I think about URL design:

In a sense, URLs are user experience. I use them to navigate through websites. As a site creator, clearly defining URLs helps me know what is where. This is important to me. I want the experience of searching for a page – either for reference, or as I develop my site – to be as intuitive as possible.

Finally, I created a new “for you” page. It reads:

This entire website is for both me and you.

Thank you for visiting!

I much prefer my for you page to any one I have seen so far.

Related is what Sir. Tim Berners-Lee says of the web: “This is for everyone”.

Note: My site styles may be cached for you, so to see any changes to the typeface you may need to do a hard refresh of a page. One day I will figure out how to clear the styles that power my offline mode from readers' caches when I update the styles. That, however, is a task for another day.

incremental improvements to my website URL design offline mode 🌸 “for you” page Make a Website This is for everyone
  • βœ‡James' Coffee Blog
  • River
    The verdant foliage on the steep hillside, the path that you know was made just for this place — the wooden planks delineating where to walk, the stairs up and down following the ebb and flow of the hill, the bridges that wove through the trees and over the edge of the river. I was in awe. I have never been on a path like this before. All around: Nature; life.I have walked by the river before, but never at this exact point. As I walked, I noticed signs for fishing. I wonder when salmon se
     

River

21 March 2026 at 00:00

The verdant foliage on the steep hillside, the path that you know was made just for this place — the wooden planks delineating where to walk, the stairs up and down following the ebb and flow of the hill, the bridges that wove through the trees and over the edge of the river. I was in awe. I have never been on a path like this before. All around: Nature; life.

I have walked by the river before, but never at this exact point. As I walked, I noticed signs for fishing. I wonder when salmon season is. I saw nobody fishing, but I did see the occasional person walking their dog, as well as a group of hikers following the path. Otherwise, the only sound in the air was that of the rolling river. Flowing water calms me.

Continuing to walk, I found a place to stop. There was a bench there. I didn’t sit down, though: I stood by the river so I could see further up and downstream.

I wondered who else has come here to enjoy the river; who else has stopped exactly where I was standing, listening to the water. The clear water. The water so clear I could see the river bed: the pebbles and the kind of grass that grows under water. And… tadpoles! The sight brought me back to primary school when I first learned about them. I can’t recall the last time I saw a tadpole in the water. I felt the magic of rediscovery.

Standing still, watching the water flow, I wondered: Why does something moving so fast make me feel still? Is it the shimmer of the light reflecting off the river? The sound of falling water? The best answer I could devise is of two words: here, Nature.

I stood for innumerable moments gazing at the river: watching the water flow, the tadpoles swim, the occasional duck soar over the water. I thought about how I wanted to keep standing here to watch the water flow, to hear the birds sing, to feel Spring. I heard new birdsong. I felt the gentle breeze on my neck. I smelled the wild garlic, so potent that it pierced through my light cold in the way that only Nature knows how. I heard the song of a bird I don’t think I have heard before.

  • βœ‡James' Coffee Blog
  • The artist was here
    I love the storytelling work that the Metropolitan Museum of Art in New York does. For example, the Frame of Mind podcast highlights short stories of people’s relationships with museums – around fifteen minutes long each. It is a great listen.Last year, I watched a video by The Met on their YouTube channel as part of their “Meet Me at the Met” series. The video was an interview with Orhan Pamuk, a Nobel Prize-winning author. The video has stuck with me ever since.When I
     

The artist was here

23 March 2026 at 00:00

I love the storytelling work that the Metropolitan Museum of Art in New York does. For example, the Frame of Mind podcast highlights short stories of people’s relationships with museums – around fifteen minutes long each. It is a great listen.

Last year, I watched a video by The Met on their YouTube channel as part of their “Meet Me at the Met” series. The video was an interview with Orhan Pamuk, a Nobel Prize-winning author. The video has stuck with me ever since.

When I think about “the artist was here,” the interview with Pamuk comes to mind. Orhan mentions that he found inspiration in several paintings in the museum. Museums can inspire writers. That has stuck with me. On reflection, I have written a fair bit about museums as places, and I have so much more I want to say. Museums inspire me.

Pamuk talks about the “museum-ness” of the museum. This makes me think about all the qualities of the museum as a place: the interior design, how each room feels, how it feels to walk between rooms, the art on the walls, the conversations that people have while studying an artwork.

A trip to the museum engages all my senses. I become aware of the past (through the art I am looking at) and the present (through the people I hear in the room) all at once. I think about the future (by reflecting on what I see and what it means), too.

What stood out to me most about the video was that both Pamuk, who in addition to being a writer also painted, and I had visited the museum. The artist was here. Watching the video again, Pamuk enters the Monet room in which one of my favourite works of art is kept: Ice Floes. A painting in front of which I stood for many minutes, admiring every detail. A painting so captivating I didn’t want to leave the gallery.

Countless people will have been in the Monet room; the same can be said of every room in every museum. Two people who have been to a museum have shared space, maybe not at the same time, but through time. When a friend mentions a museum that we have both been to, I think about this idea. We have both been there; we both have a story to tell.

This post was inspired by a prompt Frances gave me when we were exchanging blog post titles. I knew I wanted to write something for this prompt, but I had no idea what. I ended up writing about Sparking joy, but I kept the idea of "The artist was here" in my mind for when I was ready to write about it. Some things take time.

Frances Sparking joy Frame of Mind podcast an interview with Orhan Pamuk
  • βœ‡Retrophisch
  • Courtesy of Kevin Kelly’s Recomendo newsletter (it’s free), her…
    Courtesy of Kevin Kelly’s Recomendo newsletter (it’s free), here’s a neat iPhone ring hack for those of us who keep the ringer silenced: Like many people I keep my phone ringer on vibrate, but I don’t usually carry my phone on me – I may leave it on a desk – so I often miss calls. I’ve greatly reduced missed calls by setting the phone to flash its flashlight and flash its screen while it vibrates. That flashing light is enough to notice from a distan
     

Courtesy of Kevin Kelly’s Recomendo newsletter (it’s free), her…

Courtesy of Kevin Kelly’s Recomendo newsletter (it’s free), here’s a neat iPhone ring hack for those of us who keep the ringer silenced:

Like many people I keep my phone ringer on vibrate, but I don’t usually carry my phone on me – I may leave it on a desk – so I often miss calls. I’ve greatly reduced missed calls by setting the phone to flash its flashlight and flash its screen while it vibrates. That flashing light is enough to notice from a distance. It is easy to program on the iPhone. Go Settings > Accessibility > Audio Visual > Flash for Alerts. For Android: Settings > Accessibility > Audio & Screen Text > Flash Notifications. — KK

  • βœ‡@seansharp
  • Verifone & Screentime
    Our device that we use to take payment for the posters we print died during Review Week, which made for some interesting days. And March Madness is *a thing* in our house. Hence the screen time set up. Brackets were filled out, and many buzzer beaters were witnessed. Fun was / is being had! The underbelly of the beast. Screens, screens and more screens. Plus guinea pigs and a couple of toes.
     

Verifone & Screentime

23 March 2026 at 21:33

Our device that we use to take payment for the posters we print died during Review Week, which made for some interesting days. And March Madness is *a thing* in our house. Hence the screen time set up. Brackets were filled out, and many buzzer beaters were witnessed. Fun was / is being had!

The underbelly of the beast.

Screens, screens and more screens. Plus guinea pigs and a couple of toes.

❌