<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xml:base="https://chrishannah.me/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Chris Hannah</title>
    <link>https://chrishannah.me/</link>
    <atom:link href="https://chrishannah.me/feed/index.xml" rel="self" type="application/rss+xml"/>
    <description>My little piece of the internet</description>
    <language>en</language>
    
      <item>
        <title><![CDATA[One Week of Keeping an Eye on my Phone Usage]]></title>
        <link>https://chrishannah.me/one-week-of-keeping-an-eye-on-my-phone-usage/</link>
        <description>A week ago I wrote about wanting to cut down on phone usage. I kept that idea in my mind throughout the week, and tried to get an idea of what the problem was. Just to give some raw data, my average...</description>
        <content:encoded><![CDATA[<p>A week ago I wrote about <a href="https://chrishannah.me/cutting-down-on-my-phone-usage/">wanting to cut down on phone usage</a>. I kept that idea in my mind throughout the week, and tried to get an idea of what the <em>problem</em> was.</p>
<p>Just to give some raw data, my average screen time for the week before last was around 6 hours per day. This past week it's just under 4 and a half hours per day.</p>
<p>So you could say that's an improvement, and I guess it is. But last week was more about myself noticing trends, and seeing what I could do without any major effect, and just by reminding myself occasionally that scrolling for hours may not be the best use of my time.</p>
<p>I noticed that I have a few occasions where I feel I want to grab my phone:</p>
<ul>
<li>When I'm between tasks.</li>
<li>On my commute.</li>
<li>When I'm bored.</li>
<li>When I'm procrastinating.</li>
</ul>
<p>Essentially, I tend to use my phone to fill gaps in time.</p>
<p>As for what I do on my phone, here is the past week split by category. <em>Including only those which I have spent over 30 mins in the whole week, and only the apps/websites that have reasonable usage</em></p>
<ul>
<li>Social -  9 hours. (X, Instagram, Messages, Threads, Mastodon...)</li>
<li>Entertainment - 5 hours. (YouTube, Spotify...)</li>
<li>Other - 3 hours. (Remote, Home...)</li>
<li>Utilities - 2 hours (Work Chat...)</li>
<li>Games - 2 hours.</li>
<li>Productivity &amp; Finance - 1.5 hours. (Mail, Claude...)</li>
</ul>
<p>I thought about the idea of using my phone less over the week, and I realised that it's not the phone itself that I want to stop using. Because a phone isn't really <em>just</em> a phone, it's a handheld computer<sup class="footnote-ref"><a href="https://chrishannah.me/one-week-of-keeping-an-eye-on-my-phone-usage/#fn1" id="fnref1">[1]</a></sup>. It can be used for important and useful tasks, such as communication, reading, listening to music, taking photos, etc. You could also say it can be a tool for entertainment, e.g. watching videos, playing games, etc.</p>
<p>The problem I've noticed that I have myself in regards to my phone, is that a lot of the time there's no intention behind how I use it. When I'm at work and I need to wait for something to compile, tests to run, or I'm waiting on a response from an agent<sup class="footnote-ref"><a href="https://chrishannah.me/one-week-of-keeping-an-eye-on-my-phone-usage/#fn2" id="fnref2">[2]</a></sup>, my phone—or social media—is the first thing my mind gravitates towards. I'm now wondering how much time I'm wasting simply with these short bursts of usage.</p>
<p>Additionally, I was a bit torn with my commute time. On the 3 days that I travel to the office, I spend just over 3 hours per day commuting. That consists of some walking, but mostly on a ~35 minute train into London, and a ~15 minute tube ride, both ways.</p>
<p>For those train journeys, I don't have a reliable network connection, and I rarely even get a seat. So what I can do on them is already limited. Right now I resort to music, simple games that can fill time, or maybe catching up on RSS or social media.</p>
<p>I don't want to be too harsh on myself and say that I can't use my phone during my commute, or get annoyed that for these days, my usage is higher. But there's definitely ways in which I can use this time better. I'm going to try and explore a few podcasts that interest me, or books that I can read.</p>
<p>Although, I'm going to potentially have a look at a few ebooks to start off with. I already have a lot of physical books that I want to read, and I've started a few of them. But I can never find a way to build a reading habit. Hopefully I can combine a few things together, and both make better use of my commute time, give me something to do on my phone that isn't scrolling social media, and also help build a reading habit.</p>
<p>All in all, it wasn't a week of big revelations, but I do have a next step of where I want to improve. Next week will be another one of trying to slowly start to use my phone in a more intentional way, and also stopping myself when I'm only getting my phone out to waste time.</p>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>I've got a lot more thoughts on this that I may delve into in the future. <a href="https://chrishannah.me/one-week-of-keeping-an-eye-on-my-phone-usage/#fnref1" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn2" class="footnote-item"><p>Probably more on this soon as well. <a href="https://chrishannah.me/one-week-of-keeping-an-eye-on-my-phone-usage/#fnref2" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/one-week-of-keeping-an-eye-on-my-phone-usage/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sun, 29 Mar 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/one-week-of-keeping-an-eye-on-my-phone-usage/</guid>
      </item>
    
      <item>
        <title><![CDATA[My Favourite Films]]></title>
        <link>https://chrishannah.me/my-favourite-films/</link>
        <description>I&#39;ve been reflecting on my favourite films, and I&#39;ve come up with three: Perfect Days (2023) The Secret Life of Walter Mitty (2013) Seven Years in Tibet (1997) Those are my three favourite individual...</description>
        <content:encoded><![CDATA[<p>I've been reflecting on my favourite films, and I've come up with three:</p>
<ul>
<li>Perfect Days (2023)</li>
<li>The Secret Life of Walter Mitty (2013)</li>
<li>Seven Years in Tibet (1997)</li>
</ul>
<p>Those are my three favourite individual films. But like most, there are many film series that I'm also fond of. Mine are:</p>
<ul>
<li>The Hobbit</li>
<li>The Lord of the Rings</li>
<li>Twilight</li>
<li>Harry Potter</li>
</ul>
<p>I would like to note that none of these are <em>guilty pleasures</em>.</p>
<p>I would also like to note that although these are mentioned as my favourite films, their respective book forms and soundtracks are also some of my favourites.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/my-favourite-films/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Mon, 23 Mar 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/my-favourite-films/</guid>
      </item>
    
      <item>
        <title><![CDATA[Cutting Down on my Phone Usage]]></title>
        <link>https://chrishannah.me/cutting-down-on-my-phone-usage/</link>
        <description>After realising my average phone screen time was 6 hours a day, I&#39;ve decided I want to start using it less. Although, I don&#39;t have any specific goals in mind just yet. First I will give myself a week...</description>
        <content:encoded><![CDATA[<p>After realising my average phone screen time was 6 hours a day, I've decided I want to start using it less. Although, I don't have any specific goals in mind just yet.</p>
<p>First I will give myself a week to try and naturally use it less. Which I hope will help me detect where I usually reach for my phone, and also help me identify suitable replacements.</p>
<p>As a start that means X, Instagram, and Mail have been removed from my home screen. I've also added my bank card to my Apple Watch to avoid needing taking my phone out at the train station. And the next thing I want to do is to setup Spotify on my Watch so I can have one less reason to take my phone out of my pocket.</p>
<p>I'll share more updates here as the week progresses. Hopefully by the end of the week I would have both lowered my average screen time, and also identified a few areas that need some attention.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/cutting-down-on-my-phone-usage/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sun, 22 Mar 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/cutting-down-on-my-phone-usage/</guid>
      </item>
    
      <item>
        <title><![CDATA[“This Is Not The Computer For You”]]></title>
        <link>https://chrishannah.me/link/2026-03-14-22-51/</link>
        <description>Sam Henri Gold: There is a certain kind of computer review that is really a permission slip. It tells you what you’re allowed to want. It locates you in a taxonomy — student, creative, professional,...</description>
        <content:encoded><![CDATA[<p><a href="https://samhenri.gold/blog/20260312-this-is-not-the-computer-for-you/">Sam Henri Gold</a>:</p>
<blockquote>
<p>There is a certain kind of computer review that is really a permission slip. It tells you what you’re allowed to want. It locates you in a taxonomy — student, creative, professional, power user — and assigns you a product. It is helpful. It is responsible. It has very little interest in what you might become.</p>
<p>The MacBook Neo has attracted a lot of these reviews.</p>
</blockquote>
<p>This is one of my favourite pieces of writing I've read for a while.</p>
<p>It reminds me of my own experience, when I was a teenager, saving up to get my
first Mac. A base model 13&quot; MacBook from around 2005/06. That limited machine
opened me up to the world of Apple, development, blogging, and what essentially
led to my career as a software engineer.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/link/2026-03-14-22-51/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sat, 14 Mar 2026 22:51:23 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/link/2026-03-14-22-51/</guid>
      </item>
    
      <item>
        <title><![CDATA[Stories hiding in plain sight]]></title>
        <link>https://chrishannah.me/link/2026-03-14-15-43/</link>
        <description>Robert Birming: Not knowing what to write about is probably one of the most common blogging struggles. Believing you have nothing interesting to say. This is a great post. It serves as a reminder that...</description>
        <content:encoded><![CDATA[<p><a href="https://robertbirming.com/stories-hiding-plain-sight/">Robert Birming</a>:</p>
<blockquote>
<p>Not knowing what to write about is probably one of the most common blogging struggles. Believing you have nothing interesting to say.</p>
</blockquote>
<p>This is a great post. It serves as a reminder that just because you have become
accustomed to something, doesn't mean it's not interesting.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/link/2026-03-14-15-43/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sat, 14 Mar 2026 15:43:40 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/link/2026-03-14-15-43/</guid>
      </item>
    
      <item>
        <title><![CDATA[The Mac I Want Doesn&#39;t Exist]]></title>
        <link>https://chrishannah.me/the-mac-i-want-doesn-t-exist/</link>
        <description>I&#39;ve had a 14&amp;quot; M1 MacBook Pro for over 4 years now, and it&#39;s served me well since then. Apart from storage limitations (500 GB), I haven&#39;t felt held back by this machine at any point. However, I...</description>
        <content:encoded><![CDATA[<p>I've had a 14&quot; M1 MacBook Pro for over 4 years now, and it's served me well since then. Apart from storage limitations (500 GB), I haven't felt held back by this machine at any point.</p>
<p>However, I can't say I haven't been temped by shiny new things. Every time there's been a new generation of M chip released I wonder what the increase in performance would feel like.</p>
<p>But performance on it's own is unlikely to convince me to upgrade. I usually need three things:</p>
<ul>
<li>Some level of base performance. It can't be substantially worse in any area.</li>
<li>It needs at least one objective improvement. This may be a performance boost.</li>
<li>Something interesting. A new colour, chassis, display...</li>
</ul>
<p>itsThe MacBook Neo certainly fits the last point. It's an interesting device, I like the size, the colours, and that it's super cheap and can be used like a travel laptop. But there's no objective reason for this to be an upgrade. It can just stay as an interesting device.</p>
<p>The MacBook Air is also intriguing. I like the 15&quot; model, as I'd get a slightly bigger screen size, and a thinner chassis. Even if it's fan-less, and not a Pro version of an M chip, I think a base M4 chip would perform better than an M1 Pro, so there's an objective improvement. For something interesting,I like the darker grey colour, and I would really like a thinner laptop. But the screen would be a downgrade, so it doesn't meet the first point.</p>
<p>Once I was at this point, I thought I'd check the MacBook Pro. It's the same model, so it definitely meets the base expectations compared to my current laptop. It's the newer model, so objectively every component is better, especially the chip. But it's the same chassis, same colour, same weight... There's nothing particularly interesting about this laptop.</p>
<p>So without anything breaking, or my use case changing, I don't think there's a suitable upgrade available for me. After 4 years.</p>
<p>If I was being negative, I'd say the Neo was rubbish, the Air has a poor display, and the Pro is boring.</p>
<p>But I think the reality is that the base model 14&quot; MacBook Pro with an M1 Pro chip is simply an incredible device. I wonder if after another 4 years, people will still be happily using M1 chips. I suspect so.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/the-mac-i-want-doesn-t-exist/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Fri, 13 Mar 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/the-mac-i-want-doesn-t-exist/</guid>
      </item>
    
      <item>
        <title><![CDATA[Miniroll Global Feed]]></title>
        <link>https://chrishannah.me/miniroll-global-feed/</link>
        <description>One reason I built Miniroll was because I wanted a place to discover new blogs to read. However, even if I added an explore page where you can view a random set of blogrolls and blogs that have been...</description>
        <content:encoded><![CDATA[<p>One reason I built <a href="https://www.miniroll.app/">Miniroll</a> was because I wanted a place to discover new blogs to read. However, even if I added an explore page where you can view a random set of blogrolls and blogs that have been added, it's hard to judge a blog by a name.</p>
<p>But if you could just see a recent blog post, you may be more inclined to have a read.</p>
<p>That's why I've now create the <a href="https://www.miniroll.app/global">Miniroll Global Feed</a> for Miniroll <strong>Pro</strong> users..</p>
<p><img src="https://chrishannah.me/posts/2026/03/miniroll-global.png" alt="miniroll-global" /></p>
<p>It regularly goes through each public blogroll and fetches the lastest blog post. Then on the Global page, it will show the 100 most recent blog posts from all of the blogs.</p>
<p>I think it's going to be a better way to help with blog discovery. Personally, I plan on using it when I'm a bit bored and want something to read that doesn't evolve into an infinite social media scrolling session.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/miniroll-global-feed/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sun, 08 Mar 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/miniroll-global-feed/</guid>
      </item>
    
      <item>
        <title><![CDATA[The Place for the MacBook Neo]]></title>
        <link>https://chrishannah.me/the-place-for-the-macbook-neo/</link>
        <description>There seems to be a very big gap in the capabilities of modern computers compared to the actual use case of the general person. Whether it&#39;s a phone, laptop, or any type of technology. Marketing and...</description>
        <content:encoded><![CDATA[<p>There seems to be a very big gap in the capabilities of modern computers compared to the actual use case of the general person. Whether it's a phone, laptop, or any type of technology. Marketing and society seems to tell you that <em>everyone</em> needs to have the best version of everything.</p>
<p>But it's not the case. As for the general person, when they use a computer, they're probably doing a very small set of activities. Most people aren't editing videos, developing software, or doing anything particularly resource intensive.</p>
<p>That's why I've long thought the best (Apple) computer for most people was probably an iPad. You can watch TV/movies, browse the web, play games, read emails, etc. It does everything most people need.</p>
<p>But there's still one <em>&quot;problem&quot;</em>. It runs iPadOS. And even as far as it’s come, it’s still not macOS or Windows. So there was always some level of adaptation needed, even if minor. As a lot of paradigms on how computers are used are simply different.</p>
<p>Whereas now, if you want an Apple computer, and you either don’t need to do particularly complex tasks, or you’re on a tight budget, then I don’t think the iPad is the best choice anymore.</p>
<p>It's obviously too early to say this for definite, given it's literally only just been announced. However, I think the <a href="https://www.apple.com/uk/macbook-neo/">MacBook Neo</a> will take that role. It's a modest computer compared to the other options, but it does everything that most people need it to do. It's also at a fantastic price point, which makes a big difference. And it's still a Mac, which brings a sense of quality and status.</p>
<p>I think the Neo will become the Apple computer that will be recommended for people that “just need a computer”.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/the-place-for-the-macbook-neo/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sat, 07 Mar 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/the-place-for-the-macbook-neo/</guid>
      </item>
    
      <item>
        <title><![CDATA[A Growing Collection of &quot;Mini&quot; Apps]]></title>
        <link>https://chrishannah.me/a-growing-collection-of-mini-apps/</link>
        <description>At the start of 2026, I wrote about wanting to produce more this year, and so far I&#39;ve been doing just that. Back in January I launched Miniroll, a way to create, manage, share, and embed blogrolls....</description>
        <content:encoded><![CDATA[<p>At the start of 2026, I wrote about <a href="https://chrishannah.me/2026/">wanting to produce more this year</a>, and so far I've been doing just that.</p>
<p>Back in January I <a href="https://chrishannah.me/miniroll/">launched Miniroll</a>, a way to create, manage, share, and embed blogrolls.</p>
<p>Since then, I also soft-launched <a href="https://www.miniship.app/">Miniship</a>, which lets you create, manage, and embed changelogs for your project. And just last night I shipped <a href="https://minifocus.app/">Minifocus</a>, which is very niche, it lets you a central &quot;focus&quot; state and then embed elsewhere.</p>
<h2>Miniroll</h2>
<p><img src="https://chrishannah.me/posts/2026/03/miniroll-landing.png" alt="miniroll-landing" /></p>
<p><a href="https://www.miniroll.app/">Miniroll</a> was the first thing I shipped this year, and it's doing well. There are over 30 users, some of them paying for the premium features, and over 30 public blogrolls.</p>
<p>It's still very fresh, but it's starting to feel like a relatively complete product. You can create private/public blogrolls, import/export OPML files, embed blogrolls with various styles and options, generate combined RSS feeds, and quite a bit more</p>
<p><img src="https://chrishannah.me/posts/2026/03/miniroll-explore.png" alt="miniroll-explore" /></p>
<p>I personally like checking the explore page, and using the Random Blog button to find something new.</p>
<h2>Miniship</h2>
<p><img src="https://chrishannah.me/posts/2026/03/miniship-landing.png" alt="miniship-landing" /></p>
<p>As I was working on Miniroll, I was keeping an updated changelog on the site. Which I then reaised could be a service by itself. So <a href="https://www.miniship.app/">Miniship</a> was born.</p>
<p>I didn't do a big launch, as I'm still working through feature development. But the core is ready right now, and now I'm working on adding a premium level. Right now you can create a single changelog which has it's own RSS feed, and it's own public page, which you can embed on your site directly.</p>
<p><img src="https://chrishannah.me/posts/2026/03/miniship-explore.png" alt="miniship-explore" /></p>
<p>I've already added changelogs for all three Mini projects to Miniship, and I already find it useful myself. So I suspect other people may also find some value in it as well.</p>
<h2>Minifocus</h2>
<p><img src="https://chrishannah.me/posts/2026/03/minifocus-landing.png" alt="minifocus-landing" /></p>
<p>Now for the latest experiment, <a href="https://minifocus.app/">Minifocus</a>. This is a project that I built for myself, and was because I wanted a dynamic &quot;current focus&quot; on <a href="https://chrishannah.me/">my blogs home page</a> that didn't require a full rebuild to update.</p>
<p>I don't expect it to gain much attention, and I wouldn't be surprised if it's only me that uses it.</p>
<p>All you can do at the moment is to set a current focus, and then view it on a public profile or embed it on your site. There's an explore page, which in theoery will show the most 100 recent updates, but it's just myself a the moment.</p>
<p>I may add a few small tweaks, such as being able to see and quickly select recent entries. But I don't expect I'll add too much.</p>
<p><img src="https://chrishannah.me/posts/2026/03/minifocus-explore.png" alt="minifocus-explore" /></p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/a-growing-collection-of-mini-apps/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Mon, 02 Mar 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/a-growing-collection-of-mini-apps/</guid>
      </item>
    
      <item>
        <title><![CDATA[how to edit photos like 2014 instagram]]></title>
        <link>https://chrishannah.me/link/2026-02-10-23-06/</link>
        <description>The little number of followers I have on Instagram are probably going to unfollow me soon. I think I&#39;m going to start sharing square-cropped and overfiltered photos again.</description>
        <content:encoded><![CDATA[<p>The little number of followers I have on Instagram are probably going to unfollow me soon. I think I'm going to start sharing square-cropped and overfiltered photos again.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/9hcguEn5wE8?si=tt7_xUhcY0LRLFMb" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/link/2026-02-10-23-06/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Tue, 10 Feb 2026 23:06:42 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/link/2026-02-10-23-06/</guid>
      </item>
    
      <item>
        <title><![CDATA[Instagram in 2026]]></title>
        <link>https://chrishannah.me/instagram-in-2026/</link>
        <description>Recently, I&#39;ve been thinking about Instagram. What it used to be, and what it is now. I wish Instagram was 2012 Instagram.&amp;mdash; Chris 💻 (@chrishannah) February 8, 2026 In the good days of...</description>
        <content:encoded><![CDATA[<p>Recently, I've been thinking about Instagram. What it used to be, and what it is now.</p>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I wish Instagram was 2012 Instagram.</p>&mdash; Chris 💻 (@chrishannah) <a href="https://twitter.com/chrishannah/status/2020514663557914625?ref_src=twsrc%5Etfw">February 8, 2026</a></blockquote> <script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<p>In the good days of Instagram, people shared over-filtered square-cropped insights into their daily life. It was a real <em>social</em> network. You followed people, usually your friends, and you can see what they were up to, they can see what you are up to. And you generally comment on each others posts.</p>
<p>YouTube recommended this <a href="https://www.youtube.com/watch?v=GacoqdKjVyE">13 year old video from Casey Neistat</a> about how to use Instagram, and that certainly made me feel more nostalgic about it used to be.</p>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/GacoqdKjVyE?si=w6418hd2s-zG3IgR" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>
<p>There are many reasons why Instagram isn't the same anymore. Part of it is down to the social media landscape, and habits of social media users. As I think we've now become a generation of consumption.</p>
<p>But part of it is down to the evolution of Instagram as a platform. Before you edited and shared photos, viewed other peoples photos, and exchanged likes and comments. Now you've got algorithms dictating your For You feed, Reels, and Explore page.</p>
<p>If you want to share something, you don't use the most prominent button in the tab bar, you tap on a button on the top-right of the screen. Which directs you to share a Story. A fleeting moment, that someone will quickly tap past as they're viewing the stories from all the influencers and brands they follow.</p>
<p>That's where I think it went wrong for Instagram, when brands joined in and <em>&quot;Influencers&quot;</em> started to pop up. For me, that's when Instragram started to become less about people sharing photos with people.</p>
<p>I want to start using Instagram like those days, posting more personal moments, less &quot;perfect&quot; shots, more just general life. And to &quot;the grid&quot;, instead as a fleeting story. But I do feel that even if I persevered, Instagram simply may not be the place for that anymore.</p>
<p>If you want to find me on Instagram, you can do so: <a href="https://www.instagram.com/lordchrishannah">@lordchrishannah</a><sup class="footnote-ref"><a href="https://chrishannah.me/instagram-in-2026/#fn1" id="fnref1">[1]</a></sup>.</p>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>The Lord title is a bit of an inside joke, I was once gifted one of those 1ft x 1ft squares of land in Scotland with the title. <a href="https://chrishannah.me/instagram-in-2026/#fnref1" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/instagram-in-2026/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sun, 08 Feb 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/instagram-in-2026/</guid>
      </item>
    
      <item>
        <title><![CDATA[Miniroll]]></title>
        <link>https://chrishannah.me/miniroll/</link>
        <description>This year is already off to a productive start, as I&#39;ve launched my first new project! It&#39;s called Miniroll, and it&#39;s a way to create, share, and embed blogrolls. Along with many other things. It&#39;s...</description>
        <content:encoded><![CDATA[<p>This year is already off to a productive start, as I've launched my first new project!</p>
<p>It's called <a href="https://miniroll.app/">Miniroll</a>, and it's a way to create, share, and embed blogrolls. Along with many other things.</p>
<p><img src="https://chrishannah.me/posts/2026/01/landing.png" alt="Landing page" /></p>
<p>It's not just about your blogrolls either, as you can choose to make them public. Which means other people can too! So you can find other peoples blogrolls and find new blogs in the Explore section.</p>
<p><img src="https://chrishannah.me/posts/2026/01/explore.png" alt="Explore page" /></p>
<p>There's a whole bunch of features that Miniroll already supports, which is wild as it's only just &quot;launched&quot; today. But as of right now, every user can:</p>
<ul>
<li>Create and manage a blogroll.</li>
<li>Make the blogroll public, and let others know what you're reading.</li>
<li>Import and export OPML files to make everything easier.</li>
<li>Use CMD+K to open the command palette, or use keyboard shortcuts directly for most actions.</li>
<li>Embed your blogroll on your own site!</li>
</ul>
<p><img src="https://chrishannah.me/posts/2026/01/blogroll.png" alt="Blogroll page" /></p>
<p>And if you're generous enough to sign up for the premium tier ($2 monthly, $20 yearly), you can:</p>
<ul>
<li>Have as many blogrolls as you want.</li>
<li>Use a custom URL for your public blogroll.</li>
<li>Allow people to suggest new blogs via the blogroll or an embed.</li>
<li>Customise your embed with custom CSS, removing the Miniroll link, show the title, or add custom footer text.</li>
<li>Get a single RSS feed for your blogroll. Which is dynamic as your blogroll changes.</li>
<li>Get some basic analytics on the number of views and clicks your blogroll has attracted.</li>
</ul>
<p>There's all of that, and a bunch more on the way soon!</p>
<p>If that sounds interesting, <a href="https://miniroll.app/">check out Miniroll</a>.</p>
<p>You can keep up with development on <a href="https://fosstodon.org/@chrishannah">Mastodon</a> or <a href="https://x.com/chrishannah">X</a>.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/miniroll/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Mon, 19 Jan 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/miniroll/</guid>
      </item>
    
      <item>
        <title><![CDATA[No More Snoozing Alarms]]></title>
        <link>https://chrishannah.me/no-more-snoozing-alarms/</link>
        <description>I heard about an app called Awake on MacStories. It&#39;s an alarm clock app, which is specifically designed for heavy sleepers, or people who tend to enjoy pressing the snooze button in the morning....</description>
        <content:encoded><![CDATA[<p>I heard about an app called <a href="https://apps.apple.com/us/app/awake-smart-alarm-clock/id6747604910">Awake</a> <a href="https://www.macstories.net/news/awake-a-considered-effective-alarm-for-chronic-snoozers/">on MacStories</a>. It's an alarm clock app, which is specifically designed for heavy sleepers, or people who tend to enjoy pressing the snooze button in the morning. People like me.</p>
<p><img src="https://chrishannah.me/posts/2026/01/awake1.PNG" alt="" /></p>
<p>There are three main parts of the app: your schedule, missions, and morning briefing.</p>
<p>I haven't used that many alarm apps, so I don't know if this is a common feature, but I really like the schedule feature. I work from home on some days, go to the office on others, and enjoy more sleep on the weekend. And I'd rather not need to manually set this every night.</p>
<p>For times when you've stayed up a bit later than planned, the app will notice if you are past your estimated bedtime, and help to push back your alarm temporarily to ensure you get your ideal sleep time. That's pretty neat.</p>
<p><img src="https://chrishannah.me/posts/2026/01/awake2.PNG" alt="" /></p>
<p>Now for the core of the app, the missions. These are essentially actions that will happen automatically, or activities that you need to complete in order to turn your alarm off in the morning.</p>
<p>I went with something simple, just five very basic maths questions. As my aim isn't to do anything spectacular, I just need my brain to be activated just that little bit, in order to help me to wake up. Otherwise, I'm going back to sleep.</p>
<p>As for the morning briefings, this isn't something that I've particularly used. I have it show me the weather and my calendar. But I don't tend to have much in my personal calendar, and the weather in Britain tends to be the same most days. But they do have a to-do app called Structured which can also be added here, so that is something I may look into soon.</p>
<p>But for the alarm clock itself, I have to say that I'm very pleasantly surprised with how effective it's been. I've used it since mid-December last year when the review was posted on MacStories, and for a while I still had an additional alarm set in the iOS Alarm app just as a backup. But it's never been needed. I just use <a href="https://apps.apple.com/us/app/awake-smart-alarm-clock/id6747604910">Awake</a>.</p>
<p>Previously, I found it pretty hard waking up on days where I travelled to the office, as that meant getting up around 6:30 to 7:00. That used to require multiple staggered alarms to ensure that a little extra snooze didn't mean I was suddenly super late for work. But now I get one alarm, I do my little maths questions, then I get up. Because otherwise, that second alarm sound is loud!</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/no-more-snoozing-alarms/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Thu, 15 Jan 2026 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/no-more-snoozing-alarms/</guid>
      </item>
    
      <item>
        <title><![CDATA[Clicks Communicator]]></title>
        <link>https://chrishannah.me/link/2026-01-03-18-58/</link>
        <description>Clicks: A new kind of mobile communicator Designed for doing, not doomscrolling. That tagline definitely got my attention. Based on the design and some of the copy, it made me think it was a more...</description>
        <content:encoded><![CDATA[<p><a href="https://clicksphone.com/en/communicator">Clicks</a>:</p>
<blockquote>
<p>A new kind of mobile communicator</p>
<p>Designed for doing, not doomscrolling.</p>
</blockquote>
<p>That tagline definitely got my attention.</p>
<p>Based on the design and some of the copy, it made me think it was a more focused phone.</p>
<p>It's noticeably smaller, there's a smaller screen, physical keyboard, single camera, and a headphone jack.</p>
<p>But it's marketed as a <em>companion</em> device?</p>
<p>I don't see why it couldn't be used as a primary phone, but the second-phone idea feels a bit weird to me. Maybe they're just playing it safe? Is it easier to convince people to use this as an additional device than it is to get people to switch away from an iPhone to this &quot;communicator&quot;?</p>
<p>Nevertheless, I'm still interested.</p>
<p>There's a possibility that this idea of a dedicated device will fit into the growing use of other dedicated devices, such as iPods, cameras, etc.</p>
<p>It's obviously still a smartphone, but it's at least targeted as being a dedicated communication device, rather than an all-purpose handheld computer. The question is, will that actually make a difference?</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/link/2026-01-03-18-58/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sat, 03 Jan 2026 18:58:39 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/link/2026-01-03-18-58/</guid>
      </item>
    
      <item>
        <title><![CDATA[2026]]></title>
        <link>https://chrishannah.me/2026/</link>
        <description>I&#39;m not a massive life planner. However, I do have a few things in my head that I want to fix/improve/accomplish in 2026. So I thought I&#39;d write them down and publish the list here, primarily to keep...</description>
        <content:encoded><![CDATA[<p>I'm not a massive life planner. However, I do have a few things in my head that I want to fix/improve/accomplish in 2026. So I thought I'd write them down and publish the list here, primarily to keep myself accountable.</p>
<h2>Theme</h2>
<p>I remember hearing this on a Relay.fm podcast years ago, and it was about each year having a theme. Which then could be quickly used when making big or small decisions throughout the year, to keep you on track.</p>
<p>For 2026 I don't really have a single word, but more of a rough plan. Which I guess could also work as a &quot;theme&quot;.</p>
<p>My plan is:</p>
<blockquote>
<p>Focus → Growth → Productivity</p>
</blockquote>
<p>I want to first <strong>focus</strong> myself, whether at home or at work. I want to find my lane.</p>
<p>Next up is to grow in these areas. I want to be better at work, I want more time with my family, I want to waste less time, and I want to produce more.</p>
<p>Which leads into the third step. I want to produce more.</p>
<p>These steps may seem quite silly, of course I want these things. Everyone wants more focus, growth, and productivity. But I want it in a specific order. I don't want to produce 20 side projects that no one uses, and I don't want to work on improving in areas that aren't important.</p>
<h2>Plans</h2>
<h3>Work</h3>
<p>I work at <a href="https://www.ant-intl.com/">Ant International</a> as a Senior Software Engineer, typically on <a href="https://www.worldfirst.com/uk/">WorldFirst</a> products.</p>
<p>Most of my projects were related to the multi-currency World Card product, but I started carving out a niche with one of our systems, which I currently own. So next year I plan to spend more time on the architecture level of this project, and to work out how to grow this system<sup class="footnote-ref"><a href="https://chrishannah.me/2026/#fn1" id="fnref1">[1]</a></sup>.</p>
<p>But I'm not just an engineer, I also lead a team of three other engineers. This year was my first experience of leading other people, so I've definitely got areas to grow here. Primarily being able to delegate work, and to let them take projects on with full ownership.</p>
<h3>Technology</h3>
<p>There's not much I want to change regarding my technology usage. I will likely keep using an iPhone, and also continue using both a Mac and Framework laptop interchangeably.</p>
<p>In that regard, I should spend more time unifying my dotfiles for these machines, along with my work Mac as well.</p>
<p>Other than that, the only thing I want to change is <a href="https://chrishannah.me/i-need-to-get-better-at-email/">my email</a>.</p>
<h3>Social Media</h3>
<p>For social media, I sort of want to use it less, but also more.</p>
<p>Currently I use <a href="https://fosstodon.org/@chrishannah">Mastodon</a>, <a href="https://x.com/chrishannah">X</a>, and <a href="https://instagram.com/lordchrishannah">Instagram</a>.</p>
<p>For X it's two things, following football, and the tech/programmer community that hasn't switched to Mastodon<sup class="footnote-ref"><a href="https://chrishannah.me/2026/#fn2" id="fnref2">[2]</a></sup>.</p>
<p>For Mastodon, it's sort of everything else that X/Twitter was.</p>
<p>And for Instagram, I share the occasional photo here, but primarily it's keeping up with friends and family.</p>
<p>But overall, I want to spend less time reading and consuming social media, and more time with actual communication. So less endless scrolling, but maybe more writing, and definitely more talking to people.</p>
<p>And as for talking to people, I want to find even more cool and interesting people to talk to this year.</p>
<h3>Projects</h3>
<p>I don't want to say anything too crazy when it comes to next years projects. But I have two main goals:</p>
<ol>
<li>Finish and release a revamped Text Case iOS and macOS app.</li>
<li>Release a new project.</li>
</ol>
<p>The Text Case project has already started. I've been using Claude to clean up the code and bring it up to speed. And in the new year, I have a few ideas of what I want to add to the app.</p>
<p>For the other project, this is intentionally vague. I don't really care <em>what</em> it is, a new app, or even a web service. But I haven't finished a big project in a while. And one way to incentivise myself to both build and maintain this project is if it generates some form of income. So that's the rough plan.</p>
<h3>Travel</h3>
<p>I travel <em>a lot</em>.</p>
<p>In any given year, I'll end up going to various cities in the UK, a few in mainland Europe, and a sunny trip to the Canary Islands in the winter time.</p>
<p>But if I could just note a few ideas for 2026:</p>
<ul>
<li>I want to go to Rome for the first time.</li>
<li>I want to go back to Norway. This time taking my partner and daughter.</li>
<li>If I can wrangle it through work, I want to also travel to China again.</li>
</ul>
<h3>Writing</h3>
<p>I <a href="https://chrishannah.me/where-i-write-on-the-internet/">currently have three blogs</a>:</p>
<ul>
<li><a href="https://chrishannah.me/">chrishannah.me</a> - Personal blog</li>
<li><a href="https://codeandculture.uk/">codeandculture.uk</a> - My &quot;serious&quot; writing. (Only just launched)</li>
<li><a href="https://journeysthroughglass.net/">journeysthroughglass.net</a> - My various journeys with technology.</li>
</ul>
<p>You can <a href="https://chrishannah.me/where-i-write-on-the-internet/">read this post</a> if you want more details on the split between the three. My only goal for my writing in 2026 is that I continue writing all types of content, and that I keep all three blogs active.</p>
<h3>Listening</h3>
<p>I haven't regularly listened to podcasts in some time. I want to explore them again, and maybe I'll find something to fill my commute time with.</p>
<h3>Reading</h3>
<p><em>This year I want to read 100 books</em>.</p>
<p>But let's be honest, I plan on reading more books every year, and it doesn't really change.</p>
<p>So I want to focus on what I <em>do</em> read. And that is blog posts via RSS.</p>
<p>Firstly, I want to allow myself to skip more. Sometimes I feel like if I follow a site, I need to read everything from that site. I've now decided that's a waste of time, and it's a waste of mental energy. If I don't find something interesting, I'm going to follow Marie Kondo's advice.</p>
<p>And secondly, I want to expand what I'm reading. So now I'm becoming much quicker to subscribe to an RSS feed. Especially as I'm now releasing myself from the need to make sure I read everything.</p>
<p>In related news, I just went to my RSS reader and marked everything as read.</p>
<p>So now I've got a nice clean slate, ready for the new year.</p>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>I'm only being secretive because of the industry and competitors. I'm not up to anything weird. <a href="https://chrishannah.me/2026/#fnref1" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn2" class="footnote-item"><p>Sure, some people have moved to Mastodon. But the two places still have a different <em>feel</em>. And obviously, different people. <a href="https://chrishannah.me/2026/#fnref2" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/2026/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Wed, 31 Dec 2025 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/2026/</guid>
      </item>
    
      <item>
        <title><![CDATA[Printable Year Calendar]]></title>
        <link>https://chrishannah.me/link/2025-12-28-20-49/</link>
        <description>If you print this page, you’ll get a nifty calendar that displays all of the year’s dates on a single page. It will automatically fit on a single sheet of paper of any size. For best results, adjust...</description>
        <content:encoded><![CDATA[<blockquote>
<p>If you print this page, you’ll get a nifty calendar that displays all of the year’s dates on a single page. It will automatically fit on a single sheet of paper of any size. For best results, adjust your print settings to landscape orientation and disable the header and footer.</p>
</blockquote>
<p>I just came across <a href="https://neatnik.net/calendar/?year=2026">this via Hacker News</a>. It seems to scale and adapt well to any
size and orientation.</p>
<p>I think I may end up printing this out at work. Could be a good way to visualise the year.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/link/2025-12-28-20-49/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sun, 28 Dec 2025 20:49:13 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/link/2025-12-28-20-49/</guid>
      </item>
    
      <item>
        <title><![CDATA[My New Junior Developer, Claude]]></title>
        <link>https://chrishannah.me/my-new-junior-developer-claude/</link>
        <description>I&#39;ve been using Claude Code quite a lot recently. And while it hasn&#39;t replaced 100% of my programming, it is becoming invaluable for tasks that either require too much time (I have a baby), or for...</description>
        <content:encoded><![CDATA[<p>I've been using <a href="https://code.claude.com/docs/en/overview">Claude Code</a> quite a lot recently. And while it hasn't replaced 100% of my programming, it is becoming invaluable for tasks that either require too much time (I have a baby), or for things that have low ROI. E.g. I don't have hours to rebuild a new theme for my blog. But Claude can do it in a few prompts.</p>
<p>The primary project I've been using Claude with is this blog. It's an <a href="http://11ty.dev/">11ty</a> blog with a lot of custom formatting, so most changes require some investigation and development. So that means when I have a quick idea I want to explore, I rarely have the time or effort.</p>
<p>But over the past week or so, I've added quite a few updates to this blog.</p>
<h2>Redesign</h2>
<p>It started with a complete design overhaul. This started with a few investigative prompts to Claude on the web interface to play around with how I could redesign the home page of my blog. I wanted to transform from just showing the first page of blog posts, to something that also showed projects, and social links. It generated a static HTML file, and I was pretty impressed with it. Of course, I wanted some tweaks, but the feel of the design was very appealing. So I told it to generate a design style document that I could use to help redesign the blog.</p>
<p>Once I had that design style document ready, I used Claude Code to first create a plan on how to implement the design. Then I asked it to proceed with each step, so I could review in between, and ask for some small changes.</p>
<p>After not much time, I had a new site design that I was very happy with.</p>
<p><img src="https://chrishannah.me/posts/2025/12/redesign-1.png" alt="" /></p>
<p><img src="https://chrishannah.me/posts/2025/12/redesign-2.png" alt="" /></p>
<p><img src="https://chrishannah.me/posts/2025/12/redesign-3.png" alt="" /></p>
<p>Once the site was built, it was quite easy to make small additions such as dark mode, better fonts, etc. The understanding of the code and context around what the site is still impresses me. The fact that I can say &quot;change the nav bar on the home page to X&quot;, and it can work out what file and bit of code to change is pretty cool.</p>
<h2>Open Graph Images</h2>
<p>The next thing I tackled was the <a href="https://ogp.me/">open graph images</a> that are generated for each blog post, which are displayed when posting to social media. I had built something before for this, but I was never happy with it.</p>
<p>So first I asked Claude to redesign the image to fit with the theme's colours, ensuring that the post title, site title, and site url are in the image. It came up with something simple, and I thought it was good enough for now. It's not spectacular, but it's clear, and it fits with the site's design.</p>
<p><img src="https://chrishannah.me/posts/2025/12/og.png" alt="" /></p>
<p>Once it was being generated, I was asking it many questions about how it could be refactored to make it faster, not always generated locally, and a few other improvements. In the end, it swapped out the existing image generation which was creating a static image for every post, for a Vercel serverless function that dynamically generates the OG image based on the post title being passed as a parameter.</p>
<p>Under the hood it uses <a href="https://github.com/vercel/satori">Satori</a> to generate the images. After they're generated, the images are then cached in the Vercel CDN.</p>
<h2>Post Inbox</h2>
<p>The next thing I asked Claude was to come up with ideas on how I could make posting to this blog easier.</p>
<p>At the core, every post on this blog comes from a Markdown file in a specific folder structure, with some frontmatter to control things like the permalink, layout, tags, etc. It's then deployed via Vercel after detecting changes in the Git repo.</p>
<p>I've had a few bash scripts that I could run locally on a computer to kickstart the process, but it still felt cumbersome.</p>
<p>Claude came up with a few ideas, including using a CMS which would sit on top of my static 11ty site. I wasn't really fond of that at all, as it's yet one more thing to manage. But it did suggest an &quot;inbox&quot; idea, which was to have a new folder that would store new posts, and then a GitHub action could be triggered, which would process this file, generate some basic frontmatter, and move to the correct directory.</p>
<p>That sounded like a good solution, so it went ahead and built it.</p>
<p>So now, if I want to quickly post something to the blog, I just need to create a Markdown file, ensuring there is an H1 header on the first line, place it in the <code>/inbox</code>/ directory, and push to the Git repo. This means even on my iPhone, I can use <a href="https://en.wikipedia.org/wiki/Shortcuts_(Apple)">Shortcuts</a> and <a href="https://workingcopy.app/">Working Copy</a> to automate it even more.</p>
<p>In fact, the <a href="https://chrishannah.me/i-need-to-get-better-at-email/">last post</a> on this blog was published via this Git action.</p>
<p>And now with this post, the inbox processing feature will also handle images. I simply gave it an example scenario of placing 2 files in the inbox folder, <code>post.md</code> and <code>image.jpeg</code> and the post contents having the image referenced as <code>![](/2025/12/image.jpeg)</code>. From that, it updated the script to move the images to the correct location, ensuring that the relative link will work.</p>
<h2>Home Page Excerpts</h2>
<p>When the home page was initially built, the blog section was just a list of titles, without any content. And while I liked the minimal style, sometimes a title can't capture the meaning of a post. So I decided I wanted a short excerpt displayed, just to give a quick feel of what the post is about.</p>
<p><img src="https://chrishannah.me/posts/2025/12/excerpt.png" alt="" /></p>
<p>There was a bit of trial and error to get it looking right. But in the end it looks like this:</p>
<ol>
<li>Clean up the whitespace, remove HTML tags and Markdown formatting.</li>
<li>If content is shorter than max excerpt size (300 characters) simply use that.</li>
<li>If the excerpt ends mid-word, cut to the previous word.</li>
<li>If the final line of the excerpt is less than 30 characters, remove it.</li>
</ol>
<p>I expect in the future I will add a way to add a specific excerpt divider in a post. But at least this gives me a good default behaviour.</p>
<h2>RSS Feed Optimisation</h2>
<p>This was a small task I completed with Claude today. I had a few different RSS feeds being generated for this blog, including a few duplicates of the main feed that were due to previous blog platform migrations.</p>
<p>I wanted to clean it up, so I first asked Claude to analyse what RSS feeds were being generated. It found 5:</p>
<ul>
<li>Main post feed
<ul>
<li><code>index.xml</code></li>
<li><code>/rss</code></li>
<li><code>/feed</code></li>
</ul>
</li>
<li>Tag-based feeds
<ul>
<li><code>/post.xml</code></li>
<li><code>/micro.xml</code></li>
<li><code>/essay.xml</code></li>
</ul>
</li>
</ul>
<p>That seemed a bit ugly to me, so I asked it to restructure to only generate 4 actual feeds:</p>
<ul>
<li><code>/feed</code> - All content</li>
<li><code>/feed/post</code> - Just standard blog posts</li>
<li><code>/feed/essay</code> - Essays</li>
<li><code>/feed/micro</code> - Micro posts</li>
</ul>
<p>Claude changed the feed generation to use these new outputs, and updated the Vercel configuration to rewrite these feeds to the older locations so nothing breaks.</p>
<p>At the same time, the RSS feeds were updated to follow the RSS specification.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/my-new-junior-developer-claude/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sat, 20 Dec 2025 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/my-new-junior-developer-claude/</guid>
      </item>
    
      <item>
        <title><![CDATA[I need to get better at email]]></title>
        <link>https://chrishannah.me/i-need-to-get-better-at-email/</link>
        <description>This is probably my first goal for 2026. My email is a mess. I&#39;ve got a few different addresses, which were meant to be for different purposes. But slowly they’ve sort of merged together into a big...</description>
        <content:encoded><![CDATA[<p>This is probably my first goal for 2026.</p>
<p>My email is a mess.</p>
<p>I've got a few different addresses, which were meant to be for different purposes. But slowly they’ve sort of merged together into a big pile of advertising, newsletters I don't read, updates from shops I bought one thing from 10 years ago, etc.</p>
<p>It’s hard to cut through the noise and read email that actually matters.</p>
<p>As for spam, the worst culprit has to be iCloud. Any spam filtering may as well not exist. I can move an email to junk, and try to use the built-in unsubscribe tool. But nevertheless, the next day the exact same email will arrive.</p>
<p>Gmail isn’t <em>as bad</em>, but since some of the addresses are technically publicly available, they're no doubt picked up by bots.</p>
<p>Then, there's always the chance of a leak, or a company selling my data.</p>
<p>What I really want is a way to separate email from people, emails not from people but important, and the rest.</p>
<p>I have a &quot;reply via email&quot; button here on my blog, but the emails get thrown onto the pile. So I probably end up missing some emails from people, where I would have probably liked to reply and to have a conversation.</p>
<p>I'm not sure I'm ready to create any new email addresses. I've done that before, and I still end up in the same place. But when I get some free time, I definitely want to look into this more.</p>
<p>There has to be a tool that makes email usable.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/i-need-to-get-better-at-email/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Mon, 15 Dec 2025 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/i-need-to-get-better-at-email/</guid>
      </item>
    
      <item>
        <title><![CDATA[Where I write on the internet]]></title>
        <link>https://chrishannah.me/where-i-write-on-the-internet/</link>
        <description>Ever since I started writing on the internet, I&#39;ve had a tendency to want to constantly start from scratch, switch platforms, change domain name, etc. And this year hasn&#39;t been any different. I&#39;ve...</description>
        <content:encoded><![CDATA[<p>Ever since I started writing on the internet, I've had a tendency to want to constantly start from scratch, switch platforms, change domain name, etc. And this year hasn't been any different.</p>
<p>I've toyed with various ideas, and a few of them have actually seen the light of day. So I thought now was a good time to run through where I'm currently writing, and what to expect from each.</p>
<h2>Code and Culture (<a href="https://codeandculture.uk/">codeandculture.uk</a>)</h2>
<p>This is the newest writing project of mine. It is essentially a place where I can put my more <em>serious</em> writing. In fact, in my plans for this blog, it should support three types of content:</p>
<ul>
<li><strong>Observations</strong>: These are more immediate reaction pieces, and quick takes on topics.</li>
<li><strong>Thoughts</strong>: Pieces where I have started to explore an idea more deeply.</li>
<li><strong>Essays</strong>: Long-form pieces with substantial thinking and research.</li>
</ul>
<p>I've written some short essays in the past, and there are definitely some posts where I've really gone deep into an idea. But I wanted a clear place for my more thought-out writing. And this is it.</p>
<p>I published my first observation post on this blog a week ago, which is about <a href="https://codeandculture.uk/when-adulthood-actually-arrives/">my thoughts on when you become an adult</a>.</p>
<h2>Journeys Through Glass (<a href="https://journeysthroughglass.net/">journeysthroughglass.net</a>)</h2>
<p>Another site which also follows the idea of separating a category of content away from my personal blog.</p>
<p>This time it started as a way to clearly separate a journey of using the iPad Pro more during the iPadOS 26 beta.</p>
<p>However, after <a href="https://journeysthroughglass.net/i-need-to-talk-about-the-ipad-again/">the iPad experiment came to a bit of a dead end</a>, it also served as the place where I wrote about my next journey, which was to start using <a href="https://journeysthroughglass.net/a-new-journey/">Omarchy on a new Framework laptop</a>.</p>
<p>As the name suggests, this blog is where I will post updates on the various journeys I take through the technology I use.</p>
<h2>Chris Hannah (<a href="https://chrishannah.me/">chrishannah.me</a>)</h2>
<p>The blog you're reading now. My personal blog that has content going back to 2013.</p>
<p>I have to admit, it's a bit of a mess right now, and there's a bunch of old rubbish I want to clear out eventually.</p>
<p>But another reason why I wanted to separate some writing onto other sites, is that this is my <em>personal</em> blog. So it's going to be messy sometimes. It's going to be a place where I share photos, links to videos, really quick thoughts, and opinions that probably won't hold up for very long.</p>
<p>When I think about what I want this site to be, it's a playground. Somewhere that isn't too serious. Where things may break, posts may be deleted, and the design will be radically altered without any notice.</p>
<p>I <em>want</em> to post here more often. But my decision to use <a href="https://www.11ty.dev/">11ty</a> has added a bit of friction that isn't always welcome. Nevertheless, that's a problem that I'll try to fix.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/where-i-write-on-the-internet/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sat, 06 Dec 2025 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/where-i-write-on-the-internet/</guid>
      </item>
    
      <item>
        <title><![CDATA[My Favourite Use Case for AI]]></title>
        <link>https://chrishannah.me/my-favourite-use-case-for-ai/</link>
        <description>AI seems to have weaved its way into most software developers daily life, whether it&#39;s conversational advice, better autocomplete, or even just plain code generation. However, the use-case that I...</description>
        <content:encoded><![CDATA[<p>AI seems to have weaved its way into most software developers daily life, whether it's conversational advice, better autocomplete, or even just plain code generation. However, the use-case that I really enjoy is when it can speed-run boring tasks for me.</p>
<p>I don't use AI <em>that much</em> when programming. For me, I prefer it to complete little side quests for me than to get involved in my main work.</p>
<p>My recent use case was for this blog. I change up how I write and publish posts quite regularly, depending on the computer, and tools I want to use. So while I'm using Omarchy on my new Framework laptop, I'm more terminal-heavy than before. So ideally, I'd be able to run a quick shell script on my laptop, and then jump into writing a blog post.</p>
<p>So I gave Perplexity my idea, and then let it come up with a simple bash script to do that very job for me.</p>
<pre><code class="language-bash">#!/usr/bin/env bash

# Exit if no title is provided
if [ -z &quot;$1&quot; ]; then
  echo &quot;Usage: $0 \&quot;Post Title\&quot;&quot;
  exit 1
fi

# Get current date parts
YEAR=$(date +%Y)
MONTH=$(date +%m)
DATE=$(date +%Y-%m-%d)

# Input title
TITLE=&quot;$1&quot;

# Create slug (snake_case for filename, kebab-case for permalink)
SLUG_SNAKE=$(echo &quot;$TITLE&quot; | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9]+/_/g; s/^_|_$//g')
SLUG_KEBAB=$(echo &quot;$TITLE&quot; | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9]+/-/g; s/^-|-$//g')

# Directory structure
DIR=&quot;posts/$YEAR/$MONTH&quot;
mkdir -p &quot;$DIR&quot;

# Filename
FILE=&quot;$DIR/$SLUG_SNAKE.md&quot;

# If file already exists, don’t overwrite
if [ -f &quot;$FILE&quot; ]; then
  echo &quot;File already exists: $FILE&quot;
  nvim &quot;$FILE&quot;
  exit 0
fi

# Write frontmatter to file
cat &gt;&quot;$FILE&quot; &lt;&lt;EOF
---
title: $TITLE
date: $DATE
tags:
  - post
layout: layouts/post
permalink: $SLUG_KEBAB/
---
EOF

# Open in Neovim
nvim +&quot;normal Go&quot; &quot;$FILE&quot;
</code></pre>
<p><a href="https://gist.github.com/chrishannah/32aa01dd6ce4f9432d0a0388c728d418">GitHub Gist</a></p>
<p>It does the following:</p>
<ol>
<li>Takes in a single parameter, which is the blog post title.</li>
<li>Creates any required directories.</li>
<li>It uses that title in snake case for the filename, and creates a file.</li>
<li>It uses the title again, but in kebab case for the permalink.</li>
<li>Generates the rest of the frontmatter required for a standard post.</li>
<li>Opens the new file in Neovim.</li>
</ol>
<p><a href="https://www.youtube.com/watch?v=PLqmF2vesbQ">Watch it in action</a>:</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/PLqmF2vesbQ?si=0ozMxIrIILA1DGOg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>
<p>I'm sure I could have written this script myself, but I didn't want to. This is the sort of task that I put off for weeks, and maybe never get around to doing it. So being able to get AI to do this for me, makes my life much easier.</p>
<hr />
<p>I only just thought about this, but I should probably make use of my own Text Case CLI tool, and also format the title properly. That can be in the next version.</p>
<img src="https://tinylytics.app/pixel/e7KoNsv_jq9FizddEYyk.gif?path=/my-favourite-use-case-for-ai/" alt="" style="width:1px;height:1px;border:0;"/>]]></content:encoded>
        <pubDate>Sun, 21 Sep 2025 24:00:00 GMT</pubDate>
        <dc:creator>Chris Hannah</dc:creator>
        <guid>https://chrishannah.me/my-favourite-use-case-for-ai/</guid>
      </item>
    
  </channel>
</rss>
