<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog on Bill Glover</title>
    <link>https://billglover.me/blog/</link>
    <description>Recent content in Blog on Bill Glover</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <managingEditor>hello@bill.dev (Bill)</managingEditor>
    <webMaster>hello@bill.dev (Bill)</webMaster>
    <atom:link href="https://billglover.me/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>2026 Week 22</title>
      <link>https://billglover.me/2026/06/03/2026-week-22/</link>
      <pubDate>Wed, 03 Jun 2026 08:44:59 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/06/03/2026-week-22/</guid>
      <description>&lt;p&gt;We couldn&amp;rsquo;t have asked for a better start to the half term week. We spent the weekend camping with friends just outside London. I&amp;rsquo;m a lightweight camper, and I&amp;rsquo;m incredibly stubborn in insisting that we have to be able to carry everything we bring, no car. Packing was fun. Oscar and I have been camping several times before but this was the first time we went as a family. It was really nice to see both Ethan and Alicia embrace the experience.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Friend&#39;s Tea - Chapter 3 (山，在身后了)</title>
      <link>https://billglover.me/2026/05/29/friends-tea-chapter-3-%E5%B1%B1%E5%9C%A8%E8%BA%AB%E5%90%8E%E4%BA%86/</link>
      <pubDate>Fri, 29 May 2026 10:29:11 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/29/friends-tea-chapter-3-%E5%B1%B1%E5%9C%A8%E8%BA%AB%E5%90%8E%E4%BA%86/</guid>
      <description>&lt;p&gt;I aim to improve my Chinese reading through regular practice. This video represents a point on that journey.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Text:&lt;/strong&gt; Friend&amp;rsquo;s Tea - Chapter 3 (山，在身后了)&lt;br&gt;&#xA;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href=&#34;https://duchinese.net/lessons/courses/135-friends-tea&#34;&gt;Du Chinese&lt;/a&gt;&lt;br&gt;&#xA;&lt;strong&gt;Level:&lt;/strong&gt; Elementary&lt;/p&gt;&#xA;&lt;div style=&#34;max-width: 400px; margin: 0 auto;&#34;&gt;&#xA;    &lt;iframe&#xA;        src=&#34;https://player.mediadelivery.net/embed/662725/0e141254-086b-46c9-bd7d-231e3d8511a3?autoplay=false&amp;loop=false&amp;muted=false&amp;preload=true&amp;responsive=true&#xA;        loading=&#34;lazy&#34;&#xA;        referrerpolicy=&#34;origin&#34;&#xA;        style=&#34;border: 0; width: 100%; aspect-ratio: 9 / 16; display: block;&#34;&#xA;        allow=&#34;accelerometer;gyroscope;autoplay;encrypted-media;picture-in-picture;fullscreen;&#34;&#xA;        allowfullscreen=&#34;true&#34;&gt;&#xA;    &lt;/iframe&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Throwback Thursday</title>
      <link>https://billglover.me/2026/05/28/throwback-thursday/</link>
      <pubDate>Thu, 28 May 2026 08:00:00 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/28/throwback-thursday/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/05/28/throwback-thursday/img/20030603_200335_hu_a4424e3b67c721cd.webp 500w&#xA;        &#xA;        &#xA;            , /2026/05/28/throwback-thursday/img/20030603_200335_hu_3ed82fa864a75531.webp 800w&#xA;        &#xA;        &#xA;            , /2026/05/28/throwback-thursday/img/20030603_200335_hu_a352f57e102b8b88.webp 1200w&#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/05/28/throwback-thursday/img/20030603_200335.webp&#34; &#xA;        &#xA;         alt=&#34;Two people sit on the roof of a house, one plays a guitar.&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;The Band, Bristol - 2003&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Today&amp;rsquo;s throwback Thursday takes me back to life in my second year at Bristol, we&amp;rsquo;d moved out of student halls into a shared flat. We used to use the roof  in lieu of a garden. My housemate Pedro and his friend Julius were starting a band and in need of a cover photo for their first album. As the proud owner of a digital camera, I took this photo for them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 21</title>
      <link>https://billglover.me/2026/05/27/2026-week-21/</link>
      <pubDate>Wed, 27 May 2026 17:51:45 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/27/2026-week-21/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been asked to talk about AI more often than I&amp;rsquo;d like. I usually like to speak from a place of personal experience. Being able to relate a challenge to my own experience in a similar context is one of the things that I feel I do really well. But AI is too new, the restrictions on use of AI in a work context are a barrier, and personal reactions to AI are often raw and often impassioned. I&amp;rsquo;m AI curious but not AI experienced. I don&amp;rsquo;t think this craze has been around long enough for the real consequences to be felt, let alone for lessons to have been learned. Being asked to speak about it has been a real personal challenge. My approach has been to look for threads of conversation, and see which resonate and then to try and build the conversation from there. My first attempt fell flat and quickly became a &amp;lsquo;Bill monologue&amp;rsquo;. I have work to do.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Photography</title>
      <link>https://billglover.me/2026/05/22/on-photography/</link>
      <pubDate>Fri, 22 May 2026 09:40:30 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/22/on-photography/</guid>
      <description>&lt;p&gt;A friend recently asked me about photography.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;When you go out with your camera… has there ever been a moment that stayed with you more than the photograph itself? Something you saw or felt that couldn’t really be captured, but remained with you anyway?&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Thinking about this question got me wondering about what it is that I enjoy about photography. What follows is an edited version of the answer that I gave.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Throwback Thursday</title>
      <link>https://billglover.me/2026/05/21/throwback-thursday/</link>
      <pubDate>Thu, 21 May 2026 21:47:13 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/21/throwback-thursday/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/05/21/throwback-thursday/img/20000901_000000-145_hu_bc656bf059d9cc2f.webp 500w&#xA;        &#xA;        &#xA;            , /2026/05/21/throwback-thursday/img/20000901_000000-145_hu_de526cbcc39281b7.webp 800w&#xA;        &#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/05/21/throwback-thursday/img/20000901_000000-145.webp&#34; &#xA;        &#xA;         alt=&#34;The Drakensberg Mountains, South Africa - 2000&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;The Drakensberg Mountains, South Africa - 2000&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Back in 2000 I took a trip to South Africa with some school friends. We carried everything we needed on our backs and left technology behind. No watches, no music, no phones. I took a film camera with me. I remember how it took several days for us to forget all sense of artificial rhythm and embrace the world around us. We moved by daylight, rested during the midday heat, camped when the ground allowed, and washed when we came across water.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Every Mark</title>
      <link>https://billglover.me/2026/05/19/every-mark/</link>
      <pubDate>Tue, 19 May 2026 08:43:49 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/19/every-mark/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/05/19/every-mark/img/every-mark_hu_3471df38195ff3fa.webp 500w&#xA;        &#xA;        &#xA;            , /2026/05/19/every-mark/img/every-mark_hu_f7347d57dc120254.webp 800w&#xA;        &#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/05/19/every-mark/img/every-mark.webp&#34; &#xA;        &#xA;         alt=&#34;a photo of a negative showing a table covered in urns&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;a mark made on film, a moment in time, unique&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;We&amp;rsquo;ve spent a lot of time trying to perfect the art of replication. We capture and reproduce ever increasing bitrates, colour depth, frame rates. We grade our colours and match them to paper in an effort to faithfully reproduce an original.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 20</title>
      <link>https://billglover.me/2026/05/17/2026-week-20/</link>
      <pubDate>Sun, 17 May 2026 21:49:35 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/17/2026-week-20/</guid>
      <description>&lt;p&gt;I used to travel every week for work. It was never a struggle to pack, there was always a bag read; enough clothes, a laptop, a book, and a myriad of charging cables. Monday morning would arrive and I&amp;rsquo;d grab the bag and leave for the station. This week was the opposite. I was in Edinburgh for a couple of days and had no idea what to pack. I left home, only to realise I&amp;rsquo;d left my card behind.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Friend&#39;s Tea - Chapter 2 (他们是谁)</title>
      <link>https://billglover.me/2026/05/17/friends-tea-chapter-2-%E4%BB%96%E4%BB%AC%E6%98%AF%E8%B0%81/</link>
      <pubDate>Sun, 17 May 2026 20:53:35 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/17/friends-tea-chapter-2-%E4%BB%96%E4%BB%AC%E6%98%AF%E8%B0%81/</guid>
      <description>&lt;p&gt;I aim to improve my Chinese reading through regular practice. This video represents a point on that journey.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Text:&lt;/strong&gt; Friend&amp;rsquo;s Tea - Chapter 2 (他们是谁)&lt;br&gt;&#xA;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href=&#34;https://duchinese.net/lessons/courses/135-friends-tea&#34;&gt;Du Chinese&lt;/a&gt;&lt;br&gt;&#xA;&lt;strong&gt;Level:&lt;/strong&gt; Elementary&lt;/p&gt;&#xA;&lt;div style=&#34;max-width: 400px; margin: 0 auto;&#34;&gt;&#xA;    &lt;iframe&#xA;        src=&#34;https://player.mediadelivery.net/embed/662725/b8400371-872c-45ea-8c03-4d4840ef0f3c?autoplay=false&amp;loop=false&amp;muted=false&amp;preload=true&amp;responsive=true&#xA;        loading=&#34;lazy&#34;&#xA;        referrerpolicy=&#34;origin&#34;&#xA;        style=&#34;border: 0; width: 100%; aspect-ratio: 9 / 16; display: block;&#34;&#xA;        allow=&#34;accelerometer;gyroscope;autoplay;encrypted-media;picture-in-picture;fullscreen;&#34;&#xA;        allowfullscreen=&#34;true&#34;&gt;&#xA;    &lt;/iframe&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>2026 Week 19</title>
      <link>https://billglover.me/2026/05/17/2026-week-19/</link>
      <pubDate>Sun, 17 May 2026 17:34:12 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/17/2026-week-19/</guid>
      <description>&lt;h1 id=&#34;2026-w19&#34;&gt;2026 W19&lt;/h1&gt;&#xA;&lt;p&gt;Most countries have the 1st May as a national holiday. For some reason we push the holiday to the first Monday of the month. We kicked off the short week by going to see Oscar perform at the &lt;a href=&#34;https://www.countyhallarts.com/stories/seeds-of-change&#34;&gt;Seeds of Change&lt;/a&gt; concert in &lt;a href=&#34;https://en.wikipedia.org/wiki/County_Hall,_London&#34;&gt;County Hall&lt;/a&gt; in London. It was an absolute delight to watch him perform and we were really lucky to have the extended family join us for the event.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Friend&#39;s Tea - Chapter 1 (小绿的家)</title>
      <link>https://billglover.me/2026/05/13/friends-tea-chapter-1-%E5%B0%8F%E7%BB%BF%E7%9A%84%E5%AE%B6/</link>
      <pubDate>Wed, 13 May 2026 17:09:45 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/13/friends-tea-chapter-1-%E5%B0%8F%E7%BB%BF%E7%9A%84%E5%AE%B6/</guid>
      <description>&lt;p&gt;I aim to improve my Chinese reading through regular practice. This video represents a point on that journey.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Text:&lt;/strong&gt; Friend&amp;rsquo;s Tea - Chapter 1 (小绿的家)&lt;br&gt;&#xA;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href=&#34;https://duchinese.net/lessons/courses/135-friends-tea&#34;&gt;Du Chinese&lt;/a&gt;&lt;br&gt;&#xA;&lt;strong&gt;Level:&lt;/strong&gt; Elementary&lt;/p&gt;&#xA;&lt;div style=&#34;max-width: 400px; margin: 0 auto;&#34;&gt;&#xA;    &lt;iframe&#xA;        src=&#34;https://player.mediadelivery.net/embed/662725/49c1637e-dd41-497a-874d-47b45252da70?autoplay=false&amp;loop=false&amp;muted=false&amp;preload=true&amp;responsive=true&#34;&#xA;        loading=&#34;lazy&#34;&#xA;        referrerpolicy=&#34;origin&#34;&#xA;        style=&#34;border: 0; width: 100%; aspect-ratio: 9 / 16; display: block;&#34;&#xA;        allow=&#34;accelerometer;gyroscope;autoplay;encrypted-media;picture-in-picture;fullscreen;&#34;&#xA;        allowfullscreen=&#34;true&#34;&gt;&#xA;    &lt;/iframe&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>2026 Week 17</title>
      <link>https://billglover.me/2026/05/02/2026-week-17/</link>
      <pubDate>Sat, 02 May 2026 20:32:45 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/02/2026-week-17/</guid>
      <description>&lt;p&gt;I celebrated my birthday this week. My birthday itself was Zoom heavy but we did get to enjoy a meal together as a family. Overall the week has been gloriously sunny, not too hot and that&amp;rsquo;s made it really hard not to be generally positive. Now that we&amp;rsquo;ve started to spend more time in the garden it is painfully obvious that our lawn needs a lot of work. The ground is harsh, weeds are starting to dominate and bald patches are starting to emerge. Tips for lawn care (including improving the soil) would be appreciated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 18</title>
      <link>https://billglover.me/2026/05/02/2026-week-18/</link>
      <pubDate>Sat, 02 May 2026 20:32:45 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/05/02/2026-week-18/</guid>
      <description>&lt;p&gt;In a bit of a change this week, I ended up travelling into town three times. A combination of work and social events brought back memories of the daily commute, life in the city. If I&amp;rsquo;m honest, I do occasionally miss it. As I left Bank station on Thursday evening there was an audible din from the surrounding pubs as people flocked to the streets to enjoy the last few hours of sunshine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Photos from China</title>
      <link>https://billglover.me/2026/04/24/photos-from-china/</link>
      <pubDate>Fri, 24 Apr 2026 09:08:10 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/04/24/photos-from-china/</guid>
      <description>&lt;h2 id=&#34;nanjing--yangzhou&#34;&gt;Nanjing &amp;amp; Yangzhou&lt;/h2&gt;&#xA;&lt;p&gt;This was my first trip to Nanjing and Yangzhou. My wife was working in Nanjing for a couple of days and we thought it would be a good chance to visit somewhere new. The bulk of my photos this trip focus on the boys and attempt to capture how their relationship is developing and how they experience China. Presented here are a few photos where I turned the camera away from the family and tried to tell the story of my own experience.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Everything I Listened to on My Birthday</title>
      <link>https://billglover.me/2026/04/23/everything-i-listened-to-on-my-birthday/</link>
      <pubDate>Thu, 23 Apr 2026 20:56:56 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/04/23/everything-i-listened-to-on-my-birthday/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/04/23/everything-i-listened-to-on-my-birthday/img/2026-04-22_everything-i-listened-to_hu_68adee694eff76a2.webp 500w&#xA;        &#xA;        &#xA;            , /2026/04/23/everything-i-listened-to-on-my-birthday/img/2026-04-22_everything-i-listened-to_hu_cc732111900e4245.webp 800w&#xA;        &#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/04/23/everything-i-listened-to-on-my-birthday/img/2026-04-22_everything-i-listened-to.webp&#34; &#xA;        &#xA;         alt=&#34;a grid of album covers&#34;/&gt;&#xA;&lt;/figure&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.discogs.com/master/1310529-The-Wombats-Beautiful-People-Will-Ruin-Your-Life&#34;&gt;Beautiful People Will Ruin Your Life&lt;/a&gt;, The Wombats &lt;a href=&#34;https://music.apple.com/gb/album/1439067074&#34;&gt;🎧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.discogs.com/master/4193967-The-Maine-Joy-Next-Door&#34;&gt;Joy Next Door&lt;/a&gt;, The Maine &lt;a href=&#34;https://music.apple.com/gb/album/joy-next-door/1874354034&#34;&gt;🎧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.discogs.com/master/3841038-Spacey-Jane-If-That-Makes-Sense-&#34;&gt;If That Makes Sense&lt;/a&gt;, Spacey Jane &lt;a href=&#34;https://music.apple.com/gb/album/1786317050&#34;&gt;🎧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.discogs.com/master/3528-Death-Cab-For-Cutie-Transatlanticism&#34;&gt;Transatlanticism&lt;/a&gt;, Death Cab for Cutie &lt;a href=&#34;https://music.apple.com/gb/album/transatlanticism-10th-anniversary-edition/721842544&#34;&gt;🎧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Bittersweet 16, Mckenna Grace &lt;a href=&#34;https://music.apple.com/gb/album/1812713792&#34;&gt;🎧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.discogs.com/master/3546-Death-Cab-For-Cutie-Plans&#34;&gt;Plans&lt;/a&gt;, Death Cab for Cutie &lt;a href=&#34;https://music.apple.com/gb/album/966377290&#34;&gt;🎧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.discogs.com/master/1769340-9m88-%E5%B9%B3%E5%BA%B8%E4%B9%8B%E4%B8%8A-Beyond-Mediocrity&#34;&gt;Beyond Mediocrity&lt;/a&gt;, 9m88 &lt;a href=&#34;https://music.apple.com/gb/album/1474635060&#34;&gt;🎧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.discogs.com/master/3254929-9m88-9m88-Radio&#34;&gt;Radio&lt;/a&gt;, 9m88 &lt;a href=&#34;https://music.apple.com/gb/album/1633613200&#34;&gt;🎧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.discogs.com/master/264742-Arcade-Fire-The-Suburbs&#34;&gt;The Suburbs&lt;/a&gt;, Arcade Fire &lt;a href=&#34;https://music.apple.com/gb/album/1252757950&#34;&gt;🎧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Spot the point at which Ethan came home and asked for something more in keeping with a birthday.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 16</title>
      <link>https://billglover.me/2026/04/23/2026-week-16/</link>
      <pubDate>Thu, 23 Apr 2026 18:46:28 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/04/23/2026-week-16/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m really glad I had the camera on me this week. It was a difficult week. Oscar was off school, Alicia was in Bologna for a few days. Difficult news at work meant that things all felt a bit much. Sleep suffered.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m glad I had the camera because, looking back over the week, it was filled with happy moments. Oscar and I have really enjoyed playing Monopoly Deal over coffee before starting the day. Ethan got to celebrate his birthday all over again, this time in the UK. We were all glad to have Alicia back.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Your email is not secure enough</title>
      <link>https://billglover.me/2026/04/17/your-email-is-not-secure-enough/</link>
      <pubDate>Fri, 17 Apr 2026 07:11:30 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/04/17/your-email-is-not-secure-enough/</guid>
      <description>&lt;p&gt;After a recent incident involving a missing delivery, Amazon sent me an email asking for help in following up with the courier company. I replied only to receive the following response moments later.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We received your email to Amazon Customer Service. For security reasons, we can only process emails from addresses that meet certain email security standards. This helps protect all our customers.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s how you can reach us immediately:&lt;/p&gt;</description>
    </item>
    <item>
      <title>File transfer made easy</title>
      <link>https://billglover.me/2026/04/16/file-transfer-made-easy/</link>
      <pubDate>Thu, 16 Apr 2026 15:59:46 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/04/16/file-transfer-made-easy/</guid>
      <description>&lt;p&gt;My wife recorded several hours of audio during the Bologna Book Fair this week. We&amp;rsquo;d agreed that she&amp;rsquo;d send me the audio each evening and I&amp;rsquo;d run it through local transcription to give her an editable text version of the conversations.&lt;/p&gt;&#xA;&lt;p&gt;When she tried to send me the files, she was presented with the following error.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure class=&#34;half-width&#34;&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/04/16/file-transfer-made-easy/img/too-large_hu_5f9b8341c451cc36.png 500w&#xA;        &#xA;        &#xA;            , /2026/04/16/file-transfer-made-easy/img/too-large_hu_8b5b1abe35b04cf7.png 800w&#xA;        &#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/04/16/file-transfer-made-easy/img/too-large.png&#34; &#xA;        &#xA;         alt=&#34;a screenshot of an iMessage error message in Chinese&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;attachment too long&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 15</title>
      <link>https://billglover.me/2026/04/13/2026-week-15/</link>
      <pubDate>Mon, 13 Apr 2026 19:07:58 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/04/13/2026-week-15/</guid>
      <description>&lt;p&gt;Jet-lag is bad enough but jet-lag with children is a nightmare. Poor Ethan has been so confused over the last couple of days. He ignored a suggestion to sleep as it wasn&amp;rsquo;t dark outside, then we found him fast asleep on the sofa still in his shoes and jacket. I carried him up to bed and just left him to sleep. Around 4am this morning he got up and, realising he was dressed already, put his pyjamas on and tried to put himself to bed. As Alicia left for an early flight, he said she couldn&amp;rsquo;t go out because it was still dark. His confusion reflects how we all feel. We are back in the UK.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why You Can&#39;t Change Anyone</title>
      <link>https://billglover.me/2026/04/10/why-you-cant-change-anyone/</link>
      <pubDate>Fri, 10 Apr 2026 08:46:02 +0800</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/04/10/why-you-cant-change-anyone/</guid>
      <description>&lt;p&gt;Over on her Substack &lt;a href=&#34;https://substack.com/@aliciaatsub&#34;&gt;my friend Alicia&lt;/a&gt; writes about the quiet, often overlooked parts of being human. Her recent article &lt;a href=&#34;https://thebeginnersmindcoaching.substack.com/p/why-you-cant-change-anyone&#34;&gt;Why You Can&amp;rsquo;t Change Anyone&lt;/a&gt; resonates with my own experiences supporting people in their tech careers.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve always felt uncomfortable at the thought of advising others. Throughout my 13 years in consulting, the idea of offering advice from a position of ignorance always felt odd. I do agree that an outside perspective can be useful but all too often there is an expectation to associate the role with expertise, experience or knowledge. This was a mistake. The only way I knew how to approach consulting was from a place of discovery. The job as I saw it was more to listen and observe than it was to act.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 14</title>
      <link>https://billglover.me/2026/04/06/2026-week-14/</link>
      <pubDate>Mon, 06 Apr 2026 20:14:05 +0800</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/04/06/2026-week-14/</guid>
      <description>&lt;p&gt;This week has been a delight. We arrived back in Beijing after a weeks travelling and enjoyed our first rest day. We took the boys to the local park, the universal appeal of swings and slides keeping them entertained for far longer than expected. Ethan took great pleasure in trying to use the outdoor exercise equipment.&lt;/p&gt;&#xA;&lt;p&gt;Last Monday we took the train to Nanjing. Alicia was speaking at an event on Tuesday and we came along for the trip. This meant I had the boys to myself for Tuesday. I gave them a couple of options; a walk around the lake then find somewhere nice to eat, or head to the zoo with unknown food options. Secretly I was hoping for the walk around the lake. That was the easy option, no travel, known food places, and easy reach of the hotel if they got tired. Of course they picked the zoo. Surprisingly undeterred by the unknown food options, Oscar insisted that zoos always have places to eat. And so I ended up taking the two boys to the Red Mountain Forrest Zoo, &lt;a href=&#34;https://en.wikipedia.org/wiki/Hongshan_Forest_Zoo&#34;&gt;红山森林动物园&lt;/a&gt; (hóng shān sēn lín dòng wù yuán), for the day. Our adult to child ratios may have been way off (1:2) when compared with most others (4:1 or 6:1) but we had a great time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 13</title>
      <link>https://billglover.me/2026/03/29/2026-week-13/</link>
      <pubDate>Sun, 29 Mar 2026 22:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/03/29/2026-week-13/</guid>
      <description>&lt;p&gt;This has been a whirlwind of a week. Monday morning, I was frantically bouncing between Zoom calls, trying to figure out what I could get done in a few days. I had to work this week. By Sunday I was in Beijing with the family preparing for a trip to Nanjing and Yangzhou. Somewhere in the middle of that, we secured tickets to EMF Camp in July, Oscar sat his piano exam, and finished school for the Easter break. Oh, and I finished the Kew 10km race hours before heading to the airport.&lt;/p&gt;</description>
    </item>
    <item>
      <title>From / To</title>
      <link>https://billglover.me/2026/03/28/from-/-to/</link>
      <pubDate>Sat, 28 Mar 2026 15:38:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/03/28/from-/-to/</guid>
      <description>&lt;p&gt;It started innocently enough.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;I&amp;rsquo;ve ordered us a couple of converters from English to Chinese. They will arrive by the time we land in Beijing.&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;We are heading away and we couldn&amp;rsquo;t find our international plug converters. Both of us have packed them away somewhere that seemed sensible at the time but long since forgotten. Too late to pick something up before we left, Alicia ordered a couple to be delivered on arrival in Beijing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nothing is Safe on the Internet</title>
      <link>https://billglover.me/2026/03/26/nothing-is-safe-on-the-internet/</link>
      <pubDate>Thu, 26 Mar 2026 16:14:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/03/26/nothing-is-safe-on-the-internet/</guid>
      <description>&lt;p&gt;I feel I&amp;rsquo;ve always known that things on the internet will get discovered eventually. Many years ago, I took my first foray into self-hosting. A discarded Windows PC became a Linux host, the Linux machine became a local network server allowing multiple machines to be online at once. And with the dedicated phone line, it kept the connection alive even while we slept. As my curiosity grew, I began hosting all the things; a simple website, a photo gallery, an email server, a shared calendar, and even my own attempt at an LDAP backed address book that worked with Nokia phones.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 12</title>
      <link>https://billglover.me/2026/03/22/2026-week-12/</link>
      <pubDate>Sun, 22 Mar 2026 21:18:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/03/22/2026-week-12/</guid>
      <description>&lt;p&gt;Work has been motivationally challenging this week. With my ability to effect change largely dependent on my powers of persuasion or inspiration, I&amp;rsquo;m sometimes forced to accept that some weeks priorities do not align. To keep myself useful, and sane, I&amp;rsquo;ve been trying to help others where possible; demos, environments, debugging or just acting as a sounding board.&lt;/p&gt;&#xA;&lt;p&gt;It was good to get in to the city and see colleagues in person on Wednesday. I&amp;rsquo;m not sure I needed to stay out until the early hours of Thursday morning. It was fun though.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 11</title>
      <link>https://billglover.me/2026/03/16/2026-week-11/</link>
      <pubDate>Mon, 16 Mar 2026 14:57:50 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/03/16/2026-week-11/</guid>
      <description>&lt;p&gt;I missed the opportunity to publish a weekly recap &lt;a href=&#34;https://billglover.me/2026/03/16/2026-week-10/&#34;&gt;last week&lt;/a&gt;. It was Thursday by the time I sat down to write, and by that point it felt like I&amp;rsquo;d missed the window.&lt;/p&gt;&#xA;&lt;p&gt;At work last week I continued the theme of meeting application developers who use our platform. The feedback we&amp;rsquo;ve been given is interesting. We&amp;rsquo;re forever being told what developers want, developers need and how developers need to be measured. It has been quite refreshing to hear from development teams directly what they see as the benefits of an application platform and where they see some of the challenges.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 10</title>
      <link>https://billglover.me/2026/03/16/2026-week-10/</link>
      <pubDate>Mon, 16 Mar 2026 14:56:57 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/03/16/2026-week-10/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/03/16/2026-week-10/img/2026_W10_IMG01_hu_e37d7d1ee316c06d.webp 500w&#xA;        &#xA;        &#xA;            , /2026/03/16/2026-week-10/img/2026_W10_IMG01_hu_9efad2e219db1539.webp 800w&#xA;        &#xA;        &#xA;            , /2026/03/16/2026-week-10/img/2026_W10_IMG01_hu_71e746b2fe050267.webp 1200w&#xA;        &#xA;        &#xA;            , /2026/03/16/2026-week-10/img/2026_W10_IMG01_hu_d0c95052b42720f8.webp 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/03/16/2026-week-10/img/2026_W10_IMG01.webp&#34; &#xA;        &#xA;         alt=&#34;Sunrise in London. The trees silhouetted against the morning sun. The outline of a chimney pot visible in the foreground.&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;Red sky in the morning&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/03/16/2026-week-10/img/2026_W10_IMG02_hu_4e931343a70ff5ba.webp 500w&#xA;        &#xA;        &#xA;            , /2026/03/16/2026-week-10/img/2026_W10_IMG02_hu_f597960701d22283.webp 800w&#xA;        &#xA;        &#xA;            , /2026/03/16/2026-week-10/img/2026_W10_IMG02_hu_3406f731dd3352ca.webp 1200w&#xA;        &#xA;        &#xA;            , /2026/03/16/2026-week-10/img/2026_W10_IMG02_hu_ace052cba1d12cc5.webp 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/03/16/2026-week-10/img/2026_W10_IMG02.webp&#34; &#xA;        &#xA;         alt=&#34;An image of a dragon on a folded sheet of white paper. The bottom half of the dragon is in purple, moving through red and on to yellow as you move up the dragon. In the background there are an array of watercolour pens and a kids airbrush.&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;The dragon&lt;/p&gt;</description>
    </item>
    <item>
      <title>Goodbye AWS</title>
      <link>https://billglover.me/2026/03/16/goodbye-aws/</link>
      <pubDate>Mon, 16 Mar 2026 13:19:47 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/03/16/goodbye-aws/</guid>
      <description>&lt;p&gt;This week I managed to remove all remaining resources and close my AWS account. I&amp;rsquo;ve been receiving a bill for about $3 every month for a while but have long since stopped actively using the account.&lt;/p&gt;&#xA;&lt;p&gt;When it came to closing the account, there were three things I needed to clean up.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;DNS Entries with Route53 -&amp;gt; moved to Digital Ocean&lt;/li&gt;&#xA;&lt;li&gt;BuddyBot (Lamda, s3, DynamoDB) -&amp;gt; service retired&lt;/li&gt;&#xA;&lt;li&gt;s3 Buckets -&amp;gt; archived locally or self-hosted Garage&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Of these, it is the retirement of BuddyBot that left me feeling most sentimental. Spun up over 10 years ago, it was a service that allowed Slack users to flag posts for admin attention without drawing public attention to the fact that they had done so. I built it as a way to learn more about building applications using AWS Lambda. It has run without maintenance for almost 10 years. It was designed to hover along within free-tier limits and other than the occasional reminder that I was always approaching those limits, or that the version of the Go runtime I&amp;rsquo;d used was no longer available on Lambda, I wouldn&amp;rsquo;t have known the service existed. It is a testament to the Lambda service that it has remind this stable for so long. That said, the application was terribly architected, built to explore patterns for orchestrating multiple Lambda services. If I were to build it today, I&amp;rsquo;d opt for a single service and eliminate the complexity of service-to-service overhead, particularly around error handling.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The maths behind speaking pens</title>
      <link>https://billglover.me/2026/03/13/the-maths-behind-speaking-pens/</link>
      <pubDate>Fri, 13 Mar 2026 21:17:37 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/03/13/the-maths-behind-speaking-pens/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/03/13/the-maths-behind-speaking-pens/img/img_01_hu_1c9c5f958fd7bba7.jpeg 500w&#xA;        &#xA;        &#xA;            , /2026/03/13/the-maths-behind-speaking-pens/img/img_01_hu_d4ad7cd91dbff3ee.jpeg 800w&#xA;        &#xA;        &#xA;            , /2026/03/13/the-maths-behind-speaking-pens/img/img_01_hu_c25d43e22c389b4b.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2026/03/13/the-maths-behind-speaking-pens/img/img_01_hu_93842d0b3be3536d.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/03/13/the-maths-behind-speaking-pens/img/img_01.jpeg&#34; &#xA;        &#xA;         alt=&#34;A wooden table. On the table sit a small speaker with a handle, a deck of cards on a ring binder, a large pen, and a lamp&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;Two of our book readers and a book of songs&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;A quick glance at the bookshelves in the boys rooms and it looks like we have as many Chinese as we do books in English. Ethan can’t yet read in either language and yet he spends hours engrossed in books. One of the ways he’s able to do so is with assistance of smart pens or a small smart speaker (pictured above). In this case, &amp;lsquo;smart&amp;rsquo;  doesn’t mean internet connected, it doesn’t mean they have a screen. I use the term smart because of delightfully clever way they work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 9</title>
      <link>https://billglover.me/2026/03/03/2026-week-9/</link>
      <pubDate>Tue, 03 Mar 2026 10:01:16 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/03/03/2026-week-9/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/03/03/2026-week-9/img/colour_1_hu_c050ffc3187d596.jpeg 500w&#xA;        &#xA;        &#xA;            , /2026/03/03/2026-week-9/img/colour_1_hu_5934c0f9d4ff9e1f.jpeg 800w&#xA;        &#xA;        &#xA;            , /2026/03/03/2026-week-9/img/colour_1_hu_64c9a1f026d18247.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2026/03/03/2026-week-9/img/colour_1_hu_7a3b39fe341627d9.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/03/03/2026-week-9/img/colour_1.jpeg&#34; &#xA;        &#xA;         alt=&#34;A burst of radial colour on watercolour paper. The colours range from blue, through purple, pink, red, orange and yellow.&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;Burst of colour&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;This weekly wrap up is a little later than planned. I ended last week absolutely exhausted. A combination Zoom fatigue at work, coupled with more screen time than usual left me feeling drained. Come Sunday night I took stock; behind on admin, behind on prep for next week, behind on sleep.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Expectations of immediacy</title>
      <link>https://billglover.me/2026/02/25/expectations-of-immediacy/</link>
      <pubDate>Wed, 25 Feb 2026 10:10:13 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/02/25/expectations-of-immediacy/</guid>
      <description>&lt;p&gt;We are obsessed with immediacy. At some point we started to expect that we&amp;rsquo;d all be notified, immediately, and then react to notifications for things that carry no urgency at all. Only this morning I was asked if I&amp;rsquo;d read an email only five minutes after it had been sent. This is not how I use email. It&amp;rsquo;s not how I use messaging apps.&lt;/p&gt;&#xA;&lt;p&gt;More importantly though, this is not how I expect you to use messaging apps. Unless I explicitly indicate the need for a timely response then please don&amp;rsquo;t rush, take your time. Slow down.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 8</title>
      <link>https://billglover.me/2026/02/23/2026-week-8/</link>
      <pubDate>Mon, 23 Feb 2026 06:03:12 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/02/23/2026-week-8/</guid>
      <description>&lt;p&gt;This week was the first week of the Chinese New Year. The boys covered the house in decorations, many of them for previous years. Given the non-stop rain we&amp;rsquo;ve had here in the UK for 2026, the additional colour was more welcome than usual. It was also half term which meant Oscar wasn&amp;rsquo;t at school. Alicia and I are fortunate enough that work is flexible and we can work from whatever venue Oscar is at. This week that meant a bunch of work from the poolside.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 7</title>
      <link>https://billglover.me/2026/02/16/2026-week-7/</link>
      <pubDate>Mon, 16 Feb 2026 16:35:49 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/02/16/2026-week-7/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve spent some time this week experimenting with Claude Code. I&amp;rsquo;m not using the latest models from Anthropic, but rather keeping things local and trying out different models. I spent most time with &lt;code&gt;gpt-oss:20b&lt;/code&gt; and &lt;code&gt;qwen3-coder:30b&lt;/code&gt;. I&amp;rsquo;m routing all requests through &lt;a href=&#34;https://aperture.tailscale.com&#34;&gt;Tailscale Aperture&lt;/a&gt; to keep an on how different models affect token usage. The results were surprising. Using the same tool, Claude Code, the two models result in significantly different token usage patterns. Model providers are in complete control over how many tokens we can expect to consume to achieve a given output.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intersecting Interests</title>
      <link>https://billglover.me/2026/02/13/intersecting-interests/</link>
      <pubDate>Fri, 13 Feb 2026 09:05:47 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/02/13/intersecting-interests/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/02/13/intersecting-interests/img/wwo-day1_hu_e47a16bf19fa1e08.png 500w&#xA;        &#xA;        &#xA;            , /2026/02/13/intersecting-interests/img/wwo-day1_hu_373deeec22b02b1c.png 800w&#xA;        &#xA;        &#xA;            , /2026/02/13/intersecting-interests/img/wwo-day1_hu_5b8c10eae5f1de14.png 1200w&#xA;        &#xA;        &#xA;            , /2026/02/13/intersecting-interests/img/wwo-day1_hu_7c914a0daa892dc.png 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/02/13/intersecting-interests/img/wwo-day1.png&#34; &#xA;        &#xA;         alt=&#34;An image of Chinese characters covered in randomly scattered squares of translucent material.&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;Weird Web October - Transparency&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;When we decide you want to learn something new it can feel incredibly daunting. Regardless of starting point or motivation, we are embarking on a journey into the unknown. Questions are everywhere;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://billglover.me/2023/11/06/what-do-you-want-to-learn/&#34;&gt;What should I learn?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Where do I start?&lt;/li&gt;&#xA;&lt;li&gt;How should I learn?&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://billglover.me/2024/05/11/what-is-progress/&#34;&gt;How do I measure progress?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://billglover.me/links/tomasstropus_theartoffinishing/&#34;&gt;What if I give up?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Back in 2019, I gave a talk at the London Gophers meet-up. The talk was titled: &lt;a href=&#34;https://billglover.me/2019/02/24/beyond-the-tour/&#34;&gt;Beyond the Tour&lt;/a&gt;. I can remember feeling like a fraud for giving the talk. I was well in to a career working with technology and here I was, using up a precious speaking slot, talking as if I was a complete beginner. I hadn’t achieved anything groundbreaking with Go. I had no new framework or product to promote. This was a talk about learning, an approach to learning that embraced the fact that I had other interests outside the world of Go. At the heart of my journey to learn Go, a series of intersecting interests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 6</title>
      <link>https://billglover.me/2026/02/08/2026-week-6/</link>
      <pubDate>Sun, 08 Feb 2026 20:19:29 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/02/08/2026-week-6/</guid>
      <description>&lt;h1 id=&#34;2026-w06&#34;&gt;2026 W06&lt;/h1&gt;&#xA;&lt;p&gt;This week the weather has been miserable. I&amp;rsquo;m all for cycling in the rain but this week has been tough going. The rain and the wind are one thing, but the killer was the timing of high tides. It&amp;rsquo;s not so much the flooding that&amp;rsquo;s a problem, we have a couple of alternative routes. As the water subsides, it leaves the road covered in waste. There&amp;rsquo;s the mud, the twigs, the occasional tree branch, and of course the plastic. Cycling along in the dark it&amp;rsquo;s not easy to avoid and we&amp;rsquo;ve ended up with our fair share of punctures.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on AI</title>
      <link>https://billglover.me/2026/02/06/thoughts-on-ai/</link>
      <pubDate>Fri, 06 Feb 2026 18:08:38 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/02/06/thoughts-on-ai/</guid>
      <description>&lt;p&gt;As I look around the co-working space around me, ‘AI’ is everywhere. To my left, someone on Zoom discussing the future of AI powered financial advice. To my right, two people pairing. Pairing on unpicking the mess generated by code generation. Directly in front of me, someone with two laptops. On one, Claude Code is burning through tokens while on the other they watch a show on Netflix.&lt;/p&gt;&#xA;&lt;p&gt;I’ve found myself increasingly conflicted about Artificial Intelligence (AI). There appear to be two camps; the AI fanboys and the AI haters. Forced to pick one, I’d be closer to a hater than a fanboy. But I’m not forced to pick. My thoughts on AI are more nuanced. Not only that, they vary constantly. I’ll be honest, I find it difficult to avoid falling victim to recency bias, over-indexing on the most recent thing I’ve read. Unfortunately exposing myself to both extremes hasn’t helped me develop my own nuanced position. It’s left me feeling exhausted, bouncing around without settling. What &lt;strong&gt;do&lt;/strong&gt; I think about AI?&lt;/p&gt;</description>
    </item>
    <item>
      <title>The lost art of browsing</title>
      <link>https://billglover.me/2026/02/06/the-lost-art-of-browsing/</link>
      <pubDate>Fri, 06 Feb 2026 10:24:32 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/02/06/the-lost-art-of-browsing/</guid>
      <description>&lt;p&gt;Browsing the web is a lost art. Where we once lost countless hours to browsing, we now consume the infinite feeds of content being fed to us. How much control we have over these feeds is debatable. It is a tired refrain to remind you that it is less than we think.&lt;/p&gt;&#xA;&lt;p&gt;I remarked to a friend that I’d been enjoying browsing individual sites again, enjoying re-discovering the quirky web that I grew up with.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 5</title>
      <link>https://billglover.me/2026/02/02/2026-week-5/</link>
      <pubDate>Mon, 02 Feb 2026 20:57:20 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/02/02/2026-week-5/</guid>
      <description>&lt;p&gt;I left this weekly note until Monday morning. Sunday was a hangover day after my brother and sister&amp;rsquo;s 40th on Saturday night. The last thing I wanted to do was reach for a keyboard.&lt;/p&gt;&#xA;&lt;p&gt;The week has been exhausting, the usual routine punctuated with a brief trip to Edinburgh. I picked the worst day to fly with the UK being battered by a storm it took multiple attempts to land. The flight may have only be an hour but it ranks with one of my worst ever for travel sickness. By the time we eventually touched down the last thing in the world I wanted to do was spend an evening cooped up in a hotel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 4</title>
      <link>https://billglover.me/2026/01/25/2026-week-4/</link>
      <pubDate>Sun, 25 Jan 2026 19:03:23 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/01/25/2026-week-4/</guid>
      <description>&lt;p&gt;I caught myself dancing in my chair this week. I was having great fun working on a demo for a workshop next Friday. This is one of the more complicated demos I’ve pulled together and it’s in an area I’ve not historically felt comfortable, Java and Spring. After a week of limited progress, things started to fall into place and I started to get a feel for how I want to use the demo to tell a story. I’m genuinely looking forward to continuing to work on this for the workshop on Friday. I’m hoping to be able to make the demo public.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spectrum Split</title>
      <link>https://billglover.me/2026/01/25/spectrum-split/</link>
      <pubDate>Sun, 25 Jan 2026 09:16:19 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/01/25/spectrum-split/</guid>
      <description>&lt;p&gt;I love this piece by &lt;a href=&#34;https://rootkid.me&#34;&gt;Root Kid&lt;/a&gt; entitled &lt;a href=&#34;https://rootkid.me/works/spectrum-slit&#34;&gt;Spectrum Split&lt;/a&gt; (via &lt;a href=&#34;https://www.theregister.com/2026/01/23/raspberry_pi_wifi_wall_art/&#34;&gt;The Register&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;Spectrum Slit is a sculptural installation that renders visible the otherwise imperceptible electromagnetic activity that permeates contemporary interior spaces. While a room may appear visually calm and silent, it is continuously traversed by dense fields of radio-frequency transmissions generated by wireless communication technologies.&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=moBCOEiqiPs&#34;&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2026/01/25/spectrum-split/img/spectrum-split_hu_250ed00e485da00.jpeg 500w&#xA;        &#xA;        &#xA;            , /2026/01/25/spectrum-split/img/spectrum-split_hu_4cb7966b77e5107e.jpeg 800w&#xA;        &#xA;        &#xA;            , /2026/01/25/spectrum-split/img/spectrum-split_hu_ff896b2a72b79fc3.jpeg 1200w&#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2026/01/25/spectrum-split/img/spectrum-split.jpeg&#34; &#xA;        &#xA;         alt=&#34;A long rectangular wall mounted light made up of thin LED filament wrapped around a frame.&#34;/&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;Spectrum Split (2026), by Root Kid - watch on YouTube&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Success</title>
      <link>https://billglover.me/2026/01/22/on-success/</link>
      <pubDate>Thu, 22 Jan 2026 18:49:14 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/01/22/on-success/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve often felt frustrated at the way we have come to define success. I&amp;rsquo;ve watched and admired those close to me run small businesses for many years. These businesses have taken no investment, survived economic shocks (the COVID-19 pandemic was not kind to business owners), and yet they continued to provide a stable income supporting employees and families. In my view these are the model of successful businesses.&lt;/p&gt;&#xA;&lt;p&gt;Inevitably this feeling of success is challenged. Are profits increasing? Are they increasing faster than last year? Has the business taken a large investment? Are they growing? Hiring more people? When is the acquisition? All of these are seen as indicators of success. It doesn&amp;rsquo;t matter that the business has been stable, employees, and customers are happy and income is dependable. It doesn&amp;rsquo;t matter that the company has no debt, or that it can provide flexibility around family life beyond the bare minimum offered by larger employers. To be successful numbers need to go up at an ever increasing rate.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 3</title>
      <link>https://billglover.me/2026/01/18/2026-week-3/</link>
      <pubDate>Sun, 18 Jan 2026 20:40:37 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/01/18/2026-week-3/</guid>
      <description>&lt;p&gt;I had the pleasure of having my colleague DaShaun Carter join me for Spring Office Hours this week. He covers the concept of Office Hours in his post on &lt;a href=&#34;https://dashaun.com/posts/offstage-advocacy/&#34;&gt;Off-Stage Advocacy&lt;/a&gt;. We revisited the challenge of keeping software patched and up to date, a topic that we&amp;rsquo;ve covered many times before. But this time something clicked for me. I realised why some teams were finding it difficult to implement the patterns. It wasn&amp;rsquo;t a technical challenge at all. They were struggling to relate what we were showing them and their daily responsibilities. This felt like something I could help with and spent some time pulling together my own flavour of the demo. It&amp;rsquo;s not quite there yet, but I&amp;rsquo;m surprisingly excited to be talking about software upgrades and patching.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 2</title>
      <link>https://billglover.me/2026/01/11/2026-week-2/</link>
      <pubDate>Sun, 11 Jan 2026 19:57:41 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/01/11/2026-week-2/</guid>
      <description>&lt;p&gt;This week marked the transition back into a routine. The Christmas decorations came down, Ethan started back at nursery and Oscar returned to school. I even had the house to myself for a couple of mornings.&lt;/p&gt;&#xA;&lt;p&gt;Despite the return to routine, I managed to enjoy spending time with the boys individually this week. Ethan is now an expert at lighting the fire and I got to witness his sheer delight as he managed to trace the numbers 1-10. He has started to express himself a lot more recently, wrapping up the week by declaring he wants to go to school not nursery. With Oscar I&amp;rsquo;ve been enjoying playing Monopoly Deal (think Monopoly but as a card game). It&amp;rsquo;s surprisingly fun. We&amp;rsquo;ve also made progress on that 1000 piece Oscar Piastri jigsaw.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026 Week 1</title>
      <link>https://billglover.me/2026/01/04/2026-week-1/</link>
      <pubDate>Sun, 04 Jan 2026 20:37:06 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2026/01/04/2026-week-1/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s hard to believe the first week of the year is already over. Oscar still has a couple of days off before heading back to school but Alicia and I are both back to work tomorrow.&lt;/p&gt;&#xA;&lt;p&gt;We celebrated the new year by making 饺子 (jiǎo zǐ). This has become something of a tradition for us after making them with Alicia&amp;rsquo;s family on our first new year together in China.&lt;/p&gt;&#xA;&lt;p&gt;The week has been remarkably social. We had my parents over on new years day, bumped into an old school friend and his family in the London Wetland Centre the next, went to a bubble show with friends and their family. Given we spend most of the year on autopilot, it has been really nice to spend time with others.&lt;/p&gt;</description>
    </item>
    <item>
      <title>December Festivities</title>
      <link>https://billglover.me/2025/12/31/december-festivities/</link>
      <pubDate>Wed, 31 Dec 2025 13:19:43 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/12/31/december-festivities/</guid>
      <description>&lt;p&gt;We’ve had one of the busiest Decembers in a long while. With both Alicia and I travelling for work. We didn’t manage to wind down before walking headlong in to Christmas festivities.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2025/12/31/december-festivities/img/img_01_hu_7a9ed9c6e3b1051d.jpeg 500w&#xA;        &#xA;        &#xA;            , /2025/12/31/december-festivities/img/img_01_hu_ddb6d7a5fc7e967e.jpeg 800w&#xA;        &#xA;        &#xA;            , /2025/12/31/december-festivities/img/img_01_hu_6f1fcb5507f0d811.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2025/12/31/december-festivities/img/img_01_hu_2109a466bd0f5f9.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2025/12/31/december-festivities/img/img_01.jpeg&#34; &#xA;        &#xA;         alt=&#34;A wooden tray containing dried citrus fruit and cinamon bark and a few fairy lights&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;homemade - dried citrus fruit as festive decoration&lt;/p&gt;</description>
    </item>
    <item>
      <title>Notes from November</title>
      <link>https://billglover.me/2025/12/05/notes-from-november/</link>
      <pubDate>Fri, 05 Dec 2025 10:03:11 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/12/05/notes-from-november/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2025/12/05/notes-from-november/img/img_01_hu_71bc81ec1428347f.jpeg 500w&#xA;        &#xA;        &#xA;            , /2025/12/05/notes-from-november/img/img_01_hu_f47264e9c1601de5.jpeg 800w&#xA;        &#xA;        &#xA;            , /2025/12/05/notes-from-november/img/img_01_hu_57bd85adac401d26.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2025/12/05/notes-from-november/img/img_01_hu_fc871430a0c66a44.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2025/12/05/notes-from-november/img/img_01.jpeg&#34; &#xA;        &#xA;         alt=&#34;a photo of a bonfire at night, the faces of people on the far side of the fire lit by the glow from the fire&#34;/&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;November is always a turning point in the year. The days start to get shorter, the weather begins to feel more wintery and people start to realise that the year is almost over. Work is invariably busy, but with people making plans for the festive season ahead motivation can be a struggle.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Weird Web October - Untold Stories</title>
      <link>https://billglover.me/2025/11/06/weird-web-october-untold-stories/</link>
      <pubDate>Thu, 06 Nov 2025 23:02:09 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/11/06/weird-web-october-untold-stories/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2025/11/06/weird-web-october-untold-stories/img/WWO_25_hu_8bf8d9b7ae8217c5.png 500w&#xA;        &#xA;        &#xA;            , /2025/11/06/weird-web-october-untold-stories/img/WWO_25_hu_9d8e8827f7a60eb4.png 800w&#xA;        &#xA;        &#xA;            , /2025/11/06/weird-web-october-untold-stories/img/WWO_25_hu_df75951235661303.png 1200w&#xA;        &#xA;        &#xA;            , /2025/11/06/weird-web-october-untold-stories/img/WWO_25_hu_9344af789ac8c7bd.png 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2025/11/06/weird-web-october-untold-stories/img/WWO_25.png&#34; &#xA;        &#xA;         alt=&#34;A collection of 31 different screenshots arranged in a grid. Each one showing a different web page.&#34;/&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;By the time I finished &lt;a href=&#34;https://weirdweboctober.website&#34;&gt;Weird Web October&lt;/a&gt; I’d had enough. I needed to close the laptop and do something else. I most definitely was not going to write a blog post about the experience. But &lt;a href=&#34;https://hey.georgie.nu/weirdweb2025/&#34; class=&#34;u-in-reply-to&#34;&gt;Georgie’s&lt;/a&gt; post dropped today and that gave me an opening. For all the weird site created through October, I want to know more about the ideas that never saw the light of day.&lt;/p&gt;</description>
    </item>
    <item>
      <title>LSO Family Concerts</title>
      <link>https://billglover.me/2025/11/02/lso-family-concerts/</link>
      <pubDate>Sun, 02 Nov 2025 19:22:49 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/11/02/lso-family-concerts/</guid>
      <description>&lt;h1 id=&#34;lso-family-concerts&#34;&gt;LSO Family Concerts&lt;/h1&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2025/11/02/lso-family-concerts/img/img_1_hu_ebe1eb8248ffc031.jpeg 500w&#xA;        &#xA;        &#xA;            , /2025/11/02/lso-family-concerts/img/img_1_hu_705856711c781d2f.jpeg 800w&#xA;        &#xA;        &#xA;            , /2025/11/02/lso-family-concerts/img/img_1_hu_c209a0b8171903a6.jpeg 1200w&#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2025/11/02/lso-family-concerts/img/img_1.jpeg&#34; &#xA;        &#xA;         alt=&#34;A photo of the London Symphony Orchestra on the Barbican main stage before a performance&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;The London Symphony Orchestra&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;This weekend we attended the latest Family Concert by the London Symphony Orchestra (LSO) at the Barbican Centre. If are looking for something to do with children in London, I recommend seeing if you can get tickets. You’ll need to plan several months ahead as these sell out fast.&lt;/p&gt;</description>
    </item>
    <item>
      <title>October Check-In</title>
      <link>https://billglover.me/2025/10/31/october-check-in/</link>
      <pubDate>Fri, 31 Oct 2025 21:22:59 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/10/31/october-check-in/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2025/10/31/october-check-in/img/IMG_01_hu_aa767a7273282503.jpeg 500w&#xA;        &#xA;        &#xA;            , /2025/10/31/october-check-in/img/IMG_01_hu_7c4b7cc4f978729d.jpeg 800w&#xA;        &#xA;        &#xA;            , /2025/10/31/october-check-in/img/IMG_01_hu_c82e26f2c6f9c1e9.jpeg 1200w&#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2025/10/31/october-check-in/img/IMG_01.jpeg&#34; &#xA;        &#xA;         alt=&#34;A black and white photo in dense fog. The photo shows a river, with a jetty in the foreground. Through the fog the outline of trees can be seen on the far bank.&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;River Thames in London on a foggy day&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;The clocks have gone back, the temperature has dropped and it feels like winter is around the corner. With half-term in the UK coming to and end I find myself flitting between thoughts of cozy winters by the fire and an unusual enthusiasm for being creative.&lt;/p&gt;</description>
    </item>
    <item>
      <title>James at the Edinburgh Corn Exchange</title>
      <link>https://billglover.me/2025/05/30/james-at-the-edinburgh-corn-exchange/</link>
      <pubDate>Fri, 30 May 2025 21:30:59 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/05/30/james-at-the-edinburgh-corn-exchange/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2025/05/30/james-at-the-edinburgh-corn-exchange/img/IMG_2140_hu_4d19fbdc479e76b6.jpeg 500w&#xA;        &#xA;        &#xA;            , /2025/05/30/james-at-the-edinburgh-corn-exchange/img/IMG_2140_hu_d5045dd81cc1c96c.jpeg 800w&#xA;        &#xA;        &#xA;            , /2025/05/30/james-at-the-edinburgh-corn-exchange/img/IMG_2140_hu_f2d91d3ad052bf07.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2025/05/30/james-at-the-edinburgh-corn-exchange/img/IMG_2140_hu_11e727cd4f7bddc9.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2025/05/30/james-at-the-edinburgh-corn-exchange/img/IMG_2140.jpeg&#34; &#xA;        &#xA;         alt=&#34;James at the Edinburgh Corn Exchange&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;James at the Edinburgh Corn Exchange&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;I was in Edinburgh for work, the same time as James happened to be playing a warm-up gig at the Edinburgh Corn Exchange. Despite &lt;a href=&#34;https://billglover.me/music/james/yummy/&#34;&gt;Yummy&lt;/a&gt; being my album of 2024, James weren&amp;rsquo;t a band I had high up on those I needed to see live. The show was incredible and I&amp;rsquo;d jump at the chance to see them again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Blogging</title>
      <link>https://billglover.me/2025/04/29/on-blogging/</link>
      <pubDate>Tue, 29 Apr 2025 07:52:13 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/04/29/on-blogging/</guid>
      <description>&lt;p&gt;I started blogging back when I was a teenager. I&amp;rsquo;ve long since forgotten what prompted me to start. Before blogging were the Geocities sites. Before that an interconnected web of html pages filled with tricks to break out of the hosting restrictions of free hosts. Before the days of Facebook or Twitter, it was exciting to be online.&lt;/p&gt;&#xA;&lt;p&gt;Pages were permanently &amp;ldquo;under construction&amp;rdquo;, friends competed to come up with the most elaborate visitor counters, guestbooks became a thing. The web was a place full of curiosity and discovery. As backgrounds became increasingly psychedelic, midi tracks increasingly complex, the aim was to have fun.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Taste In Music</title>
      <link>https://billglover.me/2025/04/25/a-taste-in-music/</link>
      <pubDate>Fri, 25 Apr 2025 01:15:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/04/25/a-taste-in-music/</guid>
      <description>&lt;p&gt;I entered my 40s unable to describe my taste in music. Up until recently I was unable to answer a simple question;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;What music do you listen to?&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In this post I look back at some of the experiments I&amp;rsquo;ve done in order to develop, or at least understand, my taste in music. It&amp;rsquo;s a long one so if you don&amp;rsquo;t make it to the end, I&amp;rsquo;d love some help building my collection. &lt;a href=&#34;https://billglover.me/contact/&#34;&gt;Send me an album recommendation&lt;/a&gt; accompanied by a short story of what the album means to you.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Turning 43</title>
      <link>https://billglover.me/2025/04/22/turning-43/</link>
      <pubDate>Tue, 22 Apr 2025 20:08:20 +0800</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/04/22/turning-43/</guid>
      <description>&lt;h1 id=&#34;turning-43&#34;&gt;Turning 43&lt;/h1&gt;&#xA;&lt;p&gt;I recently turned 43, old enough that I had to double check my age when my son asked. This year was the second time I’ve been able to spend my birthday in Beijing. This time though, I was careful not to over-eat, at least not excessively.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2025/04/22/turning-43/beijing_hu_57d7863da31621ba.jpeg 500w&#xA;        &#xA;        &#xA;            , /2025/04/22/turning-43/beijing_hu_2d8c59392f8f8499.jpeg 800w&#xA;        &#xA;        &#xA;            , /2025/04/22/turning-43/beijing_hu_7b7475ae1720d868.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2025/04/22/turning-43/beijing_hu_58156b07635fe46.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2025/04/22/turning-43/beijing.jpeg&#34; &#xA;        &#xA;         alt=&#34;Mid-week in central Beijing&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;Mid-week in central Beijing&lt;/p&gt;</description>
    </item>
    <item>
      <title>The F1 Exhibition</title>
      <link>https://billglover.me/2025/02/28/the-f1-exhibition/</link>
      <pubDate>Fri, 28 Feb 2025 18:53:06 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2025/02/28/the-f1-exhibition/</guid>
      <description>&lt;h1 id=&#34;the-f1-exhibition&#34;&gt;The F1 Exhibition&lt;/h1&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2025/02/28/the-f1-exhibition/image_01_hu_8d61088dfa8ea49.jpeg 500w&#xA;        &#xA;        &#xA;            , /2025/02/28/the-f1-exhibition/image_01_hu_551f1e187b8dabcf.jpeg 800w&#xA;        &#xA;        &#xA;            , /2025/02/28/the-f1-exhibition/image_01_hu_251cd8b270ee2fb.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2025/02/28/the-f1-exhibition/image_01_hu_1da156cf5e1c980e.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2025/02/28/the-f1-exhibition/image_01.jpeg&#34; &#xA;        &#xA;         alt=&#34;A photo of the Sharknose Ferrari (Ferrari 156 F1)&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;The Sharknose Ferrari (Ferrari 156 F1)&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;I can remember where I was when I first watched an F1 race on TV. It was at a friend’s home in Putney. His dad was a fan, a Ferrari supporter. The three of us sat there glued to the TV for the Monaco Grand Prix.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Debugging Open Telemetry</title>
      <link>https://billglover.me/2024/12/02/debugging-open-telemetry/</link>
      <pubDate>Mon, 02 Dec 2024 14:32:06 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/12/02/debugging-open-telemetry/</guid>
      <description>&lt;h1 id=&#34;debugging-open-telemetry&#34;&gt;Debugging Open Telemetry&lt;/h1&gt;&#xA;&lt;p&gt;I wanted to send metrics from an application platform to an observability solution using Open Telemetry (OTel).&#xA;I believed everything was set-up but metrics weren’t flowing from the platform to our observability tooling.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;broken_otel.png&#34; alt=&#34;Diagram showing the components in my Open Telemetry set-up and a cross indicating where we lost sight of metrics.&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This post outlines how I was able to replace our observability tooling with a second instance of the OTel collector and use it to debug the flow of metrics.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pentax 17</title>
      <link>https://billglover.me/2024/09/28/pentax-17/</link>
      <pubDate>Sat, 28 Sep 2024 18:41:16 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/09/28/pentax-17/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2024/09/28/pentax-17/20241008-0029-daa5a_hu_5059509444cad15a.jpeg 500w&#xA;        &#xA;        &#xA;            , /2024/09/28/pentax-17/20241008-0029-daa5a_hu_ff4a6f7156d0d221.jpeg 800w&#xA;        &#xA;        &#xA;            , /2024/09/28/pentax-17/20241008-0029-daa5a_hu_c351873e170ede80.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2024/09/28/pentax-17/20241008-0029-daa5a_hu_6edbf5a24787a2fe.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2024/09/28/pentax-17/20241008-0029-daa5a.jpeg&#34; &#xA;        &#xA;         alt=&#34;A view of the London skyline looking over the Milenium Bridge and St Pauls Cathedral.&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;London - Pentax 17, Kodak Gold 200&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Over the summer I picked up a Pentax 17, a new half-frame film camera. It has been an absolute delight to use.&lt;/p&gt;&#xA;&lt;p&gt;Coming from (D)SLR cameras, the first thing that struck me was how quiet the camera is. I&amp;rsquo;m so used to the clunk of the mirror moving when taking a shot that the silence of the Pentax 17 was disconcerting. For a while I thought it was broken.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sketch: Camera</title>
      <link>https://billglover.me/2024/09/21/sketch-camera/</link>
      <pubDate>Sat, 21 Sep 2024 20:08:59 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/09/21/sketch-camera/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2024/09/21/sketch-camera/sketch-camera_hu_4891ed01f9a2a559.jpeg 500w&#xA;        &#xA;        &#xA;            , /2024/09/21/sketch-camera/sketch-camera_hu_311739a17887326c.jpeg 800w&#xA;        &#xA;        &#xA;            , /2024/09/21/sketch-camera/sketch-camera_hu_db1944e48ca75746.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2024/09/21/sketch-camera/sketch-camera_hu_7d7a78bbfe626a11.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2024/09/21/sketch-camera/sketch-camera.jpeg&#34; &#xA;        &#xA;         alt=&#34;A black and white photo of an iPad laying on a kitchen worktop. An Apple pencil rests on the screen of the iPad. The image shown on the screen is a line sketch of a camera. On the top left corner of the iPad sits a Pentax 17 camera facing towards the frame. The lens cap is still on.&#34;/&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;I don&amp;rsquo;t know what prompted me to reach for the iPad and start sketching. The closest thing I had to hand was a camera. I&amp;rsquo;m quite proud of how this turned out. My approach; start with rectangles representing the faces of the camera, build up the 3D box, and then add some of the details.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foundational Skills</title>
      <link>https://billglover.me/2024/09/20/foundational-skills/</link>
      <pubDate>Fri, 20 Sep 2024 09:54:20 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/09/20/foundational-skills/</guid>
      <description>&lt;p&gt;In his recent newsletter titled &lt;a class=&#34;u-in-reply-to&#34; href=&#34;https://a.bigmachine.io/posts/two-wonderful-investments-in-your-programming-career&#34;&gt;Two Wonderful Investments In Your Programming Career&lt;/a&gt;, &lt;span class=&#34;h-card&#34;&gt;&lt;a class=&#34;p-name u-url&#34; href=&#34;https://bigmachine.io&#34;&gt;Rob Conery&lt;/a&gt;&lt;/span&gt; talks about learning the “foundational” skills of the industry. This got me thinking; what would I include on my list of foundational skills?&lt;/p&gt;&#xA;&lt;p&gt;In his newsletter, Rob lists five foundational technologies but calls out two in particular that stand out to him:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Your Editor&lt;/li&gt;&#xA;&lt;li&gt;SQL&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I’d agree on both counts. Pick a text editor and learn it well. It doesn’t matter if you don’t pick the most popular, or the one your colleagues use. Pick one you like and invest time in learning how to use it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Investigating HTTP 502 responses on Cloud Foundry</title>
      <link>https://billglover.me/2024/08/16/investigating-http-502-responses-on-cloud-foundry/</link>
      <pubDate>Fri, 16 Aug 2024 16:27:03 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/08/16/investigating-http-502-responses-on-cloud-foundry/</guid>
      <description>&lt;p&gt;As a platform engineer working with multiple platform teams running applications on the Tanzu Platform for Cloud Foundry, I have been addressing intermittent issues that have been overlooked as quirks of the platform. These issues are what I like to call developer paper cuts. They are points of friction where something does not function as expected but occurs infrequently, leading to a lack of prioritization for investigation.&#xA;One of these developer paper cuts is the occurrence of the HTTP 502 response code from services operating on the platform. In this post, I will detail our investigation into this issue, highlight some known causes of the 502 response code, and provide tips for debugging similar issues.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EMF Camp 2024</title>
      <link>https://billglover.me/2024/06/06/emf-camp-2024/</link>
      <pubDate>Thu, 06 Jun 2024 20:59:55 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/06/06/emf-camp-2024/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure class=&#34;half-width&#34;&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2024/06/06/emf-camp-2024/IMG_6301_hu_d50bc7ab232c08f9.jpeg 500w&#xA;        &#xA;        &#xA;            , /2024/06/06/emf-camp-2024/IMG_6301_hu_bc7572768a124a2b.jpeg 800w&#xA;        &#xA;        &#xA;            , /2024/06/06/emf-camp-2024/IMG_6301_hu_75c6f5d203c9cc01.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2024/06/06/emf-camp-2024/IMG_6301_hu_d436a0babcfc0ff4.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2024/06/06/emf-camp-2024/IMG_6301.jpeg&#34; &#xA;        &#xA;         alt=&#34;Night time photo of a sign for EMF 24. The letters on the left are lit up pink, fading through blue in the centre and turquise on the right.&#34;/&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure class=&#34;half-width&#34;&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2024/06/06/emf-camp-2024/IMG_6325_hu_31ab792f06ae358b.jpeg 500w&#xA;        &#xA;        &#xA;            , /2024/06/06/emf-camp-2024/IMG_6325_hu_af0de0f4e221d70e.jpeg 800w&#xA;        &#xA;        &#xA;            , /2024/06/06/emf-camp-2024/IMG_6325_hu_1436532071539b3c.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2024/06/06/emf-camp-2024/IMG_6325_hu_b949a718e083cda4.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2024/06/06/emf-camp-2024/IMG_6325.jpeg&#34; &#xA;        &#xA;         alt=&#34;Photo of the opening ceremony at EMF. Looking from right to left across the audience. The circus style tent is packed, lights shine towards a single speaker on stage.&#34;/&gt;&#xA;&lt;/figure&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Family Cyanotype</title>
      <link>https://billglover.me/2024/06/06/family-cyanotype/</link>
      <pubDate>Thu, 06 Jun 2024 19:59:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/06/06/family-cyanotype/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2024/06/06/family-cyanotype/IMG_5636_hu_bc73100b1ccff666.jpeg 500w&#xA;        &#xA;        &#xA;            , /2024/06/06/family-cyanotype/IMG_5636_hu_3efb01602a5949b1.jpeg 800w&#xA;        &#xA;        &#xA;            , /2024/06/06/family-cyanotype/IMG_5636_hu_ebe1e94bf169536f.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2024/06/06/family-cyanotype/IMG_5636_hu_f29101bb9e962e9e.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2024/06/06/family-cyanotype/IMG_5636.jpeg&#34; &#xA;        /&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Following on from my &lt;a href=&#34;https://billglover.me/2024/04/21/first-cyanotype/&#34;&gt;First Cyanotype&lt;/a&gt;, we tried to turn it into a family activity. When I&amp;rsquo;ve mentioned it to people, they&amp;rsquo;ve asked  to see the prints, quickly followed with digging in to how we did it. This post answers both questions.&lt;/p&gt;&#xA;&lt;h3 id=&#34;the-method&#34;&gt;The Method&lt;/h3&gt;&#xA;&lt;h4 id=&#34;equipment&#34;&gt;Equipment&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.amazon.co.uk/dp/B010MN312S?psc=1&amp;amp;ref=ppx_yo2ov_dt_b_product_details&#34;&gt;Jacquard Cyanotype Sensitizer Set&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.amazon.co.uk/dp/B01DCXSX14?ref=ppx_yo2ov_dt_b_product_details&amp;amp;th=1&#34;&gt;Daler-Rowney Aquafine Smooth Hot Pressed 300gsm Watercolour &amp;amp; Gouache A4 Paper&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.amazon.co.uk/dp/B0BSGRS3DN?psc=1&amp;amp;ref=ppx_yo2ov_dt_b_product_details&#34;&gt;A4 Acrylic Sheet Clear Perspex Sheet 3mm Thick&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Paint Brushes&lt;/li&gt;&#xA;&lt;li&gt;Protective Table Cloth&lt;/li&gt;&#xA;&lt;li&gt;Objects to print; plants, leaves, etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; You can buy ready coated cyanotype paper. Whilst it may be more convenient, the results aren&amp;rsquo;t nearly as impressive. There is so much creativity in the coating of the sensitizer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EMF Camp: Running the Tildagon Simulator</title>
      <link>https://billglover.me/2024/05/26/emf-camp-running-the-tildagon-simulator/</link>
      <pubDate>Sun, 26 May 2024 20:44:03 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/05/26/emf-camp-running-the-tildagon-simulator/</guid>
      <description>&lt;p&gt;EMF Camp 2024 kicks off later this week. I&amp;rsquo;ll be there with my eldest son. We don&amp;rsquo;t yet have our hands on our badges but I spent a little time tinkering in the simulator. It was a bit fiddly to get things up and running but this is my first App.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2024/05/26/emf-camp-running-the-tildagon-simulator/tildagon-badge_hu_438050e464116a85.png 500w&#xA;        &#xA;        &#xA;            , /2024/05/26/emf-camp-running-the-tildagon-simulator/tildagon-badge_hu_3e7a7558fc8e32bc.png 800w&#xA;        &#xA;        &#xA;            , /2024/05/26/emf-camp-running-the-tildagon-simulator/tildagon-badge_hu_23e4522169fe320e.png 1200w&#xA;        &#xA;        &#xA;            , /2024/05/26/emf-camp-running-the-tildagon-simulator/tildagon-badge_hu_41c4007faf2f32d5.png 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2024/05/26/emf-camp-running-the-tildagon-simulator/tildagon-badge.png&#34; &#xA;        &#xA;         alt=&#34;Screenshot of the Tildagon badge running in the simulator. The badge shows the text, bill.dev&#34;/&gt;&#xA;&lt;/figure&gt;&#xA;&lt;h2 id=&#34;running-the-simulator-on-apple-silicon&#34;&gt;Running the simulator on Apple Silicon&lt;/h2&gt;&#xA;&lt;p&gt;First up, links to the official documentation and the code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What is Progress?</title>
      <link>https://billglover.me/2024/05/11/what-is-progress/</link>
      <pubDate>Sat, 11 May 2024 08:32:10 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/05/11/what-is-progress/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve often found myself frustrated at the way we define progress or success.&lt;/p&gt;&#xA;&lt;p&gt;On the surface of it, the definition is pretty clear. According to the &lt;a href=&#34;https://dictionary.cambridge.org/dictionary/english/progress&#34;&gt;Cambridge Dictionary&lt;/a&gt;, progress is &amp;ldquo;movement to an improved or more developed state, or to a forward position&amp;rdquo;. But which way is forward? Given two states, how do we decide which is more developed than the other?&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2024/05/11/what-is-progress/image1_hu_315c52a16ed527d8.png 500w&#xA;        &#xA;        &#xA;            , /2024/05/11/what-is-progress/image1_hu_7c0870572990e013.png 800w&#xA;        &#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2024/05/11/what-is-progress/image1.png&#34; &#xA;        /&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Given a starting point and a destination, the definition of progress feels fairly self-evident. If I am at home and I want to get to the office, then I make progress each time I move closer to my destination. Given the goal of being able to recognize 1,000 Chinese characters, then I have made progress if I recognize one new character. I have moved closer to my destination.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First Cyanotype</title>
      <link>https://billglover.me/2024/04/21/first-cyanotype/</link>
      <pubDate>Sun, 21 Apr 2024 15:29:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/04/21/first-cyanotype/</guid>
      <description>&lt;p&gt;I attended a half-day Cyanotype Printing workshop at The Darkroom in London. I knew nothing about the process going into the workshop, only that the images produced were typically a deep blue.&lt;/p&gt;&#xA;&lt;p&gt;The workshop covered:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;talking through some impressive examples of existing work&lt;/li&gt;&#xA;&lt;li&gt;mixing chemicals&lt;/li&gt;&#xA;&lt;li&gt;coating the paper&lt;/li&gt;&#xA;&lt;li&gt;gathering things to print&lt;/li&gt;&#xA;&lt;li&gt;prints in the sun&lt;/li&gt;&#xA;&lt;li&gt;prints under UV light&lt;/li&gt;&#xA;&lt;li&gt;washing prints&lt;/li&gt;&#xA;&lt;li&gt;use of hydrogen peroxide&lt;/li&gt;&#xA;&lt;li&gt;staining prints to alter the colour&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I love the simplicity of the cyanotype process. Despite its simplicity, there are various options for creativity. Using different types of paper, brush strokes, or quantities of chemicals can result in a wide variety of images. Additionally, your choice of objects, the depth of the blue, and staining all provide opportunty for creativity.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Desktop (Mac) Unix Socket</title>
      <link>https://billglover.me/2024/04/13/docker-desktop-mac-unix-socket/</link>
      <pubDate>Sat, 13 Apr 2024 18:37:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/04/13/docker-desktop-mac-unix-socket/</guid>
      <description>&lt;p&gt;Two of the tools in my container toolkit stopped working at some point recently. To demonstrate the issue, I first make sure that I have an image pulled locally.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bg@Bills-MBP ~ % docker image ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;REPOSITORY   TAG       IMAGE ID       CREATED       SIZE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;golang       1.22      824aa3c1d42c   10 days ago   830MB&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;demo         latest    cf12555b1219   10 days ago   830MB&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The first tool, Dive, started producing errors like this.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bg@Bills-MBP tmp % dive demo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Image Source: docker://demo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Fetching image... (this can take a while for large images)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Handler not available locally. Trying to pull &amp;#39;demo&amp;#39;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Using default tag: latest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Error response from daemon: pull access denied for demo, repository does not exist or may require &amp;#39;docker login&amp;#39;: denied: requested access to the resource is denied&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cannot fetch image&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;exit status 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The image was present locally and the docker daemon definitely running. I logged out, logged in again and tried different accounts. When I first hit this error I assumed that this was an issue with Dive. The workaround I used was to export the image to a &lt;code&gt;.tar&lt;/code&gt; file and then use dive to browse the disk image. But then I hit this error with Trivy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Editable Navigation Titles in SwiftUI</title>
      <link>https://billglover.me/2024/02/16/editable-navigation-titles-in-swiftui/</link>
      <pubDate>Fri, 16 Feb 2024 07:15:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/02/16/editable-navigation-titles-in-swiftui/</guid>
      <description>&lt;p&gt;A common pattern in iOS applications is to present a list of items and allow the user to tap an item to view or edit it. This pattern is typically enabled by embedding a &lt;code&gt;List&lt;/code&gt; view inside a &lt;code&gt;NavigationStack&lt;/code&gt;. The &lt;code&gt;NavigationStack&lt;/code&gt; then presents a detail &lt;code&gt;View&lt;/code&gt; whenever an item in the list is selected.&lt;/p&gt;&#xA;&lt;p&gt;The title of the screens displayed in the &lt;code&gt;NavigationStack&lt;/code&gt; is controlled by the &lt;code&gt;.navigationTitle()&lt;/code&gt; modifier. I&amp;rsquo;ve always passed a &lt;code&gt;String to the modifier&lt;/code&gt; as shown on line #20 below.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Piano Practice While Travelling</title>
      <link>https://billglover.me/2024/02/08/piano-practice-while-travelling/</link>
      <pubDate>Thu, 08 Feb 2024 21:55:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/02/08/piano-practice-while-travelling/</guid>
      <description>&lt;p&gt;Our eldest has been playing the piano for a year now. He enjoys it enough that when we decided to spend summer in Beijing he asked if he could bring his piano with him. We don’t have a real piano at home, but we’ve really enjoyed the Roland FP30-X. I’d highly recommend it. Whilst it detaches from the stand and is portable, it isn’t something that I fancy trying to check in at the airport.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting the PATH variable on macOS with ZSH</title>
      <link>https://billglover.me/2024/02/08/setting-the-path-variable-on-macos-with-zsh/</link>
      <pubDate>Thu, 08 Feb 2024 20:30:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/02/08/setting-the-path-variable-on-macos-with-zsh/</guid>
      <description>&lt;p&gt;The behaviour of the &lt;code&gt;PATH&lt;/code&gt; variable in ZSH on macOS can be  confusing. If you follow &lt;a href=&#34;https://zsh.sourceforge.io/Intro/intro_3.html&#34;&gt;ZSH guidance&lt;/a&gt;, you should set your &lt;code&gt;PATH&lt;/code&gt; variable in &lt;code&gt;~/.zshenv&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;“ &lt;code&gt;.zshenv&lt;/code&gt; is sourced on all invocations of the shell, unless the &lt;code&gt;-f&lt;/code&gt; option is set. It should contain commands to set the command search path, plus other important environment variables. &lt;code&gt;.zshenv&lt;/code&gt; should not contain commands that produce output or assume the shell is attached to a tty.”&lt;/p&gt;</description>
    </item>
    <item>
      <title>How long is a blog post?</title>
      <link>https://billglover.me/2024/01/29/how-long-is-a-blog-post/</link>
      <pubDate>Mon, 29 Jan 2024 18:08:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2024/01/29/how-long-is-a-blog-post/</guid>
      <description>&lt;p&gt;This post by Winnie Lim caught my attention.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;telling myself repeatedly that a blog post doesn&amp;rsquo;t have to be lengthy&amp;rdquo;&lt;br&gt;&#xA;– &lt;a href=&#34;https://kopiti.am/@wynlim/111830195640708572&#34;&gt;@wynlim@kopiti.am&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I have a folder of unfinished blog posts that get purged every once in a while. Except, they aren’t blog posts. They aren’t long enough. They aren’t finished. To quote Alex;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;“I don’t know where this barrier or expectation comes from.&amp;quot;&lt;br&gt;&#xA;– &lt;a href=&#34;https://social.alexschroeder.ch/@alex/statuses/01HN6GKPYZN0WY21K3XQRHFKGD&#34;&gt;@alex@social.alexschroeder.ch&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I tried creating &lt;a href=&#34;https://billglover.me/notes&#34;&gt;/notes&lt;/a&gt; but sometimes feel these need to be longer to be worth publishing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Priming Effect: or my inability to follow instructions</title>
      <link>https://billglover.me/2023/11/16/the-priming-effect-or-my-inability-to-follow-instructions/</link>
      <pubDate>Thu, 16 Nov 2023 12:47:32 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/11/16/the-priming-effect-or-my-inability-to-follow-instructions/</guid>
      <description>&lt;p&gt;We are in the process of introducing a single daily bottle of milk formula to our son&amp;rsquo;s diet. It&amp;rsquo;s been five years since we last did this, and all memories of how to approach this, or how it went have long since faded.&lt;/p&gt;&#xA;&lt;p&gt;This blog post isn&amp;rsquo;t about the reasons for introducing formula or the approach we&amp;rsquo;ve taken. This is about how people make mistakes and our ability to dismiss these mistakes as simple human error.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating a Photography Gallery with Hugo</title>
      <link>https://billglover.me/2023/11/07/creating-a-photography-gallery-with-hugo/</link>
      <pubDate>Tue, 07 Nov 2023 14:11:53 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/11/07/creating-a-photography-gallery-with-hugo/</guid>
      <description>&lt;p&gt;Many years ago I left Instagram and stopped sharing any of my photography publicly. I would occasionally share photos privately within a WhatsApp or WeChat group, but I lost the urge to share more broadly. I considered posting here on my blog, but both the theme and the publishing process weren&amp;rsquo;t photo friendly. Over the last few months, I&amp;rsquo;ve tweaked this blog just enough to make it possible to share photos again. &lt;span class=&#34;u-in-reply-to&#34;&gt;Inspired by &lt;a class=&#34;p-author h-card&#34; href=&#34;https://darekkay.com&#34;&gt;Darek Key&amp;rsquo;s&lt;/a&gt; write up of &lt;a class=&#34;u-in-reply-to&#34; href=&#34;https://darekkay.com/blog/photography-website/&#34;&gt;building a photography website&lt;/a&gt;, this is how I enhanced my blog to share photos again.&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>What do you want to learn?</title>
      <link>https://billglover.me/2023/11/06/what-do-you-want-to-learn/</link>
      <pubDate>Mon, 06 Nov 2023 09:16:48 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/11/06/what-do-you-want-to-learn/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;&lt;pre&gt;&lt;code&gt;        /2023/11/06/what-do-you-want-to-learn/IMG_3270_hu_f146acd8c008a8c4.jpeg 500w&#xA;    &#xA;    &#xA;        , /2023/11/06/what-do-you-want-to-learn/IMG_3270_hu_ab4f5a255c51ed4.jpeg 800w&#xA;    &#xA;    &#xA;        , /2023/11/06/what-do-you-want-to-learn/IMG_3270_hu_5cc3726e8bfa4ec3.jpeg 1200w&#xA;    &#xA;    &#xA;        , /2023/11/06/what-do-you-want-to-learn/IMG_3270_hu_4cac921b214f1a0c.jpeg 1500w &#xA;    &#39;&#xA;    &#xA;        src=&amp;quot;/2023/11/06/what-do-you-want-to-learn/IMG_3270.jpeg&amp;quot; &#xA;    &#xA;     alt=&amp;quot;Working through the Lego Education - Simple Machines lesson on Gears.&amp;quot;/&amp;gt;&amp;lt;figcaption&amp;gt;&#xA;        &amp;lt;p&amp;gt;Working through the Lego Education - Simple Machines lesson on Gears.&amp;lt;/p&amp;gt;&#xA;    &amp;lt;/figcaption&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;On the way to school one morning, my son and I found ourselves waiting longer than usual at a level crossing. He has always enjoyed standing by the barriers and guessing which direction the train will come from, but this wait was longer than usual. We began talking about what he&amp;rsquo;d been learning at school. Like many children, he doesn&amp;rsquo;t particularly enjoy being peppered with questions about his school day. And, like many parents, I&amp;rsquo;ve been looking for ways to vary the conversation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contributing to OpenStreetMap</title>
      <link>https://billglover.me/2023/11/01/contributing-to-openstreetmap/</link>
      <pubDate>Wed, 01 Nov 2023 16:53:44 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/11/01/contributing-to-openstreetmap/</guid>
      <description>&lt;p&gt;&lt;em&gt;Assumed Audience:&lt;/em&gt; Anyone who has noticed a mistake in an online map or route.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;I always tend to over-estimate how long it will take me to walk somewhere. Even on routes I walk regularly, I find myself arriving far too early. In an effort to improve my estimation I looked up walking directions for a local route and noticed something odd. Multiple maps suggested a walking route that took me through a private estate and a locked gate. The route would be ideal, if only the directions included the pin code for the gate lock. The directions were wrong.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Live Traffic Light Timing</title>
      <link>https://billglover.me/2023/08/17/live-traffic-light-timing/</link>
      <pubDate>Thu, 17 Aug 2023 10:00:00 +0700</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/08/17/live-traffic-light-timing/</guid>
      <description>&lt;p&gt;&lt;em&gt;Assumed Audience:&lt;/em&gt; anyone with an interest in delightful technology or technical estimation&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;On a trip to Beijing, I saw navigation apps included real-time traffic light updates. They show the live countdown to a change in the lights. An audible prompt lets you know of an impending change. This is particularly useful when some sequences involve wait times over 99s. I’d not seen this before, but seeing it in action was one of those rare delightful moments with technology.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inner Loop / Outer Loop - What&#39;s in a Translation?</title>
      <link>https://billglover.me/2023/08/16/inner-loop-/-outer-loop-whats-in-a-translation/</link>
      <pubDate>Wed, 16 Aug 2023 12:17:26 +0700</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/08/16/inner-loop-/-outer-loop-whats-in-a-translation/</guid>
      <description>&lt;p&gt;&lt;em&gt;Assumed Audience:&lt;/em&gt; anyone with an interest in translation or Mandarin Chinese&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure class=&#34;float-right&#34;&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2023/08/16/inner-loop-/-outer-loop-whats-in-a-translation/%E5%86%85%E7%8E%AF%E5%A4%96%E7%8E%AF_hu_8fcea9b6ce499468.jpeg 500w&#xA;        &#xA;        &#xA;            , /2023/08/16/inner-loop-/-outer-loop-whats-in-a-translation/%E5%86%85%E7%8E%AF%E5%A4%96%E7%8E%AF_hu_81b5406a6c1d8b7e.jpeg 800w&#xA;        &#xA;        &#xA;            , /2023/08/16/inner-loop-/-outer-loop-whats-in-a-translation/%E5%86%85%E7%8E%AF%E5%A4%96%E7%8E%AF_hu_33d71d56e1ec0cfe.jpeg 1200w&#xA;        &#xA;        &#xA;            , /2023/08/16/inner-loop-/-outer-loop-whats-in-a-translation/%E5%86%85%E7%8E%AF%E5%A4%96%E7%8E%AF_hu_7ddff4a8a42aa69.jpeg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2023/08/16/inner-loop-/-outer-loop-whats-in-a-translation/%E5%86%85%E7%8E%AF%E5%A4%96%E7%8E%AF.jpeg&#34; &#xA;        &#xA;         alt=&#34;Two photos of a map of Beijing Subway Line 10 showing the translations for directions of travel.&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;Two photos of a map of Beijing Subway Line 10 showing the translations for directions of travel.&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;I came across an interesting translation on the Line 10 subway in Beijing today.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Social Audio as a Vector For Engineering Wisdom</title>
      <link>https://billglover.me/2023/07/19/social-audio-as-a-vector-for-engineering-wisdom/</link>
      <pubDate>Wed, 19 Jul 2023 21:22:26 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/07/19/social-audio-as-a-vector-for-engineering-wisdom/</guid>
      <description>&lt;p&gt;&lt;em&gt;Assumed Audience:&lt;/em&gt; anyone working as an engineer or leading an engineering team&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Back when I worked in consulting, it was frowned upon to talk in public about the work we did. This was especially true when things went very publicly wrong, but also true when near disaster was successfully hidden. There are many engineering stories behind some of the systems we take for granted; energy billing, same day retail deliveries, click and collect, digital banking, to name a few. It seems a shame that those stories remain the preserve of the few who happened to witness them unfold. Looking back on them, I&amp;rsquo;d have loved to share them with the world.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tanzu Application Platform (GitOps / SOPS) - create custom secrets</title>
      <link>https://billglover.me/2023/04/25/tanzu-application-platform-gitops-/-sops-create-custom-secrets/</link>
      <pubDate>Tue, 25 Apr 2023 09:47:05 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/04/25/tanzu-application-platform-gitops-/-sops-create-custom-secrets/</guid>
      <description>&lt;p&gt;&lt;em&gt;Assumed Audience:&lt;/em&gt; platform operators of the Tanzu Application Platform following the GitOps installation method&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Tanzu Application Platform 1.5 includes beta support for &lt;a href=&#34;https://docs.vmware.com/en/VMware-Tanzu-Application-Platform/1.5/tap/install-gitops-intro.html&#34;&gt;GitOps installation&lt;/a&gt;. I&amp;rsquo;ve been using &lt;a href=&#34;https://github.com/mozilla/sops&#34;&gt;SOPS&lt;/a&gt; for secrets management with my installation. I quickly ran into the need to include custom secrets as part of the installation.&lt;/p&gt;&#xA;&lt;p&gt;In this post, I outline the general process for including additional secrets with SOPS and then show how I used this to configure LetsEncrypt to issue a valid TLS certificate for the TAP GUI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lessons from Drawing System Diagrams</title>
      <link>https://billglover.me/2023/03/31/lessons-from-drawing-system-diagrams/</link>
      <pubDate>Fri, 31 Mar 2023 17:42:21 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/03/31/lessons-from-drawing-system-diagrams/</guid>
      <description>&lt;p&gt;&lt;em&gt;Assumed Audience:&lt;/em&gt; anyone who has drawn a system or software diagram; architects, engineers, developers&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;I came across this list of &lt;a href=&#34;https://icepanel.medium.com/common-software-diagramming-mistakes-35dbf2864ef1&#34;&gt;common software diagraming mistakes&lt;/a&gt; by IcePanel and was reminded of the days when I used to spend much of my day explaining complex systems. Diagrams were always involved but not always successful. As a result, there are a few tips I&amp;rsquo;d add to the list.&lt;/p&gt;&#xA;&lt;h2 id=&#34;state-your-assumed-audience&#34;&gt;State your assumed audience&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;💡 Tip:&lt;/strong&gt; Clearly articulate your assumed audience for each diagram.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reading from the Book of Wisdom</title>
      <link>https://billglover.me/2023/01/12/reading-from-the-book-of-wisdom/</link>
      <pubDate>Thu, 12 Jan 2023 11:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2023/01/12/reading-from-the-book-of-wisdom/</guid>
      <description>&lt;h4 id=&#34;isabelle-glover-13th-august-1928---13th-december-2022&#34;&gt;Isabelle Glover 13th August 1928 - 13th December 2022&lt;/h4&gt;&#xA;&lt;figure &gt;&#xA;  &lt;audio controls preload=&#34;metadata&#34;&gt;&#xA;    &lt;source src=&#34;reading.mp3&#34; type=&#34;audio/mpeg&#34;&gt;&#xA;  &lt;/audio&gt;&#xA;  &lt;figcaption&gt;Book of Wisdom vv21 - 26 Read by William Glover&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;For great strength is always present with you; who can resist the might of your arm?&lt;/p&gt;&#xA;&lt;p&gt;Indeed, before you the whole universe is like a grain from a balance, or a drop of morning dew come down upon the earth.&lt;/p&gt;&#xA;&lt;p&gt;But you have mercy on all, because you can do all things; and you overlook sins for the sake of repentance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2022 Rewind</title>
      <link>https://billglover.me/2022/12/31/2022-rewind/</link>
      <pubDate>Sat, 31 Dec 2022 23:59:59 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2022/12/31/2022-rewind/</guid>
      <description>&lt;p&gt;Looking back across world headlines, it&amp;rsquo;s hard to see much positivity in 2022. Narrowing my focus to national issues and things look even worse. There is no one event that stands out. It&amp;rsquo;s the trend that worries me.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m not usually one for looking back over previous years, but as I sat in &lt;a href=&#34;https://www.fortitudebakehouse.com&#34; title=&#34;Fortitude Bakehouse&#34;&gt;one of the friendliest bakehouses in London&lt;/a&gt; this morning, catching up with an old friend, I realised that 2022 has been a good year.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tanzu Application Platform, Pinniped and Auth0</title>
      <link>https://billglover.me/2022/11/04/tanzu-application-platform-pinniped-and-auth0/</link>
      <pubDate>Fri, 04 Nov 2022 09:18:10 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2022/11/04/tanzu-application-platform-pinniped-and-auth0/</guid>
      <description>&lt;p&gt;This post documents adding authentication to the &lt;a href=&#34;https://tanzu.vmware.com/application-platform&#34;&gt;Tanzu Application Platform&lt;/a&gt; (TAP) using Auth0 and Pinniped.&lt;/p&gt;&#xA;&lt;p&gt;I often take shortcuts with authentication when demonstrating technology. In-part this is because setting up authentication and authorization can be difficult. That said, there are benefits to the flexibility of an administrative user. Like many who work with short-lived Kubernetes clusters, my default is Cluster Admin.&lt;/p&gt;&#xA;&lt;p&gt;One downside to using cluster-admin is that I&amp;rsquo;m unable to explore RBAC capabilities. The capabilities and limitations of RBAC influence the experience of a product. The Tanzu Application Platform (TAP) is no exception. If real world use sees users mapped to one of the &lt;a href=&#34;https://docs.vmware.com/en/VMware-Tanzu-Application-Platform/1.3/tap/GUID-authn-authz-overview.html&#34;&gt;four default user roles&lt;/a&gt; that come with TAP, why do I use cluster-admin? I needed an instance of TAP configured with an identity provider that allowed me to map users to roles.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My First Marathon</title>
      <link>https://billglover.me/2022/10/14/my-first-marathon/</link>
      <pubDate>Fri, 14 Oct 2022 13:13:16 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2022/10/14/my-first-marathon/</guid>
      <description>&lt;p&gt;Last weekend I completed the Richmond Marathon in a time of 04:52:11.&lt;/p&gt;&#xA;&lt;p&gt;A colleague once joked that I couldn’t run 10km. First thing the next morning, I got up and ran 10km around the Exeter waterfront. I didn’t do it to prove them wrong, I did it because I believed they were right and wanted to prove myself wrong. Many years later, I set myself a new challenge, to run a marathon. I crossed the finish line slower than I’d have liked, but I made it. This post is my way of celebrating the achievement. It also serves as a collection of notes should I, or anyone else, consider something like this again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Use the Kubernetes downwards API to set GOMEMLIMIT</title>
      <link>https://billglover.me/2022/09/14/use-the-kubernetes-downwards-api-to-set-gomemlimit/</link>
      <pubDate>Wed, 14 Sep 2022 21:10:06 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2022/09/14/use-the-kubernetes-downwards-api-to-set-gomemlimit/</guid>
      <description>&lt;p&gt;Go 1.19 introduced the ability to tune the way the garbage collector works by setting a soft memory limit. One recommendation is to use this new memory limit when deploying in a container environment. This post looks at using the Kubernetes Downward API to set this soft limit.&lt;/p&gt;&#xA;&lt;h2 id=&#34;do-i-need-a-soft-memory-limit&#34;&gt;Do I need a Soft Memory Limit&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Do take advantage of the memory limit when the execution environment of your Go program is entirely within your control, and the Go program is the only program with access to some set of resources (i.e. some kind of memory reservation, like a container memory limit).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working in the Dark</title>
      <link>https://billglover.me/2022/05/23/working-in-the-dark/</link>
      <pubDate>Mon, 23 May 2022 19:06:51 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2022/05/23/working-in-the-dark/</guid>
      <description>&lt;p&gt;In episode 114 of Darknet Diaries, &lt;a href=&#34;https://twitter.com/jackrhysider&#34;&gt;Jack Rhysider&lt;/a&gt; talks to &lt;a href=&#34;%5Bhttps://twitter.com/hdmoore%5D(https://twitter.com/hdmoore)&#34;&gt;HD Moore&lt;/a&gt; the creator of &lt;a href=&#34;https://metasploit.com/&#34;&gt;Metasploit&lt;/a&gt;. The whole episode is worth a listen, but wanted to share this section from the last few minutes of the episode (no spoilers) where Jack summarises the skills HD has demonstrated developing Metasploit. One skill in particular stands out for being hard to quantify, and often overlooked; working in the dark.&lt;/p&gt;&#xA;&lt;p&gt;Jack begins:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;I find this particular skill to be one of the most important skills when dealing with technology: Which is being comfortable doing things in the dark, in areas that you have no knowledge of or visibility into. Because when working in IT you are constantly faced with new challenges or problems that you have no idea how to solve. The problem might even be so weird that you don&amp;rsquo;t even know what to Google.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Diy Traffic Lights</title>
      <link>https://billglover.me/2022/05/01/diy-traffic-lights/</link>
      <pubDate>Sun, 01 May 2022 17:32:04 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2022/05/01/diy-traffic-lights/</guid>
      <description>&lt;p&gt;The imagination of a child can bring a Lego city to life. I can still remember my dad helping me build an automated &amp;ldquo;Mind the Gap&amp;rdquo; announcement for the 12V Lego railway system. It was a classic case of over-engineering; completely unnecessary but so much fun.&lt;/p&gt;&#xA;&lt;p&gt;A microswitch carefully placed at the end of a station platform joined two pins on a parrallel port cable (the wide ones that we used to use to connect printers). A BASIC program running in an infinite loop handled switch de-bouncing and then started a sequence of beeps accompanied by text on an orange display to warn the little Lego figures they needed to Mind the Gap when leaving the train. I loved it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Learning to write Chinese: Emoji to the Rescue</title>
      <link>https://billglover.me/2021/03/29/learning-to-write-chinese-emoji-to-the-rescue/</link>
      <pubDate>Mon, 29 Mar 2021 09:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2021/03/29/learning-to-write-chinese-emoji-to-the-rescue/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2021/03/29/learning-to-write-chinese-emoji-to-the-rescue/chalkboard_hu_eb9c934369e7dab.jpg 500w&#xA;        &#xA;        &#xA;            , /2021/03/29/learning-to-write-chinese-emoji-to-the-rescue/chalkboard_hu_dff8def6c626b7f.jpg 800w&#xA;        &#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2021/03/29/learning-to-write-chinese-emoji-to-the-rescue/chalkboard.jpg&#34; &#xA;         width=&#34;50%&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;秋、秋、愁、利、揪、香&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;During lockdown I&amp;rsquo;ve been learning to write Chinese characters. I&amp;rsquo;ve been making slow but consistent progress. More importanly, I&amp;rsquo;ve been enjoying it again. Some characters are definitely easier to recall than others. As it turns out, emoji can be a great way to represent the stories I&amp;rsquo;ve used to get some of the characters to stick.&lt;/p&gt;&#xA;&lt;h3 id=&#34;秋--&#34;&gt;秋： 🌾 🔥&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Think of the farmer who spends “autumn” throwing left over &lt;em&gt;rice&lt;/em&gt; on the &lt;em&gt;fire&lt;/em&gt; to burn it before it rots during winter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What I Read</title>
      <link>https://billglover.me/2021/01/22/what-i-read/</link>
      <pubDate>Fri, 22 Jan 2021 09:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2021/01/22/what-i-read/</guid>
      <description>&lt;p&gt;Towards the end of last year, I picked up the habit of spending time in the park before work each morning. I&amp;rsquo;d take a book, find a quiet bench and settle in. When the current restrictions on movement are lifted, this is a habit I intend to pick up again.&lt;/p&gt;&#xA;&lt;p&gt;One morning, it struck me that the majority of what I read gets pushed in front of me. I don&amp;rsquo;t mean push notifications, I&amp;rsquo;ve long since turned those off. I&amp;rsquo;m thinking of the continuous news feed of articles pushed in front of me for attention. My reading starts with a list. I have lists for everything;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Oblivious DNS: Practical Privacy for DNS Queries</title>
      <link>https://billglover.me/2021/01/15/oblivious-dns-practical-privacy-for-dns-queries/</link>
      <pubDate>Fri, 15 Jan 2021 09:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2021/01/15/oblivious-dns-practical-privacy-for-dns-queries/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve decided to start reading more technical papers. First up, is the paper that introduces Oblivious DNS, a privacy centric alternative to DNS. These are my notes.&lt;/p&gt;&#xA;&lt;p&gt;The Domain Name System (DNS) works wonders for the modern internet. Created in 1983 by Paul Mockapetris, DNS provided a scalable way to map names to addresses on the ARPANET. When DNS works well we take it for granted. Yet there are scenarios when threats to the integrity of DNS can cause havoc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Use Harbor to Avoid Docker Hub Rate Limits</title>
      <link>https://billglover.me/2021/01/07/use-harbor-to-avoid-docker-hub-rate-limits/</link>
      <pubDate>Thu, 07 Jan 2021 11:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2021/01/07/use-harbor-to-avoid-docker-hub-rate-limits/</guid>
      <description>&lt;p&gt;In  November, Docker implemented new rate limits for anonymous and free use of Docker Hub. They added two new limits:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Anonymous: 100 container image requests / six hours&lt;/li&gt;&#xA;&lt;li&gt;Free Authenticated: 200 container image requests / six hours&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you find yourself operating above these limits, you have a few options. You can sign up for a Docker Pro or Team account, or you can reduce image request frequency below thresholds.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2020 Delightful Tech</title>
      <link>https://billglover.me/2020/12/30/2020-delightful-tech/</link>
      <pubDate>Wed, 30 Dec 2020 21:15:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/12/30/2020-delightful-tech/</guid>
      <description>&lt;p&gt;I don&amp;rsquo;t often make recommendations for apps or services. It&amp;rsquo;s rare that technology fills me with delight to such an extend that I have the urge to recommend it to others. I&amp;rsquo;m all too aware that your needs may be different from mine.&lt;/p&gt;&#xA;&lt;p&gt;For example, I love my 2015 MacBook but I&amp;rsquo;ve never been able to recommend it to anyone. It&amp;rsquo;s slow, has one port, and was expensive. It has been an absolute delight for me and remains the best laptop I&amp;rsquo;ve ever owned. But that doesn&amp;rsquo;t make it right for you. So much so, that Apple no longer offers it for sale.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Remote Pairing Made Easy</title>
      <link>https://billglover.me/2020/12/09/remote-pairing-made-easy/</link>
      <pubDate>Wed, 09 Dec 2020 15:37:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/12/09/remote-pairing-made-easy/</guid>
      <description>&lt;p&gt;We have many options for remote pairing on code. Each brings different trade-offs to the challenge of remote productivity.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Screen Sharing (e.g. Zoom, &lt;a href=&#34;https://whereby.com/user&#34;&gt;Whereby&lt;/a&gt;, etc.)&lt;/li&gt;&#xA;&lt;li&gt;Shared IDE (e.g. &lt;a href=&#34;https://docs.microsoft.com/en-us/visualstudio/liveshare/use/vscode&#34;&gt;VSCode Live Share&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Dedicated collaborative coding tools (e.g. &lt;a href=&#34;https://gitduck.com&#34;&gt;GitDuck&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;The good old fashioned terminal&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I&amp;rsquo;m not going to go into which of these is the best pairing option, each have their merits. COMBINE.. But the last of these, the terminal, is often overlooked. If considered, the perceived set-up costs often push us towards an alternative solution.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Toolbox: Octant</title>
      <link>https://billglover.me/2020/10/12/my-toolbox-octant/</link>
      <pubDate>Mon, 12 Oct 2020 10:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/10/12/my-toolbox-octant/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;octant_overview.png&#34; alt=&#34;octant&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;We are constantly presented with new tools all the time; scripts, themes, or even code editors. We try them, we forget about them, and before you know it a &lt;code&gt;brew update&lt;/code&gt; take minutes rather than seconds to run. The few tools that do tend to stick around are those that solve a real need. Octant is one such tool. It&amp;rsquo;s not just the latest addition to my toolbox, it&amp;rsquo;s one that I&amp;rsquo;m turning to with increasing regularity.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Instrument Go applications with Wavefront</title>
      <link>https://billglover.me/2020/07/17/instrument-go-applications-with-wavefront/</link>
      <pubDate>Fri, 17 Jul 2020 06:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/07/17/instrument-go-applications-with-wavefront/</guid>
      <description>&lt;p&gt;In the &lt;a href=&#34;https://billglover.me/2020/07/09/logging-metrics-its-a-journey/&#34;&gt;Part One&lt;/a&gt; of this series, I looked back at my experience with using application logs to gain insight into application and system performance. Despite the wealth of information these logs contain, much of it goes untapped. The advent of log analytics saw a step change in the information we were able to retrieve from his goldmine of untapped data. This served as a catalyst, prompting both development teams and businesses to demand more insight from their applications. But this didn&amp;rsquo;t come without challenges. The performance challenges and the coordination required to reliably obtain business metrics from log-based solutions are not insignificant. This has given rise to a new era in observability, the era of the metric.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Logging &amp; Metrics: It’s a Journey</title>
      <link>https://billglover.me/2020/07/09/logging-metrics-its-a-journey/</link>
      <pubDate>Thu, 09 Jul 2020 06:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/07/09/logging-metrics-its-a-journey/</guid>
      <description>&lt;h2 id=&#34;the-power-of-logs&#34;&gt;The Power of Logs&lt;/h2&gt;&#xA;&lt;p&gt;A few years ago, I did some work for an online retailer. The systems were complex. Over the years, the business had layered an online presence atop of systems built to serve the needs of disconnected physical stores. Change was hard.&#xA;Despite this complexity, the data used to assess eCommerce performance were remarkably simple. Most prominent were the Requests Per Second (RPS) served by the web servers. Traffic patterns were so predictable that morning dips, lunchtime spikes and absolute numbers were all familiar to the business.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Conveying Context at the Terminal</title>
      <link>https://billglover.me/2020/07/02/conveying-context-at-the-terminal/</link>
      <pubDate>Thu, 02 Jul 2020 06:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/07/02/conveying-context-at-the-terminal/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2020/07/02/conveying-context-at-the-terminal/terminal_context_hu_cfab0f3532c78c85.png 500w&#xA;        &#xA;        &#xA;            , /2020/07/02/conveying-context-at-the-terminal/terminal_context_hu_8e1f0dd7fb3275e2.png 800w&#xA;        &#xA;        &#xA;            , /2020/07/02/conveying-context-at-the-terminal/terminal_context_hu_f105eb12a6156e74.png 1200w&#xA;        &#xA;        &#xA;            , /2020/07/02/conveying-context-at-the-terminal/terminal_context_hu_6f741e10e3882b42.png 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2020/07/02/conveying-context-at-the-terminal/terminal_context.png&#34; &#xA;        &#xA;         alt=&#34;A screenshot of the terminal showing a badge identifying the context&#34;/&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;I’ve run a few workshops recently that have involved streaming live terminal sessions to remote participants. During these workshops, we explore how different personas interact with Kubernetes.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;The Infrastructure Admin&lt;/em&gt; - provides compute and storage&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;The DevOps Engineer&lt;/em&gt; - provides clusters and capabilities&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;The Application Developer&lt;/em&gt; - builds applications&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;These workshops are good fun to run, but it is difficult to balance the narrative with typing into the terminal. As we work through the topics, we switch between various personas. Participants often try to relate what they see on screen to the role they perform at work?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Go on ARM: why struct field alignment matters</title>
      <link>https://billglover.me/2020/06/19/go-on-arm-why-struct-field-alignment-matters/</link>
      <pubDate>Fri, 19 Jun 2020 14:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/06/19/go-on-arm-why-struct-field-alignment-matters/</guid>
      <description>&lt;p&gt;I&amp;rsquo;d assumed the Go compiler provided a robust abstraction across CPU architectures. Code that ran on one CPU architecture would run on another. It turns out I was wrong. In this post, I provide a minimal example application that demonstrates the importance of field alignment when using &lt;code&gt;sync/atomic&lt;/code&gt; and &lt;code&gt;64-bit&lt;/code&gt; values.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;package&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;fmt&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;func&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fmt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;Println&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Hello, 世界&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We can build and run this program on our local machine (in my case a MacBook) with the following command.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I Manage Kubernetes Config</title>
      <link>https://billglover.me/2020/06/12/how-i-manage-kubernetes-config/</link>
      <pubDate>Fri, 12 Jun 2020 06:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/06/12/how-i-manage-kubernetes-config/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2020/06/12/how-i-manage-kubernetes-config/kubeconfig_hu_1146599e63a76e6.png 500w&#xA;        &#xA;        &#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2020/06/12/how-i-manage-kubernetes-config/kubeconfig.png&#34; &#xA;        &#xA;         alt=&#34;Image showing a roll of toilet paper covered in kubeconfig YAML.&#34;/&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;If you work with Kubernetes, you&amp;rsquo;ll be aware of the config file that defines contexts. This config is what &lt;code&gt;kubectl&lt;/code&gt; uses to gain access to a cluster. I work with a large number of ephemeral clusters and have found that this config is difficult to manage. This post shows how I&amp;rsquo;ve switched to using individual config files for each cluster.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Your Path to Production</title>
      <link>https://billglover.me/2020/06/04/your-path-to-production/</link>
      <pubDate>Thu, 04 Jun 2020 06:30:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/06/04/your-path-to-production/</guid>
      <description>&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2020/06/04/your-path-to-production/Path_To_Prod_hu_9c779e3d933a12a0.png 500w&#xA;        &#xA;        &#xA;        &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2020/06/04/your-path-to-production/Path_To_Prod.png&#34; &#xA;        /&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;A simplified path to production&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;So you&amp;rsquo;ve done the Kubernetes thing, you have micro-services, and use all the frameworks. You&amp;rsquo;ve rolled out one or more continuous thing doers and have more metrics than you know how to dashboard. Despite all this, you are struggling to release products as fast as the business would like.&lt;/p&gt;&#xA;&lt;p&gt;For many organisations, the path to production is more complex than you may realise. Approvals, compliance controls, and standards boards, are some of the things you&amp;rsquo;ll encounter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Keep Your Tech Discussions on Track with Fish Bones</title>
      <link>https://billglover.me/2020/05/21/keep-your-tech-discussions-on-track-with-fish-bones/</link>
      <pubDate>Thu, 21 May 2020 21:20:35 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/05/21/keep-your-tech-discussions-on-track-with-fish-bones/</guid>
      <description>&lt;p&gt;As a child, I had a nasty experience involving pizza, anchovies and a small fishbone. I&amp;rsquo;ve never touched anchovies since and it has taken me a long time to get used to the idea of eating fish at all. But that&amp;rsquo;s not what I&amp;rsquo;m here to write about. I&amp;rsquo;m here to share a different experience of fish bones.&lt;/p&gt;&#xA;&lt;p&gt;Recently I was preparing for a conversation with a customer where they&amp;rsquo;d asked to discuss a broad range of technologies. With these discussions, I&amp;rsquo;ve found that it is easy to get sucked into technical detail and lose sight of the main agenda. This is particularly true if the discussion involves a technical demo. I enjoy these types of discussion, but have been looking for ways to help keep things on track.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The importance of Health Probes</title>
      <link>https://billglover.me/2020/04/30/the-importance-of-health-probes/</link>
      <pubDate>Thu, 30 Apr 2020 20:35:35 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/04/30/the-importance-of-health-probes/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Organisations of all sizes are now deploying applications to platforms such as Kubernetes. Many of these applications do not adopt cloud native practices. Often the excuse is application age or product limitation.&lt;/p&gt;&#xA;&lt;p&gt;Many teams invest in platform infrastructure but failed to capitalise on these benefits. So what gives? Are platforms overhyped? Are the complexities of the enterprise too much for modern platforms?&lt;/p&gt;&#xA;&lt;p&gt;Engineers deploy applications to Kubernetes to take advantage of common platform features. Many of these features claim to help maintain service availability including:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Privacy Conscious Web Logs</title>
      <link>https://billglover.me/2020/03/31/privacy-conscious-web-logs/</link>
      <pubDate>Tue, 31 Mar 2020 20:16:35 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/03/31/privacy-conscious-web-logs/</guid>
      <description>&lt;p&gt;Anyone looking for statistics on their blog will find themselves pushed towards the big names in web analytics. In return for statistics, you are encouraged, if not required, to gather more information about your readers than strictly necessary. Even if you gather statistics from your server logs, you are almost certainly logging unnecessary information about visitors. It doesn&amp;rsquo;t have to be this way.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been attempting to revive my blog recently and wanted some insight into the posts I&amp;rsquo;ve published. Inspired by Laura Kalbag&amp;rsquo;s commitment not to track her readers (see &amp;ldquo;&lt;a href=&#34;https://laurakalbag.com/i-dont-track-you/&#34;&gt;I don&amp;rsquo;t track you&lt;/a&gt;&amp;rdquo;), I wondered if I could achieve the same results with my Nginx hosted blog.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chinese Practice Sheets</title>
      <link>https://billglover.me/2020/03/25/chinese-practice-sheets/</link>
      <pubDate>Wed, 25 Mar 2020 21:16:35 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/03/25/chinese-practice-sheets/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been looking to start practising my Chinese more deliberately than I have been, particularly my character recognition. I couldn&amp;rsquo;t find any character practice sheets that I liked and so I made a couple of my own.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;figure&gt;&lt;img &#xA;        sizes=&#34;(min-width: 35em) 1200px, 100vw&#34;&#xA;        srcset=&#39;&#xA;        &#xA;            /2020/03/25/chinese-practice-sheets/example_hu_20da2eb5b1079067.jpg 500w&#xA;        &#xA;        &#xA;            , /2020/03/25/chinese-practice-sheets/example_hu_60620480126b1a84.jpg 800w&#xA;        &#xA;        &#xA;            , /2020/03/25/chinese-practice-sheets/example_hu_524d2d14a5870c4b.jpg 1200w&#xA;        &#xA;        &#xA;            , /2020/03/25/chinese-practice-sheets/example_hu_2177ef6b77c02aff.jpg 1500w &#xA;        &#39;&#xA;        &#xA;            src=&#34;https://billglover.me/2020/03/25/chinese-practice-sheets/example.jpg&#34; &#xA;        /&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Chinese character practice sheets&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Both standard and dark mode are available below in PDF format and can be printed out or used as the background to many iPad drawing apps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dive Through the Layers</title>
      <link>https://billglover.me/2020/02/28/dive-through-the-layers/</link>
      <pubDate>Fri, 28 Feb 2020 06:16:35 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/02/28/dive-through-the-layers/</guid>
      <description>&lt;h1 id=&#34;dive-through-the-layers&#34;&gt;Dive Through the Layers&lt;/h1&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been working with a container image for a Django application and was surprised to find that an image for a simple application was 1.2 GB. This was particularly jarring as, coming from the world of Go, I&amp;rsquo;m used to images that come in at under 20 MB.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s not the size of the container image that&amp;rsquo;s the problem. Layer caching and re-use means that you are rarely transferring the full image around and that storage on disk is usually less than the sum of all your images. The worry I have with an image that is 1.2 GB is that everything that makes up that image needs to be maintained, patched, watched for security vulnerabilities, etc. 1.2 GB is a lot of software.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Compose: Conditional Services</title>
      <link>https://billglover.me/2020/02/21/docker-compose-conditional-services/</link>
      <pubDate>Fri, 21 Feb 2020 06:16:35 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/02/21/docker-compose-conditional-services/</guid>
      <description>&lt;p&gt;I recently added a &lt;code&gt;docker-compose&lt;/code&gt; definition of services to make it easier for people to contribute to the new &lt;a href=&#34;https://codebuddies.org&#34;&gt;CodeBuddies&lt;/a&gt; back-end. This addresses some of the pain new contributors were feeling with setting up a local development environment. The CodeBuddies backend is an API built using the Django REST Framework. PostgreSQL provides the data store. Everything is fronted by an Nginx reverse proxy. This is often referred to as a &lt;a href=&#34;https://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture&#34;&gt;three-tier architecture&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Sidecar Pattern</title>
      <link>https://billglover.me/2020/01/12/the-sidecar-pattern/</link>
      <pubDate>Sun, 12 Jan 2020 08:16:35 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/01/12/the-sidecar-pattern/</guid>
      <description>&lt;p&gt;The sidecar is a multi-container pattern used to provide additional functionality to a containerised-application without requiring changes to the application itself. The sidecar is the foundation of popular tools like the Istio service mesh. But how does it work?&lt;/p&gt;&#xA;&lt;p&gt;In this post, I will demonstrate how to use the Sidecar pattern to add TLS termination to an existing application using a custom-built proxy server. In reality, there should be no reason to build everything from scratch, I&amp;rsquo;ve done so here to validate my understanding of how things work. This post has been written so that you can read along without implementing the examples, but if you want to get your hands dirty and code along, I&amp;rsquo;ve made a few assumptions:&lt;/p&gt;</description>
    </item>
    <item>
      <title>WireGuard - the most stable VPN yet</title>
      <link>https://billglover.me/2020/01/05/wireguard-the-most-stable-vpn-yet/</link>
      <pubDate>Sun, 05 Jan 2020 09:06:51 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2020/01/05/wireguard-the-most-stable-vpn-yet/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;ContentControl.png&#34; alt=&#34;Image showing somone sitting at a terminal making decisions about which&#xA;content to allow and which content to block&#34;&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;wireguard---the-best-vpn-yet&#34;&gt;WireGuard - The Best VPN Yet&lt;/h1&gt;&#xA;&lt;p&gt;There are two reasons I regularly use a VPN connection on my portable devices; to give myself some privacy when using untrusted networks and to get around network filtering or censorship when traveling abroad. Over the years I&amp;rsquo;ve switched between running my own VPN endpoint and paying for a subscription with one of the popular providers. I&amp;rsquo;ve recently settled on a new favourite, WireGuard. I&amp;rsquo;ve found it to be fast, stable, and unusually tolerant of an unstable network. In this post I&amp;rsquo;ll take you through how to get set-up with your very own WireGuard VPN.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Server Timing Client-Side</title>
      <link>https://billglover.me/2019/12/02/server-timing-client-side/</link>
      <pubDate>Mon, 02 Dec 2019 21:16:35 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2019/12/02/server-timing-client-side/</guid>
      <description>&lt;p&gt;I still remember the days when it was common to include database query details and page render times in the footer of PHP sites. They were a badge of technical prowess. They screamed complexity. They let everyone know how dynamic the site had become.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;Screenshot%202019-12-02%20at%2020.24.51.png&#34; alt=&#34;screenshot showing a page foorter displaying the number of database queries and server time taken to render the page&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Performance wasn&amp;rsquo;t given much of a thought and as long as your pages rendered reasonably quickly, things were good. Most never noticed these footers. If they did, there was little they could do with the information. It wasn&amp;rsquo;t long before these vanished from site footers, into HTML comments at the end of the page. Web development has moved on and I struggled to find an example of this practice used today.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OSX Terminal.app Ignoring $PATH Variable</title>
      <link>https://billglover.me/2019/11/15/osx-terminal.app-ignoring-path-variable/</link>
      <pubDate>Fri, 15 Nov 2019 09:06:51 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2019/11/15/osx-terminal.app-ignoring-path-variable/</guid>
      <description>&lt;p&gt;Over the last couple of days I lost the ability to copy and paste from Vim using the macOS system clipboard. I hadn&amp;rsquo;t knowingly changed my Vim configuration and the only major change I&amp;rsquo;d made was to upgrade to macOS Catalina. This post points outlines how I resolved the issue and points the finger squarely and Full Disk Access on Catalina.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;TLDR:&lt;/strong&gt; Granting Full Disk Access to Terminal.app resolved the problem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Learn Go: by Concatenating Strings</title>
      <link>https://billglover.me/2019/03/13/learn-go-by-concatenating-strings/</link>
      <pubDate>Wed, 13 Mar 2019 13:02:49 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2019/03/13/learn-go-by-concatenating-strings/</guid>
      <description>&lt;p&gt;Joining strings is so common that many of us take it for granted. While working through the exercises in &amp;lsquo;The Go Programming Language&amp;rsquo; book as part of the London Study Group, I wanted to understand the differences between the various approaches for joining strings.&lt;/p&gt;&#xA;&lt;p&gt;If you are looking to concatenate strings in Go, here is what I&amp;rsquo;d do:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Outside a loop: use the &lt;code&gt;+&lt;/code&gt; operator: e.g. `&amp;ldquo;a&amp;rdquo; + &amp;ldquo;b&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Inside a loop: use &lt;code&gt;strings.Join([]string, string)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you want to know why read on. The notes that follow are primarily for my own understanding. They chart my attempt to explain the results of exercise 1.3 and explore different options for string concatenation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Beyond the Tour</title>
      <link>https://billglover.me/2019/02/24/beyond-the-tour/</link>
      <pubDate>Sun, 24 Feb 2019 20:28:46 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2019/02/24/beyond-the-tour/</guid>
      <description>&lt;p&gt;I love watching talks on technical subjects. However, I often find myself in a position where I understand the topic but am far more hesitant when it comes to the importance of the conclusion. As someone who tends to learn the most from practical experience, this lack of confidence often stems from the fact that I haven&amp;rsquo;t faced similar challenges to the speaker. This presents hurdles when self-learning, as it can be difficult to create complex technical setups required.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multi Architecture Docker Builds</title>
      <link>https://billglover.me/2018/10/30/multi-architecture-docker-builds/</link>
      <pubDate>Tue, 30 Oct 2018 00:02:59 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2018/10/30/multi-architecture-docker-builds/</guid>
      <description>&lt;p&gt;Docker has had the ability to build multi-architecture images for a while. I’ve never had cause to use it, until now. In this post I’ll walk through building a docker image that should work on your laptop and a Raspberry Pi.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;ll cover the following:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A simple test application&lt;/li&gt;&#xA;&lt;li&gt;Building docker images for each architecture&lt;/li&gt;&#xA;&lt;li&gt;Wrapping images in a multi-architecture manifest&lt;/li&gt;&#xA;&lt;li&gt;A small gotcha&lt;/li&gt;&#xA;&lt;li&gt;Testing our images&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;the-application&#34;&gt;The Application&lt;/h2&gt;&#xA;&lt;p&gt;Before we can begin building our containers, we need an application to package. We&amp;rsquo;ll use this small Go program. When executed, it displays the operating system and CPU architecture it. In this example, we expect to see &lt;code&gt;arm&lt;/code&gt; (Raspberry Pi) or &lt;code&gt;amd64&lt;/code&gt;  (MacBook). In both cases we&amp;rsquo;ll be running on Linux.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Go App Engine</title>
      <link>https://billglover.me/2018/10/22/go-app-engine/</link>
      <pubDate>Mon, 22 Oct 2018 13:56:58 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2018/10/22/go-app-engine/</guid>
      <description>&lt;p&gt;Google recently announced an update to App Engine that brings support for the Go 1.11 runtime. This release also enables the deployment of standard Go applications on App Engine. In this post, I show you how.&lt;/p&gt;&#xA;&lt;h2 id=&#34;our-application&#34;&gt;Our Application&lt;/h2&gt;&#xA;&lt;p&gt;The application we’ll be working through is  simple. It returns the IP address of the user, nothing more.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requirement #1:&lt;/strong&gt; As someone who wants to allow others access to my home network, I need to know my external IP address.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Expensive Is a Go Function Call?</title>
      <link>https://billglover.me/2018/09/17/how-expensive-is-a-go-function-call/</link>
      <pubDate>Mon, 17 Sep 2018 14:30:00 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2018/09/17/how-expensive-is-a-go-function-call/</guid>
      <description>&lt;p&gt;I was recently benchmarking various implementations of an algorithm and noticed that the recursive implementation of an algorithm performed worse than its inline equivalent. I didn&amp;rsquo;t know if it made sense to attribute this overhead to the cost of the additional function calls in the recursive implementation. I set out to see if I could see behind the scenes of a Go function call and determine just how expensive each function call is.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Art in The Age of Computers</title>
      <link>https://billglover.me/2018/08/25/art-in-the-age-of-computers/</link>
      <pubDate>Sat, 25 Aug 2018 00:00:00 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2018/08/25/art-in-the-age-of-computers/</guid>
      <description>&lt;p&gt;My wife and I recently visited the V&amp;amp;A and stumbled across &lt;a href=&#34;https://www.vam.ac.uk/exhibitions/chance-and-control-art-in-the-age-of-computers&#34;&gt;Chance and Control: Art in the age of computers&lt;/a&gt;, a small display celebrating 50 years of computer generated art. Tucked away in the corner of the second room was &lt;a href=&#34;http://collections.vam.ac.uk/item/O221321/schotter-print-nees-georg/&#34;&gt;Schotter&lt;/a&gt;, a piece by Georg Nees.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;“Nees was fascinated by the relationship between order and disorder in picture composition. To create this work, he introduced random variables into the computer program, causing orderly squares to descend into a heap.”&lt;/p&gt;</description>
    </item>
    <item>
      <title>Go: HTTP Testing</title>
      <link>https://billglover.me/2018/03/04/go-http-testing/</link>
      <pubDate>Sun, 04 Mar 2018 22:01:39 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2018/03/04/go-http-testing/</guid>
      <description>&lt;p&gt;My recent experience with writing APIs in Go has forced me to confront something that many seasoned developers would consider obvious: Writing tests and writing testable code are two very different challenges. Specifically, I have struggled to write tests involving HTTP interfaces.&lt;/p&gt;&#xA;&lt;p&gt;Approaches to testing that seemed obvious in the context of countless examples consistently seemed alien when applied to my own code. Then it struck me, the examples I&amp;rsquo;d been reading were focussed on demonstrating how to write tests and not how to write testable code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google App Engine: Private Services</title>
      <link>https://billglover.me/2018/01/24/google-app-engine-private-services/</link>
      <pubDate>Wed, 24 Jan 2018 22:16:51 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2018/01/24/google-app-engine-private-services/</guid>
      <description>&lt;p&gt;Google App Engine projects can contain multiple services. By default all services are exposed publicly. In this post we explore ways to restrict access to certain services to ensure that they can only be called internally within our project.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://billglover.me/img/which-greeting.png&#34; alt=&#34;Which greeting?&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Consider the three services used in my previous post on &lt;a href=&#34;https://billglover.me/&#34;&gt;Service Discovery&lt;/a&gt;. We want to ensure that all of our users request their greetings from the default service and directly from either the &lt;code&gt;hello&lt;/code&gt; or &lt;code&gt;nihao&lt;/code&gt; services.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google App Engine: Service Discovery</title>
      <link>https://billglover.me/2018/01/06/google-app-engine-service-discovery/</link>
      <pubDate>Sat, 06 Jan 2018 22:47:51 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2018/01/06/google-app-engine-service-discovery/</guid>
      <description>&lt;p&gt;It is possible to run multiple services within a single project on Google App Engine. In this post we explore the use of &lt;code&gt;ModuleHostname&lt;/code&gt; to implement rudimentary service discovery within a simple App Engine project.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://billglover.me/img/which-service.png&#34; alt=&#34;Which service?&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;&amp;lt;tldr&amp;gt;&lt;/code&gt; Use &lt;code&gt;hostname, err := appengine.ModuleHostname(ctx, svcName, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;)&lt;/code&gt; to return the URL based on a service name, &lt;code&gt;svcName&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;When developing a multi-service application using Google App Engine, I found myself having to change URLs for services as I moved back and forth between my local development instance and the live service. Additionally, the local instance of App Engine varies the URLs allocated to your service depending on the order they are started. Implementing basic service discovery has alleviated the need to maintain separate service URLs during local development and left me free to develop each service in isolation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creative AI</title>
      <link>https://billglover.me/2017/11/13/creative-ai/</link>
      <pubDate>Mon, 13 Nov 2017 21:42:23 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2017/11/13/creative-ai/</guid>
      <description>&lt;p&gt;Luba Elliott opened the Cloud &amp;amp; Machine Learning track at the recent Google Developer Group event at UCL in London with a talk on the Creative Applications of Machine Learning. It was her closing question that motivated me to look into some of the artists she mentions.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;“What is the best way for an AI to dream?&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;– Luba Elliott, &lt;a href=&#34;http://www.gdg-london.com&#34;&gt;#GDGLondon&lt;/a&gt; 2017&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Ask someone to explain why a reasonably complex neural network arrived at a particular decision and you will likely be met with a shrug of the shoulders. If you are lucky, you will be met with a generic explanation of how neural networks work. Rarely will you hear anything specific to the outcome in question. The same could be said about dreams. There is the theory, but nothing that allows you to determine why an individual dream took the turn it did.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Writing to a Full Channel in Go</title>
      <link>https://billglover.me/2017/10/11/writing-to-a-full-channel-in-go/</link>
      <pubDate>Wed, 11 Oct 2017 06:53:02 +0100</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2017/10/11/writing-to-a-full-channel-in-go/</guid>
      <description>&lt;p&gt;When attempting a simple circuit-breaker package (&lt;a href=&#34;https://github.com/billglover/breaker&#34;&gt;billglover/breaker&lt;/a&gt;), I wanted to surface state changes to users. In the course of implementing this feature I tried three approaches.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Allow users to query the current state of the breaker&lt;/li&gt;&#xA;&lt;li&gt;Allow users to provide a callback function&lt;/li&gt;&#xA;&lt;li&gt;Provide users a channel for callers to receive notifications&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Whilst all three solutions are workable, using channels felt like the most idiomatic. During the implementation I learned two new tricks for preventing deadlock when writing to buffered channels. Before I share them, a quick bit of context to show users of the package subscribe to notifications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The success of Apple Pay in China</title>
      <link>https://billglover.me/2016/02/21/the-success-of-apple-pay-in-china/</link>
      <pubDate>Sun, 21 Feb 2016 08:46:34 +0000</pubDate><author>hello@bill.dev (Bill)</author>
      <guid>https://billglover.me/2016/02/21/the-success-of-apple-pay-in-china/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;As I flew back from China earlier this week, Apple pulled the trigger and launched Apple Pay in China, initially partnering with China UnionPay (中国银联) and the Industrial and Commercial Bank of China, ICBC (中国工商银行). Other banks are sure to follow soon.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;Apple Pay launching in China today. Can&amp;rsquo;t wait for you to try it and see how incredibly easy it is to use! Apple Pay 于今日正式登陆中国。欢迎大家踊跃尝试，体验它卓越的便捷性！&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;– Tim Cook, Apple CEO, via &lt;a href=&#34;http://weibo.com/5524254784/Dim8ol1hd?from=page_1005055524254784_profile&amp;amp;wvr=6&amp;amp;mod=weibotime&amp;amp;type=comment&#34;&gt;Sina Weibo&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
