<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>simonh.uk</title><link href="https://simonh.uk/" rel="alternate"></link><link href="https://simonh.uk/feeds/all.atom.xml" rel="self"></link><id>https://simonh.uk/</id><updated>2026-03-02T00:00:00+00:00</updated><subtitle>Simon Harrison :: Burton on Trent :: UK</subtitle><entry><title>Game Boy and Game Boy Color Games Worth Playing in 2026 Part 1</title><link href="https://simonh.uk/2026/02/28/game-boy-and-game-boy-color-games-worth-playing-in-2026-part-1/" rel="alternate"></link><published>2026-02-28T00:00:00+00:00</published><updated>2026-03-02T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2026-02-28:/2026/02/28/game-boy-and-game-boy-color-games-worth-playing-in-2026-part-1/</id><summary type="html">	&lt;p&gt;Now you&amp;#8217;re playing with &lt;span class="caps"&gt;PORTABLE&lt;/span&gt; &lt;span class="caps"&gt;POWER&lt;/span&gt;!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="" src="/img/2026-02-28/gameboy-boxes.webp" /&gt;&lt;/p&gt;

	&lt;p class="info"&gt;I never owned a Game Boy, or a Game Boy Color, so this isn&amp;#8217;t a nostalgia post about games that I played when I was a little kid. I&amp;#8217;ve also never played a Pokemon game, so none of those games are here either. Most of the games here are ones I&amp;#8217;ve downloaded over the last few weeks and played for the first time. The main criteria for whether I&amp;#8217;ve included a game here is whether you can start playing within a few seconds. I&amp;#8217;ve also tried to include only games that I&amp;#8217;ve actually felt the need to play more than once. &lt;/p&gt;

	&lt;h2&gt;The Backstory&lt;/h2&gt;

	&lt;p&gt;A few weeks ago, I picked up an Anbernic RG350M. It was an impluse buy after I&amp;#8217;d confirmed it&amp;#8217;d play up to PlayStation 1. I thought I&amp;#8217;d use it for the odd bit of PS1, &lt;span class="caps"&gt;NES&lt;/span&gt;, &lt;span class="caps"&gt;SNES&lt;/span&gt;, &lt;span class="caps"&gt;GBA&lt;/span&gt; emulation while out and about. After a while I realised I didn&amp;#8217;t have any Game Boy games. So I checked out a few posts similar to this one and started trying some out. &lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve got to say, the 3.5&amp;#8221;, 4:3 ratio, 640&amp;#215;480 pixel display on the RG350M really makes GB, &lt;span class="caps"&gt;GBC&lt;/span&gt; and &lt;span class="caps"&gt;GBA&lt;/span&gt; games look great. All of the screenshots were taken using the RG350M, with Retroarch Gambatte core for the Gameboy (GB Colorization: &lt;span class="caps"&gt;SGB&lt;/span&gt; / Internal Palette: GB Pocket). For Game Boy Color I used the Gambatte &lt;span class="caps"&gt;OPK&lt;/span&gt; (gambatte-dms-multi-r572u4-20231203.opk). &lt;/p&gt;

	&lt;h2&gt;Game Boy&lt;/h2&gt;

	&lt;p class="hand"&gt;Mega Man I-V&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Mega Man Games" src="/img/2026-02-28/megaman.webp" title="Mega Man Games" /&gt;&lt;/p&gt;

	&lt;p&gt;These games are hard. &lt;strong&gt;Very&lt;/strong&gt; hard. But, thanks to emulators and save states, your chances of beating them are better now than ever! If you&amp;#8217;ve got a retro handheld, you need all five of these, it&amp;#8217;s that simple.&lt;/p&gt;

	&lt;p class="hand"&gt;Mega Man: Dr Wily&amp;#8217;s Revenge&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Mega Man" src="/img/2026-02-28/mm.webp" title="Mega Man" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Classic Bubble Bobble&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Classic Bubble Bobble" src="/img/2026-02-28/bubble-bobble.webp" title="Classic Bubble Bobble" /&gt;&lt;/p&gt;

	&lt;p&gt;Shoot bubbles at enemies, then pop them and collect the fruit they leave behind. I&amp;#8217;m a big fan of games that can be explained in one sentence. You might as well grab Bubble Bobble and Bubble Bobble Part 2 as well. &lt;/p&gt;

	&lt;p class="hand"&gt;Kirby&amp;#8217;s Block Ball&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Kirbys Block Ball" src="/img/2026-02-28/kirbys-block-ball.webp" title="Kirbys Block Ball" /&gt;&lt;/p&gt;

	&lt;p&gt;If you like Arkanoid or Breakout, you&amp;#8217;ll probably also like this game. I find it quite a nice, relaxing game with great music.&lt;/p&gt;

	&lt;p class="hand"&gt;Donkey Kong&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Donkey Kong" src="/img/2026-02-28/donkey-kong.webp" title="Donkey Kong" /&gt;&lt;/p&gt;

	&lt;p&gt;You need this. Everyone does.&lt;/p&gt;

	&lt;p class="hand"&gt;Balloon Kid&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Balloon Kid" src="/img/2026-02-28/balloon-kid.webp" title="Balloon Kid" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Galaga (Arcade Classic No. 3)&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Arcade Classic No 3" src="/img/2026-02-28/galaga.webp" title="Arcade Classic No 3" /&gt;&lt;/p&gt;

	&lt;p&gt;I love Galaga on the &lt;span class="caps"&gt;NES&lt;/span&gt; and Galaga 90 on the Turbo Grafx. I wasn&amp;#8217;t sure if this port would be worth bothering with, but it&amp;#8217;s actually really good. Plus Galaxian is the other game on the cartridge (another classic).&lt;/p&gt;

	&lt;p class="hand"&gt;Catrap &lt;/p&gt;

	&lt;p&gt;&lt;img alt="Catrap" src="/img/2026-02-28/catrap.webp" title="Catrap" /&gt;&lt;/p&gt;

	&lt;p&gt;I don&amp;#8217;t think I&amp;#8217;ve seen one list of the best GB games that hasn&amp;#8217;t included Catrap. It really is a great puzzle game. &lt;/p&gt;

	&lt;p class="hand"&gt;Game &amp;amp; Watch Gallery&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Game &amp;amp; Watch Gallery" src="/img/2026-02-28/game-watch1.webp" title="Game &amp;amp; Watch Gallery" /&gt;&lt;/p&gt;

	&lt;p&gt;Handheld gaming, 1980&amp;#8217;s style. It doesn&amp;#8217;t get much simpler than this. The screenshot above shows &lt;em&gt;Manhole&lt;/em&gt; where all you need to do is stop the little mushroom people falling to their deaths. Simple, fun, addictive.&lt;/p&gt;

	&lt;p class="hand"&gt;Boxxle 1 and 2&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Boxxle" src="/img/2026-02-28/boxxle.webp" title="Boxxle" /&gt;&lt;/p&gt;

	&lt;p&gt;In this one, you&amp;#8217;ve got to push the boxes into the squares marked with a dot. Sounds easy but it isn&amp;#8217;t. &lt;/p&gt;

	&lt;p class="hand"&gt;Nemesis 1 and 2&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Nemesis" src="/img/2026-02-28/nemesis.webp" title="Nemesis" /&gt;&lt;/p&gt;

	&lt;h2&gt;Game Boy Color&lt;/h2&gt;

	&lt;p class="hand"&gt;Frogger 1 and 2&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Frogger" src="/img/2026-02-28/frogger.webp" title="Frogger" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Game &amp;amp; Watch Gallery 2 and 3&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Game &amp;amp; Watch Gallery 2" src="/img/2026-02-28/game-watch2.webp" title="Game &amp;amp; Watch Gallery 2" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Mega Man Xtreme 1 and 2&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Mega Man Xtreme" src="/img/2026-02-28/mega-man-xtreme.webp" title="Mega Man Xtreme" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Micro Machines 1 and 2 Twin Turbo&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Micro Machines Twin Turbo" src="/img/2026-02-28/micro-machines1+2.webp" title="Micro Machines Twin Turbo" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Mr Driller&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Mr Driller" src="/img/2026-02-28/mr-driller.webp" title="Mr Driller" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Mario Tennis&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Mario Tennis" src="/img/2026-02-28/mario-tennis.webp" title="Mario Tennis" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Space Invaders&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Space Invaders" src="/img/2026-02-28/space-invaders.webp" title="Space Invaders" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Pac-Man&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Pac-Man" src="/img/2026-02-28/pac-man.webp" title="Pac-Man" /&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Tetris DX&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Tetris DX" src="/img/2026-02-28/tetris-dx.webp" title="Tetris DX" /&gt;&lt;/p&gt;


	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;There are some great games for the first two Game Boy systems. The Game Boy Advance took things to the next level of course, but I&amp;#8217;d recommend anybody to spend a bit of time building a libray of GB / &lt;span class="caps"&gt;GBC&lt;/span&gt; games. My main aim with this post is just to recommend a few games that I&amp;#8217;ve found enjoyable and think you will too. I may do a part 2 in the future when I&amp;#8217;ve tried out some more of these classics.&lt;/p&gt;</content><category term="gaming"></category><category term="retro"></category><category term="gameboy"></category></entry><entry><title>Backing Up Retro Game Library using Rsync</title><link href="https://simonh.uk/2026/02/10/backing-up-retro-game-library-using-rsync/" rel="alternate"></link><published>2026-02-10T00:00:00+00:00</published><updated>2026-02-12T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2026-02-10:/2026/02/10/backing-up-retro-game-library-using-rsync/</id><summary type="html">	&lt;p&gt;No &lt;span class="caps"&gt;GUI&lt;/span&gt; needed&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="rsync logo" src="/img/2026-02-10/rsync.webp" title="rsync logo" /&gt;&lt;/p&gt;

	&lt;p&gt;In this post, I thought I&amp;#8217;d share my simple method for keeping my (mainly) retro games backed up on a &lt;span class="caps"&gt;USB&lt;/span&gt; hard drive. To start with, I was doing it all manually, but that soon grew tiresome so I decided to use the tried and trusted &lt;a href="https://linux.die.net/man/1/rsync"&gt;rsync&lt;/a&gt; to save time. Before I ran any commands on my proper game directory, I created a test folder to make sure everything worked as I wanted. Rsync is a program with lots of options, but here I&amp;#8217;m only using it for a simple backup from one tree to another. Let&amp;#8217;s get started!&lt;/p&gt;

	&lt;p&gt;If you&amp;#8217;re not familiar with rsync, it generally takes a source folder and a destination folder, preceded by whatever options you want to use. Below, I&amp;#8217;m using &lt;code&gt;-navi&lt;/code&gt; which means:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;-n&lt;/code&gt; &amp;#8211; run in test mode (dry run)&lt;br /&gt;
&lt;code&gt;-a&lt;/code&gt; &amp;#8211; run in archive mode (which includes lots of options to save typing)&lt;br /&gt;
&lt;code&gt;-v&lt;/code&gt; &amp;#8211; run in verbose mode to give us info&lt;br /&gt;
&lt;code&gt;-i&lt;/code&gt; &amp;#8211; itemize what files are going to be added, deleted etc.&lt;/p&gt;

	&lt;p&gt;As you can see from the output below, rsync when used with &lt;code&gt;-navi&lt;/code&gt; gives us a summary of everything that it&amp;#8217;s going to do.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[simon@computer 14:38:24] ~/tmp
$ rsync -navi Games/ Games-backup
sending incremental file list
created directory Games-backup
cd+++++++++ ./
cd+++++++++ gb/
&amp;gt;f+++++++++ gb/A-mazing Tater (USA).gb
&amp;gt;f+++++++++ gb/Adventures of Lolo (Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Adventures of Star Saver, The (USA, Europe).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Block Ball (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Dream Land (USA, Europe).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Dream Land 2 (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Pinball Land (USA, Europe).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Star Stacker (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Wario Blast Featuring Bomberman! (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Wario Land - Super Mario Land 3 (World).gb
&amp;gt;f+++++++++ gb/Wario Land 3 (World) (En,Ja).gbc
&amp;gt;f+++++++++ gb/Wario Land II (USA, Europe) (SGB Enhanced) (GB Compatible).gbc
&amp;gt;f+++++++++ gb/Yoshi (USA).gb
&amp;gt;f+++++++++ gb/Yoshi&amp;#39;s Cookie (USA, Europe).gb
cd+++++++++ gba/
&amp;gt;f+++++++++ gba/Celeste 2 (v1.0) (Aftermarket).gba
&amp;gt;f+++++++++ gba/Celeste Classic (World) (v1.2) (Aftermarket) (Unl).gba
cd+++++++++ gg/
&amp;gt;f+++++++++ gg/Castle of Illusion Starring Mickey Mouse (USA, Europe, Brazil) (En).sms
&amp;gt;f+++++++++ gg/Chase H.Q. (USA).sms
&amp;gt;f+++++++++ gg/Choplifter III (USA).gg
&amp;gt;f+++++++++ gg/Excellent Dizzy Collection, The (Europe).sms
&amp;gt;f+++++++++ gg/GG Aleste (Japan) (En).gg
&amp;gt;f+++++++++ gg/GG Aleste 3 (Japan) (En) (Aleste Collection).gg
&amp;gt;f+++++++++ gg/GG Aleste II (Japan) (En) (Aleste Collection).gg
&amp;gt;f+++++++++ gg/Galaga 2 (Europe).gg
&amp;gt;f+++++++++ gg/Sonic &amp;amp; Tails (Japan) (En).gg
&amp;gt;f+++++++++ gg/Sonic &amp;amp; Tails 2 (Japan) (En).gg
&amp;gt;f+++++++++ gg/Sonic The Hedgehog (World) (Rev A).gg
&amp;gt;f+++++++++ gg/Sonic The Hedgehog 2 (World).gg
&amp;gt;f+++++++++ gg/Streets of Rage (World).gg
&amp;gt;f+++++++++ gg/Streets of Rage 2 (World).gg
&amp;gt;f+++++++++ gg/Super Space Invaders (USA, Europe).gg
&amp;gt;f+++++++++ gg/Tails Adventure (World) (En,Ja).gg
&amp;gt;f+++++++++ gg/Terminator 2 - Judgment Day (World).gg
&amp;gt;f+++++++++ gg/Terminator, The (USA, Europe).gg
cd+++++++++ ngc/
&amp;gt;f+++++++++ ngc/Bust-A-Move Pocket (USA).ngc
&amp;gt;f+++++++++ ngc/Crush Roller (World) (En,Ja).ngc
&amp;gt;f+++++++++ ngc/Fantastic Night Dreams - Cotton (Europe).ngc
&amp;gt;f+++++++++ ngc/Fatal Fury F-Contact - Pocket Fighting Series (World) (En,Ja).ngc
&amp;gt;f+++++++++ ngc/King of Fighters R-2 - Pocket Fighting Series (World) (En,Ja).ngc
&amp;gt;f+++++++++ ngc/Last Blade, The - Beyond the Destiny (USA, Europe).ngc
&amp;gt;f+++++++++ ngc/Magical Drop Pocket (USA, Europe).ngc
&amp;gt;f+++++++++ ngc/Rockman - Battle &amp;amp; Fighters (Japan).ngc
&amp;gt;f+++++++++ ngc/SNK Gals&amp;#39; Fighters (USA, Europe).ngc
&amp;gt;f+++++++++ ngc/SNK vs. Capcom - Card Fighters&amp;#39; Clash - SNK Version (USA, Europe).ngc
&amp;gt;f+++++++++ ngc/SNK vs. Capcom - The Match of the Millennium (World) (En,Ja).ngc
&amp;gt;f+++++++++ ngc/Sonic The Hedgehog - Pocket Adventure (World) (En,Ja).ngc
cd+++++++++ pce/
&amp;gt;f+++++++++ pce/Bomberman &amp;#39;93 (USA).pce
&amp;gt;f+++++++++ pce/Bomberman (USA).pce
&amp;gt;f+++++++++ pce/Chase H.Q. (USA).pce
&amp;gt;f+++++++++ pce/Darius Alpha (Japan) (En) (SG Enhanced).pce
&amp;gt;f+++++++++ pce/Darius Plus (Japan) (En) (SG Enhanced).pce
&amp;gt;f+++++++++ pce/Final Soldier (Japan) (En).pce
&amp;gt;f+++++++++ pce/Galaga &amp;#39;88 (Japan) (En).pce
&amp;gt;f+++++++++ pce/Gradius (Japan) (En).pce
&amp;gt;f+++++++++ pce/ImageFight (Japan) (En).pce
&amp;gt;f+++++++++ pce/Pac-Land (USA).pce
&amp;gt;f+++++++++ pce/R-Type I (Japan) (En).pce
&amp;gt;f+++++++++ pce/R-Type II (Japan) (En) (V1.1).pce
&amp;gt;f+++++++++ pce/Raiden (USA).pce
&amp;gt;f+++++++++ pce/Salamander (Japan) (En).pce
&amp;gt;f+++++++++ pce/Soldier Blade (USA).pce
&amp;gt;f+++++++++ pce/Space Invaders - Fukkatsu no Hi (Japan).pce
&amp;gt;f+++++++++ pce/Super Star Soldier (USA).pce
&amp;gt;f+++++++++ pce/Turrican (USA).pce

sent 3,171 bytes  received 266 bytes  6,874.00 bytes/sec
total size is 54,620,304  speedup is 15,891.85 (DRY RUN)&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Once we&amp;#8217;re happy that our command is going to do what we intend it to do, we can remove the &lt;code&gt;-n&lt;/code&gt; switch to make the initial backup:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[simon@computer 14:38:40] ~/tmp
$ rsync -avi Games/ Games-backup
sending incremental file list
created directory Games-backup
cd+++++++++ ./
cd+++++++++ gb/
&amp;gt;f+++++++++ gb/A-mazing Tater (USA).gb
&amp;gt;f+++++++++ gb/Adventures of Lolo (Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Adventures of Star Saver, The (USA, Europe).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Block Ball (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Dream Land (USA, Europe).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Dream Land 2 (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Pinball Land (USA, Europe).gb
&amp;gt;f+++++++++ gb/Kirby&amp;#39;s Star Stacker (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Wario Blast Featuring Bomberman! (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ gb/Wario Land - Super Mario Land 3 (World).gb
&amp;gt;f+++++++++ gb/Wario Land 3 (World) (En,Ja).gbc
&amp;gt;f+++++++++ gb/Wario Land II (USA, Europe) (SGB Enhanced) (GB Compatible).gbc
&amp;gt;f+++++++++ gb/Yoshi (USA).gb
&amp;gt;f+++++++++ gb/Yoshi&amp;#39;s Cookie (USA, Europe).gb
cd+++++++++ gba/
&amp;gt;f+++++++++ gba/Celeste 2 (v1.0) (Aftermarket).gba
&amp;gt;f+++++++++ gba/Celeste Classic (World) (v1.2) (Aftermarket) (Unl).gba
cd+++++++++ gg/
&amp;gt;f+++++++++ gg/Castle of Illusion Starring Mickey Mouse (USA, Europe, Brazil) (En).sms
&amp;gt;f+++++++++ gg/Chase H.Q. (USA).sms
&amp;gt;f+++++++++ gg/Choplifter III (USA).gg
&amp;gt;f+++++++++ gg/Excellent Dizzy Collection, The (Europe).sms
&amp;gt;f+++++++++ gg/GG Aleste (Japan) (En).gg
&amp;gt;f+++++++++ gg/GG Aleste 3 (Japan) (En) (Aleste Collection).gg
&amp;gt;f+++++++++ gg/GG Aleste II (Japan) (En) (Aleste Collection).gg
&amp;gt;f+++++++++ gg/Galaga 2 (Europe).gg
&amp;gt;f+++++++++ gg/Sonic &amp;amp; Tails (Japan) (En).gg
&amp;gt;f+++++++++ gg/Sonic &amp;amp; Tails 2 (Japan) (En).gg
&amp;gt;f+++++++++ gg/Sonic The Hedgehog (World) (Rev A).gg
&amp;gt;f+++++++++ gg/Sonic The Hedgehog 2 (World).gg
&amp;gt;f+++++++++ gg/Streets of Rage (World).gg
&amp;gt;f+++++++++ gg/Streets of Rage 2 (World).gg
&amp;gt;f+++++++++ gg/Super Space Invaders (USA, Europe).gg
&amp;gt;f+++++++++ gg/Tails Adventure (World) (En,Ja).gg
&amp;gt;f+++++++++ gg/Terminator 2 - Judgment Day (World).gg
&amp;gt;f+++++++++ gg/Terminator, The (USA, Europe).gg
cd+++++++++ ngc/
&amp;gt;f+++++++++ ngc/Bust-A-Move Pocket (USA).ngc
&amp;gt;f+++++++++ ngc/Crush Roller (World) (En,Ja).ngc
&amp;gt;f+++++++++ ngc/Fantastic Night Dreams - Cotton (Europe).ngc
&amp;gt;f+++++++++ ngc/Fatal Fury F-Contact - Pocket Fighting Series (World) (En,Ja).ngc
&amp;gt;f+++++++++ ngc/King of Fighters R-2 - Pocket Fighting Series (World) (En,Ja).ngc
&amp;gt;f+++++++++ ngc/Last Blade, The - Beyond the Destiny (USA, Europe).ngc
&amp;gt;f+++++++++ ngc/Magical Drop Pocket (USA, Europe).ngc
&amp;gt;f+++++++++ ngc/Rockman - Battle &amp;amp; Fighters (Japan).ngc
&amp;gt;f+++++++++ ngc/SNK Gals&amp;#39; Fighters (USA, Europe).ngc
&amp;gt;f+++++++++ ngc/SNK vs. Capcom - Card Fighters&amp;#39; Clash - SNK Version (USA, Europe).ngc
&amp;gt;f+++++++++ ngc/SNK vs. Capcom - The Match of the Millennium (World) (En,Ja).ngc
&amp;gt;f+++++++++ ngc/Sonic The Hedgehog - Pocket Adventure (World) (En,Ja).ngc
cd+++++++++ pce/
&amp;gt;f+++++++++ pce/Bomberman &amp;#39;93 (USA).pce
&amp;gt;f+++++++++ pce/Bomberman (USA).pce
&amp;gt;f+++++++++ pce/Chase H.Q. (USA).pce
&amp;gt;f+++++++++ pce/Darius Alpha (Japan) (En) (SG Enhanced).pce
&amp;gt;f+++++++++ pce/Darius Plus (Japan) (En) (SG Enhanced).pce
&amp;gt;f+++++++++ pce/Final Soldier (Japan) (En).pce
&amp;gt;f+++++++++ pce/Galaga &amp;#39;88 (Japan) (En).pce
&amp;gt;f+++++++++ pce/Gradius (Japan) (En).pce
&amp;gt;f+++++++++ pce/ImageFight (Japan) (En).pce
&amp;gt;f+++++++++ pce/Pac-Land (USA).pce
&amp;gt;f+++++++++ pce/R-Type I (Japan) (En).pce
&amp;gt;f+++++++++ pce/R-Type II (Japan) (En) (V1.1).pce
&amp;gt;f+++++++++ pce/Raiden (USA).pce
&amp;gt;f+++++++++ pce/Salamander (Japan) (En).pce
&amp;gt;f+++++++++ pce/Soldier Blade (USA).pce
&amp;gt;f+++++++++ pce/Space Invaders - Fukkatsu no Hi (Japan).pce
&amp;gt;f+++++++++ pce/Super Star Soldier (USA).pce
&amp;gt;f+++++++++ pce/Turrican (USA).pce

sent 54,639,115 bytes  received 1,310 bytes  109,280,850.00 bytes/sec
total size is 54,620,304  speedup is 1.00&lt;/code&gt;&lt;/pre&gt;

	&lt;p class="info"&gt;Make sure to include the trailing slash after the source directory otherwise rsync will copy the &lt;code&gt;Games&lt;/code&gt; directory as well (which is not what we want):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[simon@computer 14:46:29] ~/tmp
$ rsync -navi Games Games-backup
sending incremental file list
cd+++++++++ Games/
cd+++++++++ Games/gb/
&amp;gt;f+++++++++ Games/gb/A-mazing Tater (USA).gb
&amp;gt;f+++++++++ Games/gb/Adventures of Lolo (Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ Games/gb/Adventures of Star Saver, The (USA, Europe).gb
&amp;gt;f+++++++++ Games/gb/Kirby&amp;#39;s Block Ball (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ Games/gb/Kirby&amp;#39;s Dream Land (USA, Europe).gb
&amp;gt;f+++++++++ Games/gb/Kirby&amp;#39;s Dream Land 2 (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ Games/gb/Kirby&amp;#39;s Pinball Land (USA, Europe).gb
&amp;gt;f+++++++++ Games/gb/Kirby&amp;#39;s Star Stacker (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ Games/gb/Wario Blast Featuring Bomberman! (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ Games/gb/Wario Land - Super Mario Land 3 (World).gb
&amp;gt;f+++++++++ Games/gb/Wario Land 3 (World) (En,Ja).gbc
&amp;gt;f+++++++++ Games/gb/Wario Land II (USA, Europe) (SGB Enhanced) (GB Compatible).gbc
&amp;gt;f+++++++++ Games/gb/Yoshi (USA).gb
&amp;gt;f+++++++++ Games/gb/Yoshi&amp;#39;s Cookie (USA, Europe).gb
cd+++++++++ Games/gba/
&amp;gt;f+++++++++ Games/gba/Celeste 2 (v1.0) (Aftermarket).gba
&amp;gt;f+++++++++ Games/gba/Celeste Classic (World) (v1.2) (Aftermarket) (Unl).gba
cd+++++++++ Games/gg/
&amp;gt;f+++++++++ Games/gg/Castle of Illusion Starring Mickey Mouse (USA, Europe, Brazil) (En).sms
&amp;gt;f+++++++++ Games/gg/Chase H.Q. (USA).sms
&amp;gt;f+++++++++ Games/gg/Choplifter III (USA).gg
&amp;gt;f+++++++++ Games/gg/Excellent Dizzy Collection, The (Europe).sms
&amp;gt;f+++++++++ Games/gg/GG Aleste (Japan) (En).gg
&amp;gt;f+++++++++ Games/gg/GG Aleste 3 (Japan) (En) (Aleste Collection).gg
&amp;gt;f+++++++++ Games/gg/GG Aleste II (Japan) (En) (Aleste Collection).gg
&amp;gt;f+++++++++ Games/gg/Galaga 2 (Europe).gg
&amp;gt;f+++++++++ Games/gg/Sonic &amp;amp; Tails (Japan) (En).gg
&amp;gt;f+++++++++ Games/gg/Sonic &amp;amp; Tails 2 (Japan) (En).gg
&amp;gt;f+++++++++ Games/gg/Sonic The Hedgehog (World) (Rev A).gg
&amp;gt;f+++++++++ Games/gg/Sonic The Hedgehog 2 (World).gg
&amp;gt;f+++++++++ Games/gg/Streets of Rage (World).gg
&amp;gt;f+++++++++ Games/gg/Streets of Rage 2 (World).gg
&amp;gt;f+++++++++ Games/gg/Super Space Invaders (USA, Europe).gg
&amp;gt;f+++++++++ Games/gg/Tails Adventure (World) (En,Ja).gg
&amp;gt;f+++++++++ Games/gg/Terminator 2 - Judgment Day (World).gg
&amp;gt;f+++++++++ Games/gg/Terminator, The (USA, Europe).gg
cd+++++++++ Games/ngc/
&amp;gt;f+++++++++ Games/ngc/Bust-A-Move Pocket (USA).ngc
&amp;gt;f+++++++++ Games/ngc/Crush Roller (World) (En,Ja).ngc
&amp;gt;f+++++++++ Games/ngc/Fantastic Night Dreams - Cotton (Europe).ngc
&amp;gt;f+++++++++ Games/ngc/Fatal Fury F-Contact - Pocket Fighting Series (World) (En,Ja).ngc
&amp;gt;f+++++++++ Games/ngc/King of Fighters R-2 - Pocket Fighting Series (World) (En,Ja).ngc
&amp;gt;f+++++++++ Games/ngc/Last Blade, The - Beyond the Destiny (USA, Europe).ngc
&amp;gt;f+++++++++ Games/ngc/Magical Drop Pocket (USA, Europe).ngc
&amp;gt;f+++++++++ Games/ngc/Rockman - Battle &amp;amp; Fighters (Japan).ngc
&amp;gt;f+++++++++ Games/ngc/SNK Gals&amp;#39; Fighters (USA, Europe).ngc
&amp;gt;f+++++++++ Games/ngc/SNK vs. Capcom - Card Fighters&amp;#39; Clash - SNK Version (USA, Europe).ngc
&amp;gt;f+++++++++ Games/ngc/SNK vs. Capcom - The Match of the Millennium (World) (En,Ja).ngc
&amp;gt;f+++++++++ Games/ngc/Sonic The Hedgehog - Pocket Adventure (World) (En,Ja).ngc
cd+++++++++ Games/pce/
&amp;gt;f+++++++++ Games/pce/Bomberman &amp;#39;93 (USA).pce
&amp;gt;f+++++++++ Games/pce/Bomberman (USA).pce
&amp;gt;f+++++++++ Games/pce/Chase H.Q. (USA).pce
&amp;gt;f+++++++++ Games/pce/Darius Alpha (Japan) (En) (SG Enhanced).pce
&amp;gt;f+++++++++ Games/pce/Darius Plus (Japan) (En) (SG Enhanced).pce
&amp;gt;f+++++++++ Games/pce/Final Soldier (Japan) (En).pce
&amp;gt;f+++++++++ Games/pce/Galaga &amp;#39;88 (Japan) (En).pce
&amp;gt;f+++++++++ Games/pce/Gradius (Japan) (En).pce
&amp;gt;f+++++++++ Games/pce/ImageFight (Japan) (En).pce
&amp;gt;f+++++++++ Games/pce/Pac-Land (USA).pce
&amp;gt;f+++++++++ Games/pce/R-Type I (Japan) (En).pce
&amp;gt;f+++++++++ Games/pce/R-Type II (Japan) (En) (V1.1).pce
&amp;gt;f+++++++++ Games/pce/Raiden (USA).pce
&amp;gt;f+++++++++ Games/pce/Salamander (Japan) (En).pce
&amp;gt;f+++++++++ Games/pce/Soldier Blade (USA).pce
&amp;gt;f+++++++++ Games/pce/Space Invaders - Fukkatsu no Hi (Japan).pce
&amp;gt;f+++++++++ Games/pce/Super Star Soldier (USA).pce
&amp;gt;f+++++++++ Games/pce/Turrican (USA).pce

sent 3,187 bytes  received 232 bytes  6,838.00 bytes/sec
total size is 54,620,304  speedup is 15,975.52 (DRY RUN)&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now that we&amp;#8217;ve run rsync and copied all our games to our backup folder, running the same command again should not produce any changes. Let&amp;#8217;s check:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[simon@computer 14:55:15] ~/tmp
$ rsync -avi Games/ Games-backup
sending incremental file list

sent 2,957 bytes  received 17 bytes  5,948.00 bytes/sec
total size is 54,620,304  speedup is 18,365.94&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;rsync hasn&amp;#8217;t done anything by the looks of it, which is as we expect. Now, lets add a couple of new games to our source folder. We&amp;#8217;re in the mood for a bit of hockey so we&amp;#8217;ll add two games, one Gameboy game, one Game Gear one. Let&amp;#8217;s see if rsync spots them:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[simon@computer 14:55:20] ~/tmp
$ rsync -navi Games/ Games-backup
sending incremental file list
.d..t...... gb/
&amp;gt;f+++++++++ gb/NHL Blades of Steel (USA).gbc
.d..t...... gg/
&amp;gt;f+++++++++ gg/NHL All-Star Hockey (USA).gg

sent 3,040 bytes  received 29 bytes  6,138.00 bytes/sec
total size is 56,193,168  speedup is 18,309.93 (DRY RUN)&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;It sure did! Let&amp;#8217;s have rsync add them to our backup directory:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[simon@computer 15:00:19] ~/tmp
$ rsync -avi Games/ Games-backup
sending incremental file list
.d..t...... gb/
&amp;gt;f+++++++++ gb/NHL Blades of Steel (USA).gbc
.d..t...... gg/
&amp;gt;f+++++++++ gg/NHL All-Star Hockey (USA).gg

sent 1,576,360 bytes  received 69 bytes  3,152,858.00 bytes/sec
total size is 56,193,168  speedup is 35.65&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I really like the &lt;code&gt;-i&lt;/code&gt; option, as we can see exactly what rsync has done. &lt;/p&gt;

	&lt;h2&gt;What about files I&amp;#8217;ve deleted?&lt;/h2&gt;

	&lt;p&gt;If you&amp;#8217;re trying to manage a backup directory manually, it can be a lot of work, keeping track of files and folders added, modified and deleted. rsync has a handy &lt;code&gt;--delete&lt;/code&gt; option which will delete files from the destination folder that aren&amp;#8217;t in the source folder. For our example use case in this post about managing our retro game library backups, we may have a rom that doesn&amp;#8217;t work. So we&amp;#8217;d like it gone from both folders. &lt;/p&gt;

	&lt;p&gt;We decide to get rid of a Wario game and a Turrican game. These have already been backed up, but the &lt;code&gt;--delete&lt;/code&gt; option tells rsync to delete anything that&amp;#8217;s in the destination folder, but not in the source folder. Let&amp;#8217;s run rsync in test mode:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[simon@computer 15:16:04] ~/tmp
$ rsync -navi --delete Games/ Games-backup
sending incremental file list
*deleting   gb/Wario Blast Featuring Bomberman! (USA, Europe) (SGB Enhanced).gb
*deleting   pce/Turrican (USA).pce
.d..t...... gb/
.d..t...... pce/

sent 2,942 bytes  received 120 bytes  6,124.00 bytes/sec
total size is 55,668,880  speedup is 18,180.56 (DRY RUN)&lt;/code&gt;&lt;/pre&gt;

	&lt;h2&gt;What about file / directory renames?&lt;/h2&gt;

	&lt;p&gt;Let&amp;#8217;s say we decide to stop being so lazy and rename &lt;code&gt;gb&lt;/code&gt; to &lt;code&gt;Gameboy&lt;/code&gt;. Will rsync be smart enough to notice that and simply rename it for us at the backup? Or, will it assume this a brand new directory and copy all the same files again? Let&amp;#8217;s find out:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[simon@computer 11:23:14] master ~/tmp
$ rsync -navi --delete Games/ Games-backup/
sending incremental file list
*deleting   gb/Yoshi&amp;#39;s Cookie (USA, Europe).gb
*deleting   gb/Yoshi (USA).gb
*deleting   gb/Wario Land II (USA, Europe) (SGB Enhanced) (GB Compatible).gbc
*deleting   gb/Wario Land 3 (World) (En,Ja).gbc
*deleting   gb/Wario Land - Super Mario Land 3 (World).gb
*deleting   gb/NHL Blades of Steel (USA).gbc
*deleting   gb/Kirby&amp;#39;s Star Stacker (USA, Europe) (SGB Enhanced).gb
*deleting   gb/Kirby&amp;#39;s Pinball Land (USA, Europe).gb
*deleting   gb/Kirby&amp;#39;s Dream Land 2 (USA, Europe) (SGB Enhanced).gb
*deleting   gb/Kirby&amp;#39;s Dream Land (USA, Europe).gb
*deleting   gb/Kirby&amp;#39;s Block Ball (USA, Europe) (SGB Enhanced).gb
*deleting   gb/Adventures of Star Saver, The (USA, Europe).gb
*deleting   gb/Adventures of Lolo (Europe) (SGB Enhanced).gb
*deleting   gb/A-mazing Tater (USA).gb
*deleting   gb/
.d..t...... ./
cd+++++++++ Gameboy/
&amp;gt;f+++++++++ Gameboy/A-mazing Tater (USA).gb
&amp;gt;f+++++++++ Gameboy/Adventures of Lolo (Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ Gameboy/Adventures of Star Saver, The (USA, Europe).gb
&amp;gt;f+++++++++ Gameboy/Kirby&amp;#39;s Block Ball (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ Gameboy/Kirby&amp;#39;s Dream Land (USA, Europe).gb
&amp;gt;f+++++++++ Gameboy/Kirby&amp;#39;s Dream Land 2 (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ Gameboy/Kirby&amp;#39;s Pinball Land (USA, Europe).gb
&amp;gt;f+++++++++ Gameboy/Kirby&amp;#39;s Star Stacker (USA, Europe) (SGB Enhanced).gb
&amp;gt;f+++++++++ Gameboy/NHL Blades of Steel (USA).gbc
&amp;gt;f+++++++++ Gameboy/Wario Land - Super Mario Land 3 (World).gb
&amp;gt;f+++++++++ Gameboy/Wario Land 3 (World) (En,Ja).gbc
&amp;gt;f+++++++++ Gameboy/Wario Land II (USA, Europe) (SGB Enhanced) (GB Compatible).gbc
&amp;gt;f+++++++++ Gameboy/Yoshi (USA).gb
&amp;gt;f+++++++++ Gameboy/Yoshi&amp;#39;s Cookie (USA, Europe).gb

sent 2,999 bytes  received 724 bytes  7,446.00 bytes/sec
total size is 55,668,880  speedup is 14,952.69 (DRY RUN)&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;As you see, rsync went with the second option. At the time of running this, I really wasn&amp;#8217;t sure what would happen. After doing a bit of research, it&amp;#8217;s because rsync doesn&amp;#8217;t keep any state between runs. Each time you run it, it simply compares the source and the destination and because we passed &lt;code&gt;--delete&lt;/code&gt; rsync simply sees a folder (and all it&amp;#8217;s contents) need deleting, and a new folder needs copying to the backup. &lt;/p&gt;

	&lt;p&gt;It&amp;#8217;s the same result if you rename a file or multiple files:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[simon@computer 11:30:08] master ~/tmp
$ rsync -navi --delete Games/ Games-backup/
sending incremental file list
*deleting   Gameboy/Blades of Steel (USA).gbc
.d..t...... Gameboy/
&amp;gt;f+++++++++ Gameboy/NHL Blades of Steel (USA).gbc

sent 2,953 bytes  received 60 bytes  6,026.00 bytes/sec
total size is 55,668,880  speedup is 18,476.23 (DRY RUN)&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;With files only a few kilobytes in size, it&amp;#8217;s not really an issue. However, if you&amp;#8217;re backing up big files taking up gigabytes, this is going to be a problem. There are patches and workarounds, but I think you should take this into account up front and try to avoid renaming directories in particular! &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;So now, I&amp;#8217;m happy that the command:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ rsync -avi --delete Games/ Games-backup/&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;is going to backup anything newly added, and delete any games that I deliberately deleted. By the way, rsync also keeps track of modified files. So if you replace a game with another one shaing exactly the same name (but different contents), rsync will copy that one to your backup folder too.&lt;/p&gt;

	&lt;p&gt;I think rsync is the perfect program for managing a backup of your games / roms. You only have &lt;strong&gt;one&lt;/strong&gt; folder that you need to keep tidy and rsync will keep a perfect duplicate of that folder for you. &lt;/p&gt;

	&lt;p&gt;A lot of people (myself included) may have had some fear of using rsync for this sort of task but once you&amp;#8217;ve tried it on a test directory and dialled in your options, I don&amp;#8217;t tnink anything can beat it. &lt;/p&gt;</content><category term="software"></category><category term="retro"></category><category term="tips"></category><category term="linux"></category><category term="software"></category></entry><entry><title>Best Fonts for Ereading Part 1</title><link href="https://simonh.uk/2025/11/02/best-fonts-for-ereading-part-1/" rel="alternate"></link><published>2025-11-02T00:00:00+00:00</published><updated>2025-11-02T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-11-02:/2025/11/02/best-fonts-for-ereading-part-1/</id><summary type="html">	&lt;p&gt;A picture is worth a thousand words&lt;/p&gt;</summary><content type="html">	&lt;p&gt;Today, I thought I&amp;#8217;d see how different fonts are rendered on e-ink screens. I&amp;#8217;ve used fifteen fonts that I have on a Kindle Paperwhite 1. Why did I use the Paperwhite 1, you may ask? As it&amp;#8217;s an old device now, if a font looks good on that, then it&amp;#8217;ll look even better on a newer device. &lt;/p&gt;

	&lt;p&gt;My criteria for selecting the fonts for testing was based on my own experience using them, their historical importance, or whether they&amp;#8217;re pre-installed on devices. Some kept popping up in threads asking people what their favourite Kindle font is (yep, there are lots of them)! A couple are ones I&amp;#8217;ve been using for many years and may not be particularly well known.&lt;/p&gt;

	&lt;p&gt;Rightly or wrongly, I only use serif fonts for reading, so there are no sans fonts here. &lt;/p&gt;

	&lt;p&gt;All photos were taken with the Kindle light turned off, in good daylight. I&amp;#8217;m using &lt;span class="caps"&gt;KOR&lt;/span&gt;eader and the book is &lt;em&gt;The Problems of Philosophy&lt;/em&gt; by Bertrand Russell. The fonts are arranged alphabetically and linked to full resolution files on Flickr.&lt;/p&gt;

	&lt;h2&gt;Abril&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rCYRc1"&gt;&lt;img alt="Abril font" src="/img/2025-11-02/abril.webp" title="Abril font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Athelas&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rCUiUL"&gt;&lt;img alt="Athelas font" src="/img/2025-11-02/athelas.webp" title="Athelas font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Bembo&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rD1mcH"&gt;&lt;img alt="Bembo font" src="/img/2025-11-02/bembo.webp" title="Bembo font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Bookerly&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rCUiUv"&gt;&lt;img alt="Bookerly font" src="/img/2025-11-02/bookerly.webp" title="Bookerly font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Caslon Pro&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rD1mch"&gt;&lt;img alt="Caslon Pro font" src="/img/2025-11-02/caslon_pro.webp" title="Caslon Pro font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Chapparal Pro&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rD1fxk"&gt;&lt;img alt="Chaparral Pro font" src="/img/2025-11-02/chaparral_pro.webp" title="Chaparral Pro font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Garamond Pro&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rD14dS"&gt;&lt;img alt="Garamond Pro font" src="/img/2025-11-02/garamond_pro.webp" title="Garamond Pro font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Georgia Pro&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rD1mbF"&gt;&lt;img alt="Georgia Pro font" src="/img/2025-11-02/georgia_pro.webp" title="Georgia Pro font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Jenson Pro&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rCYN85"&gt;&lt;img alt="Jenson Pro font" src="/img/2025-11-02/jenson_pro.webp" title="Jenson Pro font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Karmina&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rCZZoS"&gt;&lt;img alt="Karmina font" src="/img/2025-11-02/karmina.webp" title="Karmina font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Literata&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rCYN7i"&gt;&lt;img alt="Literata font" src="/img/2025-11-02/literata.webp" title="Literata font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Minion Pro&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rCYRc6"&gt;&lt;img alt="Minion Pro font" src="/img/2025-11-02/minion_pro.webp" title="Minion Pro font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;New York Small&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rCUiTU"&gt;&lt;img alt="New York Small font" src="/img/2025-11-02/new_york_small.webp" title="New York Small font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Noto Serif&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rD14cu"&gt;&lt;img alt="Noto Serif font" src="/img/2025-11-02/noto_serif.webp" title="Noto Serif font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Palatino&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rCYN7d"&gt;&lt;img alt="Palatino font" src="/img/2025-11-02/palatino.webp" title="Palatino font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h1&gt;Conclusion&lt;/h1&gt;

	&lt;p&gt;I&amp;#8217;m not going to rate or judge these typefaces, so there are no winners or losers. After all, what I like may not be what &lt;em&gt;you&lt;/em&gt; like. Generally speaking though, fonts like Bembo, Caslon, Garamond, Jenson are well suited to reading literary classics, philosophy, histories etc. as many physical books use them. They evoke a particular mood thanks to their long history and influences.&lt;/p&gt;

	&lt;p&gt;Bookerly and Literata have been designed specifically for ereading and either can be safely used as your default font. &lt;/p&gt;

	&lt;p&gt;Noto Serif is the default serif in &lt;span class="caps"&gt;KOR&lt;/span&gt;eader and it&amp;#8217;s also very legible and comfortable to use. &lt;/p&gt;</content><category term="reading"></category><category term="books"></category><category term="epub"></category><category term="kindle"></category></entry><entry><title>Pistachios for Pain and Inflammation Reduction</title><link href="https://simonh.uk/2025/10/31/pistachios-for-pain-and-inflammation-reduction/" rel="alternate"></link><published>2025-10-31T00:00:00+00:00</published><updated>2025-10-31T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-10-31:/2025/10/31/pistachios-for-pain-and-inflammation-reduction/</id><summary type="html">	&lt;p&gt;One of your five-a-day?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Bags of Pistachio Nuts" src="/img/2025-10-31/pistachios.webp" title="Bags of Pistachio Nuts" /&gt;&lt;/p&gt;

	&lt;p&gt;About a year ago, maybe a bit more, I started getting some pain in my right shoulder. Initially, nothing serious, more annoying than anything. But as time went on the pain would sometimes get worse. Eventually it began to affect my work. Lifting my right arm upwards or outwards would invariably cause this pain. I began having to think about what I was doing to try and avoid causing this annoying discomfort. I&amp;#8217;d describe the pain as a dull aching, although sometimes quite sharp if I moved the arm too quickly.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m also a right side sleeper, but as all my weight was on that side, and I&amp;#8217;d often feel pain in the night or in the morning, I tried to sleep on my back or on my left side to give my right shoulder some relief. Well, once asleep our bodies have a mind of their own, and thus, the pain didn&amp;#8217;t go away.&lt;/p&gt;

	&lt;p&gt;I just carried on, and went with the low effort &lt;em&gt;ignore it and it should go away&lt;/em&gt; approach. To be fair, it didn&amp;#8217;t really get any worse (or better) so I ignored it as best I could. &lt;/p&gt;

	&lt;h2&gt;A Surprising Turn of Events&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Watching TV and eating pistachios" src="/img/2025-10-31/watching_tv.webp" title="Watching TV and eating pistachios" /&gt;&lt;/p&gt;

	&lt;p&gt;A few weeks ago, the missus and I decided to watch the brilliant TV show, Chernobyl. When we&amp;#8217;re watching a series, we&amp;#8217;ll usually munch on some biscuits, nuts, popcorn etc. We had a couple of rather large bags of pistachios in the pantry so thought we&amp;#8217;d eat them until finished (over the course of a few nights). &lt;/p&gt;

	&lt;p&gt;I think it was about a week later, I said to the other half:&lt;/p&gt;

	&lt;p&gt;&amp;#8220;That&amp;#8217;s weird. My shoulder isn&amp;#8217;t hurting&amp;#8230;&amp;#8221; &lt;/p&gt;

	&lt;p&gt;Nothing. No pain. &lt;/p&gt;

	&lt;p&gt;By this time, we&amp;#8217;d finished watching Chernobyl and were into series one of Landman. The only thing that sprang to mind as being out of routine recently were the pistachios! &lt;/p&gt;

	&lt;p&gt;So if you&amp;#8217;re having some discomfort, give a bag of pistachios a try. Personally, I&amp;#8217;d probably eat about thirty of them per sitting, but I reckon a handful eaten daily should suffice.&lt;/p&gt;</content><category term="health"></category><category term="tips"></category><category term="natural"></category></entry><entry><title>Revisiting the Kobo Mini in 2025</title><link href="https://simonh.uk/2025/10/20/revisiting-the-kobo-mini-in-2025/" rel="alternate"></link><published>2025-10-20T00:00:00+01:00</published><updated>2025-10-23T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-10-20:/2025/10/20/revisiting-the-kobo-mini-in-2025/</id><summary type="html">	&lt;p&gt;Small is a big deal, said Kobo&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Kobo Mini" src="/img/2025-10-20/kobo_mini.webp" title="Kobo Mini" /&gt;&lt;/p&gt;

	&lt;p&gt;Released in 2012, the Kobo Mini had a 5&amp;#8221; screen (no light) and 2GB of storage. I think I bought mine in 2013. Let me tell you, I read lots of books on this little guy, back then. I re-read all the Riftwar Saga books by Raymond Feist, and one of my favourite books &lt;em&gt;The Dog Stars&lt;/em&gt; by Peter Heller, along with many others. &lt;/p&gt;

	&lt;p&gt;I also spent quite a bit of time trying to find fonts which looked good on the diminutive screen. My favourite font was Ibis text followed by Abril:  &lt;/p&gt;

	&lt;p class="hand"&gt;Kobo Mini with Ibis font&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rAoVBo"&gt;&lt;img alt="Kobo Mini with Ibis font" src="/img/2025-10-20/kobo_ibis.webp" title="Kobo Mini with Ibis font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Kobo Mini with Abril font&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rAqdHi"&gt;&lt;img alt="Kobo Mini with Abril font" src="/img/2025-10-20/kobo_abril.webp" title="Kobo Mini with Abril font" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;I still think those fonts look nice, although I use Bookerly and Literata on my Kindles these days.&lt;/p&gt;

	&lt;h2&gt;A Firmware Hack&lt;/h2&gt;

	&lt;p&gt;After I found the Mini (whilst looking for something else), I discovered that it&amp;#8217;s possible to install firmware intended for the Glo on the Mini. I followed the instructions in &lt;a href="https://www.reddit.com/r/kobo/comments/116frb2/i_just_put_the_glo_firmware_on_my_mini_and_i_cant/"&gt;this&lt;/a&gt; Reddit post and everything is working fine.&lt;/p&gt;

	&lt;h2&gt;Installing NickelMenu and &lt;span class="caps"&gt;KOR&lt;/span&gt;eader&lt;/h2&gt;

	&lt;p&gt;Initially I didn&amp;#8217;t bother installing either of these, but was having some display issues with some books so decided to give &lt;a href="https://pgaskin.net/NickelMenu/"&gt;NickelMenu&lt;/a&gt; a try. Once that was set up, I installed &lt;a href="https://koreader.rocks/"&gt;&lt;span class="caps"&gt;KOR&lt;/span&gt;eader&lt;/a&gt; using the &lt;a href="https://github.com/koreader/koreader/wiki/Installation-on-Kobo-devices"&gt;Kobo Installation&lt;/a&gt; instructions on the wiki. I&amp;#8217;ve already got &lt;span class="caps"&gt;KOR&lt;/span&gt;eader on a number of Kindles and the interface is just the same on the Kobo Mini (except smaller of course). Here&amp;#8217;s a photo showing how reading looks:&lt;/p&gt;

	&lt;p class="hand"&gt;&lt;span class="caps"&gt;KOR&lt;/span&gt;eader on Kobo Mini&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rBrGL5"&gt;&lt;img alt="KOReader on Kobo Mini" src="/img/2025-10-20/kobo_koreader.webp" title="KOReader on Kobo Mini" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rBkqGa"&gt;&lt;img alt="KOReader on Kobo Mini" src="/img/2025-10-20/kobo_koreader2.webp" title="KOReader on Kobo Mini" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;You can see that I have smaller left / right margins than on the stock Kobo firmware which is needed as the screen is pretty small!&lt;/p&gt;

	&lt;h2&gt;How Does it Hold Up Today?&lt;/h2&gt;

	&lt;p&gt;Well, the battery isn&amp;#8217;t holding charge like it used to, but that&amp;#8217;s to be expected. Having to charge it once a week is completely fine for me. The touchscreen is certainly slower than modern ereaders, but still entirely usable. As far as I&amp;#8217;m aware, this is still the smallest e-ink ereading device (not counting e-ink phones). You can easily shove this thing in a jacket pocket and no one will know that you&amp;#8217;re planning on reading at work instead of working at work!&lt;/p&gt;

	&lt;p&gt;The e-ink pearl screen is &lt;em&gt;slightly&lt;/em&gt; greyer than the newer Carta screens. But again, perfectly usable. There&amp;#8217;s a post on &lt;a href="https://blog.the-ebook-reader.com/2013/11/11/screen-comparison-e-ink-carta-vs-e-ink-pearl/"&gt;the-ebook-reader&lt;/a&gt; that compares the two screen types if you&amp;#8217;re interested.&lt;/p&gt;

	&lt;p&gt;For me, this was bought as an upgrade from reading on my &lt;span class="caps"&gt;HTC&lt;/span&gt; Desire phone. I got my money&amp;#8217;s worth out of it, for sure.&lt;/p&gt;

	&lt;p&gt;For a size comparison, here is the latest Kindle Paperwhite and my Kobo Mini, both aligned on the bottom edge:&lt;/p&gt;

	&lt;p class="hand"&gt;Five Inch vs Seven Inch&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rAq8zE"&gt;&lt;img alt="Kobo Mini vs Kindle Paperwhite 7&amp;quot;" src="/img/2025-10-20/kobo_kindle.webp" title="Kobo Mini vs Kindle Paperwhite 7&amp;quot;" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Final Thoughts&lt;/h2&gt;

	&lt;p&gt;The Mini was pitched as a small ereading device. I bought it just for that reason. I read quite a few books on it and it&amp;#8217;s still capable of reading many more. Whilst I wouldn&amp;#8217;t want it as my main device anymore, it still fills it niche as a pocketable little ereader.&lt;/p&gt;

	&lt;p&gt;Some people will mind that it doesn&amp;#8217;t have a built in light. I don&amp;#8217;t mind having an ereader that can only really be used in daylight (for the best experience). I treat the Kobo Mini similarly to a physical book, which also doesn&amp;#8217;t have a light!&lt;/p&gt;

	&lt;p&gt;If you install NickelMenu and &lt;span class="caps"&gt;KOR&lt;/span&gt;eader, this becomes a &lt;em&gt;very&lt;/em&gt; nice, pocket sized ereader that you might find yourself spending a lot of time using. I am, anyway.&lt;/p&gt;</content><category term="reading"></category><category term="books"></category><category term="kobo"></category><category term="epub"></category></entry><entry><title>Physical Books vs EPUB's</title><link href="https://simonh.uk/2025/10/16/physical-books-vs-epubs/" rel="alternate"></link><published>2025-10-16T00:00:00+01:00</published><updated>2025-10-16T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-10-16:/2025/10/16/physical-books-vs-epubs/</id><summary type="html">	&lt;p&gt;Old vs New Reading&lt;/p&gt;</summary><content type="html">	&lt;p class="hand"&gt;My &amp;#8220;real&amp;#8221; books back in 2002&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rzFtUX"&gt;&lt;img alt="My book library in 2002" src="/img/2025-10-16/books_2002.webp" title="My book library in 2002" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;I know what you&amp;#8217;re thinking; surely you mean &lt;em&gt;physical books vs ebooks!&lt;/em&gt; No, I do not. That would include Amazon&amp;#8217;s AZW3 format which I&amp;#8217;d advise any booklover to steer clear of. Using only &lt;span class="caps"&gt;EPUB&lt;/span&gt;, we now have a fair contest.&lt;/p&gt;

	&lt;h2&gt;&lt;span class="caps"&gt;EPUB&lt;/span&gt; is a Documented Standard&lt;/h2&gt;

	&lt;p&gt;&lt;span class="caps"&gt;EPUB&lt;/span&gt;&amp;#8217;s are essentially just some &lt;span class="caps"&gt;HTML&lt;/span&gt; files, images and some metadata files, stored in a zip container. The following screenshots show the directory structure of &lt;em&gt;The Strange Case Of Dr. Jekyll And Mr. Hyde&lt;/em&gt; from gutenberg.org:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="EPUB archive" src="/img/2025-10-16/epub_archive1.webp" title="EPUB archive" /&gt;&lt;/p&gt;

	&lt;p&gt;and If we have a peek in the &lt;span class="caps"&gt;OEBPS&lt;/span&gt; (Open eBook Publication Structure) folder, we&amp;#8217;ll see all the chapters:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="EPUB OEBPS files" src="/img/2025-10-16/epub_archive2.webp" title="EPUB OEBPS files" /&gt;&lt;/p&gt;

	&lt;p&gt;and here is the first chapter as rendered by &lt;a href="https://mupdf.com/"&gt;muPDF&lt;/a&gt;:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="EPUB on Linux desktop" src="/img/2025-10-16/epub_mupdf.webp" title="EPUB on Linux desktop" /&gt;&lt;/p&gt;

	&lt;h2&gt;&lt;span class="caps"&gt;EPUB&lt;/span&gt; Advantages&lt;/h2&gt;

	&lt;h3&gt;Project Gutenberg&lt;/h3&gt;

	&lt;p&gt;Here&amp;#8217;s the first advantage: &lt;a href="https://www.gutenberg.org/"&gt;Project Gutenberg&lt;/a&gt;. You can start building your library from a selection of 75,000 copyright free books. Seriously, this alone defeats physical books in my opinion. The best books &lt;em&gt;ever written&lt;/em&gt; freely available to download and read. &lt;/p&gt;

	&lt;h3&gt;Backups!&lt;/h3&gt;

	&lt;p&gt;As &lt;span class="caps"&gt;EPUB&lt;/span&gt;&amp;#8217;s are just files, you can back them up to multiple locations. Maybe not so important for Gutenberg downloads, but for ones you&amp;#8217;ve paid for, probably something you should consider.&lt;/p&gt;

	&lt;h3&gt;Customizable&lt;/h3&gt;

	&lt;p&gt;Use your favourite font, change it&amp;#8217;s size, alter the margins, the line spacing, the kerning, the contrast and so on. Try doing that with a physical book!&lt;/p&gt;

	&lt;h3&gt;Space Efficient&lt;/h3&gt;

	&lt;p&gt;&lt;span class="caps"&gt;EPUB&lt;/span&gt;&amp;#8217;s take up &lt;em&gt;no&lt;/em&gt; physical space. Once you&amp;#8217;ve boxed up all your physical books a few times when moving home, you&amp;#8217;ll see this as a big annoyance with a decent size physical book collection. Well, I certainly did.&lt;/p&gt;

	&lt;h2&gt;Physical Book Advantages&lt;/h2&gt;

	&lt;h3&gt;Ownership&lt;/h3&gt;

	&lt;p&gt;You own the book and no one can take it away from you. That&amp;#8217;s often an argument put forward by those who prefer physical books. I would point out that all books with current copyright will have terms that you have to agree to. Such as you won&amp;#8217;t copy it, lend it etc. &lt;/p&gt;

	&lt;h3&gt;Simpler to Use&lt;/h3&gt;

	&lt;p&gt;A physical book is certainly simpler to use, I grant that. No devices needed. No power required, just a light source. &lt;/p&gt;

	&lt;h3&gt;Tactile Experience&lt;/h3&gt;

	&lt;p&gt;I can see the logic with this one too. Back when I had lots of physical books, each one had it&amp;#8217;s own feel, smell, &amp;#8220;personality&amp;#8221;, almost. You don&amp;#8217;t get that with a file. Still, the emotional impact of reading an &lt;span class="caps"&gt;EPUB&lt;/span&gt; is exactly the same as reading a physical book. Ultimately, it&amp;#8217;s not about the format, it&amp;#8217;s about the information.&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;One reason I decided to make this post, is that my sixteen year old daughter has requested a few books for Christmas. I told her she didn&amp;#8217;t have to wait as I&amp;#8217;ve already got them as ebooks. She didn&amp;#8217;t want them! She wanted the physical versions instead. This led to a discussion of the merits of physical vs ebooks. She&amp;#8217;s still at the age where she knows best, so refused my challenge to &lt;em&gt;try&lt;/em&gt; and read an ebook. Ah well&amp;#8230;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve had both. Physical books and ebooks. Back in the day, we didn&amp;#8217;t really have a choice. Ebooks weren&amp;#8217;t really a thing so if you wanted books, off to the bookshop, you had to go.&lt;/p&gt;

	&lt;p&gt;Now, we do have a choice. Whilst I&amp;#8217;m very happy that physical books continue to outsell ebooks, I&amp;#8217;m &lt;span class="caps"&gt;EPUB&lt;/span&gt; all the way. The ereaders we have nowadays are arguably &lt;em&gt;better&lt;/em&gt; than paper, what with their built in lights and tinkering options, and have proven their reliability over the last eighteen odd years. Oh, and if you want to read &lt;span class="caps"&gt;EPUB&lt;/span&gt;&amp;#8217;s on your Kindle see this &lt;a href="https://simonh.uk/2025/10/11/using-a-kindle-paperwhite-1st-generation-in-2025/"&gt;post&lt;/a&gt; which should point you in the right direction.&lt;/p&gt;

	&lt;h2&gt;Afterword&lt;/h2&gt;

	&lt;p&gt;You may be wondering where all those physical books are now&amp;#8230; Well, in a supreme act of selfless generosity, I donated &lt;em&gt;nearly&lt;/em&gt; all of them (I still have one small box in my wardrobe) to my son&amp;#8217;s school. The librarian was delighted when I phoned up offering them and even more so when I delivered them, which made me feel fuzzy inside. &lt;/p&gt;</content><category term="reading"></category><category term="opinion"></category></entry><entry><title>Takeaway Beef Fried Rice at Home</title><link href="https://simonh.uk/2025/10/11/takeaway-beef-fried-rice-at-home/" rel="alternate"></link><published>2025-10-11T00:00:00+01:00</published><updated>2025-10-27T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-10-11:/2025/10/11/takeaway-beef-fried-rice-at-home/</id><summary type="html">	&lt;p&gt;Two quid vs eight quid!&lt;/p&gt;</summary><content type="html">	&lt;p class="hand"&gt;Homemade beef fried rice. Better than takeout!&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Beef fried rice" src="/img/2025-10-11/beef_fried_rice.webp" title="Beef fried rice" /&gt;&lt;/p&gt;

	&lt;p&gt;As much as I like egg fried rice, I like beef fried rice even more. When I&amp;#8217;m working away from home, I&amp;#8217;ll usually try and find a Chinese takeaway and buy one. So once I&amp;#8217;d perfected &lt;a href="https://simonh.uk/2025/10/07/perfect-egg-fried-rice-part-4-final/"&gt;egg fried rice&lt;/a&gt;, beef fried rice was going to be next. Amazingly, this took only two attempts.&lt;/p&gt;

	&lt;h2&gt;A Visit to the Butcher&lt;/h2&gt;

	&lt;p&gt;My research had suggested that skirt beef was the best cut for beef fried rice. My butcher doesn&amp;#8217;t keep it in stock but it could be ordered I was told. Nah. I needed some &lt;em&gt;today&lt;/em&gt;. He said that rump steak would probably be better. I told him that as this was an experiment, I only wanted about £3 worth to have a play with. &lt;/p&gt;

	&lt;p&gt;When I got home, I sliced the beef pretty thinly and found that I&amp;#8217;d easily have enough for two portions. So that&amp;#8217;s £1.50 vs about £7.00 at a takeaway! Plus, they&amp;#8217;re almost certainly using a cheaper type of beef.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;Update on 2025-10-27:&lt;/mark&gt;&lt;/p&gt;

	&lt;p&gt;After trying a number of different cuts of beef (topside, rump, sirloin), I&amp;#8217;ve found that braising steak seems to work best. A £3 steak, like below will easily do three portions!&lt;/p&gt;

	&lt;p class="hand"&gt;Braising steak is best&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Braising steak for beef fried rice" src="/img/2025-10-11/braising_steak.webp" title="Braising steak for beef fried rice" /&gt;&lt;/p&gt;

	&lt;p class="warn"&gt;&lt;em&gt;Make sure to bin the silverskin and any other gristle. Something many takeaways don&amp;#8217;t bother doing!&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;As you can see from the photo below, that one small steak has now been portioned into three. One for today, the other two will get frozen&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Braising steak ready to cook or freeze" src="/img/2025-10-11/braising_steak_portions.webp" title="Braising steak ready to cook or freeze" /&gt;&lt;/p&gt;

	&lt;h2&gt;Beef Preparation&lt;/h2&gt;

	&lt;p&gt;This is really simple. Put the beef in a small bowl and sprinkle on 1/8 tsp (ish) of bicarnbonate of soda. Mix it well. Then, sprinkle on about 1/4 tsp of cornflour and mix that too. The reason for using cornflour is that it browns the beef very quickly, adding flavour.&lt;/p&gt;

	&lt;p&gt;Next, add a splash of oyster sauce, a splash of superior dark soy sauce, and a small sprinkle of chicken stock powder. Stir it in. Finally, add a smidge of sunflower oil and stir that in. &lt;/p&gt;

	&lt;p class="warn"&gt;&lt;em&gt;I don&amp;#8217;t use exact measurements for the beef as it depends on how much you&amp;#8217;re using. You don&amp;#8217;t want it to be soaking wet. You just want a thin coating on the beef.&lt;/em&gt; See photo below showing how mine looks:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Beef marinade" src="/img/2025-10-11/beef_marinade.webp" title="Beef marinade" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;Update on 2025-10-27&lt;/mark&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve started adding a bit more bicarbonate of soda (1/2 tsp), mixing it all in, leaving it for about ten minutes, then washing the beef and squeezing out the water. This does seem to help tenderize the meat and will get rid of any soda flavour. I&amp;#8217;ve also found that adding the cornflour at the end stops the beef sticking in the wok.&lt;/p&gt;

	&lt;p&gt;The recipe below is exactly the same as my &lt;a href="https://simonh.uk/2025/10/07/perfect-egg-fried-rice-part-4-final/"&gt;egg fried rice&lt;/a&gt; recipe, except the addition of the beef. I&amp;#8217;m putting it all here again for completeness.&lt;/p&gt;

	&lt;h2&gt;Beef Fried Rice Recipe&lt;/h2&gt;

	&lt;p&gt;&lt;em&gt;Serves one&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;1. Prepare beef as above and leave to marinade for at least twenty minutes.&lt;br /&gt;
2. Whisk up a large egg, with a pinch of black pepper and white pepper&lt;br /&gt;
3. Chop up a bit of spring onion and white onion if desired (I do)&lt;br /&gt;
4. Heat wok on maximum temperature until starts to smoke&lt;br /&gt;
5. Add about a tbsp of sunflower oil and wait for it to smoke&lt;br /&gt;
6. Add the egg, and let cook whilst stirring. Should take about 30 seconds&lt;br /&gt;
7. When cooked, remove the egg and store in a bowl for later&lt;br /&gt;
8. Bring wok back to smoking and add 1 tsp of sunflower oil&lt;br /&gt;
9. Add the beef and cook until seared (one / two minutes)&lt;br /&gt;
10. Remove beef and put in the bowl with the egg&lt;br /&gt;
11. Add some frozen peas that you took out of freezer about 15 minutes before along with the onion&lt;br /&gt;
12. Cook for about another 30 seconds, stirring continuously&lt;br /&gt;
13. Add the refridgerated rice (1/3 cup jasmine, 2/3 cup long grain) and about a tsp of sesame oil. Let cook for another minute or two&lt;br /&gt;
14. Add the beef and egg back to the wok&lt;br /&gt;
15. Add 1 tsp dark soy / 1 tsp oyster sauce mixture, a pinch of chicken stock powder and cook for about 2 minutes&lt;br /&gt;
16. Add a pinch of &lt;span class="caps"&gt;MSG&lt;/span&gt;, trying to distribute evenly.&lt;br /&gt;
17. Cook for about another minute or two, stirring frequently. Taste and add another pinch of &lt;span class="caps"&gt;MSG&lt;/span&gt; if needed&lt;br /&gt;
18. When the rice is bouncing around, flying out of the wok, it’s ready!&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;This is a good as &lt;em&gt;any&lt;/em&gt; takeaway cooked beef fried rice. Really. I know some people might think I&amp;#8217;m living in cloud cuckoo land, but it&amp;#8217;s true.&lt;/p&gt;

	&lt;p&gt;The main thing I&amp;#8217;ve learned over the last few weeks, trying to master egg fried rice, then beef fried rice, at home, is that you must not use &lt;em&gt;too much&lt;/em&gt; of anything. I messed up a few egg fried rices by using as much as a 1/8 tsp of &lt;span class="caps"&gt;MSG&lt;/span&gt;. That&amp;#8217;s too much. You only need a pinch, and a second pinch only rarely. Egg fried rice, and beef fried rice don&amp;#8217;t need any additional liquid. My family like to add curry sauce, but I never do. &lt;/p&gt;

	&lt;p&gt;If you buy a few &amp;#8220;special&amp;#8221; ingredients, you&amp;#8217;ll save a fortune on takeouts:&lt;/p&gt;

	&lt;p class="hand"&gt;Fried rice essential ingredients&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Special fried rice ingredients" src="/img/2025-10-11/ingredients.webp" title="Special fried rice ingredients" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Premium soy sauce  @  £2.60&lt;/li&gt;
		&lt;li&gt;Oyster sauce  @  £2.50&lt;/li&gt;
		&lt;li&gt;Chicken stock powder  @  £1.80&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;MSG&lt;/span&gt;  @  £1.60&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;So for about £8.50, which is nearly as much as &lt;em&gt;one&lt;/em&gt; beef fried rice, you&amp;#8217;ll be able to make dozens of fried rices!&lt;/p&gt;

	&lt;p class="hand"&gt;Beef fried rice for lunch again!&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Beef fried rice" src="/img/2025-10-11/beef_fried_rice2.webp" title="Beef fried rice" /&gt;&lt;/p&gt;</content><category term="cooking"></category><category term="recipe"></category><category term="cooking"></category><category term="food"></category><category term="chinese"></category></entry><entry><title>Using a Kindle Paperwhite 1st Generation in 2025</title><link href="https://simonh.uk/2025/10/11/using-a-kindle-paperwhite-1st-generation-in-2025/" rel="alternate"></link><published>2025-10-11T00:00:00+01:00</published><updated>2025-10-23T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-10-11:/2025/10/11/using-a-kindle-paperwhite-1st-generation-in-2025/</id><summary type="html">	&lt;p&gt;Old Kindle, new tricks!&lt;/p&gt;</summary><content type="html">	&lt;p class="hand"&gt;Paperwhite 1 running &lt;span class="caps"&gt;KOR&lt;/span&gt;eader&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rAdpYn"&gt;&lt;img alt="Kindle Paperwhite" src="/img/2025-10-11/kindle-paperwhite.webp" title="Kindle Paperwhite" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;A couple of weeks ago I successfuly installed &lt;a href="https://kindlemodding.org/jailbreaking/WinterBreak/"&gt;WinterBreak&lt;/a&gt; on my Kindle (10th generation). This got my wondering if we had any old Kindles lying around to also jailbreak. Why? Well, I was wanting a second ereader to take on jobs when I&amp;#8217;m having to wait around. One which it wouldn&amp;#8217;t matter &lt;em&gt;too&lt;/em&gt; much if I lost / damaged it. My partner had upgraded her old Kindle to the latest 7&amp;#8221; model a year or so back. so I asked her to find the old one. She did, and it turned out to be a 2012 Paperwhite 1. She&amp;#8217;d had a few problems with it on the stock firmware which was one reason for upgrading it. Sometimes (very rarely) it would turn itself off, skip pages etc. So I did a factory reset, and followed the WinterBreak guide, again, and half an hour later, &lt;a href="https://koreader.rocks/"&gt;&lt;span class="caps"&gt;KOR&lt;/span&gt;eader&lt;/a&gt; was up and running.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m not going to do a tutorial on jailbreaking your Kindle as the WinterBreak documentation is &amp;#8220;idiot proof.&amp;#8221; But what I will say is that once you&amp;#8217;ve used &lt;span class="caps"&gt;KOR&lt;/span&gt;eader on a Kindle, it&amp;#8217;s very hard to go back. For instance, you can forget about those proprietary AZW3 files and just use the industry standard &lt;span class="caps"&gt;EPUB&lt;/span&gt; format. This for me, is the main reason to jailbreak your device. &lt;/p&gt;

	&lt;p&gt;Another &lt;em&gt;huge&lt;/em&gt; benefit is organising your books in folders:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="KOReader home screen" src="/img/2025-10-11/koreader-home.webp" title="KOReader home screen" /&gt;&lt;/p&gt;

	&lt;p&gt;And then setting the parent folder to &lt;code&gt;home&lt;/code&gt;. Far better!&lt;/p&gt;

	&lt;p&gt;&lt;span class="caps"&gt;KOR&lt;/span&gt;eader is highly configurable. Here&amp;#8217;s a photo of the options menu for font / layout opitons:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Koreader options" src="/img/2025-10-11/koreader-options.webp" title="Koreader options" /&gt;&lt;/p&gt;

	&lt;p&gt;From here you can alter margins, line spacing, kerning, contrast and more. There&amp;#8217;s another menu at the top to configure everything else. &lt;span class="caps"&gt;KOR&lt;/span&gt;eader also has excellent documentation in the form of their &lt;a href="https://koreader.rocks/user_guide/"&gt;User Guide&lt;/a&gt; and you&amp;#8217;re advised to at least skim through it. &lt;/p&gt;

	&lt;h2&gt;Light / Shadow Issue&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;d be remiss not to point out one issue that the Paperwhite 1 has. Due to the placement of the &lt;span class="caps"&gt;LED&lt;/span&gt; lights at the bottom of the Kindle, shadows are visible between the lights:&lt;/p&gt;

	&lt;p class="hand"&gt;Four visible shadows at bottom of screen&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rAXEDs"&gt;&lt;img alt="Shadows from light" src="/img/2025-10-11/kindle_shadows1.webp" title="Shadows from light" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Seven visible shadows at bottom of screen&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2rAXEDs"&gt;&lt;img alt="More shadows from light" src="/img/2025-10-11/kindle_shadows2.webp" title="More shadows from light" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;This defect is very subtle and won&amp;#8217;t &lt;em&gt;spoil&lt;/em&gt; your reading experience. However, if you&amp;#8217;re the sort of person who obsesses about such things, you might want to go for a newer Kindle. I understand the Paperwhite 2 corrected the issue. For me, it&amp;#8217;s not a showstopper and I don&amp;#8217;t see the need to worry about it at all. I also want to point out that it&amp;#8217;s only really noticeable if you&amp;#8217;re reading in a dark environment with the light above about half brightness. &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;The Paperwhite 1 is great with &lt;span class="caps"&gt;KOR&lt;/span&gt;eader. I always launch in &lt;em&gt;no framework&lt;/em&gt; mode and everything is responsive and quick. I was considering buying a Kobo Clara BW at £130, but while the PW1 is working, why waste the money? It&amp;#8217;s got a built in light, 2GB of storage (~ 1.3GB useable). And, if something awful happens to it, I can treat myself to a Kobo. Or maybe, I&amp;#8217;ll try and get another old, hackable Kindle&amp;#8230;&lt;/p&gt;


	&lt;p&gt;&lt;img alt="KOReader sleep screen" src="/img/2025-10-11/kindle-sleeping.webp" title="KOReader sleep screen" /&gt;&lt;/p&gt;</content><category term="reading"></category><category term="books"></category><category term="kindle"></category><category term="tips"></category></entry><entry><title>Perfect Egg Fried Rice Part 4 Final</title><link href="https://simonh.uk/2025/10/07/perfect-egg-fried-rice-part-4-final/" rel="alternate"></link><published>2025-10-07T00:00:00+01:00</published><updated>2025-10-07T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-10-07:/2025/10/07/perfect-egg-fried-rice-part-4-final/</id><summary type="html">	&lt;p&gt;Better than takeway? Yes.&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="" src="/img/2025-10-07/egg_fried_rice.webp" /&gt;&lt;/p&gt;

	&lt;h2&gt;Revision 4&lt;/h2&gt;

	&lt;p class="info"&gt;See &lt;a href="https://simonh.uk/2025/09/21/perfect-egg-fried-rice-part-3/"&gt;here&lt;/a&gt; for part 3&lt;/p&gt;

	&lt;p&gt;Well it&amp;#8217;s been a couple of weeks since my fried rice last post, and that&amp;#8217;s because I decided only to post again when I&amp;#8217;d achieved my goal. This should probably be called revision 11 or 12! But I couldn&amp;#8217;t be arsed with all the writing and I&amp;#8217;m sure you&amp;#8217;ve got better things to do than read about experiments that missed the mark. &lt;/p&gt;

	&lt;h2&gt;What I&amp;#8217;ve Learned&lt;/h2&gt;

	&lt;p&gt;The first thing to mention is there&amp;#8217;s no &lt;em&gt;one true egg fried rice&lt;/em&gt; recipe! Different takeaways produce different results. Some are (or seem to be) literally just rice, egg, &lt;span class="caps"&gt;MSG&lt;/span&gt; and a bit of oil. Others have peas, white onion, green onion, garlic, ginger etc. As I tend to favour simplicity over complexity, I&amp;#8217;ve only added peas, white onion and green onion. &lt;/p&gt;

	&lt;h2&gt;The Vital Ingredients&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Egg fried rice ingredients" src="/img/2025-10-07/ingredients.webp" title="Egg fried rice ingredients" /&gt;&lt;/p&gt;

	&lt;p&gt;To get the best results, you will &lt;strong&gt;need&lt;/strong&gt;:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Superior / premium dark soy sauce&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;MSG&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;Long grain rice&lt;/li&gt;
		&lt;li&gt;Jasmine rice&lt;/li&gt;
		&lt;li&gt;Sunflower oil&lt;/li&gt;
		&lt;li&gt;Sesame oil&lt;/li&gt;
		&lt;li&gt;One egg&lt;/li&gt;
		&lt;li&gt;White pepper&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2&gt;Optional Ingredients&lt;/h2&gt;

	&lt;p&gt;As I wrote in an earlier post, I&amp;#8217;d bought some oyster sauce and figured I might as well use it for my recipe. I also (eventually) managed to find some chicken stock powder in an asian supermarket. Both of these ingredients definitely add something so I&amp;#8217;d advise you to get some yourself.&lt;/p&gt;

	&lt;h2&gt;Wait! No Salt???&lt;/h2&gt;

	&lt;p&gt;If you add salt to your rice as it&amp;#8217;s cooking, I&amp;#8217;ve found you don&amp;#8217;t need it. &lt;/p&gt;

	&lt;h2&gt;Egg Fried Rice Recipe (Revision 4)&lt;/h2&gt;

	&lt;p&gt;&lt;em&gt;Serves one&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;1. Whisk up a large egg, with a pinch of black pepper and white pepper&lt;br /&gt;
2. Chop up a bit of spring onion and white onion if desired (I do)&lt;br /&gt;
3. Heat wok on maximum temperature until starts to smoke&lt;br /&gt;
4. Add about a tbsp of sunflower oil and wait for it to smoke&lt;br /&gt;
5. Add the egg, and let cook. Should take about 30 seconds&lt;br /&gt;
6. Add some frozen peas that you took out of freezer about 15 minutes before along with the onion&lt;br /&gt;
7. Cook for about another 30 seconds, stirring continuously&lt;br /&gt;
8. Add the refridgerated rice (1/3 cup jasmine, 2/3 cup long grain) and about a tsp of sesame oil. Let cook for another minute or two&lt;br /&gt;
9. Add 1 tsp dark soy / 1 tsp oyster sauce mixture, a pinch of chicken stock powder and cook for about 2 minutes&lt;br /&gt;
10. Add a pinch of &lt;span class="caps"&gt;MSG&lt;/span&gt;, trying to distribute evenly.&lt;br /&gt;
11. Cook for about another minute or two, stirring frequently. Taste and add another pinch of &lt;span class="caps"&gt;MSG&lt;/span&gt; if needed&lt;br /&gt;
12. When the rice is bouncing around, flying out of the wok, it&amp;#8217;s ready!&lt;/p&gt;

	&lt;h2&gt;Notes and Tips&lt;/h2&gt;

	&lt;ul&gt;
		&lt;li&gt;Cooking 2/3 cup long grain, 1/3 cup jasmine will yield two portions.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;If you are cooking with a stainless steel wok, It&amp;#8217;s imperative that you&amp;#8217;ve properly seasoned it. You &lt;em&gt;don&amp;#8217;t&lt;/em&gt; want anything sticking with a fried rice&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;If you&amp;#8217;re getting rice, peas other stuff flying out of your wok excessively, feel free to turn down the temperature a bit&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;If you&amp;#8217;re not using oyster sauce, use 2 tsp&amp;#8217;s of superior dark soy.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;How much oil you add before the egg will determine how much it &amp;#8220;puffs up&amp;#8221;. I find about a tbsp is optimal&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Be &lt;strong&gt;very&lt;/strong&gt; sparing with the &lt;span class="caps"&gt;MSG&lt;/span&gt;. If you add too much you can balance it out with a bit of sugar. But seriously, just add a pinch at a time. That&amp;#8217;ll give you the subtle, but unmistakeable &lt;em&gt;takeaway&lt;/em&gt; / &lt;em&gt;takeout&lt;/em&gt; flavour&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2&gt;Credits&lt;/h2&gt;

	&lt;p&gt;I found the following Youtube videos very helpful for tips:&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=OWy2X1-t_PE"&gt;Ziangs: How to make &lt;span class="caps"&gt;REAL&lt;/span&gt; Takeaway Egg Fried Rice&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=qURmdmgCCOI&amp;t=159s"&gt;Chinese Takeout Fried Rice Secrets Revealed&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;This recipe can go toe-to-toe with any Chinese takeaway, and I now prefer it to a bought one. Next on my hit list is beef fried rice. Stay tuned&amp;#8230;&lt;/p&gt;</content><category term="cooking"></category><category term="recipes"></category><category term="food"></category><category term="cooking"></category></entry><entry><title>Using Emacs as a Word Processor</title><link href="https://simonh.uk/2025/09/27/using-emacs-as-a-word-processor/" rel="alternate"></link><published>2025-09-27T00:00:00+01:00</published><updated>2025-09-27T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-09-27:/2025/09/27/using-emacs-as-a-word-processor/</id><summary type="html">	&lt;p&gt;Is there anything Emacs can&amp;#8217;t do?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Emacs enriched text mode" src="/img/2025-09-27/emacs-enriched-mode.webp" title="Emacs enriched text mode" /&gt;&lt;/p&gt;

	&lt;p&gt;Ever since &lt;a href="https://lock.cmpxchg8b.com/"&gt;Tavis Ormandy&lt;/a&gt; got Wordperfect 8 &lt;a href="https://github.com/taviso/wpunix"&gt;working&lt;/a&gt; on modern Linux it&amp;#8217;s been bugging me that we don&amp;#8217;t have many options for word processing in the terminal. &lt;/p&gt;

	&lt;p&gt;Thanks to his amazing work, we do now have an enterprise grade word processor running in our terminals. However, there are problems.&lt;/p&gt;

	&lt;h2&gt;Problems with Wordperfect 8&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="WordPerfect 8 for Unix" src="/img/2025-09-27/wpunix.webp" title="WordPerfect 8 for Unix" /&gt;&lt;/p&gt;

	&lt;p&gt;The most glaring problems are that it&amp;#8217;s closed source, hasn&amp;#8217;t been updated in &lt;em&gt;27 years&lt;/em&gt;, and it&amp;#8217;s not exactly, &lt;em&gt;user friendly&lt;/em&gt;. The &lt;span class="caps"&gt;PDF&lt;/span&gt; manual is ~700 pages! There&amp;#8217;s also the file format problem. It&amp;#8217;s not a publicly documented format. You can certainly open a &lt;code&gt;.wp&lt;/code&gt; file in plenty of software:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Libre Office&lt;/li&gt;
		&lt;li&gt;Abiword&lt;/li&gt;
		&lt;li&gt;Google Docs&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;will all open an old wordperfect document, thanks most likely to &lt;a href="https://libwpd.sourceforge.net/"&gt;libwpd&lt;/a&gt; but you&amp;#8217;ll only be able to &lt;em&gt;edit&lt;/em&gt; it in Wordperfect. Which raises the question, &lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;will I be able to open / edit these documents in twenty years time?&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;So, while wpunix is an interesting piece of software, it&amp;#8217;s probably &lt;strong&gt;not&lt;/strong&gt; the best idea to do all your writing with it. &lt;/p&gt;

	&lt;p&gt;So, as I&amp;#8217;m inclined to do, I set about seeing what other options I have for editing documents on the command line.&lt;/p&gt;

	&lt;h2&gt;&lt;span class="caps"&gt;JOE&lt;/span&gt; Editor (Jstar)&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Joe jstar mode" src="/img/2025-09-27/joe-editor.webp" title="Joe jstar mode" /&gt;&lt;/p&gt;

	&lt;p&gt;I was already familiar with &lt;a href="https://joe-editor.sourceforge.io/"&gt;&lt;span class="caps"&gt;JOE&lt;/span&gt;&lt;/a&gt; and vaguely remembered that it had a Wordstar emulation mode. I&amp;#8217;ve never used Wordstar, but know it&amp;#8217;s still considered  irreplaceable by some &lt;a href="https://sfwriter.com/wordstar.htm"&gt;notable users&lt;/a&gt;. So, I had a play with it but it&amp;#8217;s not quite what I&amp;#8217;m after. The only formatting that one could consider somewhat out of the ordinary with Jstar is being able to centre text. &lt;/p&gt;

	&lt;h2&gt;What Should a Word Processor Do?&lt;/h2&gt;

	&lt;p&gt;To my mind, at a minimum, a word processor should be able to:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;bold, underline and italicize text&lt;/li&gt;
		&lt;li&gt;Centre, left and right align text&lt;/li&gt;
		&lt;li&gt;Justify text&lt;/li&gt;
		&lt;li&gt;Have various types of headings&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I was amazed that no such command line program seemed to exist. Yeah sure, we&amp;#8217;ve got loads of Markdown editors, but I don&amp;#8217;t consider Markdown to be anything related to word processing. I even thought about attempting to make my own format (how hard could it be?!). But luckily, I came across:&lt;/p&gt;

	&lt;h2&gt;&lt;span class="caps"&gt;RFC&lt;/span&gt; 1896 The text/enriched &lt;span class="caps"&gt;MIME&lt;/span&gt; Content-type&lt;/h2&gt;

	&lt;p&gt;For some reason, I always forget than &lt;em&gt;any&lt;/em&gt; computer problem was almost certainly solved years ago. And so it was for this problem. &lt;a href="https://www.rfc-editor.org/rfc/rfc1896.html"&gt;&lt;span class="caps"&gt;RFC&lt;/span&gt; 1896&lt;/a&gt; was suggested in 1996 to allow formatting of email messages. Unfortunately, it never caught on. Still, it exists and is a standard and Emacs has an enriched mode! See &lt;a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Enriched-Text.html"&gt;here&lt;/a&gt; for online documentation. Here&amp;#8217;s the &amp;#8220;source&amp;#8221; code for the screenshot at the top of this post:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Content-Type: text/enriched
Text-Width: 70

&amp;lt;flushright&amp;gt;This is right aligned 

&amp;lt;/flushright&amp;gt;&amp;lt;center&amp;gt;

Here is some &amp;lt;bold&amp;gt;bold &amp;lt;/bold&amp;gt;text and here is some that is &amp;lt;italic&amp;gt;italic&amp;lt;/italic&amp;gt;.

&amp;lt;/center&amp;gt;&amp;lt;flushboth&amp;gt;

Enriched mode is a minor mode for editing formatted text files in a
WYSIWYG (What You See Is What You Get) fashion. When Enriched mode is
enabled, you can apply various formatting properties to the text in
the buffer, such as fonts and colors; upon saving the buffer, those
properties are saved together with the text, using the MIME
‘text/enriched’ file format.


Enriched mode is typically used with Text mode (see Text Mode). It is
not compatible with Font Lock mode, which is used by many major modes,
including most programming language modes, for syntax highlighting
(see Font Lock mode).  Unlike Enriched mode, Font Lock mode assigns
text properties automatically, based on the current buffer contents;
those properties are not saved to disk.

&amp;lt;/flushboth&amp;gt;&amp;lt;center&amp;gt;

&amp;lt;underline&amp;gt;Underlined Heading&amp;lt;/underline&amp;gt;

&amp;lt;/center&amp;gt;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The only thing that seems to be missing from enriched-mode is increasing the font size. There&amp;#8217;s a discussion on the mailing list that goes into detail:&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://lists.gnu.org/archive/html/help-gnu-emacs/2025-06/msg00146.html"&gt;Making selected text larger in enriched mode&lt;/a&gt; &lt;/p&gt;

	&lt;p&gt;Apart from that, enriched-mode seems pretty much perfect for writing. &lt;/p&gt;

	&lt;h2&gt;Using Emacs Enriched Mode&lt;/h2&gt;

	&lt;p&gt;I won&amp;#8217;t go into great detail as the documentation link above explains everything, but here are my brief notes:&lt;/p&gt;

	&lt;p&gt;Type &lt;code&gt;M-x enriched-mode&lt;/code&gt; on a new file to activate the mode.&lt;sup class="footnote" id="fnrevcdc43bcf38f84d9db85f252972a5f99d-1"&gt;&lt;a href="#fncdc43bcf38f84d9db85f252972a5f99d-1"&gt;1&lt;/a&gt;&lt;/sup&gt; Then, you only really &lt;em&gt;need&lt;/em&gt; to remember two shortcuts:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;Alt-o&lt;/code&gt; to bring up the &lt;em&gt;Options(?)&lt;/em&gt; menu and &lt;code&gt;Alt-j&lt;/code&gt; to bring up the &lt;em&gt;Justify&lt;/em&gt; menu.&lt;/p&gt;

	&lt;p&gt;Then, you can just press a single letter:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Emacs enriched mode options menu" src="/img/2025-09-27/alt-o.png" title="Emacs enriched mode options menu" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;Alt-o&lt;/code&gt; &lt;code&gt;b&lt;/code&gt; to bold for example&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Emacs enriched mode justification menu" src="/img/2025-09-27/alt-j.png" title="Emacs enriched mode justification menu" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;Alt-j&lt;/code&gt; &lt;code&gt;b&lt;/code&gt; to justify &lt;/p&gt;

	&lt;h2&gt;Plain Text Benefits&lt;/h2&gt;

	&lt;p&gt;As enriched text is simply plain text with a bit of markup, it&amp;#8217;s easily versionable (&lt;span class="caps"&gt;RCS&lt;/span&gt;, Mercurial / Git et al.). You can write a script to convert your enriched text to another format etc. &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;As I wrote in &lt;a href="https://simonh.uk/2025/09/13/why-i-use-gnu-nano-as-my-default-editor/"&gt;Why I use &lt;span class="caps"&gt;GNU&lt;/span&gt; Nano&lt;/a&gt; post, I don&amp;#8217;t use Emacs as my text editor. But, I&amp;#8217;ll probably start using it as my word processor instead&amp;#8230;&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fncdc43bcf38f84d9db85f252972a5f99d-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I&amp;#8217;m trying to find an easy way to start Emacs in enriched mode. Will update post if I find it!&lt;/p&gt;</content><category term="software"></category><category term="writing"></category><category term="emacs"></category><category term="gnu"></category></entry><entry><title>Microsoft Edit vs GNU Nano</title><link href="https://simonh.uk/2025/09/23/microsoft-edit-vs-gnu-nano/" rel="alternate"></link><published>2025-09-23T00:00:00+01:00</published><updated>2025-09-24T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-09-23:/2025/09/23/microsoft-edit-vs-gnu-nano/</id><summary type="html">	&lt;p&gt;An apple vs an orange&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Edit v.1.2.0 running on Linux" src="/img/2025-09-23/edit_linux.webp" title="Edit v.1.2.0 running on Linux" /&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve been seeing a few posts / videos claiming that Microsoft Edit is &lt;strong&gt;better&lt;/strong&gt; than &lt;span class="caps"&gt;GNU&lt;/span&gt; Nano. Sorry, it isn&amp;#8217;t. Furthermore, it hasn&amp;#8217;t been designed to be better than &lt;em&gt;anything&lt;/em&gt;! &lt;/p&gt;

	&lt;p&gt;Microsoft explained why they created Edit on their &lt;a href="https://devblogs.microsoft.com/commandline/edit-is-now-open-source/"&gt;Devblog&lt;/a&gt;:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;What motivated us to build Edit was the need for a default  CLI  text editor in 64-bit versions of Windows. 32-bit versions of Windows ship with the  MS-DOS editor , but 64-bit versions do not have a  CLI  editor installed inbox. From there, we narrowed down our options…&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;Many of you are probably familiar with the “How do I exit vim?” meme. While it is relatively simple to learn the magic exit incantation, it’s certainly not a coincidence that this often turns up as a stumbling block for new and old programmers.&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;Because we wanted to avoid this for a built-in default editor, we decided that we wanted a modeless editor for Windows (versus a modal editor where new users would have to remember different modes of operation and how to switch between them).&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;This unfortunately limited our choices to a list of editors that either had no first-party support for Windows or were too big to bundle them with every version of the OS. As a result, Edit was born.&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;It should be noted that this &lt;em&gt;new&lt;/em&gt;, Rust written Edit, is a modern version of an old &lt;span class="caps"&gt;DOS&lt;/span&gt; program of the same name. Here&amp;#8217;s what that looked like:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="DOS edit" src="/img/2025-09-23/edit_dos.webp" title="DOS edit" /&gt;&lt;/p&gt;

	&lt;p&gt;Edit is designed for very simple editing. Below is the &lt;em&gt;entire&lt;/em&gt; man page:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Manpage on Linux" src="/img/2025-09-23/edit_manpage.webp" title="Manpage on Linux" /&gt;&lt;/p&gt;

	&lt;p&gt;Nice and clear, and the program is learnable in approximately &lt;em&gt;5 minutes&lt;/em&gt;. In contrast, you&amp;#8217;ll probably need a couple of hours to fully learn and become productive with &lt;span class="caps"&gt;GNU&lt;/span&gt; Nano. They have different histories and purposes. Here is the first paragraph from the Nano &lt;span class="caps"&gt;README&lt;/span&gt;:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Nano history" src="/img/2025-09-23/nano_readme.webp" title="Nano history" /&gt;&lt;/p&gt;

	&lt;p&gt;Nano began life as a clone of Pico&lt;sup class="footnote" id="fnrevf5ed4a9ecbaf472bb2ef6f0ab7c7fe6f-1"&gt;&lt;a href="#fnf5ed4a9ecbaf472bb2ef6f0ab7c7fe6f-1"&gt;1&lt;/a&gt;&lt;/sup&gt;, then added features that users wished Pico had, whilst retaining its simple, easy to use nature. Edit is a re-implementation of &lt;span class="caps"&gt;DOS&lt;/span&gt; edit.com. The stated goal of Edit is&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;&amp;#8230;to provide an accessible editor that even users largely unfamiliar with terminals can easily use.&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;You can type characters, delete them, search and replace, and that&amp;#8217;s about it. Which is fine. Remember, this will ship with &lt;em&gt;Windows&lt;/em&gt;. Now I haven&amp;#8217;t used Windows at home since, maybe, 2006. MS Edit is not targeted at me, or anyone other than &lt;em&gt;their&lt;/em&gt; customers. It&amp;#8217;s there because they &lt;em&gt;should&lt;/em&gt; have a terminal text editor. It&amp;#8217;s not fancy or powerful but it will allow their customers to edit text files from the command line in a stress free way.&lt;/p&gt;

	&lt;p&gt;Personally, I like what they&amp;#8217;ve done. There&amp;#8217;s no configuration and no options to muck about with. You fire it up and do what you need to do. &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;I think Edit is a great bit of software. I like that Microsoft have released it as open source, and that they release Linux builds. I&amp;#8217;ve had a play with it and haven&amp;#8217;t felt the need to delete it. To my mind, it has already achieved it&amp;#8217;s stated goal. There&amp;#8217;s not really anything else that it needs at this point. I&amp;#8217;m sure Microsoft are fully aware that if they start adding new features, it becomes &lt;em&gt;harder&lt;/em&gt; to learn, &lt;em&gt;harder&lt;/em&gt; to use. &lt;span class="caps"&gt;GNU&lt;/span&gt; Nano doesn&amp;#8217;t have that contraint. It wants to be simple, but also useful. &lt;/p&gt;

	&lt;p&gt;Microsoft Edit is good but &lt;span class="caps"&gt;GNU&lt;/span&gt; Nano is better and always will be. &lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://simonh.uk/2025/09/13/why-i-use-gnu-nano-as-my-default-editor/"&gt;Why I use &lt;span class="caps"&gt;GNU&lt;/span&gt; Nano as my Default Editor&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.nano-editor.org/"&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt; Nano Homepage&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://github.com/microsoft/edit"&gt;Microsoft Edit Repository&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fnf5ed4a9ecbaf472bb2ef6f0ab7c7fe6f-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Pico (pi)ne (co)mposer was the editor for the &lt;a href="https://en.wikipedia.org/wiki/Pine_%28email_client%29"&gt;&lt;span class="caps"&gt;PINE&lt;/span&gt;&lt;/a&gt; email program. Very popular in the 90&amp;#8217;s and kept alive in the fork &lt;a href="https://alpineapp.email/"&gt;Alpine&lt;/a&gt; which I use on my servers.&lt;/p&gt;</content><category term="software"></category><category term="linux"></category><category term="windows"></category><category term="gnu"></category></entry><entry><title>Perfect Egg Fried Rice Part 3</title><link href="https://simonh.uk/2025/09/21/perfect-egg-fried-rice-part-3/" rel="alternate"></link><published>2025-09-21T00:00:00+01:00</published><updated>2025-09-21T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-09-21:/2025/09/21/perfect-egg-fried-rice-part-3/</id><summary type="html">	&lt;p&gt;Better than takeway? Nope.&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="" src="/img/2025-09-21/egg_fried_rice.webp" /&gt;&lt;/p&gt;

	&lt;h2&gt;Revision 3&lt;/h2&gt;

	&lt;p class="info"&gt;See &lt;a href="https://simonh.uk/2025/09/20/perfect-egg-fried-rice-part-2/"&gt;here&lt;/a&gt; for part 2&lt;/p&gt;

	&lt;p&gt;Wanting to finish off the rice I cooked yesterday, I decided to try adding some oyster sauce to determine if it&amp;#8217;s a &lt;em&gt;required&lt;/em&gt; ingredient. I went with &lt;a href="https://uk.lkk.com/products/panda-brand-oyster-sauce"&gt;Lee Kum Kee Panda Brand Oyster Sauce&lt;/a&gt;. £2.60 for 500ml seemed like a fair price. &lt;/p&gt;

	&lt;p&gt;Not sure of the ratios or quantities, I went with mixing a tsp of dark soy sauce with a tsp of oyster sauce. It smelled quite nice which I take as a good sign. &lt;/p&gt;

	&lt;h2&gt;Egg Fried Rice Recipe (Revision 3)&lt;/h2&gt;

	&lt;p&gt;&lt;em&gt;Serves one&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;1. Whisk up a large egg, with a pinch of black pepper, white pepper, salt&lt;br /&gt;
2. Chop up a bit of spring onion. Sometimes called &lt;em&gt;green onion&lt;/em&gt;&lt;br /&gt;
3. Heat wok on maximum temperature until starts to smoke&lt;br /&gt;
4. Add about a tbsp of sunflower oil and wait for it to smoke&lt;br /&gt;
5. Add the egg, and let cook. Should take about 30 seconds&lt;br /&gt;
6. Add some frozen peas that you took out of freezer about 15 minutes before along with the spring onion&lt;br /&gt;
7. Cook for about another 30 seconds, stirring continuously&lt;br /&gt;
8. Add the rice (about 1 cup) and about a tsp of sesame oil&lt;br /&gt;
9. Add the dark soy / oyster sauce mixture and cook for about 30 seconds&lt;br /&gt;
10. Add about 1/8 tsp of &lt;span class="caps"&gt;MSG&lt;/span&gt;, trying to distribute evenly and a pinch of white or brown sugar&lt;br /&gt;
11. Cook for about another minute or two, stirring frequently&lt;br /&gt;
12. When the rice is bouncing around, flying out of the wok, it&amp;#8217;s ready!&lt;/p&gt;

	&lt;h2&gt;The Taste Test&lt;/h2&gt;

	&lt;p&gt;This was a bit of a surprise. I really thought the oyster sauce would completely change (improve) the flavour, but it didn&amp;#8217;t! It did taste different, but not noticeably &lt;em&gt;better&lt;/em&gt;. Very odd. It was nice, but it didn&amp;#8217;t capture the &amp;#8220;takeaway&amp;#8221; egg fried rice flavour I&amp;#8217;m aiming for. I don&amp;#8217;t think your typical takeaway egg fried rice has any oyster sauce added. I know it&amp;#8217;s used in many Chinese / Asian recipes, but not egg fried rice. For the purposes of this experiment, I don&amp;#8217;t consider that it&amp;#8217;s needed.&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;Strangely, I preferred revision 2 from yesterday. I think for revision 4, I&amp;#8217;ll try using jasmine rice instead of long grain that I&amp;#8217;ve been using (and keep everything else the same). Personally, I don&amp;#8217;t think it&amp;#8217;ll change much, but to be thorough, I&amp;#8217;ll try it. And the oyster sauce won&amp;#8217;t be used. I think it&amp;#8217;ll have a place in my Chinese cooking but not for this experiment which is to make takeaway quality egg fried rice at home.&lt;/p&gt;</content><category term="cooking"></category><category term="recipes"></category><category term="food"></category><category term="cooking"></category></entry><entry><title>Perfect Egg Fried Rice Part 2</title><link href="https://simonh.uk/2025/09/20/perfect-egg-fried-rice-part-2/" rel="alternate"></link><published>2025-09-20T00:00:00+01:00</published><updated>2025-09-20T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-09-20:/2025/09/20/perfect-egg-fried-rice-part-2/</id><summary type="html">	&lt;p&gt;Better than takeway? Equal to.&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="" src="/img/2025-09-20/egg_fried_rice.webp" /&gt;&lt;/p&gt;

	&lt;h2&gt;Revision 2&lt;/h2&gt;

	&lt;p class="info"&gt;See &lt;a href="https://simonh.uk/2025/09/17/perfect-egg-fried-rice-part-1/"&gt;here&lt;/a&gt; for part 1&lt;/p&gt;

	&lt;p&gt;As the other half is working today, I decided to have another go at egg fried rice. There was only one problem, I hadn&amp;#8217;t yet cooked any rice! Eek!!! The time was about 08:30 and I was taking her to work at about 10:00. An hour and a half. Did I have time, I wondered?&lt;/p&gt;

	&lt;p&gt;Let&amp;#8217;s do it, I decided. It turned out we only had &lt;em&gt;exactly&lt;/em&gt; one cup of long grain rice in the house. Perfect as I like to know my ratio&amp;#8217;s when it comes to cooking. I&amp;#8217;m a volumetric kind of guy, rather than a weigher. If I could determine how much &lt;span class="caps"&gt;MSG&lt;/span&gt; was needed for one cup of rice, well, two cups of rice is simply double.&lt;/p&gt;

	&lt;p&gt;My normal method for cooking rice is to rinse throughly, drain, let fully dry. Then, to fry in a bit of sunflower oil for a couple of minutes before adding the water and bringing to the boil. Today, I didn&amp;#8217;t have time to let it fully dry but it didn&amp;#8217;t turn out to be a problem. After the rice had cooked (full absorption method), I spread it out on a baking paper lined baking tray:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="" src="/img/2025-09-20/rice_cooling.webp" /&gt;&lt;/p&gt;

	&lt;p&gt;Twenty minutes later, it&amp;#8217;d cooled enough to put in the fridge. I left it cooling for a couple of hours.&lt;/p&gt;

	&lt;p&gt;I had intended to buy a superior dark soy sauce as the normal ones are a bit thin. &lt;span class="caps"&gt;ASDA&lt;/span&gt; only had &lt;a href="https://uk.lkk.com/products/premium-dark-soy-sauce"&gt;Lee Kum Lee Premium Dark soy Sauce&lt;/a&gt;, so I bought a bottle of that. &lt;/p&gt;

	&lt;p&gt;In part 1, I suspected that I hadn&amp;#8217;t used enough &lt;span class="caps"&gt;MSG&lt;/span&gt; and had planned to use more. But now I thought that would be silly, far better to add a little, and only add more if tasting required it. I measured a 1/4 tsp and left it near the cooker.&lt;/p&gt;

	&lt;p&gt;The recipe below is &lt;em&gt;nearly&lt;/em&gt; the same as part 1&lt;/p&gt;

	&lt;h2&gt;Egg Fried Rice Recipe (Revision 2)&lt;/h2&gt;

	&lt;p&gt;&lt;em&gt;Serves one&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;1. Whisk up a large egg, with a pinch of black pepper, white pepper, salt&lt;br /&gt;
2. Chop up a bit of spring onion. Sometimes called &lt;em&gt;green onion&lt;/em&gt;&lt;br /&gt;
3. Heat wok on maximum temperature until starts to smoke&lt;br /&gt;
4. Add about a tbsp of sunflower oil&lt;br /&gt;
5. Wait for it to smoke&lt;br /&gt;
6. Add the egg, and let cook. Should take less than 1 minute&lt;br /&gt;
7. Add some frozen peas that you took out of freezer about 15 minutes before&lt;br /&gt;
8. Cook for about another minute, stirring a lot&lt;br /&gt;
9. Add the rice (about 1 cup) and about a teaspoon of sesame oil&lt;br /&gt;
10. Add a dash of dark soy sauce and stir in. Add another dash if needed&lt;br /&gt;
11. Cook for about 30 seconds&lt;br /&gt;
12. Add about 1/8 tsp of &lt;span class="caps"&gt;MSG&lt;/span&gt;, trying to distribute evenly&lt;br /&gt;
13. Add about 1/8 tsp sugar and the spring onion along with a dash of light soy sauce. Taste and add a pinch more &lt;span class="caps"&gt;MSG&lt;/span&gt; or sugar if required&lt;br /&gt;
14. Cook for about another minute or two, stirring frequently&lt;br /&gt;
15. When the rice is bouncing around, flying out of the wok, it&amp;#8217;s ready!&lt;/p&gt;

	&lt;h2&gt;The Taste Test&lt;/h2&gt;

	&lt;p&gt;Definitely better than part 1. The elusive &lt;em&gt;takeaway&lt;/em&gt; flavour is unmistakeable and is 100% due to the &lt;span class="caps"&gt;MSG&lt;/span&gt; and sugar combination. You need both, &lt;span class="caps"&gt;MSG&lt;/span&gt; alone won&amp;#8217;t do it nor will sugar alone. Yes, I have tried so don&amp;#8217;t waste your time!&lt;/p&gt;

	&lt;p&gt;This is going to sound strange, but revision 2 reminded me of when you re-wok a takeaway bought egg fried rice the day after! I quite often do that and it has a slightly different taste to eating when first cooked. I like the &lt;em&gt;day after&lt;/em&gt; taste. &lt;/p&gt;

	&lt;h2&gt;Part 2 Conclusion&lt;/h2&gt;

	&lt;p&gt;I think the better quality dark soy sauce definitely helped. I also think trying to distribute the &lt;span class="caps"&gt;MSG&lt;/span&gt; more evenly also helped. &lt;/p&gt;

	&lt;p&gt;I now suspect that most UK takeaways use a combination of sugar and &lt;span class="caps"&gt;MSG&lt;/span&gt; to get that characteristic flavour.&lt;/p&gt;

	&lt;p&gt;The plan for part 3 is to add a bit more soy sauce, a bit more sugar, and a bit more &lt;span class="caps"&gt;MSG&lt;/span&gt;. To be quite honest, revision 2 is certainly good enough but as I&amp;#8217;m nearly there, I might as well keep going&amp;#8230;&lt;/p&gt;</content><category term="cooking"></category><category term="recipes"></category><category term="food"></category><category term="cooking"></category></entry><entry><title>Perfect Egg Fried Rice Part 1</title><link href="https://simonh.uk/2025/09/17/perfect-egg-fried-rice-part-1/" rel="alternate"></link><published>2025-09-17T00:00:00+01:00</published><updated>2025-09-17T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-09-17:/2025/09/17/perfect-egg-fried-rice-part-1/</id><summary type="html">	&lt;p&gt;Better than takeway? Not quite&amp;#8230;&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="" src="/img/2025-09-17/egg_fried_rice.webp" /&gt;&lt;/p&gt;

	&lt;h2&gt;How Hard Can it Be???&lt;/h2&gt;

	&lt;p&gt;I love Chinese food. Always have, always will. Over the years, I&amp;#8217;ve cooked hundreds of chinese meals at home. But, they always lacked something. They&amp;#8217;ve always tasted anywhere between &lt;em&gt;okay&lt;/em&gt; and &lt;em&gt;bland&lt;/em&gt;. I think of it as a cup of tea without sugar. It&amp;#8217;s just not the same at all. About a year or so back, I decided to see what I could do to make my own dishes rival the takeaways.&lt;/p&gt;

	&lt;h2&gt;Looking for Help&lt;/h2&gt;

	&lt;p&gt;Anyone searching for &amp;#8220;how to make fried rice like a takeout&amp;#8221; will find there&amp;#8217;s lots of &lt;em&gt;experts&lt;/em&gt; out there. Here are a few of the tips I noticed kept coming up:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;You&amp;#8217;ve got to use day old rice&lt;/li&gt;
		&lt;li&gt;You&amp;#8217;ve got to use sugar&lt;/li&gt;
		&lt;li&gt;You aren&amp;#8217;t using enough salt&lt;/li&gt;
		&lt;li&gt;Your hob won&amp;#8217;t get hot enough&lt;/li&gt;
		&lt;li&gt;Yoo need to use &lt;span class="caps"&gt;MSG&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;You need oyster sauce&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2&gt;&lt;span class="caps"&gt;MSG&lt;/span&gt; must be the Secret Ingredient&lt;/h2&gt;

	&lt;p&gt;When I was a kid, many moons ago, my Granparents always had salt, pepper and &lt;span class="caps"&gt;MSG&lt;/span&gt; on the dining room table.&lt;/p&gt;

	&lt;h3&gt;We had it with everything!!!&lt;/h3&gt;

	&lt;p&gt;&lt;span class="caps"&gt;MSG&lt;/span&gt; is described as a flavour enhancer. It&amp;#8217;s main benefits is bringing out &lt;em&gt;other&lt;/em&gt; flavours (or so they say). Having tried, salt, sugar, oyster sauce, and none of them making a blind bit of difference, I&amp;#8217;m convinced &lt;span class="caps"&gt;MSG&lt;/span&gt; &lt;em&gt;must&lt;/em&gt; be the secret ingredient.&lt;/p&gt;

	&lt;h2&gt;Many Months Pass&amp;#8230;&lt;/h2&gt;

	&lt;p&gt;A week or so ago, we have a takeaway from our regular place that&amp;#8217;s got new owners. I&amp;#8217;m hoping thay&amp;#8217;re as good, or better, than the old lot. They&amp;#8217;re better I find out. Which leads me to be reminded of my desire to make my own better-than-takeway fried rice.&lt;/p&gt;

	&lt;p&gt;I remember seeing &lt;span class="caps"&gt;MSG&lt;/span&gt; in an asian shop I sometimes visit. I get a bag of 100g for £1.50.&lt;/p&gt;

	&lt;h2&gt;Revision 1 &amp;#8211; Today&lt;/h2&gt;

	&lt;p&gt;Yesterday, I prepared the rice. Whilst I don&amp;#8217;t think it&amp;#8217;s essential to use one day old rice, I 100% agree, that your rice needs to have been cooled and refrigerated before you use it in a stir fry. After you&amp;#8217;ve cooked it lay it out on a baking tray lined with baking paper. Shouldn&amp;#8217;t take more than about half an hour to be ready to bag up, let cool some more, than put in the fridge.&lt;/p&gt;

	&lt;p&gt;Anyway, here&amp;#8217;s my first attempt, using the &lt;span class="caps"&gt;MSG&lt;/span&gt;, today.&lt;/p&gt;

	&lt;h2&gt;Egg Fried Rice Recipe&lt;/h2&gt;

	&lt;p&gt;&lt;em&gt;Serves one&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;1. Whisk up a large egg, with a pinch of white pepper, salt, MSG&lt;br /&gt;
2. Chop up a bit of spring onion. Sometimes called &lt;em&gt;green onion&lt;/em&gt;&lt;br /&gt;
3. Mix 1 tsp dark soy, 1 tsp light soy, bit of salt, bit of black pepper&lt;br /&gt;
4. Heat wok on maximum temperature until starts to smoke&lt;br /&gt;
5. Add a couple of tablespoons of sunflower oil&lt;br /&gt;
6. Wait for it to smoke&lt;br /&gt;
7. Add the egg, and let cook. Should take less than 1 minute&lt;br /&gt;
8. Add some frozen peas that you took out of freezer about 15 minutes before&lt;br /&gt;
9. Cook for about another minute, stirring a lot&lt;br /&gt;
10. Add the rice and add about a tablespoon of sesame oil&lt;br /&gt;
11. Cook for about 30 seconds&lt;br /&gt;
12. Add the soy sauce mixture along with just under a 1/4 tsp of MSG&lt;br /&gt;
13. Add the spring onion&lt;br /&gt;
14. Cook for another couple of minutes, stirring frequently&lt;br /&gt;
15. When the rice is bouncing around, flying out of the wok, it&amp;#8217;s ready!&lt;/p&gt;

	&lt;h2&gt;The Taste Test&lt;/h2&gt;

	&lt;p&gt;While I was cooking, I tasted a few times to see if the &lt;span class="caps"&gt;MSG&lt;/span&gt; was having any effect on the flavour. I wasn&amp;#8217;t entirely sure! I&amp;#8217;d only added less than a 1/4 tsp as I didn&amp;#8217;t want it &lt;em&gt;wrecking&lt;/em&gt; mu lunch (I was hungry). Near the end, I decided to add a pinch of demerara sugar as it seemed to be missing some sweetness. &lt;/p&gt;

	&lt;p&gt;I served it up into a bowl, and kept my fingers crossed.&lt;/p&gt;

	&lt;p&gt;Well, I found that some mouthfuls &lt;em&gt;definitely&lt;/em&gt; had that elusive takeaway flavour. But some didn&amp;#8217;t&amp;#8230;&lt;/p&gt;

	&lt;p&gt;&amp;#8220;Maybe I need to go up to 1/2 tsp of &lt;span class="caps"&gt;MSG&lt;/span&gt;?&amp;#8220;&lt;br /&gt;
&amp;#8220;Maybe I need to add the &lt;span class="caps"&gt;MSG&lt;/span&gt; &lt;em&gt;before&lt;/em&gt; cooking?&amp;#8221;&lt;/p&gt;

	&lt;p&gt;One thing I&amp;#8217;m definitely changing for revision 2 (tomorrow) is getting some &amp;#8220;superior&amp;#8221; dark soy sauce. I&amp;#8217;ve used it many times, but only had the normal variety todoy. The superior version, is darker, thicker and tastes better. Hopefully, using it will get me a step closer to my goal.&lt;/p&gt;

	&lt;h2&gt;Part 1 Conclusion&lt;/h2&gt;

	&lt;p&gt;This is the best egg fried rice I&amp;#8217;ve ever made. It&amp;#8217;s &lt;em&gt;nearly&lt;/em&gt; like a takeaway egg fried rice, but not quite.&lt;/p&gt;

	&lt;p&gt;It&amp;#8217;s like having a cup of tea with not enough sugar. Part 2 is coming tomorrow (hopefully)&amp;#8230;&lt;/p&gt;</content><category term="cooking"></category><category term="recipes"></category><category term="food"></category><category term="cooking"></category></entry><entry><title>Why I use GNU Nano as my Default Editor</title><link href="https://simonh.uk/2025/09/13/why-i-use-gnu-nano-as-my-default-editor/" rel="alternate"></link><published>2025-09-13T00:00:00+01:00</published><updated>2025-09-14T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-09-13:/2025/09/13/why-i-use-gnu-nano-as-my-default-editor/</id><summary type="html">	&lt;p&gt;Nano isn&amp;#8217;t Pico (or &lt;span class="caps"&gt;TIP&lt;/span&gt;)&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="GNU Nano Logo" src="/img/logo/nano-logo.png" title="GNU Nano Logo" /&gt;&lt;/p&gt;

	&lt;h2&gt;The Backstory&lt;/h2&gt;

	&lt;p&gt;For many years, my default text editor has been &lt;a href="https://community.linuxmint.com/software/view/xed"&gt;xed&lt;/a&gt; as it comes with Linux Mint, my distro of choice for some years. I&amp;#8217;ve used xed for most of the &lt;a href="https://bottlepy.org/docs/dev/"&gt;bottle.py&lt;/a&gt; programs I&amp;#8217;ve written. I never really thought about it, just used it as it got the job done. I generally use Nano for editing files over &lt;span class="caps"&gt;SSH&lt;/span&gt; and have also used that for many years.&lt;/p&gt;

	&lt;p&gt;A few weeks ago, I was thinking about my workflow and wondered why I wasn&amp;#8217;t using a terminal based editor? Here&amp;#8217;s how I use bottle.py&lt;/p&gt;

	&lt;p&gt;1. Fire up &lt;a href="https://github.com/tmux/tmux/wiki"&gt;tmux&lt;/a&gt;&lt;br /&gt;
2. Run &amp;#8220;python3 name-of-program.py&amp;#8220;&lt;br /&gt;
3. Open another tmux window for &lt;a href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt; checkins&lt;/p&gt;

	&lt;p&gt;Here&amp;#8217;s a screenshot of my terminal whilst writing this post:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="" src="/img/2025-09-13/terminal.webp" /&gt;&lt;/p&gt;

	&lt;p&gt;It started bothering me that I was faffing about having to use my mouse to navigate between the terminal and my text editor. So I decided to find a terminal (non &lt;span class="caps"&gt;GUI&lt;/span&gt;) editor that would suit me. &lt;/p&gt;

	&lt;h2&gt;My Editor Requirements&lt;/h2&gt;

	&lt;p&gt;I was well aware of the &lt;strong&gt;hundreds&lt;/strong&gt; of editors available for Linux, having had a play with most of them at one time or another:&lt;/p&gt;

	&lt;p&gt;Emacs, Vim, Jed, Vile, Jove, Joe, Nano, mg, etc&amp;#8230;.&lt;/p&gt;

	&lt;p&gt;So I had a think about what was vital and what would be nice-to-have features.&lt;/p&gt;

	&lt;h3&gt;Vital&lt;/h3&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Multiple buffers&lt;/strong&gt; &amp;#8212; I usually have at least two source code files open at a time when I&amp;#8217;m coding.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Good support for keyboard shortcuts&lt;/strong&gt; &amp;#8212; Of course, this is subjective. Emacs and Vim let you do anything, but I don&amp;#8217;t normally need that much power! However, most things that I may need to do on a daily basis should have a shortcut.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Remapping of keys&lt;/strong&gt; &amp;#8212; I&amp;#8217;ve used &lt;a href="https://colemak.com/"&gt;Colemak&lt;/a&gt; since about 2008, so what might be great for &lt;span class="caps"&gt;QWERTY&lt;/span&gt;, may not be great for me.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Quickly delete lines&lt;/strong&gt; &amp;#8212; One of the features I really liked with Vim is &lt;code&gt;dd&lt;/code&gt; to delete a line, followed by &lt;code&gt;.&lt;/code&gt; to delete subsequent lines.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h3&gt;Nice to Have&amp;#8217;s&lt;/h3&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Sensible Defaults&lt;/strong&gt; &amp;#8212; This is one of the things I&amp;#8217;ve always liked about Nano. You can just start using it. Shortcuts are visible at the bottom of the window if you need them.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Show a line at 80 columns&lt;/strong&gt; &amp;#8212; I don&amp;#8217;t like long lines of code.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Quickly comment / uncomment code&lt;/strong&gt; &amp;#8212; I got very used to xed&amp;#8217;s &lt;code&gt;Ctrl-/&lt;/code&gt; for this purpose!&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Auto ident&lt;/strong&gt; &amp;#8212; I use Python more than any other language, so auto indenting is hard to live without.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Syntax Highlighting&lt;/strong&gt; &amp;#8212; Not 100% critical, but is often useful for seeing what&amp;#8217;s what.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Bookmarks&lt;/strong&gt; &amp;#8212; Very useful to be able to mark lines in files and jump between them.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Scroll without moving cursor&lt;/strong&gt; &amp;#8212; I liked this feature I first saw in Vim. You move the screen but the cursor stays where it is&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Insert a newline above / below current line&lt;/strong&gt; &amp;#8212; Some editors have a shortcut that will insert a newline without having to go to the end of the line, press enter&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2&gt;Where I Looked Closer at Nano&lt;/h2&gt;

	&lt;p&gt;I won&amp;#8217;t lie, Nano came first to mind. I was already familiar with it and it seems to be installed everywhere I need it. But did it do what I needed (and would like it to do)?&lt;/p&gt;

	&lt;p&gt;Yes, it would (I found out after an hour or so)!&lt;/p&gt;

	&lt;p&gt;I discovered pretty quickly that version 8, released in 2024 had introduced &amp;#8220;modern bindings&amp;#8221;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Command-line option  -- modernbindings (-/) makes ^Q quit, ^X cut, ^C copy, ^V paste, ^Z undo, ^Y redo, ^O open a file, ^W write a file, ^R replace, ^G find again, ^D find again backwards, ^A set the mark, ^T jump to a line, ^P show the position, and ^E execute.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;

	&lt;p&gt;I look at that as a sensible default. The original shortcuts aren&amp;#8217;t terrible, but I like the &lt;span class="caps"&gt;CUA&lt;/span&gt; ones more. So I downloaded the latest tarball (8.6) and compiled it. I added &lt;code&gt;alias nano="nano -/"&lt;/code&gt; to my &lt;code&gt;.bashrc&lt;/code&gt; (and on all my servers). &lt;/p&gt;

	&lt;h2&gt;What I Needed / Wanted&lt;/h2&gt;

	&lt;p&gt;&amp;check; multiple buffers: &lt;code&gt;set multibuffer&lt;/code&gt;&lt;br /&gt;
&amp;check; comment / uncomment code: &lt;code&gt;Alt-3&lt;/code&gt;&lt;br /&gt;
&amp;check; show end of line: &lt;code&gt;set guidestripe 80&lt;/code&gt;&lt;br /&gt;
&amp;check; syntax highlighting: &lt;code&gt;include /usr/local/share/nano/*.nanorc&lt;/code&gt;&lt;br /&gt;
&amp;check; quickly delete lines:&lt;br /&gt;
&lt;code&gt;Alt-delete&lt;/code&gt; to delete entire line&lt;br /&gt;
&lt;code&gt;Alt-backspace&lt;/code&gt; to  delete words&lt;br /&gt;
&amp;check; bookmarks: &amp;#8220;anchors&amp;#8221; in Nano speak.&lt;br /&gt;
&lt;code&gt;Alt-Insert&lt;/code&gt; to set/unset.&lt;br /&gt;
&lt;code&gt;Alt-PgUp&lt;/code&gt; / &lt;code&gt;Alt-PgDn&lt;/code&gt; to cycle through them&lt;br /&gt;
&amp;check; move viewport up and down: &lt;code&gt;Alt--&lt;/code&gt; / &lt;code&gt;Alt-+&lt;/code&gt;&lt;br /&gt;
&amp;check; insert a newline above / below current line&lt;br /&gt;
&lt;code&gt;bind ^N "{home}{enter}{up}" main&lt;/code&gt; &lt;br /&gt;
&lt;code&gt;bind ^k "{end}{enter}" main&lt;/code&gt;&lt;/p&gt;

	&lt;h2&gt;My Tweaks&lt;/h2&gt;

	&lt;p&gt;Many, many years ago,&lt;sup class="footnote" id="fnrev7c230fde80d3487a964040ef54382d56-1"&gt;&lt;a href="#fn7c230fde80d3487a964040ef54382d56-1"&gt;1&lt;/a&gt;&lt;/sup&gt; I came across the idea of having the arrow keys accessible on the home row using either the &lt;code&gt;CTRL&lt;/code&gt; or &lt;code&gt;ALT&lt;/code&gt; keys. Similar to this keyboard:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="" src="/img/2025-09-13/arrow_keys.png" /&gt;&lt;/p&gt;

	&lt;p&gt;As I was hoping to somewhat optimize my text editing, I figured I&amp;#8217;d try and get some often used keys where I wanted them.&lt;sup class="footnote" id="fnrev7c230fde80d3487a964040ef54382d56-2"&gt;&lt;a href="#fn7c230fde80d3487a964040ef54382d56-2"&gt;2&lt;/a&gt;&lt;/sup&gt; Using &lt;span class="caps"&gt;QWERTY&lt;/span&gt; notation, I now have:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;Alt-j&lt;/code&gt; &amp;#8212; Left&lt;br /&gt;
&lt;code&gt;Alt-k&lt;/code&gt; &amp;#8212; Down&lt;br /&gt;
&lt;code&gt;Alt-i&lt;/code&gt; &amp;#8212; Up&lt;br /&gt;
&lt;code&gt;Alt-l&lt;/code&gt; &amp;#8212; Right&lt;br /&gt;
&lt;code&gt;Alt-u&lt;/code&gt; &amp;#8212; Home&lt;br /&gt;
&lt;code&gt;Alt-o&lt;/code&gt; &amp;#8212; End&lt;br /&gt;
&lt;code&gt;Alt-h&lt;/code&gt; &amp;#8212; Delete&lt;br /&gt;
&lt;code&gt;Ctrl-k&lt;/code&gt; &amp;#8212; Page Down&lt;br /&gt;
&lt;code&gt;Ctrl-i&lt;/code&gt; &amp;#8212; Page Up&lt;/p&gt;

	&lt;p&gt;Very nice! I&amp;#8217;m already used to them after only a few days. If you&amp;#8217;re interested, below is my &lt;code&gt;.nanorc&lt;/code&gt;&lt;/p&gt;

	&lt;h2&gt;My .nanorc&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;# $Id: .nanorc,v 1.6 2025/09/15 13:29:21 simon Exp simon $

set multibuffer
set tabsize 4
set tabstospaces
set autoindent
set wordbounds
set quickblank
set trimblanks
set linenumbers
set smarthome
set mouse
set indicator
set guidestripe 80
set positionlog
set quickblank
set stateflags

set brackets &amp;quot;&amp;quot;&amp;#39;)&amp;gt;]}&amp;quot;
set matchbrackets &amp;quot;(&amp;lt;[{)&amp;gt;]}&amp;quot;

set keycolor cyan
set functioncolor cyan
set numbercolor yellow

bind M-5 cycle main

#=============================================
# Experimental: bring useful keys to home row
#=============================================

bind M-n left main
bind M-i right main
bind M-u up main
bind M-e down main
bind M-l home main
bind M-y end main
bind M-h delete main

bind ^u pageup main
bind ^e pagedown main

# newline above current line
bind ^n &amp;quot;{home}{enter}{up}&amp;quot; main

# newline below current line
bind ^k &amp;quot;{end}{enter}&amp;quot; main

include /usr/local/share/nano/*.nanorc
include &amp;quot;~/.nano/tpl.nanorc&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;h2&gt;Why Not Just Use&amp;#8230;&lt;/h2&gt;

	&lt;p&gt;Of course, anyone who comes here may have their own, possibly strong, opinions about which text editor is &lt;em&gt;the one true editor&lt;/em&gt;. Fair enough, but I can&amp;#8217;t be bothered to spend weeks learning how to use a text editor. &lt;/p&gt;

	&lt;p&gt;I set out to find a &lt;span class="caps"&gt;TUI&lt;/span&gt; editor to do my work with and have found it with &lt;span class="caps"&gt;GNU&lt;/span&gt; Nano.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ll quickly mention why some other, obvious editors didn&amp;#8217;t beat Nano for me.&lt;/p&gt;

	&lt;p&gt;1. Emacs&lt;/p&gt;

	&lt;p&gt;Sorry, but having to type &lt;code&gt;Ctrl-X Ctrl-C&lt;/code&gt; to exit isn&amp;#8217;t for me.&lt;/p&gt;

	&lt;p&gt;2. Vim&lt;/p&gt;

	&lt;p&gt;Philosophically, I like the idea of a modal editor. However, in practice, I&amp;#8217;ve always found Vim&amp;#8217;s learning curve not worth the time. If I wrote software for a living, instead of as a hobby, I might invest more time in learning it. Maybe&amp;#8230;&lt;/p&gt;

	&lt;p&gt;3. Micro&lt;/p&gt;

	&lt;p&gt;Micro does seem interesting. However, Nano with &lt;code&gt;--modern-bindings&lt;/code&gt; possibly makes it less interesting.&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;Like a lot of people, I&amp;#8217;ve been unaware of exactly what Nano is capable of. I&amp;#8217;ve been pressing pageup repeatedly to get to the top of the screen when I could have just pressed &lt;code&gt;Ctrl-home&lt;/code&gt; or &lt;code&gt;Ctrl-end&lt;/code&gt; to go to the beginning or end of the file. &lt;/p&gt;

	&lt;p&gt;Likewise, I never knew that &lt;code&gt;Alt-home&lt;/code&gt; and &lt;code&gt;Alt-end&lt;/code&gt; would take me to the first / last lines in the viewport.&lt;/p&gt;

	&lt;p&gt;Embarrassingly, I didn&amp;#8217;t know that Nano supported multiple buffers. So like a fool, I&amp;#8217;d edit one file on a server, close it, open another one, close that, open the first one again&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Today I&amp;#8217;ve just found that Nano supports &lt;em&gt;soft wrapping&lt;/em&gt; using &lt;code&gt;Alt-s&lt;/code&gt; which has proven useful writing this post in Textile where unwanted newlines are inserted.&lt;/p&gt;

	&lt;p&gt;I think some people in the Linux world see Nano as our Windows Notepad. Not something to be used by serious people with serious things to do. I never thought that, but after reading the excellent documentation on the Nano website (and man / info pages) I&amp;#8217;m now aware of exactly what it can do.&lt;/p&gt;

	&lt;p&gt;I hope that you too, will have another look at this awesome little editor.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.nano-editor.org/"&gt;&lt;img align="center" alt="" src="/img/logo/withnano.png" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn7c230fde80d3487a964040ef54382d56-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I believe it was Ergoemacs that introduced me to this idea.&lt;/p&gt;

	&lt;p class="footnote" id="fn7c230fde80d3487a964040ef54382d56-2"&gt;&lt;sup&gt;2&lt;/sup&gt; If you want to do this yourself, here are a couple of tips. You press control by moving your palm outwards and &lt;em&gt;not&lt;/em&gt; by stretching your pinky! Alt is pressed by moving your thumb outwards. It takes a bit of getting used to but is worth it, I think.&lt;/p&gt;</content><category term="software"></category><category term="software"></category><category term="linux"></category><category term="gnu"></category></entry><entry><title>Trying Out OpenBSD Game of Trees (Got)</title><link href="https://simonh.uk/2025/06/08/trying-out-openbsd-game-of-trees-got/" rel="alternate"></link><published>2025-06-08T00:00:00+01:00</published><updated>2025-06-08T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-06-08:/2025/06/08/trying-out-openbsd-game-of-trees-got/</id><summary type="html">	&lt;p&gt;Is less more?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;a href="https://gameoftrees.org"&gt;&lt;img alt="Got Website" src="/img/2025-06-08/got.webp" title="Got Website" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Background &amp;amp; Motivations&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve been a Mercurial user since about 2017. It&amp;#8217;s always worked well for me, &lt;em&gt;but&lt;/em&gt; I&amp;#8217;ve found myself wondering over the last couple of years if another &lt;span class="caps"&gt;VCS&lt;/span&gt; might be a better fit for me. One reason is that I&amp;#8217;m not an advanced user, using only a fraction of what Mercurial has to offer. I don&amp;#8217;t collaborate with anyone else so I only need to record changes, push my code out to backup servers, revert (occasionally), email patches to my production servers etc. &lt;/p&gt;

	&lt;p&gt;So today, I decided to use Got to track changes on a real project and this post documents how it went. &lt;/p&gt;

	&lt;h2&gt;Installation&lt;/h2&gt;

	&lt;p&gt;We&amp;#8217;ll need to download and compile Got from &lt;a href="https://gameoftrees.org/releases/portable/"&gt;here&lt;/a&gt;. At the time of writing version 0.113 is the latest. Then, it&amp;#8217;s the usual:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./configure
make
sudo make install&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Which will install Got to &lt;code&gt;/usr/local&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;To check everything worked, run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ got -h
usage: got [-hV] command [arg ...]
commands: init import clone fetch checkout update log diff blame tree status ref branch tag add remove patch revert commit send cherrypick backout rebase histedit integrate merge stage unstage cat info&lt;/code&gt;&lt;/pre&gt;

	&lt;h2&gt;The Got Way&lt;/h2&gt;

	&lt;p&gt;One of the things I found most appealing about Got is that repositories and work trees &lt;strong&gt;have&lt;/strong&gt; to live in different locations. When you think about it, that makes complete sense. Most of us are used to having our repo&amp;#8217;s inside our working directory. Yes, it&amp;#8217;s convenient but I&amp;#8217;ve now come to the conclusion that it&amp;#8217;s not optimal. Your repo is one thing, your working directory is another thing. &lt;/p&gt;

	&lt;h2&gt;Creating the Repo and importing code&lt;/h2&gt;

	&lt;p&gt;As this project is a static web site, I dectided to create a separate directory for my repo:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;got init /home/simon/tmp/repo/first_project.got&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;There&amp;#8217;s no requirement to append &lt;code&gt;.got&lt;/code&gt; to the project, but it reminds me what I&amp;#8217;m using. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp$ tree repo/first_project.got/&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Let&amp;#8217;s have a look to see what Got has created for us:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;tree repo/first_project.got
repo/first_project.got/
├── config
├── description
├── HEAD
├── objects
│   └── pack
└── refs

4 directories, 3 files&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Looks good. The next step may seem a bit clunky, but is what we need to do:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Import code into our repository&lt;/li&gt;
		&lt;li&gt;Check out the repository to a worktree&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Right now, our repo is empty. Let&amp;#8217;s do our first checkin:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp$ got import -r repo/first_project.got/ first_project/
A  /home/simon/tmp/first_project/css/pico.min.css
A  /home/simon/tmp/first_project/css/tacit.min.css
A  /home/simon/tmp/first_project/fonts/Inter-Italic-VariableFont_opsz,wght.woff2
A  /home/simon/tmp/first_project/fonts/Inter-VariableFont_opsz,wght.woff2
A  /home/simon/tmp/first_project/software/visitors/index.html
A  /home/simon/tmp/first_project/banner.png
A  /home/simon/tmp/first_project/index.html
Created branch refs/heads/main with commit 95f800a6d501db76d7fe56978e6c396d0c3736bb&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now that our working directory&amp;#8217;s contents have been added to our repo, we can delete the working directory and check out a worktree:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp$ rm -r first_project&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp$ got co repo/first_project.got/ first_project
A  first_project/asus.png
A  first_project/css/pico.min.css
A  first_project/css/tacit.min.css
A  first_project/fonts/Inter-Italic-VariableFont_opsz,wght.woff2
A  first_project/fonts/Inter-VariableFont_opsz,wght.woff2
A  first_project/index.html
A  first_project/software/visitors/index.html
Checked out refs/heads/main: 95f800a6d501db76d7fe56978e6c396d0c3736bb
Now shut up and hack&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now, inside our worktree&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/first_project$ got log
-----------------------------------------------
commit 95f800a6d501db76d7fe56978e6c396d0c3736bb (main)
from: Simon Harrison &amp;lt;mail@simonh.uk&amp;gt;
date: Sun Jun  8 20:16:54 2025 UTC

 First checkin&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Got uses a hidden directory to keep track of things &amp;#8212; &lt;code&gt;.got&lt;/code&gt;. Let&amp;#8217;s see what&amp;#8217;s in there:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/first_project$ ll
total 116K
drwxr-xr-x  6 simon simon 4.0K 2025-06-08 21:21 .
drwxrwxrwx 11 simon simon 4.0K 2025-06-08 21:21 ..
-rw-r--r--  1 simon simon  84K 2025-06-08 21:21 asus.png
drwxr-xr-x  2 simon simon 4.0K 2025-06-08 21:21 css
drwxr-xr-x  2 simon simon 4.0K 2025-06-08 21:21 fonts
drwxr-xr-x  2 simon simon 4.0K 2025-06-08 21:21 .got
-rw-r--r--  1 simon simon 4.6K 2025-06-08 21:21 index.html
drwxr-xr-x  3 simon simon 4.0K 2025-06-08 21:21 software
simon@computer:~/tmp/first_project$ tree .got
.got
├── base-commit
├── file-index
├── format
├── head-ref
├── lock
├── path-prefix
├── repository
└── uuid

1 directory, 8 files&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Obviously, we&amp;#8217;ll leave all that alone as Got will update them as we check in changes. &lt;/p&gt;

	&lt;p&gt;So at this point, we&amp;#8217;re all setup to track changes to our code. The last thing I want to do right now is set up a backup that I can push to one of my servers.&lt;/p&gt;

	&lt;p&gt;We&amp;#8217;ll do that in our repo:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/first_project.got$ nano got.conf&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;And add the following, adjusting to fit your server&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;remote &amp;quot;simonh&amp;quot; {
  server myserver.com
  protocol ssh
  repository &amp;quot;/home/simon/repo/got/first_project.got&amp;quot;
}&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;For this to work, we need to create a Got repo on our server that matches the &lt;code&gt;repository&lt;/code&gt; value above.&lt;/p&gt;

	&lt;p&gt;With this done, we can &lt;code&gt;got send&lt;/code&gt; our changes. By the way, most commands have aliases:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;code&gt;ci&lt;/code&gt; &amp;#8212; commit&lt;/li&gt;
		&lt;li&gt;&lt;code&gt;co&lt;/code&gt; &amp;#8212; checkout&lt;/li&gt;
		&lt;li&gt;&lt;code&gt;se&lt;/code&gt; &amp;#8212; send&lt;/li&gt;
		&lt;li&gt;&lt;code&gt;fe&lt;/code&gt; &amp;#8212; fetch&lt;/li&gt;
		&lt;li&gt;&lt;code&gt;pa&lt;/code&gt; &amp;#8212; patch&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Consult the excellent man pages for the full list. Let&amp;#8217;s send our changes to keep them safe:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/first_project$ got se simonh
Connecting to &amp;quot;simonh&amp;quot; ssh://myserver.com/home/simon/repo/got/first_project.got
2 commits colored; 3 objects found; 6 trees scanned
packing 1 reference; 3 objects; deltify: 100%; uploading pack:  2.7K 100%
Server has accepted refs/heads/main&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Got also comes with Tog, a &lt;span class="caps"&gt;CLI&lt;/span&gt; repository browser:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Tog repository browser" src="/img/2025-06-08/tog.webp" title="Tog repository browser" /&gt;&lt;/p&gt;

	&lt;h2&gt;Creating &amp;amp; Listing Tags&lt;/h2&gt;

	&lt;p&gt;Tags are equivalent to Mercurial bookmarks &amp;#8212; a label for a commit. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/first_project$ got tag -l
-----------------------------------------------
tag 0.2 807e609a829c43a9f3f9c8d4c1214b4371fe4485
from: Simon Harrison &amp;lt;mail@simonh.uk&amp;gt;
date: Sun Jun  8 16:12:03 2025 UTC
object: commit 3aa38f1608aee14a1a90a7eae3928f83e4c14baa

 Second test of using tags

-----------------------------------------------
tag 0.1 c291af4175f48db379169437ac1a09e381a631f8
from: Simon Harrison &amp;lt;mail@simonh.uk&amp;gt;
date: Sun Jun  8 13:34:21 2025 UTC
object: commit 8e431b7a506992d02d5e39b283652bb5d3ae9d03

 Just testing out tags&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Passing &lt;code&gt;-s&lt;/code&gt; gives us a &lt;em&gt;short&lt;/em&gt; one line summary:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/first_project$ got tag -ls
2025-06-08 commit:3aa38f1608 0.2: Second test of using tags
2025-06-08 commit:8e431b7a50 0.1: Just testing out tags&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;We can create a tag easily:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/first_project$ got tag &amp;#39;0.3&amp;#39;
Created tag d1d6792cb83866567525f66875b983faf7dcd4d7

simon@computer:~/tmp/first_project$ got tag -sl
2025-06-09 commit:f257381e43 0.3: Third version
2025-06-08 commit:3aa38f1608 0.2: Second test of using tags
2025-06-08 commit:8e431b7a50 0.1: Just testing out tags&lt;/code&gt;&lt;/pre&gt;

	&lt;h2&gt;Branching &amp;amp; Merging&lt;/h2&gt;

	&lt;p&gt;To be honest, I don&amp;#8217;t branch. If that changes I&amp;#8217;ll update this section.&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;Initial setup for basic tracking of changes should take no more than fifteen / twenty minutes. Once you&amp;#8217;ve done that, you&amp;#8217;ll have a nice, well-documented &lt;span class="caps"&gt;VCS&lt;/span&gt; that has a tight focus. I&amp;#8217;m going to continue using Got for this one project. I should point out that Got is not Git. Many features are not implemented (and may never be). However, it&amp;#8217;s perfectly usable right now and if you&amp;#8217;re looking for a &lt;em&gt;no frills&lt;/em&gt; &lt;span class="caps"&gt;VCS&lt;/span&gt;, Got may be just what you need.&lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;I wrote a post last year &lt;a href="https://simonh.uk/2024/10/29/first-look-at-openbsd-game-of-trees-got/"&gt;first look at Got&lt;/a&gt;  which may be of interest.&lt;/p&gt;</content><category term="software"></category><category term="version control"></category></entry><entry><title>How to Get Windows Games Working in Batocera</title><link href="https://simonh.uk/2025/05/11/how-to-get-windows-games-working-in-batocera/" rel="alternate"></link><published>2025-05-11T00:00:00+01:00</published><updated>2025-05-11T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-05-11:/2025/05/11/how-to-get-windows-games-working-in-batocera/</id><summary type="html">	&lt;p&gt;Windows games on your retro box&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Windows Logo" src="/img/2025-05-11/windows.svg" title="Windows Logo" /&gt;&lt;/p&gt;

	&lt;p&gt;Over the last few weeks I&amp;#8217;ve been setting up a retro gaming system using &lt;a href="https://batocera.org/"&gt;Batocera&lt;/a&gt;. The one system that I had real trouble getting working correctly was the Windows / PC system. Batocera does have a &lt;a href="https://wiki.batocera.org/systems%3Awindows"&gt;wiki&lt;/a&gt; section to help you out but here are my condensed tips that I&amp;#8217;ve been using successfully to get things working. There are only two tips so this won&amp;#8217;t take long.&lt;/p&gt;

	&lt;p class="warn"&gt;One thing to note is that some games simply will not work. I list some of these at the bottom of the page.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Windows Games" src="/img/2025-05-11/batocera_windows.webp" title="Windows Games" /&gt;&lt;/p&gt;

	&lt;h2&gt;1. Install games on another machine&lt;/h2&gt;

	&lt;p&gt;This is my most important tip. Although Batocera tries hard to make installing games &lt;em&gt;possible&lt;/em&gt;, it&amp;#8217;s very hit and miss. I&amp;#8217;ve found it far quicker and less annoying to simply install a game on my Linux desktop, then copy the installation directory to my Batocera machine. The screenshot below shows my gog.com games, all of which I&amp;#8217;ve easily copied to my Batocera box:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Linux desktop" src="/img/2025-05-11/desktop.webp" title="Linux desktop" /&gt;&lt;/p&gt;

	&lt;p&gt;Using &lt;em&gt;The King of Fighters &lt;span class="caps"&gt;XIII&lt;/span&gt;&lt;/em&gt; as an example:&lt;/p&gt;

	&lt;p&gt;1. Copy the folder and rename the copy to The King of Fighters &lt;span class="caps"&gt;XIII&lt;/span&gt;.pc&lt;br /&gt;
2. Create an &lt;code&gt;autorun.cmd&lt;/code&gt; file in the above folder with the following line:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CMD=kof13_win32_Release.exe&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;3. Copy The King of Fighters &lt;span class="caps"&gt;XIII&lt;/span&gt;.pc folder to &lt;code&gt;/userdata/roms/windows&lt;/code&gt; on your Batocera machine&lt;br /&gt;
4. Update the game list and play!&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve found that some Windows games will install and run fine on my desktop but don&amp;#8217;t run on Batocera. So another benefit to this method is that you&amp;#8217;ll know that the game runs on Linux, just not on Batocera (yet). It&amp;#8217;s also far easier and quicker to install updates etc. on your desktop machine than on your Batocera machine. &lt;/p&gt;

	&lt;h2&gt;2. Download the latest Wine build&lt;/h2&gt;

	&lt;p&gt;Again the wiki clearly states this as an option and links to &lt;a href="https://github.com/Kron4ek/Wine-Builds"&gt;Wine Builds&lt;/a&gt; on Github. It&amp;#8217;s worth downloading the latest stable version from the link and setting it up as another option if the Batocera provided Wine version gives problems with a game. The wiki has clear instructions so I won&amp;#8217;t repeat them here. &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;That&amp;#8217;s it really. As I wrote in my last &lt;a href="http://simonh.uk/2025/04/03/fighting-games-that-work-well-on-linux/"&gt;post&lt;/a&gt;, Wine is fantastic software, especially for gamers. However, not all games / software is supported so you&amp;#8217;ve just got to try and see what works. There aren&amp;#8217;t that many Windows games that I&amp;#8217;m particularly wanting on my retro box but the following are all working fine:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Mega Man 11&lt;/li&gt;
		&lt;li&gt;Ultra Street Fighter IV&lt;/li&gt;
		&lt;li&gt;King of Fighters 98, 2002, &lt;span class="caps"&gt;XIII&lt;/span&gt;, &lt;span class="caps"&gt;XIV&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;Street Fighter X Tekken&lt;/li&gt;
		&lt;li&gt;Ultimate Marvel vs Capcom 3&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;The following wouldn&amp;#8217;t run :(&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Burnout Paradise Ultimate Box&lt;/li&gt;
		&lt;li&gt;King of Fighters XV&lt;/li&gt;
		&lt;li&gt;A few others I&amp;#8217;ve forgotten&amp;#8230;&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;This is one of the huge benefits of using console roms: nothing to install! Just drop the &lt;span class="caps"&gt;ROM&lt;/span&gt; in and you&amp;#8217;re done. Windows games are a pain in the arse. &lt;span class="caps"&gt;KOF&lt;/span&gt; &lt;span class="caps"&gt;XIII&lt;/span&gt; runs great through Wine, but very slow with the Xenia emulator so sometimes you have to endure some pain to get what you want. &lt;/p&gt;</content><category term="gaming"></category><category term="gaming"></category><category term="linux"></category><category term="retro"></category><category term="batocera"></category></entry><entry><title>Fighting Games That Work Well on Linux</title><link href="https://simonh.uk/2025/04/03/fighting-games-that-work-well-on-linux/" rel="alternate"></link><published>2025-04-03T00:00:00+01:00</published><updated>2025-04-04T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-04-03:/2025/04/03/fighting-games-that-work-well-on-linux/</id><summary type="html">	&lt;p&gt;You looking at me, punk?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;Well, &lt;a href="https://www.winehq.org/"&gt;Wine&lt;/a&gt; has come a long way in the twenty odd years I&amp;#8217;ve been using Linux. It&amp;#8217;s gone from being pretty much useless, to pretty awesome. As of today, I can now play all of my favourite fighting games with no issues (that I&amp;#8217;ve seen so far)!&lt;/p&gt;

	&lt;p&gt;As far as I&amp;#8217;m concerned, fighting games peaked in about 2014, so you won&amp;#8217;t see anything newer than that here.&lt;sup class="footnote" id="fnrevd3bfc0a8c02a487a9400d160effa18bb-1"&gt;&lt;a href="#fnd3bfc0a8c02a487a9400d160effa18bb-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;p class="info"&gt;I&amp;#8217;m using Wine 10, Intel i5-9400 &lt;span class="caps"&gt;CPU&lt;/span&gt;, 16GB ram, and a Radeon RX 550 low profile graphics card. OS is Linux Mint 22.1&lt;/p&gt;

	&lt;h3&gt;Garou: Mark of the Wolves&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="Garou mark of the wolves" src="/img/2025-04-03/garou.webp" title="Garou mark of the wolves" /&gt;&lt;/p&gt;

	&lt;p&gt;Bought from gog.com for £0.79. It&amp;#8217;s an old game and a fair price. I had an iffy copy but buying this for a few pence seemed the right thing to do.&lt;/p&gt;

	&lt;h3&gt;King of Fighters &amp;#8217;98 Ultimate Match Final Edition&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="King of Fighters 98 Ultimate Match Final Edition" src="/img/2025-04-03/kof98.webp" title="King of Fighters 98 Ultimate Match Final Edition" /&gt;&lt;/p&gt;

	&lt;p&gt;As with Garou, I had a dodgy copy of this but paying gog.com £1.69 made me feel better. Great game, for many one of the best fighting games of all time.&lt;/p&gt;

	&lt;h3&gt;King of Fighters 2002 Unlimited Match&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="King of Fighters 2002 Unlimited Match" src="/img/2025-04-03/kof2002.webp" title="King of Fighters 2002 Unlimited Match" /&gt;&lt;/p&gt;

	&lt;p&gt;Paid gog.com exactly the same as KOF98. Amazing game and runs flawlessly on Linux.&lt;/p&gt;

	&lt;h3&gt;King of Fighters &lt;span class="caps"&gt;XIII&lt;/span&gt;&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="King of Fighters XIII" src="/img/2025-04-03/kof13.webp" title="King of Fighters XIII" /&gt;&lt;/p&gt;

	&lt;p&gt;£2.29 from gog.com. Sony got £15.99 from me to play this on the PS5 (cheeky little *******&amp;#8216;s)!. If I had to pick one favourite fighting game, it&amp;#8217;d probably be this. &lt;/p&gt;

	&lt;h3&gt;Ultra Street Fighter IV&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="Ultra Street Fighter 4" src="/img/2025-04-03/usf4.webp" title="Ultra Street Fighter 4" /&gt;&lt;/p&gt;

	&lt;p&gt;gog.com don&amp;#8217;t have any Street Fighter games except Alpha 2 so I got this &amp;#8220;elsewhere&amp;#8221;. Great game and yet again, works flawlessly. &lt;/p&gt;

	&lt;h3&gt;Street Fighter X Tekken&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="Street Fighter X Tekken" src="/img/2025-04-03/sfxt.webp" title="Street Fighter X Tekken" /&gt;&lt;/p&gt;

	&lt;p&gt;This one was my biggest surprise. Over the years, I&amp;#8217;ve tried numerous times to get this working on Linux and never succeded. &lt;em&gt;All good things come to he waits&lt;/em&gt; they say, and this one was worth waiting for. This is version 1.08, by the way (the adept web surfer should find it fairly easily).&lt;/p&gt;

	&lt;h3&gt;&lt;span class="caps"&gt;SNK&lt;/span&gt; vs. Capcom: &lt;span class="caps"&gt;SVC&lt;/span&gt; Chaos&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="SNK vs Capcom" src="/img/2025-04-03/svc.webp" title="SNK vs Capcom" /&gt;&lt;/p&gt;

	&lt;p&gt;Another all time classic. Available on a variety of old consoles (Neo Geo, PS2, Xbox), you should pick this one up if you see it cheap for easily playing on PC.&lt;/p&gt;

	&lt;h3&gt;Ultimate Marvel vs. Capcom 3&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="Ultimate Marvel vs Capcom 3" src="/img/2025-04-03/umvc3.webp" title="Ultimate Marvel vs Capcom 3" /&gt;&lt;/p&gt;

	&lt;p&gt;Ok, this isn&amp;#8217;t one of my favourites, but it can be fun in small doses. I&amp;#8217;ve only included it here in case you&amp;#8217;re a big fan and are wondering if it will work on Linux. Yep, perfectly! &lt;/p&gt;

	&lt;h3&gt;Marvel vs. Capcom Fighting Collection: Arcade Classics&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="Marvel vs. Capcom Fighting Collection: Arcade Classics" src="/img/2025-04-03/mvcfc.webp" title="Marvel vs. Capcom Fighting Collection: Arcade Classics" /&gt;&lt;/p&gt;

	&lt;p&gt;Not played this in great depth yet, but all the games I&amp;#8217;ve tried seem to work flawlessly. You get all the following games:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;The Punisher&lt;/li&gt;
		&lt;li&gt;X-Men: Children of the Atom&lt;/li&gt;
		&lt;li&gt;Marvel Super Heroes&lt;/li&gt;
		&lt;li&gt;X-Men vs. Street Fighter&lt;/li&gt;
		&lt;li&gt;Marvel Super Heroes vs. Street Fighter&lt;/li&gt;
		&lt;li&gt;Marvel vs. Capcom: Clash of Super Heroes&lt;/li&gt;
		&lt;li&gt;Marvel vs. Capcom 2: New Age of Heroes&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;It&amp;#8217;s not cheap, but it&amp;#8217;s worth it if you love your fighting games. Alternatively, I&amp;#8217;m sure it&amp;#8217;ll be on sale before long.&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-04-04&lt;/mark&gt;&lt;/p&gt;

	&lt;h3&gt;King of Fighters &lt;span class="caps"&gt;XIV&lt;/span&gt;&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="King of Fighters XIV" src="/img/2025-04-03/kof14.webp" title="King of Fighters XIV" /&gt;&lt;/p&gt;

	&lt;p&gt;Thought I&amp;#8217;d try this out just to see if it works. Worked completely fine! As this is a bit newer than most of the other ones, my graphics card fan came on a bit louder than with the others. Didn&amp;#8217;t experience any slowdowns or anything odd. &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;We&amp;#8217;re getting to the point where using Windows makes less and less sense, even for casual gamers. As long as your PC is not a potato, you&amp;#8217;ll probably be surprised what games will run flawlessly on Wine 10. Any issues you do have, should have solutions to try on the various forums.&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fnd3bfc0a8c02a487a9400d160effa18bb-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Sorry, Street Fighter 5 &amp;amp; 6 are &lt;strong&gt;not&lt;/strong&gt; better than 4, &lt;span class="caps"&gt;KOF&lt;/span&gt; &lt;span class="caps"&gt;XIV&lt;/span&gt; &amp;amp; XV are &lt;strong&gt;not&lt;/strong&gt; better than &lt;span class="caps"&gt;XIII&lt;/span&gt;. Injustice 2, Mortal Kombat &lt;em&gt;whatever&lt;/em&gt; are ok but have no place in a list of best ever fighters.&lt;/p&gt;</content><category term="gaming"></category><category term="gaming"></category><category term="linux"></category><category term="wine"></category></entry><entry><title>Fujifilm Finepix S4800 Review Part 2</title><link href="https://simonh.uk/2025/03/09/fujifilm-finepix-s4800-review-part-2/" rel="alternate"></link><published>2025-03-09T00:00:00+00:00</published><updated>2025-03-09T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-03-09:/2025/03/09/fujifilm-finepix-s4800-review-part-2/</id><summary type="html">	&lt;p&gt;2013, 16MP, 30x optical zoom&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Fujifilm Finepix S4800" src="/img/2025-03-09/s4800.jpg" title="Fujifilm Finepix S4800" /&gt;&lt;/p&gt;

	&lt;p&gt;Another day, another dog walk, armed with my Fujifilm Finepix S4800 this time. I have to be honest, if I had to choose between the S4800 and the &lt;a href="https://simonh.uk/2025/03/02/fujifilm-finepix-s8000fd-review-part-2/"&gt;S8000fd&lt;/a&gt;, I&amp;#8217;d chose the S8000fd. Not quite sure why yet. I&amp;#8217;m pretty sure I just get better shots from the older camera. &lt;/p&gt;

	&lt;p class="info"&gt;All shot using &lt;em&gt;Natural&lt;/em&gt; setting with &lt;em&gt;Chrome&lt;/em&gt; colour option. All images linked to full resolution Flickr album.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQVNSA"&gt;&lt;img alt="Alley" src="/img/2025-03-09/2025-03-09-08h27m50.JPG" title="Alley" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQVNSv"&gt;&lt;img alt="Park 1" src="/img/2025-03-09/2025-03-09-08h30m24.JPG" title="Park 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQUzhK"&gt;&lt;img alt="River 1" src="/img/2025-03-09/2025-03-09-08h38m12.JPG" title="River 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQVCda"&gt;&lt;img alt="River 2" src="/img/2025-03-09/2025-03-09-08h40m28.JPG" title="River 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQQ6YF"&gt;&lt;img alt="Rowers 1" src="/img/2025-03-09/2025-03-09-08h40m51.JPG" title="Rowers 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQVCcU"&gt;&lt;img alt="Rowers 2" src="/img/2025-03-09/2025-03-09-08h43m51.JPG" title="Rowers 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQVNRd"&gt;&lt;img alt="Ducks 1" src="/img/2025-03-09/2025-03-09-08h44m43.JPG" title="Ducks 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQUzfW"&gt;&lt;img alt="Ducks 2" src="/img/2025-03-09/2025-03-09-08h45m30.JPG" title="Ducks 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQQ6XJ"&gt;&lt;img alt="Swan 1" src="/img/2025-03-09/2025-03-09-08h48m44.JPG" title="Swan 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQVCbX"&gt;&lt;img alt="Church" src="/img/2025-03-09/2025-03-09-08h52m29.JPG" title="Church" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qQQ6XZ"&gt;&lt;img alt="Bridge" src="/img/2025-03-09/2025-03-09-08h56m56.JPG" title="Bridge" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="star"&gt;Part 2 Conclusion&lt;/h2&gt;

	&lt;p&gt;It&amp;#8217;s a strange thing about cameras. Most people assume that as technology improves, everything gets better. I&amp;#8217;m not sure that&amp;#8217;s true. Well, not always anyway. I deliberately try and use the same (or similar) settings when comparing cameras. Along with taking photos of the same things if possible. As I wrote at the top of this page, I like the photos from the S8000fd more. Have a &lt;a href="https://simonh.uk/2025/03/02/fujifilm-finepix-s8000fd-review-part-2/"&gt;look for yourself&lt;/a&gt; if you&amp;#8217;d like. Which photos do you prefer?&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m not saying this is a &lt;em&gt;bad&lt;/em&gt; camera. I suppose what I&amp;#8217;m saying is that I don&amp;#8217;t consider it any better than the S8000fd.&lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://simonh.uk/2025/02/16/fujifilm-finepix-s4800-review-part-1/"&gt;Part 1 Review&lt;/a&gt;&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="review"></category><category term="retro"></category></entry><entry><title>Things That Make Me Angry 2025 Edition</title><link href="https://simonh.uk/2025/03/06/things-that-make-me-angry-2025-edition/" rel="alternate"></link><published>2025-03-06T00:00:00+00:00</published><updated>2025-03-06T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-03-06:/2025/03/06/things-that-make-me-angry-2025-edition/</id><summary type="html">	&lt;p&gt;You won&amp;#8217;t like me when I&amp;#8217;m angry&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Anger" src="/img/2025-03-06/anger.webp" title="Anger" /&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m not a particularly angry person, however, somethings really wind me up. Here are some of them.&lt;/p&gt;

	&lt;h2 class="cross"&gt;Horrible car noises when driving&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Car problem" src="/img/2025-03-06/wheel.webp" title="Car problem" /&gt;&lt;/p&gt;

	&lt;p&gt;I get this quite a lot (today most recently). I&amp;#8217;ll be driving somewhere and I&amp;#8217;ll suddenly hear a high pitched, scraping sound of metal on metal.&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;Oh God!!! Is that &lt;strong&gt;my&lt;/strong&gt; car???&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;There&amp;#8217;s probably a van or lorry in front, something else behind me. But which vehicle is making that horrible noise? Occasionally, I&amp;#8217;ll have to pull over to let the other suspect vehicles pass. 9 times out of 10, the sound has gone. Still, it freaks me out every time. Other road users &amp;#8212; scraping metal noises coming from your vehicle is not good. Not for you or for those of us worrying that it&amp;#8217;s our car. Get if fixed for crying out loud.&lt;/p&gt;

	&lt;h2 class="cross"&gt;Facebook marketplace sellers who don&amp;#8217;t reply&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="No reply" src="/img/2025-03-06/asleep.webp" title="No reply" /&gt;&lt;/p&gt;

	&lt;p&gt;Ugh. This makes my blood boil. I&amp;#8217;m not on Facebook, so I borrow the other halfs account when needed. Sometimes I&amp;#8217;ll find something that I &lt;em&gt;really&lt;/em&gt; want. Price is good, condition is good, they&amp;#8217;re nearby. So I message them and&amp;#8230;&lt;/p&gt;

	&lt;h1&gt;Nothing!&lt;/h1&gt;

	&lt;p&gt;Sometimes they&amp;#8217;ve seen the message, sometimes not. I don&amp;#8217;t care. I&amp;#8217;ve got a couple of messages that haven&amp;#8217;t been acknowledged after over two months. Part of me hopes that they&amp;#8217;ve died. If so, surely a family member could arrange the sale?!&lt;/p&gt;

	&lt;h2 class="cross"&gt;Prospective customers who suddenly go cold&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Gone out of business" src="/img/2025-03-06/factory.webp" title="Gone out of business" /&gt;&lt;/p&gt;

	&lt;p&gt;This is a new one that I&amp;#8217;ve experienced twice over the last year. I send out emails trying to drum up business periodically. Sometimes, I&amp;#8217;ll get an enthusiastic reply as they&amp;#8217;re having problems with their current supplier. After a few more emails, we arrange an in person visit to work out the details.&lt;/p&gt;

	&lt;p&gt;Then they cancel the day before (I always confirm the day before). No problem. I leave them for a few days, then try to rearrange. No reply. Maybe they have some mental illness. Maybe their business is made up. After all, anyone can setup a website in minutes. Perhaps I should visit their &amp;#8220;business&amp;#8221; and see what&amp;#8217;s going on&amp;#8230;&lt;/p&gt;

	&lt;h2&gt;Afterword&lt;/h2&gt;

	&lt;p&gt;That&amp;#8217;s it for today. As new things annoy me, I&amp;#8217;ll add to this post. &lt;/p&gt;</content><category term="personal"></category><category term="personal"></category><category term="opinion"></category></entry><entry><title>Fujifilm Finepix S8000fd Review Part 2</title><link href="https://simonh.uk/2025/03/02/fujifilm-finepix-s8000fd-review-part-2/" rel="alternate"></link><published>2025-03-02T00:00:00+00:00</published><updated>2025-03-02T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-03-02:/2025/03/02/fujifilm-finepix-s8000fd-review-part-2/</id><summary type="html">	&lt;p&gt;2007, 8MP, 18x optical zoom&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Fujifilm S8000fd shot with F10" src="/img/2025-03-02/s8000fd.jpg" title="Fujifilm S8000fd shot with F10" /&gt;&lt;/p&gt;

	&lt;p&gt;The observant reader may notice that I have a rubber band on the lens barrel. Yes, I do. Without it the lens cap simply falls off. I was going to see if I could buy a replacement cap, but a rubber band works great!&lt;/p&gt;

	&lt;p&gt;Anyway, the sun is now out so I thought I&amp;#8217;d test my S8000fd in the best light to see how she performs. Most of the photos below were shot using the &lt;em&gt;Natural&lt;/em&gt; option along with &lt;em&gt;Chrome&lt;/em&gt; picture effect. For a couple I used &lt;em&gt;SR Auto&lt;/em&gt;. &lt;/p&gt;

	&lt;p class="info"&gt;All photos linked to full resolution Flickr &lt;a href="https://flic.kr/s/aHBqjC2qHS"&gt;album&lt;/a&gt;.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPAqFi"&gt;&lt;img alt="park" src="/img/2025-03-02/2025-03-02-08h49m05.JPG" title="park" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;My composition and framing need improving!&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPAqFd"&gt;&lt;img alt="cat" src="/img/2025-03-02/2025-03-02-08h49m34.JPG" title="cat" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPBtcX"&gt;&lt;img alt="river 1" src="/img/2025-03-02/2025-03-02-08h57m41.JPG" title="river 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPCu9v"&gt;&lt;img alt="river 2" src="/img/2025-03-02/2025-03-02-08h59m56.JPG" title="river 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;18x zoom on church&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPCw9R"&gt;&lt;img alt="max zoom" src="/img/2025-03-02/2025-03-02-09h00m31.JPG" title="max zoom" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPBAj6"&gt;&lt;img alt="river 3" src="/img/2025-03-02/2025-03-02-09h00m40.JPG" title="river 3" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPBAiz"&gt;&lt;img alt="river 4" src="/img/2025-03-02/2025-03-02-09h01m38.JPG" title="river 4" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPvXfW"&gt;&lt;img alt="river 5" src="/img/2025-03-02/2025-03-02-09h09m14.JPG" title="river 5" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPBtcw"&gt;&lt;img alt="church" src="/img/2025-03-02/2025-03-02-09h12m58.JPG" title="church" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPCu8J"&gt;&lt;img alt="bridge" src="/img/2025-03-02/2025-03-02-09h18m25.JPG" title="bridge" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="star"&gt;Part 2 Conclusion&lt;/h2&gt;

	&lt;p&gt;I like this camera. I paid £30 for it which I think is a fair price. It takes nice photos which with that classic &lt;span class="caps"&gt;CCD&lt;/span&gt; look. This is an ideal bridge camera for either a youngster or someone wondering if they&amp;#8217;d like to take better photos than they can on their phone. I&amp;#8217;ve found that the natural mode along with chrome effect works well for most situations. &lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://simonh.uk/2025/02/14/fujifilm-finepix-s8000fd-review-part-1/"&gt;S8000fd Review Part 1&lt;/a&gt;&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="review"></category><category term="retro"></category></entry><entry><title>Canon PowerShot A530 Review Part 1</title><link href="https://simonh.uk/2025/03/01/canon-powershot-a530-review-part-1/" rel="alternate"></link><published>2025-03-01T00:00:00+00:00</published><updated>2025-03-01T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-03-01:/2025/03/01/canon-powershot-a530-review-part-1/</id><summary type="html">	&lt;p&gt;2006, 5MP, 4x optical zoom&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Canon Powershot A530" src="/img/2025-03-01/a530.jpg" title="Canon Powershot A530" /&gt;&lt;/p&gt;

	&lt;p&gt;Regular visitors will know I have recently bought a number of old digital cameras. I&amp;#8217;m happy with every one of them. However, there was a particular &lt;em&gt;kind&lt;/em&gt; of camera I particularly wanted. A pocketable, point-and-shoot that took AA batteries and used SD for storage. Why? Well, as all of my cameras are at least 11 years old (19 years old with the A530), the bespoke batteries tend to not hold charge as well after some years. I know that most can be bought from somewhere like Amazon by a third party, but they can be expensive and unreliable. If you can use AA batteries, you can get replacements at pretty much any shop in the world. Another plus was an optical view finder. Maybe I&amp;#8217;ll hardly ever use it, but if it&amp;#8217;s there, at least I&amp;#8217;ve got the choice. SD card is better than Smartmedia or XD cards as it&amp;#8217;s the only format that&amp;#8217;s not obsolete!&lt;/p&gt;

	&lt;p&gt;Lucky for me, this A530 came up for £20 and ticked all the above boxes. So I &lt;strong&gt;knew&lt;/strong&gt; I had to have this camera! It looked pretty much brand new from the sellers photos and was still in the original box. &lt;/p&gt;

	&lt;p class="info"&gt;All photos linked to full resolution Flickr album&lt;/p&gt;

	&lt;p class="hand"&gt;Shot of my Olympus C4040Z (no flash)&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPrCCw"&gt;&lt;img alt="C4040 no flash" src="/img/2025-03-01/c4040-1.jpg" title="C4040 no flash" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Shot of my Olympus C4040Z (with flash)&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPqG6P"&gt;&lt;img alt="C4040 with flash" src="/img/2025-03-01/c4040-2.jpg" title="C4040 with flash" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Shot using my Ulefone Armor X12 (see below)&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPqBRh"&gt;&lt;img alt="C4040 taken with phone" src="/img/2025-03-01/c4040-phone.jpg" title="C4040 taken with phone" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPqBQR"&gt;&lt;img alt="Cat in sun" src="/img/2025-03-01/cat.jpg" title="Cat in sun" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPrCCm"&gt;&lt;img alt="Trees" src="/img/2025-03-01/trees.jpg" title="Trees" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Using 4x zoom&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qPqBQL"&gt;&lt;img alt="Pigeon" src="/img/2025-03-01/pigeon.jpg" title="Pigeon" /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;h2&gt;Message to Seller&lt;/h2&gt;

	&lt;p&gt;When I went to collect this camera I had a chat with the lady selling it (as you do). She told me it had been for sale for three years! She asked me why I wanted it as everyone just uses their phone nowadays. That is a valid question. I too have been using a phone as my primary camera since about 2005. So why change now???&lt;/p&gt;

	&lt;p&gt;For me there are a number of reasons:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;A cameras only purpose is to take photos (and sometimes videos but we&amp;#8217;ll ignore that here). That&amp;#8217;s it. The reason why I like cameras from 2001-2013 (ish) is that there was &lt;em&gt;lots&lt;/em&gt; of competition and innovation to make the best digital photos possible.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Using even a cheap, old camera gives advantages that phones cannot compete with. For example, always better zoom, more control over exposure, white balance, focus etc.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Price. You can pick up old cameras for next to nothing. I&amp;#8217;ve paid a maximum of £70 for the Fujifilm S4800.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Versatility. You can have different cameras for different purposes. The A530 is great for snaps while out and about. My Fujifilm S4800 with its 30x optical zoom is great for long distance nature shots.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Design. Related to my first point, a camera has been designed to take photos. Its shape, the position of buttons, the screen (and everything else) was designed to take photos. Phones are not designed to take photos. They &lt;em&gt;also&lt;/em&gt; take photos. Have you ever played a Gameboy emulator on a smartphone? You &lt;em&gt;need&lt;/em&gt; physical buttons to have an enjoyable experience.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Redundancy. I have six cameras. If one breaks&lt;sup class="footnote" id="fnreva1d8f23b91904a0ba7d262be88fe6efb-1"&gt;&lt;a href="#fna1d8f23b91904a0ba7d262be88fe6efb-1"&gt;1&lt;/a&gt;&lt;/sup&gt;, I&amp;#8217;m not without a camera. If my phone breaks&amp;#8230;&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;And the most important point for me:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Quality. The first three photos at the top of this page are of my Olympus C4040Z. I was focusing on the lens. Look at how clear and detailed the photos from the A530 are compared to my phone (you&amp;#8217;ll have to click on the full resolution versions on a decent monitor for best effect). The A530 has a resolution of 5 megapixels. My Ulefone X12 Armor has a resolution of 13 megapixels. But, the old 20 year old camera is far better quality. Perhaps if I had a £1000 phone, the quality difference would be less. The problem is that a modern £1000 camera would (I believe) beat &lt;em&gt;any&lt;/em&gt; modern phone.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2 class="star"&gt;Part 1 Conclusion&lt;/h2&gt;

	&lt;p&gt;This is an amazing camera. I&amp;#8217;m going to spend some time attempting to master it and of course a part 2 will be published when ready. For lots of great information about getting the most out of it, see the Ken Rockwell link below.&lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://www.kenrockwell.com/canon/a530.htm"&gt;Ken Rockwell A530&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.imaging-resource.com/PRODS/A530/A530A.HTM"&gt;Imaging Resource Review&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fna1d8f23b91904a0ba7d262be88fe6efb-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Sadly, my C4040Z looks like it might be on the way out :( It won&amp;#8217;t read the 64mb Smartmedia card. Ugh.&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="review"></category><category term="retro"></category></entry><entry><title>Fujifilm Finepix F10 Review Part 2</title><link href="https://simonh.uk/2025/02/23/fujifilm-finepix-f10-review-part-2/" rel="alternate"></link><published>2025-02-23T00:00:00+00:00</published><updated>2025-02-23T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-02-23:/2025/02/23/fujifilm-finepix-f10-review-part-2/</id><summary type="html">	&lt;p&gt;Hello again, 2005&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Finepix F10 shot with F80EXR" src="/img/2025-02-23/2025-02-17-16h05m05.JPG" title="Finepix F10 shot with F80EXR" /&gt;&lt;/p&gt;

	&lt;p&gt;This is the second installment of my Fujifilm Finepix F10 review. Some photos were taken indoors (first three below), the others on a walk with the dog this morning. Unfortunately, the weather was overcast leading to fairly dull looking photos. I&amp;#8217;ll probably post a part 3 when the sun is out again.&lt;/p&gt;

	&lt;p class="info"&gt;All images linked to full resolution Flickr album. No editing has been done on any of the photos except resizing to 600px width to keep bandwidth manageable. &lt;/p&gt;

	&lt;p class="hand"&gt;Daughters ridiculous key ring (with one key). This photo is without flash, next one used the flash to show difference.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNiRyX"&gt;&lt;img alt="keys 1" src="/img/2025-02-23/DSCF0002.JPG" title="keys 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNd6ji"&gt;&lt;img alt="keys 2" src="/img/2025-02-23/DSCF0003.JPG" title="keys 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNhEhi"&gt;&lt;img alt="cats" src="/img/2025-02-23/DSCF0007.JPG" title="cats" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNhEhd"&gt;&lt;img alt="alley" src="/img/2025-02-23/DSCF0011.JPG" title="alley" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNjPsC"&gt;&lt;img alt="park 1" src="/img/2025-02-23/DSCF0015.JPG" title="park 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;All following photos were shot using &lt;em&gt;chrome&lt;/em&gt; option&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNiRyM"&gt;&lt;img alt="park 2" src="/img/2025-02-23/DSCF0016.JPG" title="park 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNd6iM"&gt;&lt;img alt="river 1" src="/img/2025-02-23/DSCF0029.JPG" title="river 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNhEgG"&gt;&lt;img alt="river 2" src="/img/2025-02-23/DSCF0039.JPG" title="river 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNiKRk"&gt;&lt;img alt="river 3" src="/img/2025-02-23/DSCF0046.JPG" title="river 3" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNiRyr"&gt;&lt;img alt="river 4" src="/img/2025-02-23/DSCF0053.JPG" title="river 4" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNjPsc"&gt;&lt;img alt="river 5" src="/img/2025-02-23/DSCF0057.JPG" title="river 5" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNjPsn"&gt;&lt;img alt="river 6" src="/img/2025-02-23/DSCF0059.JPG" title="river 6" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNd6i6"&gt;&lt;img alt="bridge 1" src="/img/2025-02-23/DSCF0066.JPG" title="bridge 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Using the 3x optical zoom on railway bridge&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qNjPsh"&gt;&lt;img alt="bridge 2" src="/img/2025-02-23/DSCF0068.JPG" title="bridge 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="star"&gt;Part 2 Conclusion&lt;/h2&gt;

	&lt;p&gt;The Fujifilm Finepix F10 is still a good camera, twenty years after it first released. As you can see from the photos on this page, the F10 is still a solid choice for a pocketable point-and-shoot camera in 2025. I quite like the f-chrome option which makes the colours much more vibrant. Some people might find it a bit much, but the &amp;#8220;standard&amp;#8221; setting comes off as a bit dull to my eyes.&lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://35hunter.blog/2019/05/25/the-colour-quest-v-fujichrome-with-the-fujifilm-finepix-s7000/"&gt;35hunter post about FujiChrome&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.dpreview.com/news/2436883158/throwback-thursday-fujifilm-f10"&gt;&lt;span class="caps"&gt;DPR&lt;/span&gt;eview Throwback Thursday&lt;/a&gt;&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="review"></category><category term="retro"></category></entry><entry><title>Fujifilm Finepix F10 Review Part 1</title><link href="https://simonh.uk/2025/02/19/fujifilm-finepix-f10-review-part-1/" rel="alternate"></link><published>2025-02-19T00:00:00+00:00</published><updated>2025-03-03T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-02-19:/2025/02/19/fujifilm-finepix-f10-review-part-1/</id><summary type="html">	&lt;p&gt;2005, 6MP, 3x optical zoom&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Finepix F10" src="/img/2025-02-19/finepix-f10.jpg" title="Finepix F10" /&gt;&lt;/p&gt;

	&lt;p&gt;Yes, I have a problem! Another day, another camera. Seriously though, I&amp;#8217;m going to &lt;em&gt;try&lt;/em&gt; and stop buying &lt;del&gt;new&lt;/del&gt; &lt;ins&gt;old&lt;/ins&gt; cameras for a while and get to know the ones I&amp;#8217;ve now got. Lots of &lt;em&gt;part 2&lt;/em&gt; posts should be coming over the next few weeks. &lt;/p&gt;

	&lt;p&gt;Picked this one up after discovering that it&amp;#8217;s got the &amp;#8220;Super &lt;span class="caps"&gt;CCD&lt;/span&gt;&amp;#8221; Fujifilm sensor, which lots of people highly rate. I was also very happy to be told it came with a 1GB XD card. I&amp;#8217;ve got a 128MB one (for some reason), but with memory, bigger is &lt;em&gt;always&lt;/em&gt; better. 1GB will store about 340 top resolution images on the F10, more than enough for me. As always, this review is in the form of photos I&amp;#8217;ve taken, if you want details about the camera, links are provided in the &lt;em&gt;see also&lt;/em&gt; section at the bottom. &lt;/p&gt;

	&lt;p class="info"&gt;All photos linked to Flickr album.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qMD9yx"&gt;&lt;img alt="Cat 1" src="/img/2025-02-19/DSCF0007.JPG" title="Cat 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qMxpDC"&gt;&lt;img alt="Cat 2" src="/img/2025-02-19/DSCF0027.JPG" title="Cat 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qMEcLo"&gt;&lt;img alt="Olympus C4040Z" src="/img/2025-02-19/DSCF0031.JPG" title="Olympus C4040Z" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qMC3Pq"&gt;&lt;img alt="Macro 1" src="/img/2025-02-19/DSCF0003.JPG" title="Macro 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qMCedB"&gt;&lt;img alt="Pizza 1" src="/img/2025-02-19/2025-02-19-13h15m31.JPG" title="Pizza 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qMDovp"&gt;&lt;img alt="Pizza 2" src="/img/2025-02-19/2025-02-19-13h15m38.JPG" title="Pizza 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="star"&gt;Initial Conclusion&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve only had this little beauty for a day, but I&amp;#8217;m loving it right off the bat. Compared to the Olympus C4040Z, probably my favourite camera, this one is a lot smaller, and seems to focus a lot better and quicker. Even if the green light flashes, warning that I&amp;#8217;m not in focus, I&amp;#8217;ve had some shots that are fine to my eyes. I bought this one as a &amp;#8220;shove in pocket in case I might need it&amp;#8221; item and I&amp;#8217;m planning on putting it through its outdoor paces very soon.&lt;/p&gt;

	&lt;p&gt;To answer my ongoing existential question: &amp;#8220;is this one better than the C4040Z?&amp;#8221;, my answer after one day is&amp;#8230;&lt;/p&gt;

	&lt;p&gt;maybe it is.&lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://www.dpreview.com/reviews/fujifilmf10zoom/10"&gt;DP Review&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.imaging-resource.com/PRODS/F10/F10A.HTM"&gt;Imaging Resource Review&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="notes"&gt;Notes&lt;/h2&gt;

	&lt;p&gt;Following notes are from &lt;a href="https://www.dpreview.com/forums/thread/1331023"&gt;Best settings for Fuji F10&lt;/a&gt; DP Review thread:&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;For better or worse, with the F10 you will probably need to intervene with some manual adjustments. Luckily, you can combine manual &lt;span class="caps"&gt;ISO&lt;/span&gt; settings with automatic functions of the camera. The F10 does a rather poor job of automatic &lt;span class="caps"&gt;ISO&lt;/span&gt; selection! Luckily, it does a very good job of white balance selection.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;First off, many people, including me, think the F10 overexposes slightly by default. Set the exposure balance to -1/3 for all conditions. You may need to set it to -2/3 for high contrast situations like partial sunlight.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Secondly, I seem to have a steady hand. I consider 1/30s to easily be handheld, and with something to lean on I can get useable 1/8s sometimes. So, you may want to bump &lt;span class="caps"&gt;ISO&lt;/span&gt; settings higher to get the high shutter speeds.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Finally, I don&amp;#8217;t use the flash. I believe the F10 can take perfectly good photos in indoor conditions without it. Only if you needed to capture movement in dark conditions would it be required. So, keep flash supression off, to prevent the camera automatically enabling it.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;1. Sunny day outdoors&lt;br /&gt;
&lt;em&gt;Set &lt;span class="caps"&gt;ISO&lt;/span&gt; to 80, everything else auto. Might need exposure compensation to -2/3.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;2. Cloudy day outdoors&lt;br /&gt;
&lt;em&gt;As above with &lt;span class="caps"&gt;ISO&lt;/span&gt; at 100, maybe 200.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;3. Daytime indoors&lt;br /&gt;
&lt;em&gt;As above, &lt;span class="caps"&gt;ISO&lt;/span&gt; 200 if sunny, bright room, 400 otherwise.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;4. Night time with bulb light indoors&lt;br /&gt;
&lt;em&gt;Use &amp;#8216;natural light&amp;#8217; mode. For some incandescent bulbs, may need whitebalance on incadescent. &lt;span class="caps"&gt;ISO&lt;/span&gt; 200 for directly lit surfaces, otherwise 400, may need 800 for darker areas. Use of any zoom will force &lt;span class="caps"&gt;ISO&lt;/span&gt; higher, or else get into tripod land.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;5. Macromode outdoors&lt;br /&gt;
&lt;em&gt;As normal daylight, but watch for the highlights if sunny and the auto-metering. Best to use spot metering I find, and hunt for the right exposure level.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;6. Macromode indoors&lt;br /&gt;
&lt;em&gt;As for outdoors, without the highlights problem. &lt;span class="caps"&gt;ISO&lt;/span&gt; probably 400.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;7. Portrait indoors&lt;br /&gt;
&lt;em&gt;Portrait mode, &lt;span class="caps"&gt;ISO&lt;/span&gt; 400.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;8. Portrait outdoors&lt;br /&gt;
&lt;em&gt;Portrait mode.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;9. Landscape&lt;br /&gt;
&lt;em&gt;Landscape mode, will need to boost &lt;span class="caps"&gt;ISO&lt;/span&gt; for full zoom on cloudy day to 200.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;10. Night time outdoors with and without tripod&lt;br /&gt;
&lt;em&gt;Annoying! Night mode has minimum 3s shutter. Natural light mode has maximum 1/4s shutter. There&amp;#8217;s nothing in between! So, you can try &lt;span class="caps"&gt;ISO&lt;/span&gt; 1600 in natural light mode, and see if you can live with the noise. Or, you can try lower &lt;span class="caps"&gt;ISO&lt;/span&gt; in Night mode, but you&amp;#8217;ll need something to lean on, or a tripod.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;11. Fireworks&lt;br /&gt;
&lt;em&gt;Did that just on last weekend. Tripod! Night mode (preferably with manual exposure control), low &lt;span class="caps"&gt;ISO&lt;/span&gt; and set it to 3s or maybe more. Then focus on something on the horizon (some lights) hold the button half pressed and turn the camera to the fireworks again and shoot (with self timer!). You can also try to focus on the fireworks.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;12. Night time portraits with background ( Like Vegas )&lt;br /&gt;
&lt;em&gt;Should work with night mode + slow sync or other flash mode (just try). The available flash modi depend on the setting of manual or automatic exposure time control. The portraited persons just shouldn&amp;#8217;t move around. Their contours will affect the image during the whole exposure time, while their faces etc. only during flash.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;13. Baby pictures indoors&lt;br /&gt;
&lt;em&gt;I&amp;#8217;d suggest portrait or natural light modi (depending on available light), not too high &lt;span class="caps"&gt;ISO&lt;/span&gt; but try to get faster shutter speeds, else use flash.&lt;/em&gt;&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-03-03&lt;/mark&gt;: Add &lt;em&gt;Notes&lt;/em&gt; section with F10 tips&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="retro"></category><category term="review"></category></entry><entry><title>Fujifilm Finepix S4800 Review Part 1</title><link href="https://simonh.uk/2025/02/16/fujifilm-finepix-s4800-review-part-1/" rel="alternate"></link><published>2025-02-16T00:00:00+00:00</published><updated>2025-02-16T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-02-16:/2025/02/16/fujifilm-finepix-s4800-review-part-1/</id><summary type="html">	&lt;p&gt;2013, 16MP, 30x optical zoom&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Fujifilm Finepix S4800" src="/img/2025-02-16/s4800.jpg" title="Fujifilm Finepix S4800" /&gt;&lt;/p&gt;

	&lt;p&gt;As with my last post, I&amp;#8217;ve been wanting to take this out to test properly on a sunny day. The weather has had other ideas though and I can&amp;#8217;t remember what the sun looks like! The first two photos below were taken a few weeks ago, by the way.&lt;/p&gt;

	&lt;p&gt;Anyway, I picked this up for £70 from Facebook Marketplace. I probably could have got one for £50 or less had I been prepared to wait (I wasn&amp;#8217;t). So, this isn&amp;#8217;t really a deal of the century, but as the old fella who sold it had taken great care of it, I thought the price was fair. The main draw for me was the 30x optical zoom. Five of the photos below take advantage of it. &lt;/p&gt;

	&lt;p class="info"&gt;All photos linked to full resolution album on Flickr.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLZhyp"&gt;&lt;img alt="tree" src="/img/2025-02-16/DSCF0349.JPG" title="tree" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLZhxx"&gt;&lt;img alt="zoom 1" src="/img/2025-02-16/DSCF0351.JPG" title="zoom 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qM4VMZ"&gt;&lt;img alt="zoom 2" src="/img/2025-02-16/DSCF0432.JPG" title="zoom 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qM64GH"&gt;&lt;img alt="zoom 3" src="/img/2025-02-16/DSCF0437.JPG" title="zoom 3" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLZhvJ"&gt;&lt;img alt="zoom 4" src="/img/2025-02-16/DSCF0485.JPG" title="zoom 4" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qM4VMd"&gt;&lt;img alt="zoom 5" src="/img/2025-02-16/DSCF0488.JPG" title="zoom 5" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qM71Gd"&gt;&lt;img alt="C4040Z" src="/img/2025-02-16/DSCF0397.JPG" title="C4040Z" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qM65HE"&gt;&lt;img alt="spoon" src="/img/2025-02-16/DSCF0471.JPG" title="spoon" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Part 1 Conclusion&lt;/h2&gt;

	&lt;p&gt;Out of the three cameras I&amp;#8217;ve recently bought, this is the most expensive at £70. It&amp;#8217;s also the most modern (2013) and has the most features. Everything seems to work perfectly well and the image quality is great. I&amp;#8217;ll post a part 2 when the sun comes out and see how it compares to the &lt;a href="https://simonh.uk/2025/02/02/fujifilm-finepix-f80exr-review-part-1/"&gt;F80EXR&lt;/a&gt; and the &lt;a href="http://127.0.0.1:8000/2025/02/14/fujifilm-finepix-s8000fd-review-part-1/"&gt;S8000fd&lt;/a&gt;. If you want more details, the links below have in depth reviews.&lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://www.photographyblog.com/reviews/fujifilm_finepix_s4800_review"&gt;Photography Blog Review&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://reviews.giggster.com/fujifilm-finepix-s4800-review-22146"&gt;Giggster Review&lt;/a&gt;&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="review"></category><category term="retro"></category></entry><entry><title>Fujifilm Finepix S8000fd Review Part 1</title><link href="https://simonh.uk/2025/02/14/fujifilm-finepix-s8000fd-review-part-1/" rel="alternate"></link><published>2025-02-14T00:00:00+00:00</published><updated>2025-03-02T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-02-14:/2025/02/14/fujifilm-finepix-s8000fd-review-part-1/</id><summary type="html">	&lt;p&gt;2007, 8MP, 18x optical zoom&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Fujifilm Finepix S8000fd" src="/img/2025-02-14/s8000fd.jpg" title="Fujifilm Finepix S8000fd" /&gt;&lt;/p&gt;

	&lt;p&gt;Since I bought a Fujifilm &lt;a href="https://simonh.uk/2025/02/02/fujifilm-finepix-f80exr-review-part-1/"&gt;F80EXR&lt;/a&gt; I&amp;#8217;ve been on the lookout for another Fujifilm camera with the very useful &lt;em&gt;f&lt;/em&gt; button that gives access to the &amp;#8220;photo mode&amp;#8221; menu (taken from &lt;a href="https://www.photographyblog.com/pages/reviews/reviews_fujifilm_finepix_s8000fd.php"&gt;Photography Blog&lt;/a&gt; review):&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;There is also a small silver button with an F on it, which opens what Fujifilm call the Photo Mode menu. This allows you to control the file quality setting, &lt;span class="caps"&gt;ISO&lt;/span&gt; speed and colour settings (B&amp;amp;W, Chrome or Standard). I&amp;#8217;m not really sure why these 3 settings alone should fall under the heading of Photo Mode, and things like white balance and sharpening are just part of the standard menu. And I&amp;#8217;m undecided about whether it is a good idea or not.&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Personally, I think it&amp;#8217;s a great feature. Sadly, the Fujifilm S4800 camera from 2013, that I also have, did away with this menu. But, I digress&amp;#8230;&lt;/p&gt;

	&lt;p&gt;I picked this one up from Facebook Marketplace (again) for £30. A fair price for an 8MP, 2007 camera, I think. I was planning on taking it out on a sunny day to test it as I did with the F80EXR and will also do with my S4800.&lt;/p&gt;

	&lt;p&gt;However, here in England, we haven&amp;#8217;t seen the sun in over a week so that idea was dead in the water! Instead, I&amp;#8217;ve selected a few random photos which I think give a bit of an idea about the sort of quality you can expect if you too decide to pick one up:&lt;/p&gt;

	&lt;p class="info"&gt;All photos linked to full resolution album on Flickr.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLKENV"&gt;&lt;img alt="zoom 1" src="/img/2025-02-14/DSCF0021.JPG" title="zoom 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLKEyf"&gt;&lt;img alt="rug" src="/img/2025-02-14/DSCF0026.JPG" title="rug" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLDTUj"&gt;&lt;img alt="incense stick" src="/img/2025-02-14/DSCF0029.JPG" title="incense stick" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLKENE"&gt;&lt;img alt="pigeon" src="/img/2025-02-14/DSCF0150.JPG" title="pigeon" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLDTUe"&gt;&lt;img alt="Olympus C4040Z" src="/img/2025-02-14/DSCF0158.JPG" title="Olympus C4040Z" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLLRrH"&gt;&lt;img alt="vinegar" src="/img/2025-02-14/DSCF0217.JPG" title="vinegar" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLLRrC"&gt;&lt;img alt="clock" src="/img/2025-02-14/DSCF0218.JPG" title="clock" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qLLRrY"&gt;&lt;img alt="Jack the cat" src="/img/2025-02-14/DSCF0232.JPG" title="Jack the cat" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="star"&gt;Part 1 Conclusion&lt;/h2&gt;

	&lt;p&gt;You should know two things about me (when it comes to cameras). One, I love a bargain. Two, I love &amp;#8220;older&amp;#8221; cameras. I&amp;#8217;m generally happy with 4MP plus cameras. My Olympus C4040Z, which I&amp;#8217;ve owned for about twenty three years now, is the baseline that I judge any camera against. Weird, maybe, but that camera makes photos that I adore (if I manage to achieve focus that is).&lt;/p&gt;

	&lt;p&gt;So, I always ask myself, &amp;#8220;is this one better than the C4040Z?&amp;#8221;&lt;/p&gt;

	&lt;p&gt;In the case of the S8000fd, I have to say &lt;em&gt;no&lt;/em&gt;, it&amp;#8217;s not. It does have things that I like more though. An 18x optical zoom. A storage format that&amp;#8217;s not defunct (SD vs Smartmedia). It has more &amp;#8220;modern&amp;#8221; features, and modes. By 2007, I think cameras were starting to lose their way a bit. Instead of competing against film cameras, the market for digital was already established and so manufacturers were moving toward making everything &amp;#8220;easy&amp;#8221;. Adding face detection, that&amp;#8217;s what the &lt;em&gt;fd&lt;/em&gt; in S8000fd stands for, by the way. It was new and exciting back then! What about the quality of the photos, you may ask&amp;#8230;.&lt;/p&gt;

	&lt;p&gt;Generally, the quality is perfectly acceptable to my eyes. I quite like the &amp;#8220;graininess&amp;#8221; this camera displays when the &lt;span class="caps"&gt;ISO&lt;/span&gt; is a bit on the high side. Push it too much and that like quickly turns to dislike though.&lt;/p&gt;

	&lt;p&gt;Should you get one? Yep, if it&amp;#8217;s in good condition (mine is immaculate) and the price is £30 or less. If it&amp;#8217;s any more than that, maybe not. Anyway, when (or if) the sun comes out I&amp;#8217;ll post part 2 in better light.&lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://simonh.uk/2025/03/02/fujifilm-finepix-s8000fd-review-part-2/"&gt;S8000fd Review Part 2&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-03-02&lt;/mark&gt;: Link to review part 2 &lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="review"></category><category term="retro"></category></entry><entry><title>Topic Time Vampires</title><link href="https://simonh.uk/2025/02/07/topic-time-vampires/" rel="alternate"></link><published>2025-02-07T00:00:00+00:00</published><updated>2025-02-07T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-02-07:/2025/02/07/topic-time-vampires/</id><summary type="html">	&lt;p&gt;Wait! Subscribe now so you never miss a post.&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Time vampires" src="/img/2025-02-07/vampire.webp" title="Time vampires" /&gt;&lt;/p&gt;

	&lt;p&gt;There is a problem that web surfers have always had to deal with but has become even more pervasive. The &lt;em&gt;topic time vampires&lt;/em&gt; I call them. &lt;span class="caps"&gt;TTV&lt;/span&gt;&amp;#8217;s for short. I&amp;#8217;ve recently discovered that the topic of photography has enticed many of them away from whatever they were wasting peoples time with previously.&lt;/p&gt;

	&lt;h2&gt;What is a &lt;span class="caps"&gt;TTV&lt;/span&gt;?&lt;/h2&gt;

	&lt;p&gt;They are Youtubers / bloggers who are trying to build or grow their &lt;em&gt;niche&lt;/em&gt;. They target keywords / phrases that web surfers are typing (or speaking) in to search engines and hope we will land on their site or channel. Their aim is not to give useful or original information, it&amp;#8217;s to convince you they&amp;#8217;re an expert. Very rarely will you encounter an expert. Most of them are imposters. Imitators. They just copy / rehash each others content. Or worse, steal other peoples content and pass it off as there own.&lt;/p&gt;

	&lt;h2&gt;A History Lesson&lt;/h2&gt;

	&lt;p&gt;&lt;span class="caps"&gt;TTV&lt;/span&gt;&amp;#8217;s were rampant back in the mid to late 2000&amp;#8217;s especially in the &amp;#8220;make money online&amp;#8221; niche (as they called it). Man, I wasted hours, going round in circles. &lt;strong&gt;Everyone&lt;/strong&gt; pretended they were an expert. Everyone had a link to an affiliate program that would teach you &amp;#8220;all the secrets&amp;#8221;. They would do whatever they could to waste as much of your time &lt;em&gt;on purpose&lt;/em&gt;. Really. You see, back then (not sure about today), the search engines rewarded pages that kept a visitor reading. It was in the &lt;span class="caps"&gt;TTV&lt;/span&gt;&amp;#8217;s interest to waffle on for screenfuls of content, while actually writing &lt;strong&gt;nothing&lt;/strong&gt; of any value. All that was required was to pepper the article with the keywords and boom, they&amp;#8217;d climb a bit higher towards the coveted number one spot. &lt;/p&gt;

	&lt;h2&gt;Enter the &amp;#8220;Influencers&amp;#8221;&lt;/h2&gt;

	&lt;p&gt;Since the web has shifted from static pages of text based results to multimedia content, chasing the top spot on any particular search engine is no longer enough. The &lt;span class="caps"&gt;TTV&lt;/span&gt;&amp;#8217;s potentially lucrative audience could be one of the many intranets: Instagram, Facebook etc. Or, the searcher might prefer to watch a video instead of reading an article. So now the &lt;span class="caps"&gt;TTV&lt;/span&gt;&amp;#8217;s must have a presence on every platform. Or at least all the big ones. &lt;/p&gt;

	&lt;h2&gt;How to Detect a &lt;span class="caps"&gt;TTV&lt;/span&gt;?&lt;/h2&gt;

	&lt;p&gt;If it&amp;#8217;s a website, popups (of any kind)&lt;sup class="footnote" id="fnrev6bfde009a8774a968c0c434f386b414d-1"&gt;&lt;a href="#fn6bfde009a8774a968c0c434f386b414d-1"&gt;1&lt;/a&gt;&lt;/sup&gt; should usually be enough to encourage usage of your browsers &lt;em&gt;back&lt;/em&gt; button. Youtubers who have sponsored videos and pester you to &amp;#8220;click that subscribe button&amp;#8221; should set off alarm bells. If in doubt, watch or read a couple of their offerings and ask yourself, &amp;#8220;did I get what the title suggested?&amp;#8221;&lt;/p&gt;

	&lt;h2&gt;They&amp;#8217;re Just Trying to Make a Living!&lt;/h2&gt;

	&lt;p&gt;I know some people will object to my characterising all these people as &lt;span class="caps"&gt;TTV&lt;/span&gt;&amp;#8217;s, but as the old saying goes &amp;#8220;if it walks like a duck&amp;#8230;&amp;#8221;. I mean seriously, how many Youtubers do we &lt;em&gt;need&lt;/em&gt; to be making photography vids? &lt;/p&gt;

	&lt;h2&gt;Find the Source(s)&lt;/h2&gt;

	&lt;p&gt;Searching for &amp;#8220;take better photos&amp;#8221; on Youtube returns the following result on the first &amp;#8220;page&amp;#8221;:&lt;/p&gt;

	&lt;p&gt;5 Ways To Take Better Photos&amp;#8230; (2022)&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=GZ8nnbdmihA"&gt;&lt;img alt="" src="/img/2025-02-07/five-yt.webp" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;The source:&lt;/p&gt;

	&lt;p&gt;Photo Tip: Five for Five (2011)&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.dpreview.com/articles/8366339635/photo-tip-five-for-five"&gt;&lt;img alt="" src="/img/2025-02-07/five-web.webp" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;This of course may not be the source, but I&amp;#8217;m sure the Youtuber discovered the concept from elsewhere. Shame he didn&amp;#8217;t bother to mention it in his video. It took me 10 seconds to find the above article, by the way.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m sure many, many more easy examples could be found if needed. &lt;/p&gt;

	&lt;h2&gt;There aren&amp;#8217;t any Shortcuts&lt;/h2&gt;

	&lt;p&gt;The bottom line, and the point of this post, is that there aren&amp;#8217;t any shortcuts to learning / mastering / becoming something. The most efficient way to get what you want may be to be invest in a book, or go on a course that will cover the fundamentals. It may be tempting to do a search on &amp;#8220;become a better photographer&amp;#8221; or &amp;#8220;take better photos&amp;#8221; but be aware, those phrases will lead you to &lt;span class="caps"&gt;TTV&lt;/span&gt;&amp;#8217;s. Every time. Your time is their paycheck. &lt;/p&gt;


	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn6bfde009a8774a968c0c434f386b414d-1"&gt;&lt;sup&gt;1&lt;/sup&gt; With the exception of those highly annoying cookie consent dialogues.&lt;/p&gt;</content><category term="web"></category><category term="opinion"></category></entry><entry><title>Fujifilm FinePix F80EXR Review Part 1</title><link href="https://simonh.uk/2025/02/02/fujifilm-finepix-f80exr-review-part-1/" rel="alternate"></link><published>2025-02-02T00:00:00+00:00</published><updated>2025-02-02T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-02-02:/2025/02/02/fujifilm-finepix-f80exr-review-part-1/</id><summary type="html">	&lt;p&gt;Low light specialist?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Fujifilm F80EXR" src="/img/2025-02-02/f80exr.jpg" title="Fujifilm F80EXR" /&gt;&lt;/p&gt;

	&lt;h2&gt;Introduction&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve been after an affordable, good quality &lt;em&gt;point and shoot&lt;/em&gt; camera since my obsession with photography started a few weeks ago. This F80EXR came up on Facebook Marketplace and after a bit of research I decided it was worth the fifty quid the seller wanted. This morning, I figured I&amp;#8217;d kill two birds with one stone; walk the dog and test the camera.&lt;/p&gt;

	&lt;h2&gt;Sample Photos&lt;/h2&gt;

	&lt;p class="info"&gt;Photos not processed, only resized to 600px max width. Each image can be clicked to view full size on Flickr.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJvA2b"&gt;&lt;img alt="pic 1" src="/img/2025-02-02/2025-02-02-09h20m53.jpg" title="pic 1" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJtmAy"&gt;&lt;img alt="pic 2" src="/img/2025-02-02/2025-02-02-09h21m28.jpg" title="pic 2" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJoTXY"&gt;&lt;img alt="pic 3" src="/img/2025-02-02/2025-02-02-09h27m43.jpg" title="pic 3" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJtmAo"&gt;&lt;img alt="pic 4" src="/img/2025-02-02/2025-02-02-09h28m21.jpg" title="pic 4" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJtmAd"&gt;&lt;img alt="pic 5" src="/img/2025-02-02/2025-02-02-09h28m42.jpg" title="pic 5" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJuExL"&gt;&lt;img alt="pic 6" src="/img/2025-02-02/2025-02-02-09h29m37.jpg" title="pic 6" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJuExW"&gt;&lt;img alt="pic 7" src="/img/2025-02-02/2025-02-02-09h33m44.jpg" title="pic 7" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJvA14"&gt;&lt;img alt="pic 8" src="/img/2025-02-02/2025-02-02-09h40m21.jpg" title="pic 8" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJtmzS"&gt;&lt;img alt="pic 9" src="/img/2025-02-02/2025-02-02-09h34m40.jpg" title="pic 9" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJuAPu"&gt;&lt;img alt="pic 10" src="/img/2025-02-02/2025-02-02-09h40m37.jpg" title="pic 10" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJuExf"&gt;&lt;img alt="pic 11" src="/img/2025-02-02/2025-02-02-09h45m17.jpg" title="pic 11" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJtmzB"&gt;&lt;img alt="pic 12" src="/img/2025-02-02/2025-02-02-09h45m29.jpg" title="pic 12" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;I like this camera. Today is only my first full day as its new owner, so I&amp;#8217;ll post a part 2 when I&amp;#8217;ve used it more. I messed about with it last night, but wasn&amp;#8217;t happy with the quality. Apparently, you need to change some settings to get good low light performance (see notes below).&lt;/p&gt;

	&lt;p class="photo"&gt;Link to Flickr F80EXR album is &lt;a href="https://flic.kr/s/aHBqjC19G4"&gt;here&lt;/a&gt;&lt;/p&gt;


	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://digital-photography-school.com/fujifilm-finepix-f80exr-review/"&gt;Digital Photography School&lt;/a&gt; Review&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.photographyblog.com/reviews/fujifilm_finepix_f80exr_review"&gt;Photography Blog&lt;/a&gt; Review&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://kimletkeman.blogspot.com/2009/10/fuji-f70exr-how-to-shoot-it-mkii.html"&gt;How to Shoot a FujiFilm &lt;span class="caps"&gt;EXR&lt;/span&gt; Camera&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="notes"&gt;Notes&lt;/h2&gt;

	&lt;p class="warn"&gt;I&amp;#8217;ve included a quote from the following thread as it seems very helpful for shooting in low light conditions. I&amp;#8217;ll be writing another post once I&amp;#8217;ve got my settings dialled in.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://www.dpreview.com/forums/thread/2830700"&gt;&lt;span class="caps"&gt;DPR&lt;/span&gt;eview&lt;/a&gt; discussion:&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;In P mode, you cannot set the shutter speed; you have two menu choices, Programmed AE or Aperture priority. Choose Programmed AE.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;ISO400 and Auto 400 are different. ISO400 forces the &lt;span class="caps"&gt;ISO&lt;/span&gt; to be at 400, which has more (intrusive) noise reduction than ISO100 or ISO200. Auto400 allows the camera to set ISO100 or ISO200 or ISO400. as appropriate to the shutter speed and aperture the light conditions permit. (Auto800 does the same, but allows the camera to go as high as ISO800 &amp;#8212; and some of us regard that camera to be over-eager to push the &lt;span class="caps"&gt;ISO&lt;/span&gt; up and so we stop short of Auto800.)&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;The biggest point Kim has made, however, is to shoot in M size, repeat M size , not L size. In M size, the DR settings will be handled in hardware, and that is the F70/80&amp;#8217;s best trick: it gives much better dynamic range than other compact cameras (other than the F200, which does the same trick). P mode in M size is effectively &lt;span class="caps"&gt;EXR&lt;/span&gt; mode with more user control; in L size, DR is handled in firmware, and the &lt;span class="caps"&gt;EXR&lt;/span&gt; sensor&amp;#8217;s special capabilities are not used.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Once you are in P mode, M size , select a dynamic range setting with a smaller numeric value than the highest &lt;span class="caps"&gt;ISO&lt;/span&gt; the camera will set. I usually set &lt;span class="caps"&gt;ISO&lt;/span&gt; at Auto400 and DR at DR200; AutoDR is another good setting.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Experiment with film simulation modes. Provia is supposed to be the most neutral, and Fujifilm labels it &lt;span class="caps"&gt;STD&lt;/span&gt; on the menu. Velvia simulates the punch of slide (reversal) film, but some find it too Ektachrome-y. Velvia is lower contrast, softer, almost-pastel colors, and some photographers like that best. It is all a matter of taste.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;And&amp;#8230;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;2) You want P mode, auto &lt;span class="caps"&gt;ISO&lt;/span&gt; 1600, DR400 , and M size (as Prime mentioned) for most of your shooting.&lt;/em&gt;&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="review"></category></entry><entry><title>My Growing Camera Collection</title><link href="https://simonh.uk/2025/02/01/my-growing-camera-collection/" rel="alternate"></link><published>2025-02-01T00:00:00+00:00</published><updated>2025-02-01T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-02-01:/2025/02/01/my-growing-camera-collection/</id><summary type="html">	&lt;p&gt;Just one more camera. One more&amp;#8230;&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Camera collection" src="/img/2025-02-01/cameras.jpg" title="Camera collection" /&gt;&lt;/p&gt;

	&lt;p&gt;I think I may have a bit of a camera collecting problem. In about two weeks I&amp;#8217;ve gone from having &lt;em&gt;no&lt;/em&gt; cameras&lt;sup class="footnote" id="fnrev4cc2ce442b344bdaafb596ffdf82d051-1"&gt;&lt;a href="#fn4cc2ce442b344bdaafb596ffdf82d051-1"&gt;1&lt;/a&gt;&lt;/sup&gt; to having five of the things!&lt;/p&gt;

	&lt;p class="info"&gt;From left to right:&lt;/p&gt;

	&lt;h2&gt;Fujifilm S4800&lt;/h2&gt;

	&lt;p&gt;Got this one on 18th January for £70 from Facebook Marketplace. Not spent a lot of time with it yet, but I&amp;#8217;ll post a review once I have. I had it from an old fella who bought it brand new for his daughters wedding. It&amp;#8217;s basically like new. &lt;/p&gt;

	&lt;h2&gt;Olympus C4040Z&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve written two posts about this camera &lt;a href="https://simonh.uk/2025/01/15/using-the-olympus-camedia-c4040z-in-2025-part-1/"&gt;here&lt;/a&gt; and &lt;a href="https://simonh.uk/2025/01/16/using-the-olympus-camedia-c4040z-in-2025-part-2/"&gt;here&lt;/a&gt;. This camera will always have a special place in my heart. Taken &lt;em&gt;loads&lt;/em&gt; of photos with it (mainly early 2000&amp;#8217;s). If I could only keep one of these cameras, it might be this one. Who needs more than four megapixels anyway!?&lt;/p&gt;

	&lt;h2&gt;Fujifilm F80EXR&lt;/h2&gt;

	&lt;p&gt;Picked this up today for £50, also from Facebook Marketplace. Looks to be in great condition and came with a spare battery and case. Review should be coming within a few weeks. &lt;/p&gt;

	&lt;h2&gt;Fujifilm JV90&lt;/h2&gt;

	&lt;p&gt;Probably had this for about ten years. It was lost in the daughters bedroom, but resurfaced after we redecorated. Sadly, there&amp;#8217;s some sort of scratch on the lens or sensor (most likely) and photos have a faint vertical line on the left hand side. In due time, I&amp;#8217;ll post a review of it anyway. Only really noticeable in dark shots. &lt;/p&gt;

	&lt;h2&gt;Sanyo &lt;span class="caps"&gt;VPC&lt;/span&gt;-W800&lt;/h2&gt;

	&lt;p&gt;Had this longer than the JV90. Fifteen years at least. I&amp;#8217;ve written a post about it &lt;a href="https://simonh.uk/2025/01/20/using-the-sanyo-xacti-vpc-w800-in-2025/"&gt;here&lt;/a&gt;. It&amp;#8217;s certainly not going to win any awards, but it has some charm that I like.&lt;/p&gt;

	&lt;h2&gt;What&amp;#8217;s Going On?&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Bad photo" src="/img/2025-02-01/maidstone.jpg" title="Bad photo" /&gt;&lt;/p&gt;

	&lt;p&gt;A few weeks back I &lt;em&gt;suddenly&lt;/em&gt; became interested in photography. I think this was mainly due to blogging again, and wanting to have some images to complement the words in my posts. I would spend up to (about) fifteen minutes searching for the perfect image. As I was doing this, I must have realised that &lt;em&gt;I&lt;/em&gt; could also supply images for some posts, hence the sudden interest in photography. I&amp;#8217;m firmly in the canp that believes that photography does not have to be objectively &lt;strong&gt;good&lt;/strong&gt; / perfect. Imperfections are entirely acceptable to me. Preferable, actually. Reality often has rough edges, so should photos. e&lt;/p&gt;

	&lt;p&gt;The photo beneath this section is (from left to right again) of me, a Scottish fella whose name escapes me at the moment and a Polish fella called Bogdan. I must have asked some other drunkard to take this pic on my Sony Ericsson K750i. The picture is &lt;em&gt;low quality&lt;/em&gt; as was always the case in low light back then (and also now often). But, I would argue this is a &lt;em&gt;great&lt;/em&gt; photo. One of my favourites of work buddies, out of thousands of them.&lt;/p&gt;

	&lt;p&gt;My ultimate plan is to have &lt;em&gt;two&lt;/em&gt; (maybe three) good&lt;sup class="footnote" id="fnrev4cc2ce442b344bdaafb596ffdf82d051-2"&gt;&lt;a href="#fn4cc2ce442b344bdaafb596ffdf82d051-2"&gt;2&lt;/a&gt;&lt;/sup&gt; cameras for different use cases. A pocketable, point-and-shoot one, and a bigger one with a better zoom. &lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn4cc2ce442b344bdaafb596ffdf82d051-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Three of the cameras I had in my house, but they all took some finding.&lt;/p&gt;

	&lt;p class="footnote" id="fn4cc2ce442b344bdaafb596ffdf82d051-2"&gt;&lt;sup&gt;2&lt;/sup&gt; Good is subjective of course.&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="personal"></category></entry><entry><title>Dakota Fire Hole vs Burn Barrel</title><link href="https://simonh.uk/2025/01/30/dakota-fire-hole-vs-burn-barrel/" rel="alternate"></link><published>2025-01-30T00:00:00+00:00</published><updated>2025-01-30T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-30:/2025/01/30/dakota-fire-hole-vs-burn-barrel/</id><summary type="html">	&lt;p&gt;Burn everything in your fire hole!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Fire hole" src="/img/2025-01-30/firehole1.webp" title="Fire hole" /&gt;&lt;/p&gt;

	&lt;p&gt;I wrote a post back in 2021 showing &lt;a href="https://simonh.uk/2021/05/16/how-to-make-a-dakota-fire-hole/"&gt;how to make a Dakota fire hole&lt;/a&gt;. I&amp;#8217;ve been a fan of fire holes ever since. I&amp;#8217;ve also had a few burn barrels (burning bins) over the years. In this post, I&amp;#8217;ll explain why I think fire holes are superior to burn barrels. I&amp;#8217;ll start off with&amp;#8230;&lt;/p&gt;

	&lt;h1&gt;Burn Barrels&lt;/h1&gt;

	&lt;p&gt;&lt;img alt="Burning Barrel" src="/img/2025-01-30/burn_barrel.webp" title="Burning Barrel" /&gt;&lt;/p&gt;

	&lt;h2 class="tick"&gt;Advantages&lt;/h2&gt;

	&lt;h3&gt;Easy to find&lt;/h3&gt;

	&lt;p&gt;Searching for &lt;em&gt;burn barrel&lt;/em&gt; on Facebook Marketplace will return lots of results:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Burning Barrel" src="/img/2025-01-30/facebook.webp" title="Burning Barrel" /&gt;&lt;/p&gt;

	&lt;h3&gt;Easy to get a fire going&lt;/h3&gt;

	&lt;p&gt;Once you&amp;#8217;ve got good airflow holes in your barrel, you can easily get your fire started. As stuff burns down, you can just throw more stuff into the barrel.&lt;/p&gt;

	&lt;h3&gt;Low maintainance&lt;/h3&gt;

	&lt;p&gt;Burn barrels need no maintainance. You just use it when you need to. The greatest effort may be moving the barrel from where you store it when it&amp;#8217;s not being used.&lt;/p&gt;

	&lt;h2 class="cross"&gt;Disadvantages&lt;/h2&gt;

	&lt;h3&gt;You&amp;#8217;ll (probably) have to pay for one&lt;/h3&gt;

	&lt;p&gt;A minor point possibly, but unless you know someone who can get you one for free, you&amp;#8217;ll be charged between ten and twenty pounds for a burn barrel.&lt;/p&gt;

	&lt;h3&gt;You&amp;#8217;ll (probably) need a van to collect&lt;/h3&gt;

	&lt;p&gt;You&amp;#8217;ll struggle to get a 55 gallon drum in a car (unless it&amp;#8217;s an estate), so a van will almost certainly be needed. It&amp;#8217;s not a dealbreaker, but I think this is a disadvantage.&lt;/p&gt;

	&lt;h3&gt;Harder to get air intake right&lt;/h3&gt;

	&lt;p&gt;Any fire needs air to burn and to continue to burn. The first burn barrel I had was plasma cut by a welder I worked with and that one burnt as well as a fire hole. It had about 30 holes cut around the circumference (similar to below, but many more holes):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Burning barrel with holes" src="/img/2025-01-30/barrelholes.webp" title="Burning barrel with holes" /&gt;&lt;/p&gt;

	&lt;p&gt;I tried to drill some holes on my second burn barrel, but to be honest, it was crap compared to the first one.&lt;/p&gt;

	&lt;h3&gt;Corrodes quickly&lt;/h3&gt;

	&lt;p&gt;If you&amp;#8217;re lucky, you&amp;#8217;ll get up to two years use out of a barrel. Quite possibly less. Then, you&amp;#8217;ll be looking at this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Corroded barrels" src="/img/2025-01-30/corrodedbarrels.webp" title="Corroded barrels" /&gt;&lt;/p&gt;

	&lt;h1&gt;Fire Holes&lt;/h1&gt;

	&lt;p&gt;&lt;img alt="Fire hole" src="/img/2025-01-30/firehole3.webp" title="Fire hole" /&gt;&lt;/p&gt;

	&lt;h2 class="tick"&gt;Advantages&lt;/h2&gt;

	&lt;h3&gt;Completely free!&lt;/h3&gt;

	&lt;p&gt;As long as you&amp;#8217;ve got a couple of tools (see below), the only cost to a fire hole is the time taken to dig the thing. Once you&amp;#8217;ve dug the whole in the first place, the soil will remain &lt;em&gt;soft&lt;/em&gt;, making reusing the holes much easier the next time.&lt;/p&gt;

	&lt;h3&gt;Resizeable&lt;/h3&gt;

	&lt;p&gt;A massive advantage to my mind. As I wrote in my previous fire hole post, the first one I made was very small. The next day, I reused the air hole from the first hole as the fire hole that time, but made it much bigger. &lt;/p&gt;

	&lt;h3&gt;Very efficient spacewise&lt;/h3&gt;

	&lt;p&gt;I &lt;em&gt;always&lt;/em&gt; think that my fire hole is too small to burn what I need to burn. However, it never is. The one I did yesterday obliterated a desk (with three drawers) which I cut up with my reciprocating saw, various other pieces of wood I&amp;#8217;d accumulated, loads of old papework, a few large and small cardboard boxes. All in this tiny footprint:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Fire hole size 1" src="/img/2025-01-30/size1.webp" title="Fire hole size 1" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Fire hole size 2" src="/img/2025-01-30/size2.webp" title="Fire hole size 2" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Fire hole size 3" src="/img/2025-01-30/size3.webp" title="Fire hole size 3" /&gt;&lt;/p&gt;

	&lt;h3&gt;Less smoke&lt;/h3&gt;

	&lt;p&gt;This all depends on what you&amp;#8217;re burning, of course, but generally fire holes (also known as stealth fire holes) produce less smoke than any other type of fire. &lt;/p&gt;


	&lt;h2 class="cross"&gt;Disadvantages&lt;/h2&gt;

	&lt;h3&gt;More upfront work&lt;/h3&gt;

	&lt;p&gt;Depending on your soil, you might find digging the initial holes quite hard work. I certainly did! If I remember correctly, it probably took about twenty minutes the first time. The one I did yesterday less than ten minutes to get ready.&lt;/p&gt;

	&lt;h3&gt;You&amp;#8217;ll need some equipment&lt;/h3&gt;

	&lt;p&gt;Before you even think of digging your first fire hole, you&amp;#8217;ll need a mattock and a shovel. Mine are shown below, the shovel is a swan necked, long handled one (makes things easier on your back):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Fire hole tools" src="/img/2025-01-30/tools.webp" title="Fire hole tools" /&gt;&lt;/p&gt;

	&lt;p&gt;If you&amp;#8217;re strapped for cash, you could just buy (or beg for) a shovel, but it&amp;#8217;ll probably take you a bit longer to get the holes dug.&lt;/p&gt;

	&lt;h1&gt;Conclusion&lt;/h1&gt;

	&lt;p&gt;As you&amp;#8217;ve seen, fire holes and burn barrels both have pros and cons. After having used both, I far prefer the versatility of a fire hole.&lt;/p&gt;

	&lt;p class="info"&gt;See my first post &lt;a href="https://simonh.uk/2021/05/16/how-to-make-a-dakota-fire-hole/"&gt;how to make a Dakota fire hole&lt;/a&gt; if you missed it.&lt;/p&gt;</content><category term="garden"></category><category term="garden"></category><category term="tips"></category></entry><entry><title>Letter to Netflix 2015</title><link href="https://simonh.uk/2025/01/25/letter-to-netflix-2015/" rel="alternate"></link><published>2025-01-25T00:00:00+00:00</published><updated>2025-01-25T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-25:/2025/01/25/letter-to-netflix-2015/</id><summary type="html">	&lt;p&gt;Dear Mr. Hastings&amp;#8230;&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Netflix logo" src="/img/logo/netflix.webp" title="Netflix logo" /&gt;&lt;/p&gt;

	&lt;p&gt;As Netflix have jumped on the live sport streaming bandwagon, I thought I&amp;#8217;d post an email I sent to Netflix nine years ago.&lt;sup class="footnote" id="fnrevc8b319dd7c644d1d90e18c035a6adf74-1"&gt;&lt;a href="#fnc8b319dd7c644d1d90e18c035a6adf74-1"&gt;1&lt;/a&gt;&lt;/sup&gt; When they eventually do what I suggested back then, remember who they stole the idea from!&lt;/p&gt;

	&lt;h2 class="calendar"&gt;2015-03-15&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://d3.harvard.edu/platform-rctom/submission/netflix-winning-the-moment-of-truth/"&gt;Netflix Long Term View&lt;/a&gt; &amp;#8211; Response&lt;/p&gt;

	&lt;p&gt;Dear Mr. Hastings,&lt;/p&gt;

	&lt;p&gt;I hope this email finds its way to you. I think the ideas outlined below would be of benefit to your long term ambitions.&lt;/p&gt;

	&lt;h2&gt;TV is in a Mess&lt;/h2&gt;

	&lt;p&gt;Here in the UK we have an abundance of choice when it comes to what to watch on TV. Not a comprehensive list:&lt;/p&gt;

	&lt;p&gt;Live TV: Freeview, Freesat, Sky, Virgin, BT, Talk Talk, Youview, Now TV, &lt;span class="caps"&gt;VUTV&lt;/span&gt;.&lt;/p&gt;

	&lt;p&gt;Streaming: Netflix, Amazon Instant, Now TV, &lt;span class="caps"&gt;BBC&lt;/span&gt; IPlayer, &lt;span class="caps"&gt;ITV&lt;/span&gt; Player, 4OD, Demand 5, Sky Go.&lt;/p&gt;

	&lt;p&gt;As time passes, Netflix will experience much more competition from other vendors. You know this well. You&amp;#8217;ll also be at the mercy of content owners who&amp;#8217;ll be more empowered than ever. Maybe everyone will suffer.&lt;/p&gt;

	&lt;p&gt;In your Long Term View document, you write about &amp;#8216;moments of truth.&amp;#8217; I propose you think about this slightly differently:&lt;/p&gt;

	&lt;p&gt;Moments of choice.&lt;br /&gt;
Moments of routine.&lt;/p&gt;

	&lt;p&gt;We don&amp;#8217;t want to &lt;strong&gt;think&lt;/strong&gt; about what to watch a lot of the time. That&amp;#8217;s why broadcast TV is so popular and has endured for so long. At 6:00AM, I don&amp;#8217;t want to flick through an app and &lt;strong&gt;choose&lt;/strong&gt; something to watch. Nor do I want to watch a film or a TV &amp;#8216;show.&amp;#8217; When my partner collects the kids from school, she puts Disney Junior on. My daughter is happy to watch the same episodes over and over again. No thought is required. In fact, effort is required to leave that familiar platform (for all its faults). If you choose to ignore broadcast television, I believe it&amp;#8217;s only a matter of time before a new, or an established player, focuses on it. As written in your Long Term View, &amp;#8220;the linear TV model is ripe for replacement.&amp;#8221; At the moment, services such as Netflix are only biting at its ankles.&lt;/p&gt;

	&lt;p&gt;Here is what I think you should do. Offer a second package which has live streaming TV. Broadcast TV. But, don&amp;#8217;t offer us too much choice! And, do it better. We used to have a great show on in the morning; &lt;a href="http://en.wikipedia.org/wiki/The_Big_Breakfast"&gt;The Big Breakfast&lt;/a&gt;. It might have been my age, but I rarely missed watching it. I was in my late teens at the time. Too many mainstream shows are too safe nowadays. If anyone can push the boundaries a bit, it&amp;#8217;s surely you guys. If you can dominate &amp;#8216;light&amp;#8217; TV and create a platform which customers rarely leave once they have turned it on (as Sky have done), you will surely dominate.&lt;/p&gt;

	&lt;p&gt;I have plenty more ideas, if you&amp;#8217;d like to hear them.&lt;sup class="footnote" id="fnrevc8b319dd7c644d1d90e18c035a6adf74-2"&gt;&lt;a href="#fnc8b319dd7c644d1d90e18c035a6adf74-2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;p&gt;All the best,&lt;/p&gt;

	&lt;p&gt;Simon Harrison&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fnc8b319dd7c644d1d90e18c035a6adf74-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I have &lt;em&gt;no&lt;/em&gt; idea why I sent this email. Possibly so I could post about it nine years later? Time is strange (in hindsight).&lt;/p&gt;

	&lt;p class="footnote" id="fnc8b319dd7c644d1d90e18c035a6adf74-2"&gt;&lt;sup&gt;2&lt;/sup&gt; Ahhhhhh. Bless &lt;em&gt;younger&lt;/em&gt; me. I never got a response. And I also had &lt;em&gt;no&lt;/em&gt; other ideas to share.&lt;/p&gt;</content><category term="business"></category><category term="opinion"></category><category term="tv"></category></entry><entry><title>Tips for Emailing Companies when Looking for Work</title><link href="https://simonh.uk/2025/01/23/tips-for-emailing-companies-when-looking-for-work/" rel="alternate"></link><published>2025-01-23T00:00:00+00:00</published><updated>2025-01-23T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-23:/2025/01/23/tips-for-emailing-companies-when-looking-for-work/</id><summary type="html">	&lt;p&gt;Hello, is it me you&amp;#8217;re looking for?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Looking for a job" src="/img/2025-01-23/job.webp" title="Looking for a job" /&gt;&lt;/p&gt;

	&lt;p&gt;Since I started my &lt;span class="caps"&gt;NDT&lt;/span&gt; company in 2017, I&amp;#8217;ve received quite a few emails from &lt;span class="caps"&gt;NDT&lt;/span&gt; technicians, looking for a job. Enough at this point, that I feel offering some tips is needed. &lt;/p&gt;

	&lt;h2&gt;Make Your Subject Line Attention Grabbing&lt;/h2&gt;

	&lt;p&gt;This is your main chance to get your email read. We all receive &lt;em&gt;lots&lt;/em&gt; of emails and if your mail subject isn&amp;#8217;t thought about, you could end up in the trash bin without a second thought. Sticking with &lt;span class="caps"&gt;NDT&lt;/span&gt; people, the following would be &lt;strong&gt;good&lt;/strong&gt; subjects:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Are you looking for a hard working &lt;span class="caps"&gt;NDT&lt;/span&gt; Technician?&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;NDT&lt;/span&gt; technician available for work&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;NDT&lt;/span&gt; Vacancies?&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Your subject line must be relevant to the email content and summarise what the email is about. Simple as that.&lt;/p&gt;

	&lt;h2&gt;Triple Check for Errors / Typo&amp;#8217;s&lt;/h2&gt;

	&lt;p&gt;If we receive a marketing email littered with grammatical errors and spelling mistakes, that doesn&amp;#8217;t inspire confidence in you. Quite the opposite in fact. If you&amp;#8217;re not sure if you&amp;#8217;ve got everything right, get someone else to cast their eye over your email before you start pumping them out. Remember, you have &lt;em&gt;one&lt;/em&gt; chance to make a good impression.&lt;/p&gt;

	&lt;h2&gt;Do Some Research&lt;/h2&gt;

	&lt;p&gt;Many of the job hunting emails I receive have obviously been found via a web search. If I were looking for a job, I&amp;#8217;d try hard to find something on the prospects site to mention in the email:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;I noticed on your website that you inspect pipework. It may be of interest to you that for the last five years, I have predominently been a pipework inspector!&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Your aim is to try and make your prospect like (or relate to) you. Often, the easiest way to achieve this is to notice something that they do and mention that you have experience with that too. &lt;/p&gt;

	&lt;h2&gt;Get Some Sales Training&lt;/h2&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;What is a prospect? Simply put, a sales prospect is an individual who is a potential purchaser of your product or service. However, a prospect has not yet engaged with your company or entered the sales process.&lt;/em&gt; &amp;#8212; &lt;a href="https://www.revenue.io/blog/whats-the-difference-between-a-prospect-lead-contact-and-opportunity"&gt;Revenue.io&lt;/a&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;I&amp;#8217;ve used the word prospect a couple of times already. That is how &lt;em&gt;you&lt;/em&gt; should think of the target of your email. The product is you, and your service is your skillset. After all, you are attempting to sell both yourself and your time in exchange for money. Ultimately, this is a sales exercise and viewing it as such will give you far better results. If you want a book recommendation, I&amp;#8217;d highly recommend &lt;a href="https://jb.online/pages/way-of-the-wolf"&gt;Jordan Belfort &amp;#8212; The Way of the Wolf&lt;/a&gt;.&lt;/p&gt;

	&lt;h2&gt;Get a Website&lt;/h2&gt;

	&lt;p&gt;As I wrote earlier, people are busy and don&amp;#8217;t want to have their time wasted. Instead of listing your qualifications, work history and attaching your CV to your introduction email, far better to provide links to that information on your website. This has two main benefits:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;It keeps your email short and to the point&lt;/li&gt;
		&lt;li&gt;If allows your prospect to get your latest information in the future&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;By having a personal website, you&amp;#8217;ll also stand out from the crowd, which is always a good thing.&lt;/p&gt;

	&lt;h2&gt;Ask for Referrals&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve never had &lt;em&gt;anyone&lt;/em&gt; do this, and I find it astonishing. I suggest that at the bottom of your email, you ask if your prospect knows of anyone else who may require your services. &lt;/p&gt;

	&lt;h2 class="idea"&gt;My Sample Email&lt;/h2&gt;

	&lt;p&gt;&lt;em&gt;Good morning / afternoon / evening. &lt;/p&gt;

	&lt;p&gt;I hope you are well and business is good. This is just a quick email to introduce myself should your company require additional inspectors, either now or in the future. &lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m currently living in Burton on Trent, but would be happy to relocate for the right opportunity. I have my work history and qualifications detailed on my website:&lt;/p&gt;

	&lt;p&gt;http://yourwebsite.com/about&lt;/p&gt;

	&lt;p&gt;If you have any questions that aren&amp;#8217;t addressed on the above link, please ask!&lt;/p&gt;

	&lt;p&gt;By the way, if you aren&amp;#8217;t currently needing additional inspectors, would you know of other inspection companies I might contact? Any leads greatly appreciated.&lt;/p&gt;

	&lt;p&gt;Many thanks,&lt;/p&gt;

	&lt;p&gt;Simon Harrison&lt;br /&gt;
&lt;/em&gt;&lt;/p&gt;

	&lt;h2&gt;Good Luck!&lt;/h2&gt;

	&lt;p&gt;Keep sending the emails and hopefully you&amp;#8217;ve picked up a couple of tips / ideas from this post for your next email campaign&amp;#8230;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="New job" src="/img/2025-01-23/handshake.webp" title="New job" /&gt;&lt;/p&gt;</content><category term="business"></category><category term="tips"></category><category term="sales"></category></entry><entry><title>Announcing MyBackup.Blog Domain and Why</title><link href="https://simonh.uk/2025/01/21/announcing-mybackupblog-domain-and-why/" rel="alternate"></link><published>2025-01-21T00:00:00+00:00</published><updated>2025-01-22T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-21:/2025/01/21/announcing-mybackupblog-domain-and-why/</id><summary type="html">	&lt;p&gt;Erm, you do have a backup blog, don&amp;#8217;t you?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Backup tape drive" src="/img/2025-01-21/backup.webp" title="Backup tape drive" /&gt;&lt;/p&gt;

	&lt;p&gt;I was driving back from a job in London today and got into thinking a bit deeper about &lt;span class="caps"&gt;URL&lt;/span&gt;&amp;#8217;s, blogging and backups.&lt;/p&gt;

	&lt;p&gt;You may or may not know that I have a backup blog hosted on blogger.com with the address of:&lt;/p&gt;

	&lt;p&gt;s1m0nh.blogspot.com&lt;/p&gt;

	&lt;p&gt;Let&amp;#8217;s look at that address for a minute. Firstly, it&amp;#8217;s tied to a particular service, &lt;em&gt;blogger.com&lt;/em&gt;. If I need to move it somewhere else, the whole address will of course have to change:&lt;/p&gt;

	&lt;p&gt;simonh.at-somewhere-else.com&lt;sup class="footnote" id="fnreve745248c1c1a4b3d93519cdc9957ca8b-1"&gt;&lt;a href="#fne745248c1c1a4b3d93519cdc9957ca8b-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;p&gt;So now, all the old links don&amp;#8217;t work, which is not cool. Secondly, neither &lt;span class="caps"&gt;URL&lt;/span&gt; really describes what the address is about. One &lt;em&gt;may&lt;/em&gt; be able to figure it out, but I think we can do better!&lt;/p&gt;

	&lt;p&gt;Today I bought &lt;em&gt;mybackup.blog&lt;/em&gt;. My first user is me (of course). My new backup blog &lt;span class="caps"&gt;URL&lt;/span&gt; will forevermore be:&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;simonh.mybackup.blog&lt;/mark&gt;&lt;/p&gt;

	&lt;p&gt;Which is only one character longer than the old one.&lt;/p&gt;

	&lt;p&gt;No more &amp;#8220;I wonder where this link will take me?&amp;#8221; questions. It&amp;#8217;s all there in the &lt;span class="caps"&gt;URL&lt;/span&gt;. And that subdomain can point to any service, now and in the future. &lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;tomsmith.mybackup.blog&lt;/li&gt;
		&lt;li&gt;bobscameras.mybackup.blog&lt;/li&gt;
		&lt;li&gt;someothertopic.mybackup.blog&lt;/li&gt;
		&lt;li&gt;etc.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2&gt;Why Would I Want a &amp;#8220;Backup&amp;#8221; Blog?&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;m using the following definition:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;one that serves as a substitute or support&lt;/em&gt;
	&lt;ul&gt;
		&lt;li&gt;I brought an extra pencil for backup.&lt;/li&gt;
		&lt;li&gt;a backup plan.&lt;/li&gt;
	&lt;/ul&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;&amp;#8212; &lt;a href="https://www.merriam-webster.com/dictionary/backup"&gt;Marriam Webster&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Not&lt;/em&gt; as a backup / copy of your main blog!&lt;/p&gt;

	&lt;p&gt;With that out of the way, you may still be wondering why a backup blog is a good idea. Well, a few reasons spring to mind&amp;#8230;&lt;/p&gt;

	&lt;h3&gt;In case something happens to your regular blog&lt;/h3&gt;

	&lt;p&gt;Outages happen. Companies shut up shop. Things go wrong on our servers. There are many reasons why your main blog might go dark for a time. If it does, you have another channel for your readers to stay updated.&lt;/p&gt;

	&lt;h3&gt;As a drafting / note taking tool&lt;/h3&gt;

	&lt;p&gt;I&amp;#8217;ve previously &lt;a href="https://simonh.uk/2025/01/13/using-blogger-as-a-note-taking-and-drafting-tool/"&gt;written&lt;/a&gt; about using Blogger.com for just this purpose. You can use your backup blog as a notepad. Just save everything as a draft, then move to your main blog when you&amp;#8217;re ready. This is probably of particular interest to users of static site generators (such as me). As great as they are, you can&amp;#8217;t really use one without being at your computer as commands need to be run in a terminal.&lt;/p&gt;

	&lt;h3&gt;Publish different content to your regular blog&lt;/h3&gt;

	&lt;p&gt;Another option is to have your backup blog as a place to post content that maybe doesn&amp;#8217;t fit with your main blog. You could also publish different styles of posts (longer or shorter than usual).&lt;/p&gt;

	&lt;h2&gt;Why &amp;#8220;mybackup.blog&amp;#8221;?&lt;/h2&gt;

	&lt;p&gt;I thought it important to have &lt;em&gt;.blog&lt;/em&gt; as the domain extension. After all, this is a backup blog. Sadly, &lt;em&gt;backup.blog&lt;/em&gt; was premium (~£1800 for the first year)! Another one I wanted was &lt;em&gt;planb.blog&lt;/em&gt;. Already taken!&lt;/p&gt;

	&lt;h2 class="idea"&gt;Your Thoughts?&lt;/h2&gt;

	&lt;p&gt;Would you be interested in using a subdomain of &lt;em&gt;mybackup.blog&lt;/em&gt;? If so, I&amp;#8217;ll set a few up completely free.&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;you.mybackup.blog&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;Do you think it fair to charge about a quid or two per year for such a service? I&amp;#8217;m only interested in covering the price of the domain, plus the few minutes to set each one up until I automate it.&lt;/p&gt;

	&lt;p&gt;Anyway, it&amp;#8217;s been a &lt;em&gt;very&lt;/em&gt; long day, so I&amp;#8217;m hitting the hay. More to follow&amp;#8230;&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fne745248c1c1a4b3d93519cdc9957ca8b-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I only have the stupid s1m0nh when simonh has been taken&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-22&lt;/mark&gt;: Add &lt;em&gt;Why Would I Want a &amp;#8220;Backup&amp;#8221; Blog?&lt;/em&gt; and &lt;em&gt;Why &amp;#8220;mybackup.blog&amp;#8221;?&lt;/em&gt; sections&lt;/p&gt;</content><category term="blogging"></category><category term="backup"></category><category term="tips"></category></entry><entry><title>Using the Sanyo Xacti VPC-W800 in 2025</title><link href="https://simonh.uk/2025/01/20/using-the-sanyo-xacti-vpc-w800-in-2025/" rel="alternate"></link><published>2025-01-20T00:00:00+00:00</published><updated>2025-02-02T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-20:/2025/01/20/using-the-sanyo-xacti-vpc-w800-in-2025/</id><summary type="html">	&lt;p&gt;8.0 Mega Pixels!!!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Sanyo VPC-W800 camera" src="/img/2025-01-20/vpc-w800.jpg" title="Sanyo VPC-W800 camera" /&gt;&lt;/p&gt;

	&lt;h2&gt;2008 Digicam&lt;/h2&gt;

	&lt;p&gt;For the last week or so, I&amp;#8217;ve been feeling a desire to take some photos. I&amp;#8217;ve just bought a second-hand Fujifilm Finepix S4800 (review coming), but knew I had a couple of old cameras (digicams) knocking about the house. My daughter found the one this post is about at the weekend. This little fella hasn&amp;#8217;t seen daylight for about five years, I suspect. No charger could be found but it turned out an old &lt;span class="caps"&gt;PSP&lt;/span&gt; charger works fine.&lt;/p&gt;

	&lt;p&gt;As there is &lt;em&gt;very&lt;/em&gt; little information on the internet about this, I thought I&amp;#8217;d upload a few photos (and a link to my Flickr album at the bottom of the page) and some comments. Specs are listed in the Digital Camera Database link at the bottom.&lt;/p&gt;

	&lt;h2&gt;Sample Indoor Photos&lt;/h2&gt;

	&lt;p class="info"&gt;Full resolution photo linked on each image.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qGn7kx"&gt;&lt;img alt="Red bag" src="/img/2025-01-20/bag.webp" title="Red bag" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qGfoiF"&gt;&lt;img alt="Cat" src="/img/2025-01-20/cat.webp" title="Cat" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Saturation set to normal:&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qGmbUC"&gt;&lt;img alt="Door" src="/img/2025-01-20/door1.webp" title="Door" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Saturation set to high:&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qGjUe3"&gt;&lt;img alt="Door" src="/img/2025-01-20/door2.webp" title="Door" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qGjUey"&gt;&lt;img alt="Lamps" src="/img/2025-01-20/lamps.webp" title="Lamps" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="hand"&gt;Macro mode:&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qGn7k2"&gt;&lt;img alt="Macro" src="/img/2025-01-20/macro.webp" title="Macro" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="readme"&gt;Comments&lt;/h2&gt;

	&lt;p&gt;The first thing I must praise this little camera for is that the battery still works! I charged it for about two hours and have taken quite a few photos, and it&amp;#8217;s still going (1 bar left of 3).&lt;/p&gt;

	&lt;p&gt;This camera is a point-and-shoot type affair. There are different presets for white balance, sharpness, saturation (see above), a macro mode. You can also adjust the WB using the D-pad which is nice.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ll probably update this post in a week or so, after I&amp;#8217;ve taken some daylight shots. Or, add a &lt;em&gt;part 2&lt;/em&gt; post if this little Sanyo deserves it&amp;#8230;&lt;/p&gt;

	&lt;h2 class="star"&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;Not made up my mind yet. It&amp;#8217;s very compact which is a plus, pretty fast to turn on, but, it quite often struggles to focus. That might be me though!&lt;/p&gt;


	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p class="photo"&gt;&lt;a href="https://flic.kr/s/aHBqjBYH1h"&gt;Flickr Album&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.digicamdb.com/specs/sanyo_xacti-vpc-w800/"&gt;Digital Camera Database&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://commons.wikimedia.org/wiki/Category%3ATaken_with_Sanyo_VPC-W800"&gt;Wikimedia &amp;#8211; Taken with Sanyo &lt;span class="caps"&gt;VPC&lt;/span&gt;-W800&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-02-02&lt;/mark&gt;: Link to Flickr album on each photo.&lt;/p&gt;</content><category term="photography"></category><category term="retro"></category><category term="photography"></category></entry><entry><title>DIY Tips &amp; Tricks</title><link href="https://simonh.uk/2025/01/18/diy-tips-tricks/" rel="alternate"></link><published>2025-01-18T00:00:00+00:00</published><updated>2025-01-18T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-18:/2025/01/18/diy-tips-tricks/</id><summary type="html">	&lt;p&gt;Do it yourself, done right&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Stone Roses - Painting" src="/img/2025-01-18/stone-roses.webp" title="Stone Roses - Painting" /&gt;&lt;/p&gt;

	&lt;p class="info"&gt;I do &lt;em&gt;not&lt;/em&gt; enjoy &lt;span class="caps"&gt;DIY&lt;/span&gt;. However, sometimes it needs doing and this post is my tips and tricks for making it slightly easier that I&amp;#8217;ve picked up over the years. &lt;/p&gt;

	&lt;h2&gt;Do your research (before you start)&lt;/h2&gt;

	&lt;p&gt;There&amp;#8217;s a first time for everything, but just because &lt;strong&gt;you&lt;/strong&gt; haven&amp;#8217;t done it before, doesn&amp;#8217;t mean someone hasn&amp;#8217;t done it before. If in doubt, search the net and in particular, Youtube. There are tutorials for everything and it&amp;#8217;s always worth spending half an hour or so, seeing what perils lie in wait on your upcoming &lt;span class="caps"&gt;DIY&lt;/span&gt; project.&lt;/p&gt;

	&lt;h2&gt;Have a Plan B&lt;/h2&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;Sod&amp;#8217;s law, a British culture axiom, states that &amp;#8220;if something can go wrong, it will&amp;#8221;. The law sometimes has a corollary: that the misfortune will happen at &amp;#8220;the worst possible time&amp;#8221; (Finagle&amp;#8217;s law). The term is commonly used in the United Kingdom (while in many parts of North America the phrase &amp;#8220;Murphy&amp;#8217;s law&amp;#8221; is more popular).&lt;/em&gt; &amp;#8212; &lt;a href="https://en.wikipedia.org/wiki/Sod%27s_law"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;This happens quite a lot to me: I&amp;#8217;m scraping a wall to remove wallpaper&lt;sup class="footnote" id="fnrevcf746f5a63c746ee9c0985048cd53ed2-1"&gt;&lt;a href="#fncf746f5a63c746ee9c0985048cd53ed2-1"&gt;1&lt;/a&gt;&lt;/sup&gt; and a chunk of plaster will fall off. Or, I&amp;#8217;ll be drilling a hole and instead of going in nice and straight, it turns into a flipping &lt;em&gt;slot&lt;/em&gt; (as shown on bottom hole on photo below):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Slotted hole" src="/img/2025-01-18/hole.webp" title="Slotted hole" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;span class="caps"&gt;DIY&lt;/span&gt; rarely goes 100% to plan and you&amp;#8217;ll often need to head back to the store to pick up items you hadn&amp;#8217;t anticipated needing. However, if you&amp;#8217;ve done your research, you should have already bought whatever you &lt;em&gt;might&lt;/em&gt; need when things go tits up (which they will).&lt;/p&gt;

	&lt;h2&gt;Take your time&lt;/h2&gt;

	&lt;p&gt;This applies most of all to drilling. For years, I hated drilling anything as I&amp;#8217;d usually end up with at least one slot shaped hole. The solution is &lt;em&gt;take your time&lt;/em&gt;. You want to set the drill speed to slow initially, to get the hole started. Once you&amp;#8217;ve gone a few millimetres in, you&amp;#8217;re usually fine to whack the speed up and push hard on the drill. Try to drill as straight as possible. In spite of your best efforts, if your wall has a void in it, you will not get a good hole. Filler or plaster will need to be on hand!&lt;/p&gt;

	&lt;h2&gt;Buy the best you can afford&lt;/h2&gt;

	&lt;p&gt;When it comes to &lt;span class="caps"&gt;DIY&lt;/span&gt;, you generally get what you pay for. Those paint brushes in the pound shop aren&amp;#8217;t a bargain. They&amp;#8217;re rubbish and probably won&amp;#8217;t even last a year.&lt;/p&gt;

	&lt;p&gt;The paint trays, rollers, and brushes shown on the photos on this page are over &lt;strong&gt;10 years old&lt;/strong&gt;, maybe even 15! &lt;/p&gt;

	&lt;p&gt;I tend to go for mid / upper range equipment. I expect my kit to last a minimum of ten years. Period.&lt;/p&gt;

	&lt;h2&gt;Buy (at least) two of everything&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Paint roller and tray" src="/img/2025-01-18/IMG_0264.webp" title="Paint roller and tray" /&gt;&lt;/p&gt;

	&lt;p&gt;This applies mainly to painting. Get good quality, &lt;em&gt;deep&lt;/em&gt; paint trays. Yes, buy two! Same with your rollers. Buy the really thick ones (long pile). I have medium and short pile, but never use them anymore. With the long piles ones you can really load them up with paint. &amp;#8220;Experts&amp;#8221; say that long pile rollers are best for rough walls, but I&amp;#8217;ve found them best for &lt;em&gt;any&lt;/em&gt; wall.&lt;/p&gt;

	&lt;p&gt;By having two sets of painting equipment, you can get the first coat on, clean trays, brushes and rollers and you&amp;#8217;ve got another set good to go for the second coat a few hours later.&lt;/p&gt;

	&lt;p&gt;Another thing you should &lt;em&gt;definitely&lt;/em&gt; get two of (if you haven&amp;#8217;t already) are water pump pliers:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Water pump pliers" src="/img/2025-01-18/water-pump-pliers.webp" title="Water pump pliers" /&gt;&lt;/p&gt;

	&lt;p&gt;These are &lt;strong&gt;so&lt;/strong&gt; useful for when you get drill bits stuck in the chuck. Since I&amp;#8217;ve had two of these, I&amp;#8217;ve never not been able to loosen anything!&lt;/p&gt;

	&lt;h2&gt;Measure twice, cut once&lt;/h2&gt;

	&lt;p&gt;Shelving. Ugh. &lt;em&gt;So&lt;/em&gt; many things to go wrong. You&amp;#8217;ve got to cut the wood, measure where the holes are to be drilled, make sure it&amp;#8217;s level etc. I always double check / triple check every measurement. &lt;/p&gt;

	&lt;p&gt;Made this bad boy below, along with two other shelf units for my shed. Not really the sort of project I usually go for, but it got my shed organised better than it&amp;#8217;s even been.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Shelf unit" src="/img/2025-01-18/shelves.webp" title="Shelf unit" /&gt;&lt;/p&gt;


	&lt;h2&gt;Clean up at the end&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Paint roller and tray cleaned" src="/img/2025-01-18/IMG_0266.webp" title="Paint roller and tray cleaned" /&gt;&lt;/p&gt;

	&lt;p&gt;After painting, I&amp;#8217;ll spend fifteen / twenty minutes cleaning all my kit. Once everythings dry, I put them away and they&amp;#8217;re ready for the next time the other half (or daughter most recently) decides they&amp;#8217;re not happy with the current colour. &lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fncf746f5a63c746ee9c0985048cd53ed2-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Not anymore for me. Entire house is now wallpaper free.&lt;/p&gt;</content><category term="home"></category><category term="diy"></category><category term="tips"></category><category term="opinion"></category></entry><entry><title>Lonely Planet's Best Ever Photography Tips</title><link href="https://simonh.uk/2025/01/17/lonely-planets-best-ever-photography-tips/" rel="alternate"></link><published>2025-01-17T00:00:00+00:00</published><updated>2025-01-17T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-17:/2025/01/17/lonely-planets-best-ever-photography-tips/</id><summary type="html">	&lt;p&gt;55 photography improvement tips&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Lonely Planet Best Ever Photography Tips Cover" src="/img/2025-01-17/cover.webp" title="Lonely Planet Best Ever Photography Tips Cover" /&gt;&lt;/p&gt;

	&lt;h2 class="readme"&gt;Introduction&lt;/h2&gt;

	&lt;p&gt;This is my third post tagged &lt;em&gt;photography&lt;/em&gt;. However, I&amp;#8217;m no photographer. I would say that I&amp;#8217;ve got a fairly good eye for pictures, but doubt I&amp;#8217;ve taken anything above mediocre. Not to worry, these things can be learned and with practise one can get better at anything. So today I picked up a copy of &lt;em&gt;Lonely Planet&amp;#8217;s Best Ever Photography Tips&lt;/em&gt;.&lt;sup class="footnote" id="fnrevee83c05e08d749e2962fb389c5168309-1"&gt;&lt;a href="#fnee83c05e08d749e2962fb389c5168309-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;h2 class="summary"&gt;The Gist&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve only just got the book so this isn&amp;#8217;t an in depth review. Just a quick scan to see whether it&amp;#8217;s worth my / your time. From what I&amp;#8217;ve seen, all the advice seems simple and sensible. The book is broken up into the following sections:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;The 10 Golden Rules
		&lt;ul&gt;
			&lt;li&gt;Take Control of the Picture-Taking Process&lt;/li&gt;
			&lt;li&gt;Learn to See the Transformative Power Of Light&lt;/li&gt;
			&lt;li&gt;Practise, Practise, Practise&lt;/li&gt;
			&lt;li&gt;Research &amp;amp; Plan&lt;/li&gt;
			&lt;li&gt;Develop a Picture-Taking Routine&lt;/li&gt;
			&lt;li&gt;Be Patient &amp;amp; Commit to the Image&lt;/li&gt;
			&lt;li&gt;Pay for Photos Only When It’s Appropriate&lt;/li&gt;
			&lt;li&gt;Shoot Raw Files&lt;/li&gt;
			&lt;li&gt;Become Proficient With Image-Editing Software&lt;/li&gt;
			&lt;li&gt;Critique Your Photos Objectively&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;The 45 Best Tips
		&lt;ul&gt;
			&lt;li&gt;Choose the Correct Camera&lt;/li&gt;
			&lt;li&gt;Accessorise!&lt;/li&gt;
			&lt;li&gt;Use the Quality Control Settings&lt;/li&gt;
			&lt;li&gt;Select a Suitable File Format&lt;/li&gt;
			&lt;li&gt;Adjust Your Exposure&lt;/li&gt;
			&lt;li&gt;Capture the Widest Tonal Range&lt;/li&gt;
			&lt;li&gt;Check the Exposure is Correct&lt;/li&gt;
			&lt;li&gt;Stay Within Range of Your Flash&lt;/li&gt;
			&lt;li&gt;Reduce Red-Eye&lt;/li&gt;
			&lt;li&gt;Use Your Phone Like a Camera&lt;/li&gt;
			&lt;li&gt;Prevent Blur&lt;/li&gt;
			&lt;li&gt;Highlight Your Subject&lt;/li&gt;
			&lt;li&gt;Follow the Rule of Thirds&lt;/li&gt;
			&lt;li&gt;Vary the Look of Your Images&lt;/li&gt;
			&lt;li&gt;Vary the Depth of Field&lt;/li&gt;
			&lt;li&gt;Reduce Reflections&lt;/li&gt;
			&lt;li&gt;Talk to Strangers&lt;/li&gt;
			&lt;li&gt;Use a Short Telephoto Lens&lt;/li&gt;
			&lt;li&gt;Use a Wide-Angle Lens&lt;/li&gt;
			&lt;li&gt;Show Landscapes Some Love&lt;/li&gt;
			&lt;li&gt;Shoot Early or Late&lt;/li&gt;
			&lt;li&gt;Use a Tripod&lt;/li&gt;
			&lt;li&gt;Override the Light Meter&lt;/li&gt;
			&lt;li&gt;Fill the Frame&lt;/li&gt;
			&lt;li&gt;Move Around&lt;/li&gt;
			&lt;li&gt;Light Your Lunch&lt;/li&gt;
			&lt;li&gt;Capture Cityscapes at Dusk&lt;/li&gt;
			&lt;li&gt;Gauge Light to Shoot Interiors&lt;/li&gt;
			&lt;li&gt;Use a Fast &lt;span class="caps"&gt;ISO&lt;/span&gt;&lt;/li&gt;
			&lt;li&gt;Get to the Parade Early&lt;/li&gt;
			&lt;li&gt;Visit Famous Places&lt;/li&gt;
			&lt;li&gt;Grab a Window Seat&lt;/li&gt;
			&lt;li&gt;Add a Sense of Scale&lt;/li&gt;
			&lt;li&gt;Anticipate the Moment&lt;/li&gt;
			&lt;li&gt;Capture Reflections&lt;/li&gt;
			&lt;li&gt;Make Sunsets More Interesting&lt;/li&gt;
			&lt;li&gt;Avoid Lens Flare&lt;/li&gt;
			&lt;li&gt;Shoot Wildlife&lt;/li&gt;
			&lt;li&gt;Set Your Alarm Clock&lt;/li&gt;
			&lt;li&gt;Be Patient&lt;/li&gt;
			&lt;li&gt;Record Light Trails&lt;/li&gt;
			&lt;li&gt;Don’t Put Your Camera Away&lt;/li&gt;
			&lt;li&gt;Protect Your Camera&lt;/li&gt;
			&lt;li&gt;Back Up Your Images&lt;/li&gt;
			&lt;li&gt;Work With Your Images&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;p&gt;Each tip has a page of text and a page with a photo demonstrating the tip. It&amp;#8217;s clearly aimed squarely at people like &lt;em&gt;me&lt;/em&gt;. Comfortable looking through a viewfinder or at a screen and just pressing the button. People who&amp;#8217;d like to feel a bit of pride in their future photos. The book is written in a conversational, non-technical style. When technical jargon is necessary, it&amp;#8217;s briefly explained beforehand. &lt;/p&gt;


	&lt;h2 class="star"&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;At first glance (after only about ten minutes scanning through), I like the format Lonely Planet has chosen. It&amp;#8217;s not dense with text and at only about 140 pages, it&amp;#8217;s not intimidating like some photography books.&lt;/p&gt;


	&lt;h2&gt;Afterword&lt;/h2&gt;

	&lt;p&gt;Over the next few days, I&amp;#8217;m going to read the book cover to cover and use some of these 55 tips. Anything interesting or important will be added to this post.&lt;/p&gt;


	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fnee83c05e08d749e2962fb389c5168309-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I got the 2013 edition. An updated edtition was released in 2017.&lt;/p&gt;</content><category term="reviews"></category><category term="books"></category><category term="photography"></category></entry><entry><title>Using the Olympus Camedia C4040Z in 2025 Part 2</title><link href="https://simonh.uk/2025/01/16/using-the-olympus-camedia-c4040z-in-2025-part-2/" rel="alternate"></link><published>2025-01-16T00:00:00+00:00</published><updated>2025-02-02T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-16:/2025/01/16/using-the-olympus-camedia-c4040z-in-2025-part-2/</id><summary type="html">	&lt;p&gt;Old, but still good in 2025&lt;/p&gt;</summary><content type="html">	&lt;p class="info"&gt;All images are linked to full resolution photos on Flickr&lt;/p&gt;

	&lt;p&gt;A tree. Not really a lot more say. Other than, I love how this camera captures a pure blue sky. Reminds me of shooting with a 35mm. &lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qFR9Zc"&gt;&lt;img alt="Photo of tree" src="/img/2025-01-16/tree.jpg" title="Photo of tree" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;This was &lt;em&gt;supposed&lt;/em&gt; to be a close up of a spider. I wasn&amp;#8217;t quick enough and he disappeared into the gap between the bricks. Couldn&amp;#8217;t be bothered to wait for him so it&amp;#8217;s just some bricks instead.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJyLUc"&gt;&lt;img alt="Closeup of wall" src="/img/2025-01-16/macro.jpg" title="Closeup of wall" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Personally, I think this one is really impressive. Just look at that lighting. Boxes everywhere as we&amp;#8217;re redecorating the daughters bedroom.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qFRaod"&gt;&lt;img alt="Indoors with lamp" src="/img/2025-01-16/lamp.jpg" title="Indoors with lamp" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Shot this while the daughter was eating her supper. Took about five photos with different light compensations and this was the best one. &lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qFWY4y"&gt;&lt;img alt="Photo of daughter" src="/img/2025-01-16/daughter.jpg" title="Photo of daughter" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;This is Jack, the subject of &lt;a href="https://simonh.uk/2024/12/30/whats-it-like-to-be-bitten-by-a-cat/"&gt;this&lt;/a&gt; post. Again, quite a nice photo for a quick spur-of-the-moment shot.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJyNLy"&gt;&lt;img alt="Photo of cat" src="/img/2025-01-16/cat.jpg" title="Photo of cat" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;This camera can still deliver some amazing photos. I&amp;#8217;ve done &lt;em&gt;no&lt;/em&gt; post processing on any of the above, only resized to 600px width as in my last post. In more capable hands, I&amp;#8217;m sure it&amp;#8217;d perform at an exceptional level.&lt;/p&gt;

	&lt;h2&gt;Problems&lt;/h2&gt;

	&lt;p&gt;Sadly, there are some problems:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Battery life is terrible!
		&lt;ul&gt;
			&lt;li&gt;Taken about a hundred photos and now it keeps turning off. Maybe that was normal for 2001&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Dead pixels
		&lt;ul&gt;
			&lt;li&gt;On dark shots, I&amp;#8217;m getting about 20 dead pixels. It&amp;#8217;s an old camera so not surprising really. In daylight shots, I&amp;#8217;ve not been able to notice them.&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Obsolete storage format
		&lt;ul&gt;
			&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/SmartMedia"&gt;SmartMedia&lt;/a&gt; cards are no longer manufactured. If my 64MB card gives up the ghost, the whole camera is unusable.&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;h2&gt;Should You Buy One?&lt;/h2&gt;

	&lt;p&gt;Of course you should! If you see one for a few quid (up to 20), take a chance. There&amp;#8217;s a reason why lots of people still love this camera&amp;#8230;&lt;/p&gt;

	&lt;p class="info"&gt;See &lt;a href="https://simonh.uk/2025/01/15/using-the-olympus-camedia-c4040z-in-2025-part-1/"&gt;here&lt;/a&gt; for part 1 if you missed it.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Olympus Camedia C4040Z" src="/img/2025-01-16/C4040Z.jpg" title="Olympus Camedia C4040Z" /&gt;&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-02-02&lt;/mark&gt;: Add links to Flickr C4040Z album&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="retro"></category></entry><entry><title>Using the Olympus Camedia C4040Z in 2025 Part 1</title><link href="https://simonh.uk/2025/01/15/using-the-olympus-camedia-c4040z-in-2025-part-1/" rel="alternate"></link><published>2025-01-15T00:00:00+00:00</published><updated>2025-02-02T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-15:/2025/01/15/using-the-olympus-camedia-c4040z-in-2025-part-1/</id><summary type="html">	&lt;p&gt;Old, but good&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJyDMX"&gt;&lt;img alt="C4040Z Tree" src="/img/2025-01-15/tree.jpg" title="C4040Z Tree" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Wanting a New Camera&lt;/h2&gt;

	&lt;p&gt;For some reason, I got it into my head a couple of days ago that I wanted a new camera. A proper one. For many years, I&amp;#8217;ve been a phone camera guy. &lt;em&gt;Not&lt;/em&gt; a photography camera guy. If someone / something did something stupid or funny, whip the phone out, take a pic, done. Of course, before the advent of smartphones, most people had a dedicated camera, myself included. The &amp;#8220;best&amp;#8221; one I ever had was the Olympus Camedia C4040Z, bought for about twenty quid off a workmate, circa 2003. I took &lt;em&gt;a lot&lt;/em&gt; of photos on that thing. So in 2025, I decided I wanted a camera like that. Not a pro one. That would be wasted on me. Just a half decent one with decent optics and preferably a decent zoom. &lt;/p&gt;

	&lt;h2&gt;Hey, You&amp;#8217;ve Got a Camera!&lt;/h2&gt;

	&lt;p class="info"&gt;All images are linked to full resolution photos on Flickr&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJxHN7"&gt;&lt;img alt="Flamingos" src="/img/2025-01-15/flamingos.jpg" title="Flamingos" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Being a cheapskate, I went on the other half&amp;#8217;s Facebook and searched marketplace to get a lie of the land in terms of availability and price. Found quite a few between £50 and £100, which was what I was happy to pay. But then I remembered the old 4040Z which had done the rounds with my son and daughter. But, where was it now?&lt;/p&gt;

	&lt;p&gt;I won&amp;#8217;t keep you in suspense, dear reader. Found it under the bed in a box!&lt;/p&gt;

	&lt;h2&gt;Where the Hell is my Smartmedia Card Reader?&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJxEpj"&gt;&lt;img alt="Penguins" src="/img/2025-01-15/penguins.jpg" title="Penguins" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Gave the camera a bit of clean, checked battery status and it turned out they take four AA batteries, which &lt;em&gt;someone&lt;/em&gt; had left in so they had corroded slightly. Not too much luckily as the poor, neglected thing has lived inside at room temperature. Replaced the batteries with new ones and fired her up. Still working, that&amp;#8217;s good. Found the amazing site mentioned in &lt;em&gt;See Also&lt;/em&gt; section at the bottom and tried to get some decent shots in low light. As I wrote earlier, I am not, never have been, and probably never will be a good photographer. But, I would like to take &lt;em&gt;better&lt;/em&gt; photos. One thing that has always eluded me is being able to take a photo in low light that doesn&amp;#8217;t look terrible. That&amp;#8217;s if you can see anything at all! It turned out you can easily adjust the light level on the camera D-pad. Wish I&amp;#8217;d had known that back in 2003. Oh well&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Got some photos that look good on the tiny 1.8&amp;#8221; screen, but I&amp;#8217;ll be damned if I can find my smartmedia card reader. I&amp;#8217;ve found &lt;em&gt;five&lt;/em&gt; memory card readers that will read everything but smartmedia. Sod&amp;#8217;s law in action. Anyway, Mrs simonh.uk has lovingly bought me one from Amazon which should arrive tommorrow. Shortly thereafter, I&amp;#8217;ll post part 2 with some &lt;em&gt;new&lt;/em&gt; photos on this now twenty four year old &lt;em&gt;vintage&lt;/em&gt; camera.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://flic.kr/p/2qJwqFG"&gt;&lt;img alt="Necklace" src="/img/2025-01-15/necklace.jpg" title="Necklace" /&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p class="info"&gt;The four photos in this post were taken on the 4040Z between 2003-2008. I&amp;#8217;ve resized to 600px width to keep the page load speed acceptable. Usually I convert to &lt;em&gt;webp&lt;/em&gt; but decided against that for this post.&lt;/p&gt;

	&lt;h2 class="web"&gt;See Also&lt;/h2&gt;

	&lt;p&gt;For more information / specs / reviews about this awesome camera see: 35hunter 4040Z posts &lt;a href="https://35hunter.blog/2018/07/16/endearingly-awkward-seeking-beauty-with-the-olympus-camedia-c4040/"&gt;Part 1&lt;/a&gt; and &lt;a href="https://35hunter.blog/2018/07/10/is-4mp-enough-in-2018-part-2-olympus-camedia-c4040-zoom-review/"&gt;Part 2&lt;/a&gt; and &lt;a href="https://thelightslide.com/olympus-camedia-4000-z-and-2000-z/"&gt;The Light Slide&lt;/a&gt;.&lt;/p&gt;

	&lt;p class="info"&gt;See &lt;a href="https://simonh.uk/2025/01/16/using-the-olympus-camedia-c4040z-in-2025-part-2/"&gt;here&lt;/a&gt; for part 2.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Olympus Camedia C4040Z" src="/img/2025-01-15/C4040Z.jpg" title="Olympus Camedia C4040Z" /&gt;&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-02-02&lt;/mark&gt;: Add links to Flickr C4040Z album&lt;/p&gt;</content><category term="photography"></category><category term="photography"></category><category term="retro"></category></entry><entry><title>Blog Questions Challenge</title><link href="https://simonh.uk/2025/01/13/blog-questions-challenge/" rel="alternate"></link><published>2025-01-13T00:00:00+00:00</published><updated>2025-01-13T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-13:/2025/01/13/blog-questions-challenge/</id><summary type="html">	&lt;p&gt;Yay! It&amp;#8217;s my turn!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Question time" src="/img/2025-01-13/exam.webp" title="Question time" /&gt;&lt;/p&gt;

	&lt;p&gt;For my last &lt;a href="https://simonh.uk/2025/01/13/interesting-websites-blogs-january-2025/"&gt;post&lt;/a&gt;, I won&amp;#8217;t lie, it took &lt;em&gt;a lot&lt;/em&gt; longer than I was expecting. But when I learnt of the blog questions challenge &lt;a href="https://www.containsmoderateperil.com/blog/2025/1/9/blog-questions-challenge"&gt;here&lt;/a&gt;, and typed &lt;em&gt;that&lt;/em&gt; into Google. Wow! &lt;strong&gt;There&lt;/strong&gt; you all are. Anyway, my turn now. Please be quiet while I concentrate&amp;#8230;&lt;/p&gt;

	&lt;h3&gt;Why did you start blogging in the first place?&lt;/h3&gt;

	&lt;ul&gt;
		&lt;li&gt;I&amp;#8217;ve always enjoyed writing.&lt;/li&gt;
		&lt;li&gt;That&amp;#8217;s what the web is for! It belongs to all of us. Everyone should have a homepage.&lt;/li&gt;
		&lt;li&gt;To remember what I was once like (failed as I&amp;#8217;ve lost more blogs than I remember).&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h3&gt;What platform are you using to manage your blog and why did you choose it?&lt;/h3&gt;

	&lt;p&gt;Since about 2016 I&amp;#8217;ve used Pelican. I chose it because it did everything I needed it to. Anything missing can be found (or written) as a plugin.&lt;/p&gt;

	&lt;h3&gt;Have you blogged on other platforms before?&lt;/h3&gt;

	&lt;p&gt;Just blogger.com as I remember. Actually, I also used Wordpress a couple of times on my original site &lt;em&gt;simonharrison.net&lt;/em&gt; along with Jekyll and Hugo before settling with Pelican.&lt;/p&gt;

	&lt;h3&gt;How do you write your posts?&lt;/h3&gt;

	&lt;p&gt;I use Xed on Linux Mint. Everything is written in Textile (used to be Markdown). I know I should be a real man and use Vim or Emacs but I can&amp;#8217;t be arsed with the learning curve. &lt;em&gt;Maybe&lt;/em&gt; one day&amp;#8230;&lt;/p&gt;

	&lt;h3&gt;When do you feel most inspired to write?&lt;/h3&gt;

	&lt;p&gt;When I haven&amp;#8217;t got an active coding project on the go. Also work has to be quiet as it is over Christmas. I plan to write at least one post a week from now on though. Even if&amp;#8217;s just a short one. &lt;/p&gt;

	&lt;h3&gt;Do you publish immediately after writing, or do you let it simmer a bit as a draft?&lt;/h3&gt;

	&lt;p&gt;Publish immediately. I am quite thorough to check for typo&amp;#8217;s and silly mistakes before publishing. Like most bloggers, I find myself rechecking though, and updates are often required.&lt;/p&gt;

	&lt;h3&gt;What&amp;#8217;s your favourite post on your blog?&lt;/h3&gt;

	&lt;p&gt;Can I have two? Ok great, thanks. My &lt;a href="https://simonh.uk/2024/12/30/whats-it-like-to-be-bitten-by-a-cat/"&gt;what&amp;#8217;s it like to be bitten by a cat?&lt;/a&gt; one and my &lt;a href="https://simonh.uk/2021/04/18/banned-kicked-off-linkedin/"&gt;banned from linkedin&lt;/a&gt; one. The second one because I realised that &lt;em&gt;social media&lt;/em&gt; and I will never coexist happily. Here, I can write whatever I want. Funnily enough, that makes me &lt;strong&gt;more&lt;/strong&gt; considerate of other people! I try to avoid swearing in case youngsters land on one of my pages.&lt;/p&gt;

	&lt;h3&gt;Any future plans for your blog?&lt;/h3&gt;

	&lt;p&gt;Not really. I&amp;#8217;ve spent quite a bit of time over the last few weeks making tweaks, getting things &lt;em&gt;just so&lt;/em&gt;. I wrote a post about that of course: &lt;a href="https://simonh.uk/2024/12/20/spruced-up-my-blog/"&gt;Spruced up my blog&lt;/a&gt;.&lt;/p&gt;</content><category term="blogging"></category><category term="social"></category><category term="blogging"></category></entry><entry><title>Interesting Websites &amp; Blogs January 2025</title><link href="https://simonh.uk/2025/01/13/interesting-websites-blogs-january-2025/" rel="alternate"></link><published>2025-01-13T00:00:00+00:00</published><updated>2025-01-13T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-13:/2025/01/13/interesting-websites-blogs-january-2025/</id><summary type="html"></summary><content type="html">	&lt;p&gt;&lt;img alt="John Matthews Photo" src="/img/2025-01-13/dog_walker.webp" title="John Matthews Photo" /&gt;&lt;/p&gt;

	&lt;h2&gt;Intro&lt;/h2&gt;

	&lt;p&gt;This is a series I&amp;#8217;ve been planning for a few months (but not got round to until now). My aim is to give a shout out to other websites and blogs that I think you might find interesting. I&amp;#8217;ve deliberately avoided including any professional bloggers, influencers, those types. &lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://johnmathews.is/"&gt;John Matthews&lt;/a&gt;&lt;/h3&gt;

	&lt;p&gt;Writes on a wide range of topics &amp;#8212; programming, photography, money, current affairs. Something for everyone here. Very nicely designed site, clean and minimal(ish). &lt;/p&gt;

	&lt;p class="info"&gt;The photo at the top of the page is &lt;a href="https://johnmathews.is/static/images/photos/dog_walker.jpeg"&gt;Dog Walker&lt;/a&gt; from John&amp;#8217;s site.&lt;/p&gt;

	&lt;h3&gt;&lt;a href="http://syndicate.lubiki.pl/"&gt;Syndicate Unofficial Site&lt;/a&gt;&lt;/h3&gt;

	&lt;p&gt;I loved the game &lt;em&gt;Syndicate Wars&lt;/em&gt; on the Playstation. Actually completed it too! Sites like this one used to all over the net in the 90&amp;#8217;s / 00&amp;#8217;s. Not so much now. Have a look at how much work went it this.&lt;/p&gt;

	&lt;h3&gt;&lt;a href="http://www.theraider.net/"&gt;The Raider.Net&lt;/a&gt;&lt;/h3&gt;

	&lt;p&gt;Indiana Jones. Nothing else! Looks like this hasn&amp;#8217;t been updated since about 2008 but it&amp;#8217;s still got an active messageboard / forum. I&amp;#8217;m no superfan (though I&amp;#8217;ve seen all the films apart from Dial of Destiny), but there&amp;#8217;s an enormous amount of content here that you can only marvel at.&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://www.containsmoderateperil.com/"&gt;Contains Moderate Peril&lt;/a&gt;&lt;/h3&gt;

	&lt;p&gt;TV, music, movies, gaming. A fine example of a guy with obviously wide ranging interests publishing whatever takes his fancy.&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://rahim.li/"&gt;Alvan Rahimli&lt;/a&gt;&lt;/h3&gt;

	&lt;p&gt;Found this site from the site above. Specifically, the &lt;em&gt;blog questions challenge&lt;/em&gt; page. Yes, I too will be completing it. Anyway, I digress&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Alvan&amp;#8217;s site is very well laid out and clean. His blog just has whatever he feels like writing about (same here). A good example of a personal blog that just exists &lt;em&gt;because he can&lt;/em&gt;.&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://herman.bearblog.dev/"&gt;Herman Martinus&lt;/a&gt;&lt;/h3&gt;

	&lt;p&gt;Creator of the &lt;a href="https://bearblog.dev/"&gt;bear blog&lt;/a&gt; platform (which I just found). Up until &lt;em&gt;today&lt;/em&gt; I&amp;#8217;ve advised people to just use Blogger if they want to quickly get a blog up and running. Hmmm. Maybe I was wrong.&lt;/p&gt;

	&lt;h2&gt;Afterword&lt;/h2&gt;

	&lt;p class="warn"&gt;If you know of a site I should include next time, please email me below! If I included your site, but you want it removed, also send me an email.&lt;/p&gt;</content><category term="web"></category><category term="opinion"></category></entry><entry><title>Using Blogger as a Note Taking and Drafting Tool</title><link href="https://simonh.uk/2025/01/13/using-blogger-as-a-note-taking-and-drafting-tool/" rel="alternate"></link><published>2025-01-13T00:00:00+00:00</published><updated>2025-01-13T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-13:/2025/01/13/using-blogger-as-a-note-taking-and-drafting-tool/</id><summary type="html">	&lt;p&gt;Old dog, new tricks?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Blogger Logo" src="/img/logo/blogger_logo.webp" title="Blogger Logo" /&gt;&lt;/p&gt;

	&lt;p&gt;I write all of my posts in &lt;a href="https://textile-lang.com/"&gt;Textile&lt;/a&gt; which then get processed by the Textile Reader Pelican plugin and turned into &lt;span class="caps"&gt;HTML&lt;/span&gt;. I also write all posts on my desktop computer. But, since I seem to be obssessed with blogging again,&lt;sup class="footnote" id="fnrevd60a6611be964362a885c6867d73dae6-1"&gt;&lt;a href="#fnd60a6611be964362a885c6867d73dae6-1"&gt;1&lt;/a&gt;&lt;/sup&gt; I&amp;#8217;ve noticed that sometimes, I&amp;#8217;ll be out and about, and an idea for a post, or an addition to an existing one, will occur to me. Since the average human brain can hold &lt;a href="https://en.wikipedia.org/wiki/The_Magical_Number_Seven%2C_Plus_or_Minus_Two"&gt;Seven, Plus or Minus Two&lt;/a&gt; bits of information in short term memory at one time, I can usually wait until I&amp;#8217;m back at home to create:&lt;/p&gt;

	&lt;p&gt;my-next-great-post.textile&lt;/p&gt;

	&lt;p&gt;file to ensure it doesn&amp;#8217;t get lost forever!&lt;/p&gt;

	&lt;p&gt;But, it&amp;#8217;s been niggling at me that I should really have &lt;strong&gt;something&lt;/strong&gt; available when I&amp;#8217;m &lt;em&gt;not&lt;/em&gt; at home. Of course, one option is to just write my own software. But I don&amp;#8217;t fancy that as I&amp;#8217;ve got other coding projects that have a higher priority than just a &lt;em&gt;blogging notes software&lt;/em&gt;. &lt;/p&gt;

	&lt;p&gt;Another option is to use one of the, what, 8 million existing apps / platforms! But again, taking notes is not something in life that I&amp;#8217;ve ever felt the need to go and try out this one, then that one, and eventually pick one and stick with it. If it ever did become a general problem, I&amp;#8217;d just write my own thing. So, what to do&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Then, I remembered the old stalwart &lt;em&gt;Blogger&lt;/em&gt;, which I&amp;#8217;ve also written about &lt;a href="https://simonh.uk/2024/12/30/using-blogger-in-2025/"&gt;here&lt;/a&gt;. As I wrote in that post, I&amp;#8217;ve setup a backup blog on Blogger, in case anything awry happens here. But then I wondered how it would perform as a drafting tool? Not bad at all, as it happens:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Blogger as drafting software" src="/img/2025-01-13/editing.webp" title="Blogger as drafting software" /&gt;&lt;/p&gt;

	&lt;p&gt;That&amp;#8217;s Textile, by the way. Beautiful, isn&amp;#8217;t it? For those that are more comforable clicking buttons, the formatting toolbar will let you create your headings, stylings etc.&lt;/p&gt;

	&lt;p&gt;I wondered if anyone else had thought the same thing? Well no, not really. The only other article on the same subject I found was &lt;a href="http://www.bloggertipspro.com/2021/05/why-google-should-turn-blogger-into.html"&gt;this&lt;/a&gt; one, by a fella called Don James.&lt;sup class="footnote" id="fnrevd60a6611be964362a885c6867d73dae6-2"&gt;&lt;a href="#fnd60a6611be964362a885c6867d73dae6-2"&gt;2&lt;/a&gt;&lt;/sup&gt; So, just the two of us then&amp;#8230;&lt;/p&gt;

	&lt;h2&gt;Google, Are you Listening (Yet)?&lt;/h2&gt;

	&lt;p&gt;The &lt;a href="https://blogger.googleblog.com/"&gt;Official Blogger Blog&lt;/a&gt; hasn&amp;#8217;t been updated since 2020. It seems like a load of work was done before that to get Blogger mobile friendly, and then&amp;#8230; Nothing. Which is a shame as the Blogger platform is &lt;em&gt;great&lt;/em&gt; for newcomers to the world of blogging.&lt;/p&gt;

	&lt;p&gt;It seems that since the &lt;a href="https://simonh.uk/2024/12/31/its-time-to-get-back-on-the-internet/"&gt;intranets&lt;/a&gt; became dominant, blogging is very niche again (which suits me fine). It would be very sad, but is perhaps likely, that Blogger may well end up on this list &lt;a href="https://killedbygoogle.com/"&gt;here&lt;/a&gt;. But there is another option, another possible future. Even a renaissance for this once mighty platform.&lt;/p&gt;

	&lt;h2&gt;An Alternative to Social Media?&lt;/h2&gt;

	&lt;p&gt;Google have never dominated in social media. They&amp;#8217;ve tried numerous times, but ended up pulling the plug each time. Maybe it&amp;#8217;s time they went back to basics? Back to a time more akin to the &lt;em&gt;early web&lt;/em&gt;. The quote below is taken from &lt;a href="https://blogger.googleblog.com/2020/05/a-better-blogger-experience-on-web.html"&gt;here&lt;/a&gt;, on the official Blogger blog:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;Since 1999, millions of people have expressed themselves on Blogger. From detailed posts about almost every apple variety you could ever imagine to a blog dedicated to the art of blogging itself, the ability to easily share, publish and express oneself on the web is at the core of Blogger’s mission.&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;I think that&amp;#8217;s a fine mission. And Google can use that mission to &lt;em&gt;try&lt;/em&gt; and rescues those souls forever trapped inside the intranets. Get them back on the web where they have a chance to get their message out to &lt;strong&gt;everyone&lt;/strong&gt;, now and forever into the future. It won&amp;#8217;t happen quickly and Google will need to think &lt;em&gt;very&lt;/em&gt; long term to succeed, but I think they are in the best position to achieve such a goal.&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fnd60a6611be964362a885c6867d73dae6-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I&amp;#8217;m sure it&amp;#8217;ll pass soon. I&amp;#8217;ll probably disappear, then pop back up in about 2028!&lt;/p&gt;

	&lt;p class="footnote" id="fnd60a6611be964362a885c6867d73dae6-2"&gt;&lt;sup&gt;2&lt;/sup&gt; I had my idea independently of Don, but as he posted back in 2021 he needs crediting. Plus he comes at the topic from a slightly different angle. Worth a read.&lt;/p&gt;</content><category term="blogging"></category><category term="tips"></category><category term="blogger"></category></entry><entry><title>Legacy Media - Thoughts and Opportunities</title><link href="https://simonh.uk/2025/01/11/legacy-media-thoughts-and-opportunities/" rel="alternate"></link><published>2025-01-11T00:00:00+00:00</published><updated>2025-01-12T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-11:/2025/01/11/legacy-media-thoughts-and-opportunities/</id><summary type="html">	&lt;p&gt;Mostly peaceful protests&amp;#8230;&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Newsroom" src="/img/2025-01-11/protests.webp" title="Newsroom" /&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;The media are an industry, and their product is information. And along with many other American industries, the American media produce a product of very poor quality. Its information is not reliable, it has too much chrome and glitz, its doors rattle, it breaks down almost immediately, and it’s sold without warranty. It’s flashy but it’s basically junk. So people have begun to stop buying it.&lt;/em&gt; &amp;#8212; Michael Crichton (1993)&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;h2&gt;It&amp;#8217;s All Down From Here&lt;/h2&gt;

	&lt;p&gt;I haven&amp;#8217;t watched TV in years. Yes, we have it on, in the background, for maybe an hour a day nowadays, but we don&amp;#8217;t watch it for &lt;em&gt;information&lt;/em&gt;; to get facts. TV is literally, the &lt;em&gt;last&lt;/em&gt; place I&amp;#8217;d look for factual information! I&amp;#8217;m not alone (from &lt;a href="https://www.statista.com/statistics/269918/daily-tv-viewing-time-in-the-uk-by-age/"&gt;Statista&lt;/a&gt;):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="2010-2023 UK TV Viewing Figures" src="/img/2025-01-11/tv-graph.webp" title="2010-2023 UK TV Viewing Figures" /&gt;&lt;/p&gt;

	&lt;h2&gt;How are the media still in business?&lt;/h2&gt;

	&lt;p&gt;I wasn&amp;#8217;t sure, after all, Crichton predicted they&amp;#8217;d be gone by 2003.&lt;sup class="footnote" id="fnrev117ee8a2ec9c4cffbb4635783684cb63-1"&gt;&lt;a href="#fn117ee8a2ec9c4cffbb4635783684cb63-1"&gt;1&lt;/a&gt;&lt;/sup&gt; But somehow, they&amp;#8217;re still clinging on in 2025! Google, what&amp;#8217;s going on?&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;Despite the rise of digital media and readily available online information, traditional media outlets like newspapers, television, and radio remain in business by adapting to digital platforms, diversifying revenue streams through subscriptions, advertising, events, and by leveraging their established credibility and reach to attract audiences that still value trusted sources and broader impact, especially for major news stories and brand advertising campaigns.&lt;/em&gt; &amp;#8212; Google AI Overview (2025)&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;&amp;#8220;established credibility&amp;#8221;, &amp;#8220;value trusted sources&amp;#8221;? Oh dear, &lt;em&gt;AI thing&lt;/em&gt;, sounds like you got that from an unreliable, untrustworthy legacy media source. Ignoring that nonsense, the rest of it make sense. &lt;/p&gt;

	&lt;p&gt;However, it&amp;#8217;s over. We know it, they know it. They had one job to do and they ****** it up. Whether that was to inform us, entertain us or persuade us &amp;#8212; they did the opposite. The last bastions of legacy media consumption are the elderly and the leftists. I don&amp;#8217;t need to state why the elderly &lt;strong&gt;cannot&lt;/strong&gt; be the future for legacy media, but even the leftists are having enough of the gaslighting (from &lt;a href="https://pressgazette.co.uk/media-audience-and-business-data/media_metrics/uk-media-bias-2024/"&gt;Press Gazette&lt;/a&gt;):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Top 50 News Sites 2024" src="/img/2025-01-11/leanings.webp" title="Top 50 News Sites 2024" /&gt;&lt;/p&gt;

	&lt;p&gt;The market for leftist news is shrinking. Not surprising since we now have the most unpopular government in English &lt;a href="https://www.express.co.uk/news/politics/1989124/Starmer-Labour-Prime-Minister-economy-Reeves"&gt;history&lt;/a&gt;.&lt;/p&gt;

	&lt;h2&gt;So, What&amp;#8217;s Next?&lt;/h2&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;If you dislike change, you&amp;#8217;re going to dislike irrelevance even more.&lt;/em&gt; &amp;#8212; General Eric Shinseki&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;There are enormous opportunities for outsiders to continue to disrupt, and dominate the old, tired, lazy, untrustworthy establishment media. In fact, it&amp;#8217;s already happening.&lt;/p&gt;

	&lt;h2&gt;The New Media&lt;/h2&gt;

	&lt;p&gt;This article was partly inspired by the recent Critical Gamer video titled &lt;a href="https://www.youtube.com/watch?v=80wIbGUc43E"&gt;We Are The Media Now &amp;#8211; And They Fear Us&lt;/a&gt;. I highly recommend you spend six minutes of your time and watch it (after reading this of course).&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Critical Drinker" src="/img/2025-01-11/drinker.webp" title="Critical Drinker" /&gt;&lt;/p&gt;

	&lt;p&gt;People like Will Jordan aka, The Critical Drinker / Gamer, are building loyal audiences who know they&amp;#8217;ll get an honest opinion &lt;em&gt;and&lt;/em&gt; be entertained at the same time. Something legacy media forgot how to do years ago.&lt;/p&gt;

	&lt;p&gt;These days, if there&amp;#8217;s a film I&amp;#8217;m considering watching, I&amp;#8217;ve found it very efficient to check to see if he&amp;#8217;s done a review. He hasn&amp;#8217;t let me down yet.&lt;/p&gt;

	&lt;h2&gt;Damage Control / Spin Not Working&lt;/h2&gt;

	&lt;p&gt;Another fantastic thing that&amp;#8217;s driving media executives to despair, is that they can&amp;#8217;t gaslight us as easily anymore. When a trailer for their latest blockbuster movie or game drops, bad news eventually reaches the &lt;em&gt;normies&lt;/em&gt; as well. &lt;em&gt;&lt;strong&gt;Everybody&lt;/strong&gt;&lt;/em&gt; knows not to spend their hard earned cash on one of these steamers:&lt;/p&gt;

	&lt;p class="poo"&gt;&lt;a href="https://www.youtube.com/watch?v=iV46TJKL8cU"&gt;Snow White Official Trailer&lt;/a&gt;:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Snow White Abomination" src="/img/2025-01-11/snow-white.webp" title="Snow White Abomination" /&gt;&lt;/p&gt;

	&lt;p class="poo"&gt;&lt;a href="https://www.youtube.com/watch?v=mBnStS9d2xg"&gt;Concord &amp;#8211; Reveal Cinematic Trailer&lt;/a&gt;:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Concord Dislikes" src="/img/2025-01-11/concord.webp" title="Concord Dislikes" /&gt;&lt;/p&gt;

	&lt;h2&gt;What can Legacy Media Do?&lt;/h2&gt;

	&lt;p&gt;Nothing. They&amp;#8217;ve blown it. They&amp;#8217;ve as much chance of regaining their market share as &lt;a href="https://en.wikipedia.org/wiki/Harold_Shipman"&gt;Harold Shipman&lt;/a&gt; has of being your next GP.&lt;/p&gt;

	&lt;p&gt;Individuals are the new media, the new sources of truth and value. It&amp;#8217;s not their job. They don&amp;#8217;t have a boss saying, &amp;#8220;have you finished that piece yet? We&amp;#8217;ve got to get it uploaded!!!&amp;#8221; Nope. They can take their time. Do a proper job. Publish it when &lt;em&gt;they&lt;/em&gt; are happy that it&amp;#8217;s ready. Might be today, might be next month. &lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn117ee8a2ec9c4cffbb4635783684cb63-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Full article is available on my site &lt;a href="https://simonh.uk/files/doc/Crichton_Mediasaurus.pdf"&gt;here&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="updates"&gt;Depressing Update&lt;/h2&gt;

	&lt;p&gt;As reported on &lt;a href="https://www.zerohedge.com/political/how-widespread-distrust-mainstream-media"&gt;Zerohedge&lt;/a&gt; today (2025-01-12), a &lt;a href="https://www.statista.com/chart/33749/share-of-respondents-who-do-not-trust-the-mainstream-media/"&gt;Statista&lt;/a&gt; survey has found that roughly one in five people distrust the mainstream (legacy) media:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Legacy media distrust survey" src="/img/2025-01-11/distrust.webp" title="Legacy media distrust survey" /&gt;&lt;/p&gt;

	&lt;p&gt;It&amp;#8217;s depressing as that means that in the UK, &lt;em&gt;83%&lt;/em&gt; of respondents &lt;em&gt;do&lt;/em&gt; trust legacy media!&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m sure Mr. Crichton would be very disappointed were he still with us&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Michael Crichton" src="/img/2025-01-11/crichton.webp" title="Michael Crichton" /&gt;&lt;/p&gt;</content><category term="media"></category><category term="opinion"></category><category term="media"></category></entry><entry><title>Quick Review of AlphaVPS Storage VPS</title><link href="https://simonh.uk/2025/01/11/quick-review-of-alphavps-storage-vps/" rel="alternate"></link><published>2025-01-11T00:00:00+00:00</published><updated>2025-01-11T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-11:/2025/01/11/quick-review-of-alphavps-storage-vps/</id><summary type="html">	&lt;p&gt;Storage &lt;span class="caps"&gt;VPS&lt;/span&gt; on a budget&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="AlphaVPS Logo" src="/img/2025-01-11/alphavps.webp" title="AlphaVPS Logo" /&gt;&lt;/p&gt;

	&lt;h2&gt;256GB for €3 Per Month!&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve just noticed that I&amp;#8217;ve been a customer of AlphaVPS since December 2021. So here is my review after three years as a customer.&lt;sup class="footnote" id="fnrevc1ab7859606b4f269ec4f69385220f04-1"&gt;&lt;a href="#fnc1ab7859606b4f269ec4f69385220f04-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;p class="info"&gt;AlphaVPS have not asked me to post this. I know that sort of things goes on, but not here.&lt;/p&gt;

	&lt;p&gt;I can&amp;#8217;t remember where I first heard of AlphaVPS, it was probably &lt;a href="https://lowendbox.com/"&gt;lowendbox&lt;/a&gt; as I&amp;#8217;ve picked up a few deals there over the years. Back in 2021, when I signed up, I went for the €20 per year &lt;a href="https://alphavps.com/storage-vps.html"&gt;plan&lt;/a&gt; as:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;256GB would be sufficient for my needs&lt;/li&gt;
		&lt;li&gt;If it turned out to be rubbish, I wasn&amp;#8217;t losing a lot&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;For that tiny price, you get 1 shared &lt;span class="caps"&gt;CPU&lt;/span&gt; core, 768MB of &lt;span class="caps"&gt;RAM&lt;/span&gt;, 1TB of data transfer:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="20 Euros a year plan" src="/img/2025-01-11/vps-plan.webp" title="20 Euros a year plan" /&gt;&lt;/p&gt;

	&lt;p&gt;So I ordered it, set up an Apache vhost and have been using it for the last three years without a hitch. Here is a screenshot of htop running, taken just now. As you can see it&amp;#8217;s using 110MB of &lt;span class="caps"&gt;RAM&lt;/span&gt;, 2% of &lt;span class="caps"&gt;CPU&lt;/span&gt;. The only service I have running on it is Apache, by the way. Notice the uptime (464 days)!&lt;/p&gt;

	&lt;p&gt;&lt;img alt="htop" src="/img/2025-01-11/vps-htop.webp" title="htop" /&gt;&lt;/p&gt;

	&lt;h2 class="support"&gt;Customer Support&lt;/h2&gt;

	&lt;p&gt;Back in 2023, I noticed that I was getting charged twice each month by AlphaVPS. So I opened a ticket, and after some toing and froing to find out what had happened (don&amp;#8217;t think we ever got to the bottom of it), they agreed that I&amp;#8217;d been overcharged and credited me for the overpayments. Here&amp;#8217;s a screenshot of the email:&lt;sup class="footnote" id="fnrevc1ab7859606b4f269ec4f69385220f04-2"&gt;&lt;a href="#fnc1ab7859606b4f269ec4f69385220f04-2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="AlphaVPS Support Email" src="/img/2025-01-11/vps-email.webp" title="AlphaVPS Support Email" /&gt;&lt;/p&gt;

	&lt;p&gt;Problem reported, problem solved. All dealt with very professionally and promptly.&lt;/p&gt;

	&lt;p class="info"&gt;There was a slight delay of a couple of hours (if I remember correctly) as I&amp;#8217;m not sure they&amp;#8217;d ever had this problem before.&lt;/p&gt;

	&lt;h2 class="star"&gt;My Rating for AlphaVPS&lt;/h2&gt;

	&lt;p&gt;10/10&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;It can take a while with a &lt;span class="caps"&gt;VPS&lt;/span&gt; provider to determine if they&amp;#8217;re worth staying with. Well, as I&amp;#8217;ve said, they&amp;#8217;ve got a happy customer here. Well done to the team and I hope they have a great 2025!&lt;/p&gt;

	&lt;p class="info"&gt;One other thing to note is that you can pay annually, which I prefer (one invoice per year instead of twelve). I don&amp;#8217;t recall this being an option back in 2021 but it is now.&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fnc1ab7859606b4f269ec4f69385220f04-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I&amp;#8217;m not a big fan of those &amp;#8220;I&amp;#8217;ve been using &lt;em&gt;something&lt;/em&gt; for 3 days and it&amp;#8217;s great!!!&amp;#8221; reviews. How are you finding it after three &lt;em&gt;years&lt;/em&gt;? That&amp;#8217;s what I want to know.&lt;/p&gt;

	&lt;p class="footnote" id="fnc1ab7859606b4f269ec4f69385220f04-2"&gt;&lt;sup&gt;2&lt;/sup&gt; This is why you should always be careful how you interact with your customers. You never know when some blogger is going to screenshot it! Alex at AlphaVPS is a gentleman and I think he&amp;#8217;s been in the business long enough to know that.&lt;/p&gt;</content><category term="reviews"></category><category term="vps"></category><category term="reviews"></category></entry><entry><title>On Charlie Veitch and Co.</title><link href="https://simonh.uk/2025/01/10/on-charlie-veitch-and-co/" rel="alternate"></link><published>2025-01-10T00:00:00+00:00</published><updated>2025-01-10T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-10:/2025/01/10/on-charlie-veitch-and-co/</id><summary type="html">	&lt;p&gt;Where&amp;#8217;s Crutchie? There he is!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Charlie Veitch" src="/img/2025-01-10/charlie.webp" title="Charlie Veitch" /&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;The world is a freak show and if you are born in America, you have a front row seat&lt;/em&gt; &amp;#8212; George Carlin&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Carlin always had a way with words, but alas, we in England are now also sitting in the front row.&lt;/p&gt;

	&lt;h2&gt;I&amp;#8217;m Sorry, Who?&lt;/h2&gt;

	&lt;p&gt;Lately, I&amp;#8217;ve become quite a fan of &lt;a href="https://www.youtube.com/%40CharlesVeitch"&gt;Charlie Veitch&lt;/a&gt;. If you haven&amp;#8217;t heard of him, he&amp;#8217;s a Youtuber living in Manchester, and his main source of income comes from his &lt;em&gt;walking tours&lt;/em&gt; which he uploads for us all to enjoy. These are predominantly filmed in Manchester city centre, although he&amp;#8217;s visited other cities too. &lt;/p&gt;

	&lt;h2&gt;What Does He Do?&lt;/h2&gt;

	&lt;p&gt;The main theme of Charlie&amp;#8217;s videos are to shine a spotlight on (and have some fun at the expense of) the ever-growing number of smackheads, layabouts, drunkards, slobs, yobs, migrants, misfits, criminals and other undesirables who hang around city centres making spectacles of themselves. Charlie must have realised that there was good money to be made from filming their antics, and that dear reader, is what it&amp;#8217;s all about.&lt;/p&gt;

	&lt;h2 class="unhappy"&gt;Isn&amp;#8217;t That Cruel?!&lt;/h2&gt;

	&lt;p&gt;I don&amp;#8217;t think so. I mean, these people are there anyway. And they&amp;#8217;re there nearly &lt;em&gt;every&lt;/em&gt; day causing scenes and making nuisances out of themselves, someone might as well earn a few bob, hadn&amp;#8217;t they? If you can&amp;#8217;t beat them, &lt;del&gt;join&lt;/del&gt; &lt;ins&gt;film&lt;/ins&gt; them.&lt;/p&gt;

	&lt;p&gt;If it makes the sensitive types feel any better, sometimes, Charlie will be ranted at by some lefty busy body, angry that a smackhead is being &amp;#8220;picked on&amp;#8221;. Yes, these people will defend anyone, because &lt;em&gt;everyone is awesome and special&lt;/em&gt; or something. Occasionally, Charlie will be attacked by one of his subjects. This of course is all part of the fun. &lt;/p&gt;

	&lt;h2&gt;Legacy Media Doesn&amp;#8217;t Care&lt;/h2&gt;

	&lt;p&gt;And that lack of care or interest has created a &lt;em&gt;big&lt;/em&gt; gap for Youtubers to fill. And fill it they have. Now, it&amp;#8217;s the job of entertainers and citizen journalists to give us an accurate, unfiltered view of how things are &lt;em&gt;out there&lt;/em&gt;, wherever that may be. It&amp;#8217;s not great, by the way.&lt;/p&gt;

	&lt;h2&gt;Attention Seekers?&lt;/h2&gt;

	&lt;p&gt;Of course. In my experience all the funniest, most entertaining people are. &lt;/p&gt;

	&lt;h2&gt;You wrote &amp;#8220;and Co.&amp;#8221;&lt;/h2&gt;

	&lt;p&gt;Oh yes, there are some other entertaining troublemakers I also highly recommend:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;a href="https://www.youtube.com/%40AuditingBritain"&gt;Auditing Britain&lt;/a&gt;
		&lt;ul&gt;
			&lt;li&gt;AB, as he calls himself, audits police stations so we don&amp;#8217;t have to. Very funny interactions guaranteed.&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Auditing Britain" src="/img/2025-01-10/ab.webp" title="Auditing Britain" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;a href="https://www.youtube.com/%40wanderingturnip"&gt;Wandering Turnip&lt;/a&gt;
		&lt;ul&gt;
			&lt;li&gt;Not really a troublemaker actually. This guy shines a light on how dilapidated many of our towns and cities have become.&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Wandering Turnip" src="/img/2025-01-10/turnip.webp" title="Wandering Turnip" /&gt;&lt;/p&gt;</content><category term="entertainment"></category><category term="youtube"></category><category term="trolling"></category><category term="entertainment"></category></entry><entry><title>Why Losing Contact with Friends as You Get Older is Good</title><link href="https://simonh.uk/2025/01/08/why-losing-contact-with-friends-as-you-get-older-is-good/" rel="alternate"></link><published>2025-01-08T00:00:00+00:00</published><updated>2025-01-08T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-08:/2025/01/08/why-losing-contact-with-friends-as-you-get-older-is-good/</id><summary type="html">	&lt;p&gt;Quiet, at last&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Alone photo" src="/img/2025-01-08/alone.webp" title="Alone photo" /&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Friend (noun): &lt;em&gt;A person who you know well and who you like a lot, but who is usually not a member of your family&lt;/em&gt; &amp;#8212; Cambridge Dictionary&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;h2&gt;Watched a Video&lt;/h2&gt;

	&lt;p&gt;Posted by a &lt;del&gt;guy&lt;/del&gt; &lt;ins&gt;Youtuber&lt;/ins&gt; who was concerned that he no longer was in contact with his old friends. It was probably a tactic to get more views / subscribers. But I&amp;#8217;ve noticed over the years that some people experience the same thing and seem to think it&amp;#8217;s &lt;strong&gt;bad&lt;/strong&gt;. It&amp;#8217;s not. It&amp;#8217;s natural and should be accepted as a good thing.&lt;/p&gt;

	&lt;p&gt;When you&amp;#8217;re young and have minimal responsibilities and committments, friends are important. Through them, you all learn how to form relationships with &lt;em&gt;the horde&lt;/em&gt; out there. If you can make a few friends as a youngster, chances are you&amp;#8217;ll be able to figure it out when you grow up and are forced to get a job or go to college.&lt;/p&gt;

	&lt;h2&gt;People Change&lt;/h2&gt;

	&lt;p&gt;They have relationships, raise families, move away, go mad. All sorts of things change people. Sometimes, only a few months can pass and you think, &amp;#8220;Wow, Bob sure isn&amp;#8217;t like I remember him!.&amp;#8221; Get used to it. People tend to change more in directions &lt;em&gt;away&lt;/em&gt; from what you might want. Up to, and beyond, the point where you have much, if anything, in common anymore. It&amp;#8217;s just one of those things.&lt;/p&gt;

	&lt;p&gt;I had a mate when I was about twelve(ish) and we were going to go to the big old U S of A and become truck drivers! We both decided on the style of truck and there was no doubt, it was going to be this style (black for me, white for Foggy):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="American Trucks" src="/img/2025-01-08/trucks.webp" title="American Trucks" /&gt;&lt;/p&gt;

	&lt;p&gt;Of course, it never happened, but that&amp;#8217;s what kids do. Have crazy ideas and dreams that they quickly grow out of.&lt;/p&gt;

	&lt;h2&gt;Travel Broadens the Mind&lt;/h2&gt;

	&lt;p&gt;I think the turning point for me was a year in Australia from &amp;#8217;96 to &amp;#8217;97. I landed in Melbourne alone. No contacts, no friends. Just me, my awesome personality, and my backpack.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Flying to Australia" src="/img/2025-01-08/plane.webp" title="Flying to Australia" /&gt;&lt;/p&gt;

	&lt;p&gt;When you&amp;#8217;re on the other side of the world, making new friends easily, you realise that your circle back at home is somewhat limiting. You remember that your group back home, hasn&amp;#8217;t ever really grown. It&amp;#8217;s just the same old faces, same old banter. &lt;/p&gt;

	&lt;h2&gt;Friendship Churn&lt;/h2&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Churn (noun): &lt;em&gt;The number of customers who decide to stop using a service offered by one company and to use another company, usually because it offers a better service or price.&lt;/em&gt; &amp;#8212; Cambridge Dictionary&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Although usually used in relation to customers switching from one service provider to another, churn also applies to friendships. You have one group at nursery, another at junior school, secondary school, college, workplace 1, workplace 2 etc. And most people have multiple friend groups at the same time.&lt;/p&gt;

	&lt;p&gt;My point is that these groups / connections come and go. When you leave a job, after a few months, you&amp;#8217;ve normally lost all contact with them. There are exceptions of course; I know blokes in their sixties who are still best mates with someone they&amp;#8217;ve known since they were about three.&lt;/p&gt;

	&lt;p&gt;Friendship churn is inevitable and it gives you an opportunity to replace tiresome friendships with new, exciting ones. Until they then go stale and they then need replacing&amp;#8230;&lt;/p&gt;

	&lt;h2&gt;Manage Your Expectations&lt;/h2&gt;

	&lt;p&gt;People say that you discover who your &lt;em&gt;true&lt;/em&gt; friends when you&amp;#8217;re ill. I disagree. It&amp;#8217;s only your immediate family who I think &lt;strong&gt;should&lt;/strong&gt; make the effort. Friends should not be expected to. Sure, it&amp;#8217;s probably nice if they do stop by, but the intranet people will just see your photo on their feed (that you took from your hospital bed) post a quick sad face, and keep on scrolling to see what else is happening. It&amp;#8217;s just how things are now. &lt;/p&gt;

	&lt;h2&gt;There&amp;#8217;s No Shortage of New Friends&lt;/h2&gt;

	&lt;p&gt;But, you need to define &lt;em&gt;friend&lt;/em&gt; differently. I am a fairly personable, chatty bloke. I have lots of &lt;em&gt;new style&lt;/em&gt; friends. These are people I know through my work, people I see regularly in shops and the like. We all need contact with others, but guess what: &lt;em&gt;people are everywhere&lt;/em&gt;! &lt;/p&gt;

	&lt;p&gt;My family (and fifteen year old daughter in particular) are often astonished when they come out of a shop or somewhere, and I&amp;#8217;m having a laugh with someone. &amp;#8220;Who was that?&amp;#8221;, they ask, assuming it&amp;#8217;s an old workmate. No idea I say. Just got chatting while waiting for you lot. &lt;/p&gt;</content><category term="personal"></category><category term="tips"></category><category term="self-dev"></category></entry><entry><title>Fastmail Business Email Review 2025</title><link href="https://simonh.uk/2025/01/06/fastmail-business-email-review-2025/" rel="alternate"></link><published>2025-01-06T00:00:00+00:00</published><updated>2025-01-06T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-06:/2025/01/06/fastmail-business-email-review-2025/</id><summary type="html">	&lt;p&gt;Let me give you my &lt;em&gt;business&lt;/em&gt; email address!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Fastmail logo" src="/img/logo/fastmail.webp" title="Fastmail logo" /&gt;&lt;/p&gt;

	&lt;h2&gt;Hello again, Fastmail&lt;/h2&gt;

	&lt;p&gt;I had a free, personal Fastmail account before everyone lost their minds that &lt;em&gt;googlemail is coming out!!!&lt;/em&gt; back in about about 2004(ish). I seem to remember using it quite happily until the gmail thing. At &lt;em&gt;that&lt;/em&gt; time Google could do no wrong and I went with the horde and got my very own googlemail account and left stupid Fastmail behind. What had I been thinking?!&lt;/p&gt;

	&lt;h2&gt;Fast Forward to 2017&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;d just started my own business and needed a &lt;em&gt;professional&lt;/em&gt; email account. Now, I honestly can&amp;#8217;t remember my reasoning, but I signed up for &lt;em&gt;G Suite&lt;/em&gt;, now &lt;em&gt;Google Workspace&lt;/em&gt;. It did the job acceptably, but at some point between 2017 and 2022, I became uncomfortable with using it.&lt;sup class="footnote" id="fnreva6aa921fc8054195ba9b489bb16095f5-1"&gt;&lt;a href="#fna6aa921fc8054195ba9b489bb16095f5-1"&gt;1&lt;/a&gt;&lt;/sup&gt; I next tried Rackspace &lt;strong&gt;business&lt;/strong&gt; email for a few months as it seemed to get recommended quite often, but I didn&amp;#8217;t really get along with that either. I then decided to give Fastmail a go (again). One of the reasons was that Fastmail is entirely focused on email&lt;sup class="footnote" id="fnreva6aa921fc8054195ba9b489bb16095f5-2"&gt;&lt;a href="#fna6aa921fc8054195ba9b489bb16095f5-2"&gt;2&lt;/a&gt;&lt;/sup&gt; and has been since 1999. The old &lt;em&gt;do one thing and do it well&lt;/em&gt; adage has always resonated with me.&lt;/p&gt;

	&lt;p&gt;Rather than listen to me waffle on, you can read about what they offer for business on their &lt;a href="https://www.fastmail.com/business/"&gt;Fastmail for Business&lt;/a&gt; page.&lt;/p&gt;

	&lt;h2&gt;(Try to) Ignore the Silly Marketing&lt;/h2&gt;

	&lt;p&gt;If today, you go to the &lt;a href="https://www.fastmail.com/features/"&gt;Fastmail Product Tour&lt;/a&gt; page, you will see &lt;strong&gt;five&lt;/strong&gt; photos of &lt;em&gt;incredibly&lt;/em&gt; happy Fastmail customers (I assume). Here is the happiest lady of the bunch:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="So happy" src="/img/2025-01-06/happy.webp" title="So happy" /&gt;&lt;/p&gt;

	&lt;p&gt;She can&amp;#8217;t believe that she&amp;#8217;s only just discovered Fastmail. Happiest day of her life, clearly!&lt;/p&gt;

	&lt;p&gt;Man, I hate that stock photo, everybody smiling nonsense. Fastmail: have a rethink on your marketing people / strategy. Your potential customers are &lt;strong&gt;not&lt;/strong&gt; five years old!&lt;/p&gt;

	&lt;p class="warn"&gt;We don&amp;#8217;t even know if she&amp;#8217;s on the Fastmail app. She might be watching cat videos!&lt;/p&gt;

	&lt;p&gt;Rackspace&amp;#8217;s photo is &lt;em&gt;far&lt;/em&gt; better. Definitely reading a business email and not watching silly videos:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Rackspace stock photo" src="/img/2025-01-06/rackspace.webp" title="Rackspace stock photo" /&gt;&lt;/p&gt;

	&lt;h2&gt;Anyway&amp;#8230;&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve been using Fastmail business for nearly a year and a half. It works very well, both through the web interface and their Android app (don&amp;#8217;t use &lt;em&gt;istuff&lt;/em&gt; so no comments about that). One thing that I think sets them apart from their competition is their excellent help. They&amp;#8217;ve even given it it&amp;#8217;s own domain: &lt;a href="https://www.fastmail.help"&gt;fastmail.help&lt;/a&gt;.&lt;/p&gt;

	&lt;p&gt;Functionality wise, you&amp;#8217;ll get all the email features &lt;em&gt;everyone&lt;/em&gt; expect nowadays, with the one possible exception of the ability to edit office files. One could argue that is &lt;strong&gt;not&lt;/strong&gt; the job of an email client, and one would have a point. Still, if you &lt;em&gt;need&lt;/em&gt; that, you&amp;#8217;ll be disappointed.&lt;/p&gt;

	&lt;p&gt;I should point out a couple of problems I&amp;#8217;ve experienced. First, on all my other email accounts (I have &lt;em&gt;a lot&lt;/em&gt;), notifications on my Android phone come through normally. For some reason, Fastmail notifies me about emails I&amp;#8217;ve already read or deleted on my desktop. It&amp;#8217;s not a showstopper, but it&amp;#8217;s a bit &lt;em&gt;weird&lt;/em&gt;. I suppose I should open a ticket. The only other odd thing I&amp;#8217;ve come across is (and this has only happened a few times), sometimes the web interface hangs on loading. I don&amp;#8217;t recall seeing a message, just the loading page icon, similar to this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Please wait, loading..." src="/img/2025-01-06/loading.gif" title="Please wait, loading..." /&gt;&lt;/p&gt;

	&lt;p&gt;But, as I said, it only happens once in a while, very rare, so please don&amp;#8217;t let that put you off. I&amp;#8217;m just mentioning it as I&amp;#8217;ve seen it.&lt;/p&gt;

	&lt;h2 class="tick"&gt;What&amp;#8217;s Good?&lt;/h2&gt;

	&lt;ul&gt;
		&lt;li&gt;Does everything an email client needs to do&lt;/li&gt;
		&lt;li&gt;Includes contacts, file storage, notes, calendar&lt;/li&gt;
		&lt;li&gt;Integrates with other services / platforms&lt;sup class="footnote" id="fnreva6aa921fc8054195ba9b489bb16095f5-3"&gt;&lt;a href="#fna6aa921fc8054195ba9b489bb16095f5-3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
		&lt;li&gt;Excellent help system&lt;/li&gt;
		&lt;li&gt;It is fast, as advertised&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2 class="cross"&gt;What&amp;#8217;s Not Good?&lt;/h2&gt;

	&lt;ul&gt;
		&lt;li&gt;Weird sync issues on Android phone&lt;/li&gt;
		&lt;li&gt;No support for viewing / editing office files&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;If you&amp;#8217;re looking to create a new business email account, or to migrate from another provider, I think you&amp;#8217;ll be happy with Fastmail. They&amp;#8217;ve been doing email for twenty five years and it shows.&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fna6aa921fc8054195ba9b489bb16095f5-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Oh yes, they dropped their famous &lt;a href="https://en.wikipedia.org/wiki/Don%27t_be_evil"&gt;motto&lt;/a&gt;, that could have been it!&lt;/p&gt;

	&lt;p class="footnote" id="fna6aa921fc8054195ba9b489bb16095f5-2"&gt;&lt;sup&gt;2&lt;/sup&gt; Fastmail are the primary maintainer of &lt;a href="https://www.cyrusimap.org/"&gt;Cyrus &lt;span class="caps"&gt;IMAP&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;

	&lt;p class="footnote" id="fna6aa921fc8054195ba9b489bb16095f5-3"&gt;&lt;sup&gt;3&lt;/sup&gt; I only use the Dropbox integration. Works well.&lt;/p&gt;</content><category term="mail"></category><category term="review"></category><category term="mail"></category><category term="business"></category></entry><entry><title>Song Covers that are as Good as the Original (or Better)</title><link href="https://simonh.uk/2025/01/05/song-covers-that-are-as-good-as-the-original-or-better/" rel="alternate"></link><published>2025-01-05T00:00:00+00:00</published><updated>2025-01-06T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-05:/2025/01/05/song-covers-that-are-as-good-as-the-original-or-better/</id><summary type="html">	&lt;p&gt;Play the first one again, I&amp;#8217;m not sure now!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Spot the difference" src="/img/2025-01-05/spot_the_difference.webp" title="Spot the difference" /&gt;&lt;/p&gt;

	&lt;p&gt;Every once in a while you hear a song and you &lt;em&gt;love&lt;/em&gt; it. &amp;#8220;Did you know that&amp;#8217;s a cover?&amp;#8221; says someone. You did not. You listen to the original. Hmmmm. Which is better?&lt;/p&gt;

	&lt;p&gt;I was going to make this list limited to only songs that you could buy somewhere (on an easily buyable CD for example). However, the Vampiring Again cover did not meet this condition. Obviously, my condition was wrong.&lt;/p&gt;

	&lt;h2&gt;Blondie &amp;#8211; Heart of Glass&lt;/h2&gt;

	&lt;p&gt;Original:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/WGU_4-5RaxU?si=Vk7upXV3rT6LRmh8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;Associates Cover:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/ygVHGeBUUAE?si=SRjInGTqq7r9XY5c" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;h2&gt;&lt;span class="caps"&gt;CHVRCHES&lt;/span&gt; &amp;#8211; Lies&lt;/h2&gt;

	&lt;p&gt;Original:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/81RqEnvczV8?si=VB8JYhkE63UbM_77" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;Muse Cover:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/0WL9PyRwtj4?si=-LylifPhl0UTpkUL" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;h2&gt;Califone &amp;#8211; Vampiring Again&lt;/h2&gt;

	&lt;p&gt;Original:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/kIiXnuw7mXI?si=Kg82xOzdZaeW51-D" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;John Parish Cover:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/1tmSUhrzqgU?si=41gHkM36TJihsP6R" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;h2&gt;Maurice Chevalier &amp;#8211; Livin&amp;#8217; in the Sunlight&lt;/h2&gt;

	&lt;p&gt;Original:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/EMZL5OYKT8U?si=tC-s6jXruC4-3j5k" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;Tiny Tim Cover:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/xBTa7Xopu9Q?si=Ebv79LzBeipegB8N" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;h2&gt;Grimes &amp;#8211; Oblivion&lt;/h2&gt;

	&lt;p&gt;Original:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/JtH68PJIQLE?si=-8P-sY99lYFS89Fy" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;Coastal Sound Youth Choir Cover:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/6Se0hqGl94U?si=h5EAmWbbLYoLUKWZ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;h2&gt;Gordon Lightfoot &amp;#8211; If You Could Read My Mind&lt;/h2&gt;

	&lt;p&gt;Original:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/jiU2lrGnT7U?si=4JrLmZnwRLN1OvJb" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;Johnny Cash Cover:&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/b2_2uFV64Ao?si=6HWdpPKP0Y7dSxSb" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;


	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-06&lt;/mark&gt;: Add &lt;em&gt;If you could read my mind&lt;/em&gt;&lt;/p&gt;</content><category term="music"></category><category term="music"></category></entry><entry><title>Why You Should Get into the Habit of Thanking Strangers</title><link href="https://simonh.uk/2025/01/04/why-you-should-get-into-the-habit-of-thanking-strangers/" rel="alternate"></link><published>2025-01-04T00:00:00+00:00</published><updated>2025-01-04T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-04:/2025/01/04/why-you-should-get-into-the-habit-of-thanking-strangers/</id><summary type="html">	&lt;p&gt;You don&amp;#8217;t know me but&amp;#8230;&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Thank You" src="/img/2025-01-04/thanks.webp" title="Thank You" /&gt;&lt;/p&gt;

	&lt;p&gt;In July 2024 I was working on a Python project and wanted a way of showing elapsed time in the following format:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;1 hour, 20 minutes ago&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;or, &lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;15 minutes, 42 seconds ago&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;I knew &lt;a href="https://docs.python.org/3/library/datetime.html"&gt;datetime&lt;/a&gt; didn&amp;#8217;t have anything like that, so searched the internet for options. I also knew there are lots of packages, but all I really needed was a function.&lt;/p&gt;

	&lt;p&gt;Eventually, I found &lt;a href="https://git.unturf.com/python/ago"&gt;ago&lt;/a&gt; which looked perfect. I dropped the file in my project directory, tested it out, and it &lt;em&gt;was&lt;/em&gt; perfect for my needs. I was so happy to have avoided probably an hour or mores work, I decided to send the developer (&lt;a href="https://russell.ballestrini.net/"&gt;Russell Ballestrini&lt;/a&gt;) a quick email, thanking him for making it available for lazy people like me (also put a screenshot of how I was using it).&lt;/p&gt;

	&lt;p&gt;Not longer after, I got a reply. He seemed genuinely happy that I&amp;#8217;d found, and was using his code. Told me to check out his other projects to see if there might be anything else of interest.&lt;/p&gt;

	&lt;p&gt;So, his work saved me hours. That&amp;#8217;s got to be worth, what, two minutes to take a screenshot, compose an email, and press send.&lt;/p&gt;

	&lt;h2&gt;Developer Burnout&lt;/h2&gt;

	&lt;p&gt;It&amp;#8217;s well known that programmers often suffer from burnout, see &lt;a href="https://www.theseniordev.com/blog/to-every-developer-close-to-burnout-read-this"&gt;here&lt;/a&gt; and &lt;a href="https://www.software.com/devops-guides/developer-burnout"&gt;here&lt;/a&gt;. If someone is having a bad day (or not) it&amp;#8217;s certainly &lt;strong&gt;not&lt;/strong&gt; going to make their day &lt;em&gt;worse&lt;/em&gt;, if they receive a random &amp;#8220;thank you&amp;#8221; email.&lt;sup class="footnote" id="fnrev991e146897f74954ab29abfbf8db34b7-1"&gt;&lt;a href="#fn991e146897f74954ab29abfbf8db34b7-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;h2&gt;Not Just Software&lt;/h2&gt;

	&lt;p&gt;Sending a quick thank you email isn&amp;#8217;t just for code you use. Same applies to tutorials, which may have taken hours or days to write. Maybe you learnt something new. Maybe someone made you laugh. Maybe your opinion was changed.&lt;sup class="footnote" id="fnrev991e146897f74954ab29abfbf8db34b7-2"&gt;&lt;a href="#fn991e146897f74954ab29abfbf8db34b7-2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;h2&gt;Have I Convinced You?&lt;/h2&gt;

	&lt;p&gt;If so, think of the last stranger who helped you, even though they don&amp;#8217;t know it, and let them know they did.&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn991e146897f74954ab29abfbf8db34b7-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Correct me if I&amp;#8217;m wrong. Doubt it though&amp;#8230;&lt;/p&gt;

	&lt;p class="footnote" id="fn991e146897f74954ab29abfbf8db34b7-2"&gt;&lt;sup&gt;2&lt;/sup&gt; Not me. I&amp;#8217;m always right!&lt;/p&gt;</content><category term="personal"></category><category term="tips"></category><category term="gratitude"></category></entry><entry><title>Dealing with Late Payers - for the Self Employed</title><link href="https://simonh.uk/2025/01/03/dealing-with-late-payers-for-the-self-employed/" rel="alternate"></link><published>2025-01-03T00:00:00+00:00</published><updated>2025-01-05T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-03:/2025/01/03/dealing-with-late-payers-for-the-self-employed/</id><summary type="html">	&lt;p&gt;I&amp;#8217;ve heard it all before&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Unpaid invoices" src="/img/2025-01-03/unpaid.webp" title="Unpaid invoices" /&gt;&lt;/p&gt;

	&lt;h2&gt;Here We Go Again&lt;/h2&gt;

	&lt;p&gt;We self-employed types hear some whoppers over the years don&amp;#8217;t we?&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;&amp;#8220;Invoice? What invoice&amp;#8230;?&amp;#8221;&lt;/li&gt;
		&lt;li&gt;&amp;#8220;We&amp;#8217;ve already paid you!&amp;#8221;&lt;/li&gt;
		&lt;li&gt;&amp;#8220;Our accounts lady only comes in on Thursday mornings.&amp;#8221;&lt;/li&gt;
		&lt;li&gt;&amp;#8220;We haven&amp;#8217;t had what&amp;#8217;s on this invoice!&amp;#8221;&lt;/li&gt;
		&lt;li&gt;&amp;#8220;Our accounts person has left. You&amp;#8217;ll have to wait.&amp;#8221;&lt;/li&gt;
		&lt;li&gt;&amp;#8220;We&amp;#8217;ll pay you the month after next.&amp;#8221;&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2&gt;My Approach to Late Payers&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve worked for myself since 2017. I&amp;#8217;ve only ever not been paid &lt;strong&gt;once&lt;/strong&gt;. It was partly my fault, partly the customers. I just learnt my lesson and moved on.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m writing this as I personally know quite a few self-employed people and often they&amp;#8217;ll moan that they&amp;#8217;re owed money. Quite often it&amp;#8217;ll turn out they not bothering with one or more of the steps below. If this post helps, let me know!&lt;/p&gt;

	&lt;h3&gt;Make sure to get a purchase order!&lt;/h3&gt;

	&lt;p&gt;Step 1. Get a PO, before you do the job / sell whatever you sell. It&amp;#8217;s amazing how many self employed people are lax on this. No business is going to be offended or surprised when you say:&lt;/p&gt;

	&lt;p&gt;&amp;#8220;Ok, great. If you can email me a PO across, I&amp;#8217;ll get that booked in.&amp;#8221;&lt;/p&gt;

	&lt;p&gt;I do this for every job. &lt;/p&gt;

	&lt;h3&gt;Have Terms &amp;amp; Conditions with your payment terms clearly stated (and agreed to)&lt;/h3&gt;

	&lt;p&gt;When I get a new customer, I set them up on my system. Part of that is having them complete my &lt;em&gt;New Customer Form&lt;/em&gt; with their company / accounts details. The second page of that &lt;span class="caps"&gt;PDF&lt;/span&gt; is my terms with a checkbox indicating they agree to those terms. The customer completes it and emails it back. So if there&amp;#8217;s a dispute, sorry, &lt;em&gt;you&lt;/em&gt; agreed to my terms.&lt;/p&gt;

	&lt;h3&gt;Make it easy to get paid on time&lt;/h3&gt;

	&lt;p&gt;When I first started working for myself, I used 30 day terms. I found that quickly got difficult to manage. Let&amp;#8217;s say I do a job on the 15th of January. I&amp;#8217;d put the due date as 15th February on my invoice. The thing is, most businesses (in my experience) pay and get paid at the end of each month. So I switched to &lt;em&gt;net monthly&lt;/em&gt; which means all invoices are payable at the end of the month after invoice date. &lt;/p&gt;

	&lt;p&gt;So, the job I just mentioned that I invoice on 15th January would be due on 28th February. As would a job on 1st January or 31st January. I have &lt;em&gt;one&lt;/em&gt; due date each month. Easier for me, easier for my customers.&lt;/p&gt;

	&lt;h3&gt;Send invoices &lt;span class="caps"&gt;ASAP&lt;/span&gt;&lt;/h3&gt;

	&lt;p&gt;It seems an obvious thing, but are you sending your invoices out promptly? I got into the habit of making it a rule to send invoices on the same day as I finish a job. &lt;/p&gt;

	&lt;h3&gt;Have a robust invoicing system&lt;/h3&gt;

	&lt;p&gt;Again, when I first started on my own, I had &lt;em&gt;no&lt;/em&gt; system to keep track of my invoices. I&amp;#8217;d just check my sent emails and check those against bank payments. Needless to say, that caused some issues so I wrote my own invoicing software. Even a spreadsheet is better than nothing. &lt;/p&gt;

	&lt;h3&gt;Send reminders (and CC yourself)&lt;/h3&gt;

	&lt;p&gt;I send an email summary of all open invoices to each customer in the last week of each month. I also have a copy sent to me. The reason I started cc&amp;#8217;ing myself was when I got &amp;#8220;no, I&amp;#8217;m looking at my inbox now, and your invoice is not there&amp;#8221;. Now, when that happens, I just forward it from my phone. If I&amp;#8217;ve got overdue invoices, I send out the same email on the 1st of the month. This time I &lt;mark&gt;highlight&lt;/mark&gt; that there are overdue invoices.&lt;/p&gt;

	&lt;h3&gt;Weed out the worst offenders&lt;/h3&gt;

	&lt;p&gt;Again, I have a simple but effective system. If I&amp;#8217;m owed money by a customer and they phone or email about another job, I&amp;#8217;ll just tell them that they&amp;#8217;re on stop. It&amp;#8217;s a lot simpler to just pay me than try and find another supplier (who might insist on proforma payment anyway). It won&amp;#8217;t magically turn them into a prompt payer, but at least you&amp;#8217;ll get what&amp;#8217;s currently owed.&lt;/p&gt;

	&lt;p&gt;If they continue to misbehave, I&amp;#8217;ll move them to proforma (upfront) payment.&lt;/p&gt;

	&lt;h3&gt;Don&amp;#8217;t take it personally&lt;/h3&gt;

	&lt;p&gt;I&amp;#8217;ve not figured out exactly why some companies pay late. I&amp;#8217;m sure some of it is cashflow issues, but a lot of it I think is purely because they can&amp;#8217;t be arsed. They&amp;#8217;ll almost certainly be paying other companies late too. Don&amp;#8217;t get worked up, instead improve your system.&lt;/p&gt;

	&lt;h2 class="summary"&gt;Summary&lt;/h2&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;Always&lt;/strong&gt; get a purchase order&lt;/li&gt;
		&lt;li&gt;Payment terms agreed to by customer&lt;/li&gt;
		&lt;li&gt;Invoice net monthly&lt;/li&gt;
		&lt;li&gt;Ensure invoicing system is robust&lt;/li&gt;
		&lt;li&gt;Send invoices promptly&lt;/li&gt;
		&lt;li&gt;Send reminders consistently&lt;/li&gt;
		&lt;li&gt;Ditch the worst payers when you can&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-05&lt;/mark&gt;: Add &lt;em&gt;Summary&lt;/em&gt;&lt;/p&gt;</content><category term="business"></category><category term="business"></category><category term="tips"></category></entry><entry><title>The Little to Big GoAccess Tutorial</title><link href="https://simonh.uk/2025/01/02/the-little-to-big-goaccess-tutorial/" rel="alternate"></link><published>2025-01-02T00:00:00+00:00</published><updated>2025-01-04T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-02:/2025/01/02/the-little-to-big-goaccess-tutorial/</id><summary type="html">	&lt;p&gt;Is there anybody out there? Or in here?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="GoAccess Logo" src="/img/2025-01-02/goaccess.webp" title="GoAccess Logo" /&gt;&lt;/p&gt;

	&lt;h2 class="readme"&gt;&lt;span class="caps"&gt;README&lt;/span&gt;&lt;/h2&gt;

	&lt;p&gt;Hello internet surfers! The goal of this post is to set up &lt;a href="https://goaccess.io/"&gt;GoAccess&lt;/a&gt; for server side reporting of our website visitors (and other stuff eventually). Here&amp;#8217;s the program description from their website:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser. It provides fast and valuable http statistics for system administrators that require a visual server report on the fly.&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;The plan is to start with the vanilla (default) configuration and slowly tweak settings to end up with a lean and accurate reporting system for our site. I&amp;#8217;ll publish new parts as time allows. My server information is:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Debian 12.8&lt;/li&gt;
		&lt;li&gt;Apache 2.4.62&lt;/li&gt;
		&lt;li&gt;GoAccess 1.7 (from Debian repository)&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2 class="question"&gt;Why Are We Doing This?&lt;/h2&gt;

	&lt;p&gt;Client-side javascript analytics scripts have a &lt;em&gt;big&lt;/em&gt; drawback. Look at the screenshot below:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="uBlock Ad Blocker" src="/img/2025-01-02/ublock_origin.webp" title="uBlock Ad Blocker" /&gt;&lt;/p&gt;

	&lt;p&gt;See the problem? Simple Analytics, which I&amp;#8217;ve been trying out, is massively under reporting my visitors. That might have something to do with over &lt;strong&gt;900 million&lt;/strong&gt; people (including me) are using ad blockers! Luckily we have access to our server logs, and that&amp;#8217;s going to give us far more accurate statistics. Let&amp;#8217;s dive in!&lt;/p&gt;

	&lt;p&gt;We&amp;#8217;ll start by dealing with crawlers.&lt;/p&gt;

	&lt;h2&gt;Part 1 &amp;#8211; Crawlers&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;simon@server:~ [ssh] $ cd /etc/goaccess/&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;simon@server:/etc/goaccess [ssh] $ ll
total 48K
drwxr-xr-x   2 root root 4.0K Aug 20  2023 .
drwxr-xr-x 119 root root  12K Jan  2 16:06 ..
-rw-r--r--   1 root root 3.3K Mar  1  2021 browsers.list
-rw-r--r--   1 root root  21K Jan  4  2023 goaccess.conf
-rw-r--r--   1 root root 1.7K Mar  1  2021 podcast.list&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Let&amp;#8217;s become root, so we don&amp;#8217;t have to bother typing &lt;code&gt;sudo&lt;/code&gt; all the time&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@server:/etc/goaccess [ssh] $ sudo -s
[sudo] password for simon:
root@server:/etc/goaccess#&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Let&amp;#8217;s find out how many lines are in &lt;code&gt;goaccess.conf&lt;/code&gt; as generally the more lines, the more options we can fiddle with&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/etc/goaccess# cat goaccess.conf | wc -l
757&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;757 lines, so quite a few. As always, I&amp;#8217;ll keep track of changes I make to the file with &lt;span class="caps"&gt;GNU&lt;/span&gt; &lt;span class="caps"&gt;RCS&lt;/span&gt;. I&amp;#8217;ve written a previous post about using &lt;span class="caps"&gt;RCS&lt;/span&gt; for managing configuration files, available &lt;a href="https://simonh.uk/2023/08/25/using-gnu-rcs-for-managing-configuration-files/"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/etc/goaccess# mkdir RCS
root@server:/etc/goaccess# ci -l goaccess.conf
RCS/goaccess.conf,v  &amp;lt;--  goaccess.conf
enter description, terminated with single &amp;#39;.&amp;#39; or end of file:
NOTE: This is NOT the log message!
&amp;gt;&amp;gt; Initial version
&amp;gt;&amp;gt; .
initial revision: 1.1
done
root@server:/etc/goaccess#&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Right, now we&amp;#8217;ve safely got the unedited file checked in, let&amp;#8217;s run goaccess with the default configuration. All we&amp;#8217;re interested in today is how many visitors this site has had &lt;em&gt;today&lt;/em&gt;. Running the command below will output a few screenfuls of information. I want section 9 &amp;#8212; Virtual Hosts&lt;sup class="footnote" id="fnrev165b425764934195b3e3137c1ffd0daa-1"&gt;&lt;a href="#fn165b425764934195b3e3137c1ffd0daa-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/etc/goaccess# goaccess /var/log/apache2/other_vhosts_access.log -c

   9 - Virtual Hosts

 Hits     h% Vis.     v% Tx. Amount Data
 ---- ------ ---- ------ ---------- ----
  847 46.93%  172 69.92%  13.55 MiB www.simonh.uk&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;So, we&amp;#8217;re told I&amp;#8217;ve had 172 visitors today. Good luck getting more than that, Google!&lt;sup class="footnote" id="fnrev165b425764934195b3e3137c1ffd0daa-2"&gt;&lt;a href="#fn165b425764934195b3e3137c1ffd0daa-2"&gt;2&lt;/a&gt;&lt;/sup&gt; But, before I officially announce this as the most popular site on the whole internet, I better double check my numbers&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Open &lt;code&gt;/etc/goaccess/goaccess.conf&lt;/code&gt; with your editor of choice, and find the following section:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# Ignore crawlers from being counted.
# This will ignore robots listed under browsers.c
# Note that it will count them towards the total
# number of requests, but excluded from any of the panels.
#
ignore-crawlers true

# Parse and display crawlers only.
# This will ignore all hosts except robots listed under browsers.c
# Note that it will count them towards the total
# number of requests, but excluded from any of the panels.
#
crawlers-only false

# Unknown browsers and OS are considered as crawlers
#
unknowns-as-crawlers true&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I&amp;#8217;m going to first change ignore-crawlers from false to true, and then checkin the change.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/etc/goaccess# ci -l goaccess.conf
RCS/goaccess.conf,v  &amp;lt;--  goaccess.conf
new revision: 1.2; previous revision: 1.1
enter log message, terminated with single &amp;#39;.&amp;#39; or end of file:
&amp;gt;&amp;gt; Ignore-crawlers = true
&amp;gt;&amp;gt; .
done&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now we&amp;#8217;ll run goaccess again and see how that change has affected our visitors&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/etc/goaccess# goaccess /var/log/apache2/other_vhosts_access.log -c

   9 - Virtual Hosts

 Hits     h% Vis.     v% Tx. Amount Data
 ---- ------ ---- ------ ---------- ----
  636 41.79%   90 69.23%   7.37 MiB www.simonh.uk&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;So by just ignoring crawlers, my visitors have been nearly halved. I don&amp;#8217;t know whether to be happy or sad about that. But lets keep going. The next obvious thing to do is to set that visitors that are using unknown browsers and OS&amp;#8217;s are also probably crawlers (makes sense). So let&amp;#8217;s throw them away as well! And checkin our change&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/etc/goaccess# ci -l goaccess.conf
RCS/goaccess.conf,v  &amp;lt;--  goaccess.conf
new revision: 1.3; previous revision: 1.2
enter log message, terminated with single &amp;#39;.&amp;#39; or end of file:
&amp;gt;&amp;gt; unknowns-as-crawlers = true
&amp;gt;&amp;gt; .
done&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Let&amp;#8217;s run goaccess yet again to see if I&amp;#8217;ve lost any more visitors&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  9 - Virtual Hosts

 Hits     h% Vis.     v% Tx. Amount Data
 ---- ------ ---- ------ ---------- ----
  550 78.57%   58 68.24%   6.36 MiB www.simonh.uk&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;So by changing just those two options from false to true, I&amp;#8217;ve wiped out another third of my visitors! You&amp;#8217;ll have to bear with me while I ascend a mountain to contemplate whether &lt;em&gt;ignorance is bliss&lt;/em&gt;, or, &lt;em&gt;the truth shall set you free&lt;/em&gt;. &lt;/p&gt;

	&lt;p&gt;See you in the next part&amp;#8230;&lt;/p&gt;

	&lt;h2&gt;Part 2 &amp;#8211; Emailing the Report&lt;/h2&gt;

	&lt;p&gt;Turns out there are no mountains near me (plus it&amp;#8217;s cold) so I&amp;#8217;ll continue. I wrote a &lt;a href="https://simonh.uk/2021/05/01/get-a-daily-email-report-of-your-website-visitors/"&gt;post&lt;/a&gt; back in 2021 about getting a daily email of visitors using goaccess, which I&amp;#8217;ll slightly modify here. &lt;/p&gt;

	&lt;p&gt;Here is the script we&amp;#8217;ll use which we&amp;#8217;ll call &lt;code&gt;apache_report&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/bash
now=`date +%Y-%m-%d_%H%M%S`
goaccess /var/log/apache2/other_vhosts_access.log --log-format=VCOMBINED -o report_$now.html
gzip report_$now.html
echo &amp;quot;Report&amp;quot; | mail -s &amp;quot;Apache Report - $now&amp;quot; -A report_$now.html.gz &amp;lt;you@youremail.address&amp;gt;&lt;/code&gt;&lt;/pre&gt;

	&lt;p class="warn"&gt;Remember to change &lt;em&gt;you@youremail.address&lt;/em&gt; to your email address!&lt;/p&gt;

	&lt;p&gt;If you haven&amp;#8217;t got round to setting up a mail server yet, you can follow my &lt;a href="https://simonh.uk/2021/04/16/opensmtpd-for-outgoing-mail-only/"&gt;tutorial&lt;/a&gt; for OpenSMTPD, or find one elsewhere on the net.&lt;/p&gt;

	&lt;p&gt;First thing to do is save &lt;code&gt;apache_report&lt;/code&gt; on the server and check it works.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@server:~/tmp [ssh] $ nano apache_report &lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Copy the script above and paste it into your editor. With that saved, let&amp;#8217;s run it.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@server:~/tmp [ssh] $ sudo bash apache_report 
 [PARSING /var/log/apache2/other_vhosts_access.log] {256} @ {0/s}
Cleaning up resources...
simon@server:~/tmp [ssh] $ &lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;No errors. Good. Let&amp;#8217;s check our email:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Apache reports emailed" src="/img/2025-01-02/inbox.webp" title="Apache reports emailed" /&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve sent a few to myself, as you can see. Below is how the email looks on mobile. I&amp;#8217;ve formatted it like this to make it easier to view here on this page:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Goaccess report" src="/img/2025-01-02/html_report.webp" title="Goaccess report" /&gt;&lt;/p&gt;

	&lt;p&gt;Awesome! The final thing to do in part 2, is set up a cron job so we&amp;#8217;ll get a daily email with our stats.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@server:~/tmp [ssh] $ sudo cp apache_report /etc/cron.daily/
[sudo] password for simon: 
simon@server:~/tmp [ssh] $ ls /etc/cron.daily/
00logwatch     apt-compat                dpkg       mod-pagespeed
apache2        aptitude                  logrotate  ntp
apache_report  bsdmainutils.dpkg-remove  man-db     popularity-contest&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Make our file executable&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@server:~/tmp [ssh] $ sudo chmod+x /etc/cron.daily/apache_report&lt;/code&gt;&lt;/pre&gt;

	&lt;p class="warn"&gt;One thing to warn you about: each email is currently 148kB in size (gzipped). Extracted they are coming out at about 450KB. I know we aren&amp;#8217;t in 1980 anymore, but make sure you&amp;#8217;ve got plenty of storage with your mail provider!&lt;/p&gt;

	&lt;p&gt;The next day @ 06:25:55 my report arrives in my inbox (table below is the vhosts section):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Goaccess vhosts report" src="/img/2025-01-02/vhosts_report.webp" title="Goaccess vhosts report" /&gt;&lt;/p&gt;

	&lt;h2&gt;Part 3 &amp;#8211; ?&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Please Stand By" src="/img/standby2.webp" title="Please Stand By" /&gt;&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn165b425764934195b3e3137c1ffd0daa-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Note to self: trim all that trailing whitespace with &lt;code&gt;sed -i 's/[[:space:]]*$//' &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/p&gt;

	&lt;p class="footnote" id="fn165b425764934195b3e3137c1ffd0daa-2"&gt;&lt;sup&gt;2&lt;/sup&gt; I&amp;#8217;m informed that Google shares numbers in the millions or billions. Maybe trillions. Still, 172 should put me in the top 10 I expect.&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2024-01-04&lt;/mark&gt;: Add &lt;em&gt;why are we doing this?&lt;/em&gt; section to part 1&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2024-01-03&lt;/mark&gt;: Add &lt;em&gt;Part 2&lt;/em&gt;&lt;/p&gt;</content><category term="web"></category><category term="analytics"></category><category term="apache"></category><category term="tips"></category></entry><entry><title>Blog Post Categories and Tags</title><link href="https://simonh.uk/2025/01/01/blog-post-categories-and-tags/" rel="alternate"></link><published>2025-01-01T00:00:00+00:00</published><updated>2025-01-01T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-01:/2025/01/01/blog-post-categories-and-tags/</id><summary type="html">	&lt;p&gt;Where should this one go?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Filing Cabinets" src="/img/2025-01-01/filing_cabinets.webp" title="Filing Cabinets" /&gt;&lt;/p&gt;

	&lt;p&gt;Happy 2025 internet surfers! This is a quick post with my thoughts about structuring blog post categories and tags.&lt;/p&gt;

	&lt;p class="warn"&gt;These are just &lt;em&gt;my&lt;/em&gt; thoughts today, and may change in the future. Doing your own thinking and research is always recommended!&lt;/p&gt;

	&lt;h2&gt;Definitions&lt;/h2&gt;

	&lt;p&gt;Google AI Overview says this:&lt;sup class="footnote" id="fnrev9cda6d811b31444382c2142d20831f9e-1"&gt;&lt;a href="#fn9cda6d811b31444382c2142d20831f9e-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;A blog category is a broad topic that groups related posts together, acting like a chapter in a book, while a tag is a more specific keyword that describes the details of a single post, allowing you to link related content across different categories, similar to an index in a book; essentially, categories provide a high-level overview of topics, while tags offer a granular view of individual post content.&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;I think that definition is good enough for us. &lt;/p&gt;

	&lt;h2&gt;Categories&lt;/h2&gt;

	&lt;p&gt;I prefer having one word categories:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;blogging&lt;/li&gt;
		&lt;li&gt;software&lt;/li&gt;
		&lt;li&gt;mail&lt;/li&gt;
		&lt;li&gt;web&lt;/li&gt;
		&lt;li&gt;reviews&lt;/li&gt;
		&lt;li&gt;rants&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I think keeping the category to one (short) word shows more clearly that it is the category. For example, here are a couple of posts as they appear on my index page:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Index page blog entry" src="/img/2025-01-01/example1.webp" title="Index page blog entry" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Index page blog entry" src="/img/2025-01-01/example2.webp" title="Index page blog entry" /&gt;&lt;/p&gt;

	&lt;p&gt;The first post has two tags, the second has only one, but a three word tag. But, they both have one word categories. To my eye, they look cleaner like that. Plus, I can&amp;#8217;t think of anything that can&amp;#8217;t be reduced down to one word. Well, not yet anyway!&lt;/p&gt;

	&lt;p&gt;Of course, it can sometimes be hard to decide &lt;em&gt;which&lt;/em&gt; category a post belongs to. Maybe you&amp;#8217;ve written a great article about setting up some feature of Apache. What&amp;#8217;s the best category for it? &lt;code&gt;apache&lt;/code&gt;, &lt;code&gt;web-dev&lt;/code&gt;, &lt;code&gt;httpd&lt;/code&gt; and many more possibilities&amp;#8230;&lt;/p&gt;

	&lt;p&gt;I would (and do) just shove that one in &lt;code&gt;web&lt;/code&gt;. Blogging posts could also go in &lt;code&gt;web&lt;/code&gt; but as I write quite a few posts about blogging, they get their own category.&lt;/p&gt;

	&lt;h2&gt;Tags&lt;/h2&gt;

	&lt;p&gt;To use a bookshop analogy, if the category is the section, i.e. history, fiction, geography, politics etc.&lt;/p&gt;

	&lt;p&gt;Then tags for history might include:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Second World War&lt;/li&gt;
		&lt;li&gt;Ancient Rome&lt;/li&gt;
		&lt;li&gt;European History&lt;/li&gt;
		&lt;li&gt;World History&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;And each one of those could be broken down further. Ultimately, a tag allows you more specificity. The longest tag I currently have on this blog is &lt;em&gt;naturally extracted tobacco&lt;/em&gt; which lives in the &lt;em&gt;vaping&lt;/em&gt; category.&lt;/p&gt;

	&lt;h2&gt;My Approach&lt;/h2&gt;

	&lt;p&gt;I write this after (yet again) attempting to tidy up and rationalise my categories and tags. I&amp;#8217;ve written a few post about &lt;a href="https://opensmtpd.org/"&gt;OpenSMTPD&lt;/a&gt; and they had a category of &lt;em&gt;mail&lt;/em&gt; and a tag of &lt;em&gt;opensmtpd&lt;/em&gt;. I&amp;#8217;ve decided it makes more sense to just tag them &lt;em&gt;smtp&lt;/em&gt; so if I decide to write a post about Postfix, or Exim, they will also be categorised as &lt;em&gt;mail&lt;/em&gt; and tagged as &lt;em&gt;smtp&lt;/em&gt;.&lt;/p&gt;

	&lt;p&gt;As usual, there is no &lt;strong&gt;one correct way&lt;/strong&gt;. If you run a humourous blog, you probably won&amp;#8217;t need a &amp;#8220;humour&amp;#8221; category as everything is (hopefully) going to be funny. Instead your categories might be:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;People&lt;/li&gt;
		&lt;li&gt;Animals&lt;/li&gt;
		&lt;li&gt;Bloopers&lt;/li&gt;
		&lt;li&gt;Pranks&lt;/li&gt;
		&lt;li&gt;Classic&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;and your tags might be:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Old People&lt;/li&gt;
		&lt;li&gt;Kids&lt;/li&gt;
		&lt;li&gt;Cats&lt;/li&gt;
		&lt;li&gt;Dogs&lt;/li&gt;
		&lt;li&gt;Rabbits&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2 class="question"&gt;Why it Matters&lt;/h2&gt;

	&lt;p&gt;If you have &lt;span class="caps"&gt;RSS&lt;/span&gt; or Atom feeds that people actually read, then it will matter a lot. Regular web search visitors also might want to read other posts with a similar theme. Picking and sticking to a sensible naming convention will help both you, and them.&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn9cda6d811b31444382c2142d20831f9e-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I must admit the new first AI Overview result is often the best. God help us humans :(&lt;/p&gt;</content><category term="blogging"></category><category term="blogging"></category><category term="tips"></category><category term="pelican"></category></entry><entry><title>Favourite Albums of 2024</title><link href="https://simonh.uk/2025/01/01/favourite-albums-of-2024/" rel="alternate"></link><published>2025-01-01T00:00:00+00:00</published><updated>2025-01-06T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2025-01-01:/2025/01/01/favourite-albums-of-2024/</id><summary type="html">	&lt;p&gt;A definitive list.&lt;/p&gt;</summary><content type="html">	&lt;p class="warn"&gt;This is another ongoing post. Might take a few weeks to be finished. &lt;/p&gt;

	&lt;h2 class="readme"&gt;&lt;span class="caps"&gt;README&lt;/span&gt;&lt;/h2&gt;

	&lt;p&gt;Listening to albums is something I used to love to do. Then, about fifteen / twenty years ago no one had time for that anymore. It was all about tracks. Well, that&amp;#8217;s another thing (along with &lt;a href="https://simonh.uk/2024/12/31/its-time-to-get-back-on-the-internet/"&gt;The Internet&lt;/a&gt;) that we made a mistake about. Here are some albums that you should sit down and listen to. Preferably with a book (set volume to low).&lt;/p&gt;

	&lt;p&gt;Two things to note. All of the albums below, I have listened to fully. As you know, sometimes a band, or artist, will have &lt;strong&gt;one&lt;/strong&gt; great song. So you buy the album and it turns out: you got conned! Sucker! &lt;/p&gt;

	&lt;p&gt;Not here, friend. Another thing, I insist on melodies. Those &lt;em&gt;experimental&lt;/em&gt; noisescape monstrosities are not here. &lt;/p&gt;

	&lt;p&gt;This is also &lt;em&gt;not&lt;/em&gt; a &lt;del&gt;10&lt;/del&gt; &lt;del&gt;20&lt;/del&gt; &lt;del&gt;50&lt;/del&gt; best album of &lt;span class="caps"&gt;YYYY&lt;/span&gt; things. It&amp;#8217;ll probably end up at a maximum of ten (maybe less). Albums are ordered alphabetically by Artist. &lt;/p&gt;

	&lt;h2&gt;Adrianne Lenker &amp;#8211; Bright Future&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Bright Future" src="/img/2025-01-01/bright_future.webp" title="Bright Future" /&gt;&lt;/p&gt;

	&lt;p&gt;Standout Track  &amp;#8212; &lt;em&gt;Sadness as a Gift&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/GmycsQ30obg?si=SqGUC7O6xIByaoNQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;&lt;hr&gt;&lt;/p&gt;

	&lt;h2&gt;Chris Acker &amp;#8212; Famous Lunch&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Famous Lunch" src="/img/2025-01-01/famous_lunch.webp" title="Famous Lunch" /&gt;&lt;/p&gt;

	&lt;p&gt;Standout Track  &amp;#8212; &lt;em&gt;Wouldn&amp;#8217;t Do For You (Buddy)&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/2obJgsvlZoo?si=bY-lYnZAUUvnB41J" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;&lt;hr&gt;&lt;/p&gt;

	&lt;h2&gt;Gillian Welch &amp;amp; David Rawlings &amp;#8212; Woodland&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Woodland" src="/img/2025-01-01/woodland.webp" title="Woodland" /&gt;&lt;/p&gt;

	&lt;p&gt;Standout Track &amp;#8212; &lt;em&gt;North Country&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/JfKVePzPOCA?si=l8eHMCSPgHeZ9-oZ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;&lt;hr&gt;&lt;/p&gt;

	&lt;h2&gt;Jessica Pratt &amp;#8211; Here In The Pitch&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Jessica Pratt" src="/img/2025-01-01/jessica.webp" title="Jessica Pratt" /&gt;&lt;/p&gt;

	&lt;p&gt;Standout Track &amp;#8212; The Last Year&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/St7PRIJVZ-Q?si=mR5O0RaPrfiguGsk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;&lt;hr&gt;&lt;/p&gt;

	&lt;h2&gt;Vampire Weekend &amp;#8211; Only God Was Above Us&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Only God Was Above Us" src="/img/2025-01-01/only_god.webp" title="Only God Was Above Us" /&gt;&lt;/p&gt;

	&lt;p&gt;Standout Track &amp;#8212; &lt;em&gt;Capricorn&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/8lCmyFCj580?si=nKnfFRl7F4r1oXQL" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;&lt;hr&gt;&lt;/p&gt;</content><category term="music"></category><category term="music"></category><category term="opinion"></category></entry><entry><title>It's Time to Get Back on The Internet</title><link href="https://simonh.uk/2024/12/31/its-time-to-get-back-on-the-internet/" rel="alternate"></link><published>2024-12-31T00:00:00+00:00</published><updated>2024-12-31T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-31:/2024/12/31/its-time-to-get-back-on-the-internet/</id><summary type="html">	&lt;p&gt;Leave those intranets behind&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="The Internet" src="/img/2024-12-31/internet.webp" title="The Internet" /&gt;&lt;/p&gt;

	&lt;h2&gt;An Intranet is not The Internet&lt;/h2&gt;

	&lt;p&gt;Facebook, Twitter/X, Linkedin, Tiktok et al. are all intranets.&lt;/p&gt;

	&lt;p&gt;From &lt;a href="https://en.wikipedia.org/wiki/Intranet"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;An intranet is a computer network for sharing information, easier communication, collaboration tools, operational systems, and other computing services within an organization, usually to the exclusion of access by outsiders. The term is used in contrast to public networks, such as the Internet, but uses the same technology based on the Internet protocol suite.&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Pay particular attention to &lt;em&gt;easier communication&lt;/em&gt; as all these intranets are predominantly concerned with their users interacting with each other. Invite your friends! They&amp;#8217;ll love it here.&lt;/p&gt;


	&lt;h2&gt;No, I&amp;#8217;m Not On [&amp;#8230;]&lt;/h2&gt;

	&lt;p&gt;Quite often through my work, I&amp;#8217;ll be asked &amp;#8220;can you whatsapp that photo to to me?&amp;#8221; I reply that I cannot, as I don&amp;#8217;t use it. I never have used it and I never will. Why would I a messaging intranet? I have loads of email addresses, and a phone that can make and receive calls and messages.&lt;/p&gt;

	&lt;p&gt;&amp;#8220;I&amp;#8217;ll share it with you on Facebook!&amp;#8221; I&amp;#8217;m not on there. Just email it mate.&lt;/p&gt;

	&lt;p&gt;I think they sometimes think I&amp;#8217;m a bit odd (I am) for not having accounts that they presume &lt;em&gt;everyone&lt;/em&gt; has. But here&amp;#8217;s the thing&amp;#8230;&lt;/p&gt;


	&lt;h2&gt;It&amp;#8217;s Not Cool Anymore&lt;/h2&gt;

	&lt;p&gt;When these intranets started popping up, it was new and cool. &amp;#8220;Are you on &lt;a href="https://en.wikipedia.org/wiki/Friends_Reunited"&gt;Friends Reunited&lt;/a&gt;?&amp;#8221; Of course I am, we would reply back in about 2000.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m just going on my recollections but as I remember it, you would find people you hadn&amp;#8217;t seen in donkeys, send them a message and then if you wanted to, you&amp;#8217;d exchange emails and the site had fufilled it&amp;#8217;s purpose.&lt;/p&gt;

	&lt;p&gt;It was more of a directory of people than anything else. And that was fine. Better, actually.&lt;/p&gt;

	&lt;p&gt;But then, other companies wanted you on &lt;em&gt;their&lt;/em&gt; intranet &lt;em&gt;all the time&lt;/em&gt;. Forget about that old internet thing. We&amp;#8217;ve got everything you&amp;#8217;ll ever need right here. You like games? Check. Got a group that likes to meet up and talk about trains, planes or automobiles? Bring them here! None of you will ever need to stand up again. It&amp;#8217;ll be awesome. Like shopping? We&amp;#8217;ve got loads of ads that&amp;#8217;ll catch your eye. And they&amp;#8217;ll deliver it to you as well.&lt;/p&gt;


	&lt;h2&gt;The Kids Get Angry&lt;/h2&gt;

	&lt;p&gt;One day, the young will rediscover what the internet was once like and how it slowly got worse. How the adults wrung their hands about the rampant grooming and exploitation of &lt;em&gt;children&lt;/em&gt; on various &lt;em&gt;hugely profitable&lt;/em&gt; intranets (that were delighted to have those children on their &amp;#8220;platforms&amp;#8221;). And they&amp;#8217;ll be angry. Quite rightly. They&amp;#8217;ll (re)invent their own internet.&lt;/p&gt;

	&lt;p&gt;Unless the adults lead by example and ditch these awful places. But, they won&amp;#8217;t. &lt;/p&gt;

	&lt;h2&gt;Afterword&lt;/h2&gt;

	&lt;p&gt;Tnanks to these dreadful intranets, here in the UK we now have the &lt;a href="https://www.legislation.gov.uk/ukpga/2023/50/pdfs/ukpga_20230050_en.pdf"&gt;Online Safety Act 2023&lt;/a&gt; (303 pages)!&lt;/p&gt;

	&lt;p&gt;From the &lt;span class="caps"&gt;NSPCC&lt;/span&gt; (UK charity):&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;The Act means that tech companies running social networking sites or search engines must promote online safety by tackling illegal material and content that is harmful to children, conducting regular risk assessments, and properly enforcing age limits.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Sounds good. Except that the legislation has attracted considerable from criticism from, for example, &lt;a href="https://www.article19.org/resources/uk-online-safety-bill-serious-threat-to-human-rights-online/"&gt;Article 19&lt;/a&gt;, the &lt;a href="https://www.eff.org/pages/uk-online-safety-bill-massive-threat-online-privacy-security-and-speech"&gt;&lt;span class="caps"&gt;FSF&lt;/span&gt;&lt;/a&gt; and many other sites.&lt;/p&gt;</content><category term="web"></category><category term="social media"></category><category term="opinion"></category></entry><entry><title>Using Blogger in 2025</title><link href="https://simonh.uk/2024/12/30/using-blogger-in-2025/" rel="alternate"></link><published>2024-12-30T00:00:00+00:00</published><updated>2025-01-05T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-30:/2024/12/30/using-blogger-in-2025/</id><summary type="html">	&lt;p&gt;I remember this&amp;#8230;!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Blogger logo" src="/img/logo/blogger_logo.webp" title="Blogger logo" /&gt;&lt;/p&gt;

	&lt;h2&gt;Hello Old Lad!&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve had a couple of emails about my &lt;a href="https://simonh.uk/2024/12/20/why-start-your-own-blog-in-2025/"&gt;Why start your own blog in 2025&lt;/a&gt; post. Both were similarly themed:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;What software do you recommend?&lt;/li&gt;
		&lt;li&gt;What&amp;#8217;s the easiest way to get started with a blog?&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Now usually I&amp;#8217;d recommend a static site generator. But, if you&amp;#8217;re wanting to just &lt;em&gt;dip your toe in the water&lt;/em&gt; and see if having a blog is right for you, that&amp;#8217;s a lot of upfront work. Potentially enough to make you abandon the whole idea. I wasn&amp;#8217;t having that. So I had a little think, did a bit of research on the internet, and then remembered &lt;a href="https://www.blogger.com"&gt;blogger.com&lt;/a&gt;.&lt;/p&gt;

	&lt;p&gt;Even though I haven&amp;#8217;t been on the site for years, there was my profile. Exactly as I&amp;#8217;d left it!&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Blogging since 2008" src="/img/2024-12-30/blogger_profile.webp" title="Blogging since 2008" /&gt;&lt;/p&gt;

	&lt;p&gt;As you can see from the screenshot above, I had planned to conquer the internet with my &lt;em&gt;Money Making Ideas&lt;/em&gt;&lt;sup class="footnote" id="fnrev9e0420c027ba4550bcfd4ad83a6e82af-1"&gt;&lt;a href="#fn9e0420c027ba4550bcfd4ad83a6e82af-1"&gt;1&lt;/a&gt;&lt;/sup&gt; and &lt;em&gt;Learn Touch Typing&lt;/em&gt; sites. Oh, the silly (and lazy) boy I was. Of course I had to look to see what rubbish I&amp;#8217;d put on there:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Blogger - No Posts" src="/img/2024-12-30/blogger_no_posts.webp" title="Blogger - No Posts" /&gt;&lt;/p&gt;

	&lt;p&gt;I told you I was lazy. Nada. No wonder I&amp;#8217;m still not rich.&lt;/p&gt;

	&lt;h2&gt;How Easy is Blogger to Use?&lt;/h2&gt;

	&lt;p&gt;Very. I set up a new blog: Burton on Trent Stuff, picked a blogspot subdomain for it to live: burton-on-trent.blogspot.com and &lt;a href="https://burton-on-trent.blogspot.com/"&gt;there&lt;/a&gt; it was! So I added a &lt;a href="https://burton-on-trent.blogspot.com/2024/12/blog-post.html"&gt;test post&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Blogger Post" src="/img/2024-12-30/blogger_test_post.webp" title="Blogger Post" /&gt;&lt;/p&gt;

	&lt;p&gt;The web interface is very straightforward. You&amp;#8217;ve got a pane on the left for creating new posts and pages, and some fiddling bits and bobs. At the bottom is helpful button to see how your blog looks:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Blogger Menu" src="/img/2024-12-30/blogger_menu.webp" title="Blogger Menu" /&gt;&lt;/p&gt;

	&lt;p&gt;The rest of the page is a list of your posts or pages.&lt;/p&gt;

	&lt;h2&gt;Can I Backup, Move, Delete a Blogger Blog?&lt;/h2&gt;

	&lt;p&gt;In the interests of science, I decided to sacrifice one of my Blogger blogs (that had no posts). Clicking on &lt;em&gt;delete blog&lt;/em&gt; shows this dialogue:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Delete Blogger blog" src="/img/2024-12-30/blogger_delete.webp" title="Delete Blogger blog" /&gt;&lt;/p&gt;

	&lt;p&gt;Thanks! I won&amp;#8217;t bother this time though, Google. I&amp;#8217;m sure I&amp;#8217;ll survive without a backup of my &lt;em&gt;empty&lt;/em&gt; blog!&lt;/p&gt;

	&lt;p&gt;As for exporting a blog, according to &lt;a href="https://wordpress.com/support/import/coming-from-blogger/"&gt;Wordpress&lt;/a&gt; everything should be tickety-boo (screenshot from above link):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Importing blogger site into Wordpress" src="/img/2024-12-30/blogger_wordpress.webp" title="Importing blogger site into Wordpress" /&gt;&lt;/p&gt;

	&lt;h2 class="idea"&gt;Use as a Backup Blog!&lt;/h2&gt;

	&lt;p&gt;Another use case for Blogger is as a backup site in case something happens to your main site. I&amp;#8217;ve set up &lt;a href="https://s1m0nh.blogspot.com/"&gt;s1m0nh.blogspot.com&lt;/a&gt; for just this purpose. I know s1m0nh is a silly subdomain but that&amp;#8217;s my fallback if simonh has been taken. If they&amp;#8217;re both gone, I just go with:&lt;/p&gt;

	&lt;p&gt;whydoeseveryoneinsistontakingmyusernames&lt;/p&gt;

	&lt;p&gt;That one&amp;#8217;s &lt;em&gt;always&lt;/em&gt; available. &lt;strong&gt;Please&lt;/strong&gt; do not steal it. &lt;/p&gt;

	&lt;p&gt;You could also use your blogspot.com site for comments, or as a contact page. It took me a few minutes to find out how, but it&amp;#8217;s actually simple.&lt;/p&gt;

	&lt;p&gt;On the Blogger main page, click on &lt;em&gt;Layout&lt;/em&gt;, then click on &lt;em&gt;Add a Gadget&lt;/em&gt; (to the area of the page you want it displayed), find the one that says &lt;em&gt;Contact form&lt;/em&gt; and click it:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Blogger Layout gadgets" src="/img/2024-12-30/blogger_gadgets.webp" title="Blogger Layout gadgets" /&gt;&lt;/p&gt;

	&lt;p&gt;Then, back on the main site, you&amp;#8217;ll now see the contact form widget (where you can also turn it off or rename it by clicking the pen icon):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Blogger contact widget" src="/img/2024-12-30/blogger_contact.webp" title="Blogger contact widget" /&gt;&lt;/p&gt;

	&lt;p&gt;Finally, click on &lt;em&gt;view blog&lt;/em&gt; and you should now see your contact form on your blogspot.com site:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Blogger email form" src="/img/2024-12-30/blogger_email.webp" title="Blogger email form" /&gt;&lt;/p&gt;

	&lt;p&gt;Of course, I don&amp;#8217;t take &lt;em&gt;anything&lt;/em&gt; for granted, so I sent a test email &lt;/p&gt;

	&lt;p&gt;&lt;img alt="gmail inbox" src="/img/2024-12-30/blogger_gmail.webp" title="gmail inbox" /&gt;&lt;/p&gt;

	&lt;h2&gt;Afterword&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve got to hand it to Google. It &lt;strong&gt;still&lt;/strong&gt; does the job of setting up a blog, adding posts, editing posts and all that good stuff very well. Yeah, there are lots of new, shiny, hip options today, but for getting something up and running in five minutes, I don&amp;#8217;t think anything else can beat Blogger.&lt;/p&gt;

	&lt;p&gt;You can set up a blog, subdomain, contact page, blog comments in &lt;strong&gt;five minutes&lt;/strong&gt;! If anyone knows anything quicker than that, shoot me an email (or use my blogspot contact page).&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-05&lt;/mark&gt;: Add Blogger logo and move profile photo down page&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-04&lt;/mark&gt;: Add section about &lt;em&gt;Using blogger as a backup blog&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-02&lt;/mark&gt;: Add section about &lt;em&gt;Backing up, moving, deleting a blog&lt;/em&gt;&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn9e0420c027ba4550bcfd4ad83a6e82af-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Anyone old enough to remember Griz and his make money online blogspot site? I think he inspired this&amp;#8230;&lt;/p&gt;</content><category term="blogging"></category><category term="blogger"></category><category term="writing"></category><category term="web"></category></entry><entry><title>What's it Like to be Bitten by a Cat?</title><link href="https://simonh.uk/2024/12/30/whats-it-like-to-be-bitten-by-a-cat/" rel="alternate"></link><published>2024-12-30T00:00:00+00:00</published><updated>2025-01-02T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-30:/2024/12/30/whats-it-like-to-be-bitten-by-a-cat/</id><summary type="html">	&lt;p&gt;Cat post with a twist!&lt;/p&gt;</summary><content type="html">	&lt;h2 class="calendar"&gt;Monday 8th May 2023&lt;/h2&gt;

	&lt;p&gt;We&amp;#8217;re trying to train our latest cat, Jack, to use the cat flap. It&amp;#8217;s not going very well. We&amp;#8217;ve done the usual me on one side, missus on the other and pushing him through. Then the other way, but he&amp;#8217;s not getting it. We also tried to get him to watch his older brother who has always gone through very slowly, but successfully. &lt;/p&gt;

	&lt;p&gt;Jack&amp;#8217;s method is to try and grab the cat flap with his paw, possibly to pull it open instead of pushing it open. We tell him (yeah, I know he won&amp;#8217;t understand) that&amp;#8217;s not going to work, and that he could get his paw stuck, but he won&amp;#8217;t listen. After a while, I get bored and head back to the computer. &lt;/p&gt;

	&lt;p&gt;Five minutes later there&amp;#8217;s all hell breaking loose!&lt;/p&gt;

	&lt;p&gt;The missus is screaming, shouting, crying&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Missus screaming" src="/img/2024-12-30/woman_screaming.webp" title="Missus screaming" /&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;He&amp;#8217;s got his paw stuck! He&amp;#8217;s got his paw stuck! &lt;span class="caps"&gt;SIMON&lt;/span&gt;!!!! Jack&amp;#8217;s got his paw stuck!&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Jack is wailing, making blood curdling sounds the likes of which I&amp;#8217;ve not heard before, or since.&lt;/p&gt;

	&lt;p&gt;I leg it to the back door and quickly assess the situation. Yep, paw stuck. Jack&amp;#8217;s going ape ****.&lt;/p&gt;

	&lt;p&gt;&amp;#8220;Watch out the way&amp;#8221;, I tell Kirsty. My plan is straightforward. Grab his front right paw (the stuck one), yank it out of the cat flap (these things need dealing with swiftly), and try and settle everything down.&lt;/p&gt;

	&lt;p&gt;So, with my left hand, I hold the left side of Jack&amp;#8217;s body. With my right hand I try and prise the stuck paw. Maybe two seconds have passed and Jack turns his head toward my left hand and bites down on my thumb. When I say bites down, it&amp;#8217;s like a &lt;em&gt;knife cutting through soft butter&lt;/em&gt;. No effort on his part.&lt;/p&gt;

	&lt;p&gt;I look at my hand, and the cat that&amp;#8217;s now clamped himself there. The paw is still stuck, by the way. &lt;/p&gt;

	&lt;p&gt;Ok, so things haven&amp;#8217;t gone to plan (to put it mildly). Now I start to scream &lt;/p&gt;

	&lt;p&gt;&lt;img alt="Me screaming" src="/img/2024-12-30/man_screaming.webp" title="Me screaming" /&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;He&amp;#8217;s bitten me! He&amp;#8217;s bitten me! Arghhhhhhh!!!!! The little ******!&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;So. I yank him from the cat flap in one swift motion. Paw is now unstuck. I&amp;#8217;m about to try and now yank Jack off my thumb next but he&amp;#8217;s realised the situation has changed and must have let go. Runs upstairs.&lt;/p&gt;

	&lt;h2&gt;Won&amp;#8217;t Stop Bleeding&lt;/h2&gt;

	&lt;p&gt;Even though we&amp;#8217;re only maybe thirty seconds into the drama, there&amp;#8217;s lot&amp;#8217;s of blood all over the place. The missus gets the kitchen roll and we attempt to stop the bleeding. Shortly after, I say to her, &amp;#8220;it won&amp;#8217;t ******* stop bleeding!&amp;#8221;. It just won&amp;#8217;t. So I phone the emergency services to get some advice. &lt;/p&gt;

	&lt;p&gt;Eventually, we agree that I don&amp;#8217;t need an ambulance, but don&amp;#8217;t want to drive, so a taxi to the hospital it is.&lt;/p&gt;

	&lt;h2&gt;At the Hospital&lt;/h2&gt;

	&lt;p&gt;Get to the hospital (with the other half) and approach the A&amp;amp;E reception. The woman on the phone told me that they&amp;#8217;d be expecting me. I tell them that I&amp;#8217;ve got a cat bite and it wouldn&amp;#8217;t stop bleeding although is does seem to be stopping now. &lt;/p&gt;

	&lt;p&gt;No word of a lie, about four other women get up from their chairs and come over to the window.&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Can we have a look at the injury please?&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;asks the first woman. I remove the wad of kitchen tissue and show them the wound. They go &amp;#8220;owwww&amp;#8221;, &amp;#8220;oh gosh!&amp;#8221;, &amp;#8220;ughhh&amp;#8221;. She then says they were all a bit surprised when they heard a &lt;em&gt;cat&lt;/em&gt; bite was coming in. I tell them &lt;em&gt;I&lt;/em&gt; was surprised too (at getting bitten by a cat and needing the hospital)! But, the woman on the phone had recommended a hospital visit due to the bleeding, so here I was.&lt;/p&gt;

	&lt;h2&gt;It&amp;#8217;s Not Funny&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Cat bites are not funny" src="/img/2024-12-30/funny.webp" title="Cat bites are not funny" /&gt;&lt;/p&gt;

	&lt;p&gt;About a week and a half later I&amp;#8217;m on a job, chatting with a couple of welders I know, Dave and Andy. One of them asks &amp;#8220;been up to anything?&amp;#8221; Yeah, I reply. Had to go to hospital. &amp;#8220;What for?&amp;#8221;, he asks. Cat bite, I reply. &lt;/p&gt;

	&lt;p&gt;They both look down. Maybe they don&amp;#8217;t know what to say. Then I see they&amp;#8217;re both smiling. Smiling!? I remove my left glove and show them the damage. The smiles turn to tears. Ok, I made that last bit up, but they were shocked at the mess.&lt;/p&gt;

	&lt;h2&gt;The Photos&lt;/h2&gt;

	&lt;p&gt;The first photo was taken on the day of the incident. It doesn&amp;#8217;t look so bad because I&amp;#8217;d quickly taken the photo after wiping up the mess. You can see the swelling had already started after a few minutes. The kitchen sink was filled up with blood soaked kitchen roll just before I took this photo.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Cat bite" src="/img/2024-12-30/bite1.webp" title="Cat bite" /&gt;&lt;/p&gt;

	&lt;p&gt;The second photo is a week later, after I&amp;#8217;d removed the bandages the nurse had put on.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Cat bite" src="/img/2024-12-30/bite2.webp" title="Cat bite" /&gt;&lt;/p&gt;

	&lt;h2&gt;Lessons Learned&lt;/h2&gt;

	&lt;p&gt;Obviously, in hindsight, this was &lt;em&gt;possibly&lt;/em&gt; predictable. Maybe I should have held his head underneath the neck. I don&amp;#8217;t know how easy that&amp;#8217;d have been though (with one hand). Probably should have got the missus to have both hands around his neck to prevent biting while I did the paw yanking. But, that might have led to her getting bitten instead. I&amp;#8217;m an old fashioned fella, and if someones going to get bitten, I&amp;#8217;d rather it be me. &lt;/p&gt;</content><category term="personal"></category><category term="drama"></category><category term="pets"></category></entry><entry><title>What the Hell is Going on with Plastic Bags?</title><link href="https://simonh.uk/2024/12/29/what-the-hell-is-going-on-with-plastic-bags/" rel="alternate"></link><published>2024-12-29T00:00:00+00:00</published><updated>2025-01-05T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-29:/2024/12/29/what-the-hell-is-going-on-with-plastic-bags/</id><summary type="html">	&lt;p&gt;They don&amp;#8217;t work anymore!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="When plastic bags used to work" src="/img/2024-12-29/plastic_bag.webp" title="When plastic bags used to work" /&gt;&lt;/p&gt;

	&lt;h2&gt;First They Came for the Straws&lt;/h2&gt;

	&lt;p&gt;Most people knew that replacing plastic straws with &lt;em&gt;paper&lt;/em&gt; straws was a stupid idea. And it was. Ever heard of paper mache? You can create that easily by mixing paper with liquid. Good luck finishing a fast food milkshake with a paper straw.&lt;/p&gt;

	&lt;p&gt;If I ever buy a drink that requires a straw, I&amp;#8217;ll get &lt;strong&gt;three&lt;/strong&gt; straws which usually is enough. Two paper straws per drink are absolutely essential. The first one turn to mush at about two thirds of the way through.&lt;/p&gt;

	&lt;h2&gt;Carrier Bag Handles Don&amp;#8217;t Work Anymore&lt;/h2&gt;

	&lt;p&gt;The problem with carrier bags started about a month ago. We have for &lt;em&gt;years&lt;/em&gt; used these white bags on the left:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Carrier bags" src="/img/2024-12-29/bags.webp" title="Carrier bags" /&gt;&lt;/p&gt;

	&lt;p&gt;And we hang them on a door handle to put rubbish in:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Carrier bag on door handle" src="/img/2024-12-29/bag.webp" title="Carrier bag on door handle" /&gt;&lt;/p&gt;

	&lt;p&gt;Never had a problem until one day, I was moving the full bag of rubbish to the bin. And one of the handles broke. Unlike thousands of times before, I was looking at a load of rubbish strewn across the floor.&lt;/p&gt;

	&lt;p&gt;Oh well, I thought. These things happen. But, it happened with the next bag. And the next one. After about the fourth bag failing, I tried having both bag handles hanging on the door handle (as shown in photo above). We&amp;#8217;d always had just one bag handle hanging as it&amp;#8217;s much easier to put rubbish in that way. &lt;/p&gt;

	&lt;p&gt;The situation did not improve. They still broke as soon as I attempted to move them. Luckily, I was now ready though and would hold the underneath of the crap bags.&lt;/p&gt;

	&lt;p&gt;We tried the yellow bags shown in the photo too. Exactly the same problem. Different shop. Different manufacturer, Same &lt;em&gt;not fit for purpose&lt;/em&gt; product.&lt;/p&gt;

	&lt;h2&gt;Milk Containers are Also Now Crap&lt;/h2&gt;

	&lt;p&gt;And milk container quality has also plummeted. Next time you see a load of them in a cage at a supermarket, look how &lt;em&gt;caved in&lt;/em&gt; many of them are. We usually get our 6 pinters from Lidl. There are &lt;em&gt;always&lt;/em&gt; numerous milk containers with the lid squashed in, the sides folding inwards, and other defects that seem to have been introduced over the last year or so.&lt;/p&gt;

	&lt;h2&gt;Saving Costs?&lt;/h2&gt;

	&lt;p&gt;Clearly something &lt;del&gt;is going wrong&lt;/del&gt; &lt;ins&gt;has gone wrong&lt;/ins&gt;. I suspect that manufacturers are pushing the minimum thickness of these products down &lt;em&gt;below&lt;/em&gt; the point at which they will &lt;em&gt;not&lt;/em&gt; do the job for which they were intended. &lt;/p&gt;

	&lt;h2&gt;Lidl Saves the Day&lt;/h2&gt;

	&lt;p&gt;Tried some &amp;#8220;compostable caddy liners (15 litre)&amp;#8221; from Lidl. Not had any problems with these guys yet. Recommended&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Better carrier bags" src="/img/2024-12-29/lidl1.webp" title="Better carrier bags" /&gt;&lt;/p&gt;

	&lt;p&gt;Effortlessly hanging by one handle&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Better carrier bag hanging from door handle" src="/img/2024-12-29/lidl2.webp" title="Better carrier bag hanging from door handle" /&gt;&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-05&lt;/mark&gt;: Add &lt;em&gt;Lidl saves the day&lt;/em&gt; section&lt;/p&gt;</content><category term="rants"></category></entry><entry><title>Great YouTube Talks and Clips for Bloggers</title><link href="https://simonh.uk/2024/12/28/great-youtube-talks-and-clips-for-bloggers/" rel="alternate"></link><published>2024-12-28T00:00:00+00:00</published><updated>2024-12-28T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-28:/2024/12/28/great-youtube-talks-and-clips-for-bloggers/</id><summary type="html">	&lt;p&gt;Getting sick of cat videos?&lt;/p&gt;</summary><content type="html">	&lt;h2&gt;A Short YouTube Playlist&lt;/h2&gt;

	&lt;p class="note"&gt;In all honesty, the only video on this page that you need to watch is the first one.&lt;/p&gt;

	&lt;p&gt;If I&amp;#8217;ve missed anything important, please let me know by email.&lt;/p&gt;

	&lt;p&gt;&lt;hr&gt;&lt;/p&gt;

	&lt;p&gt;The first one has &lt;strong&gt;got&lt;/strong&gt; to be John Gruber from Daring Fireball. Anyone making $11,000 a week has my attention! &lt;em&gt;Highly&lt;/em&gt; recommended to watch all of this (45 minutes):&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/ufKFStaFsZs?si=aUEPJoKA8KnLvUki" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;Next is a very short video (56 seconds) by Lisa Stone. 56 seconds well spent though.&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/Kg-irIxbKMU?si=WK0-FApsKauRNBRD" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;How To Be A Style Blogger (&amp;lt; 10 minutes). Not my field, but if you&amp;#8217;re wanting to make money fashion blogging, this might help.&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/O9MHGencYDU?si=pi_wwpuhoyg5NzxW" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;The 9 Best Tips for Your First Month of Blogging I Wish I Knew (&amp;lt; 15 minutes).&lt;/p&gt;

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/Db1bH7_ovWw?si=UfFCwpKRNqRjxcVF" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;</content><category term="blogging"></category><category term="video"></category><category term="youtube"></category><category term="tips"></category></entry><entry><title>What are Atom Feeds and How Do I Use Them?</title><link href="https://simonh.uk/2024/12/28/what-are-atom-feeds-and-how-do-i-use-them/" rel="alternate"></link><published>2024-12-28T00:00:00+00:00</published><updated>2024-12-28T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-28:/2024/12/28/what-are-atom-feeds-and-how-do-i-use-them/</id><summary type="html">	&lt;p&gt;Better late than never&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Atom feed icon" src="/img/2024-12-28/simonh_menu.webp" title="Atom feed icon" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Where I explain the new orange icon on the main menu&amp;#8230;&lt;/em&gt;&lt;/p&gt;

	&lt;h2&gt;First Things First&lt;/h2&gt;

	&lt;p&gt;I am &lt;em&gt;very&lt;/em&gt; late to the syndication party (19 years late)! But we are when we are and maybe &lt;em&gt;you&lt;/em&gt; slept through this phase of the internet as well?&lt;sup class="footnote" id="fnrev68ce07a92375488ab7bb47ab5d15634e-1"&gt;&lt;a href="#fn68ce07a92375488ab7bb47ab5d15634e-1"&gt;1&lt;/a&gt;&lt;/sup&gt; So I&amp;#8217;ve spent a bit of time today, seeing what atom feeds are all about and how they can help publishers and readers.&lt;/p&gt;

	&lt;h2&gt;What&amp;#8217;s The Big Idea?&lt;/h2&gt;

	&lt;p&gt;Back before the internet got ruined by &lt;em&gt;social media&lt;/em&gt;, internet surfers&lt;sup class="footnote" id="fnrev68ce07a92375488ab7bb47ab5d15634e-2"&gt;&lt;a href="#fn68ce07a92375488ab7bb47ab5d15634e-2"&gt;2&lt;/a&gt;&lt;/sup&gt; would often get their news, gossip, tips etc. from various old fashioned websites. But, it soon got tedious having to:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Go to favourite site 1 and see what&amp;#8217;s new&lt;/li&gt;
		&lt;li&gt;Go to favourite site 2 and see what&amp;#8217;s new&lt;/li&gt;
		&lt;li&gt;Go to favourite site 3 and see what&amp;#8217;s new&lt;/li&gt;
		&lt;li&gt;Go to favourite site 4 and see what&amp;#8217;s new&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;So, clever people invented a lightweight, machine readable data format that could concisely describe &lt;span class="caps"&gt;HTML&lt;/span&gt; documents. These &lt;span class="caps"&gt;XML&lt;/span&gt; documents could be subscribed to by news reader software, thereby enabling an internet surfer&lt;sup class="footnote"&gt;&lt;a href="#fn68ce07a92375488ab7bb47ab5d15634e-2"&gt;2&lt;/a&gt;&lt;/sup&gt; to very quickly get a summary of all new content generated since their last visit to those sites. &lt;/p&gt;

	&lt;p&gt;Below is a snippet of one of my atom feeds: &lt;/p&gt;

	&lt;p&gt;&lt;img alt="Sample of Atom XML file" src="/img/2024-12-28/atom_sample.webp" title="Sample of Atom XML file" /&gt;&lt;/p&gt;

	&lt;h2&gt;What Are Feeds?&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Web_feed"&gt;Wikipedia&lt;/a&gt; says this:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;On the World Wide Web, a web feed (or news feed) is a data format used for providing users with frequently updated content. Content distributors syndicate a web feed, thereby allowing users to subscribe a channel to it by adding the feed resource address to a news aggregator client (also called a feed reader or a news reader). Users typically subscribe to a feed by manually entering the &lt;span class="caps"&gt;URL&lt;/span&gt; of a feed or clicking a link in a web browser or by dragging the link from the web browser to the aggregator, thus &amp;#8220;&lt;span class="caps"&gt;RSS&lt;/span&gt; and Atom files provide news updates from a website in a simple form for your computer.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;The amazing thing (well I think it&amp;#8217;s amazing), is that these feeds are usually split into different categories (plus one called &lt;code&gt;all.atom.xml&lt;/code&gt; which is all categories combined obviously). The screenshot below is what you&amp;#8217;ll see if you click on my Atom feed icon:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Atom Feed Index" src="/img/2024-12-28/feed_index.webp" title="Atom Feed Index" /&gt;&lt;/p&gt;

	&lt;p&gt;So, if you think everything I write is pointless and stupid&lt;sup class="footnote" id="fnrev68ce07a92375488ab7bb47ab5d15634e-3"&gt;&lt;a href="#fn68ce07a92375488ab7bb47ab5d15634e-3"&gt;3&lt;/a&gt;&lt;/sup&gt;, &lt;em&gt;except&lt;/em&gt; my recipe posts, you can subscribe only to that topic!&lt;/p&gt;

	&lt;h2&gt;What Do I need?&lt;/h2&gt;

	&lt;p&gt;Subscribing to feeds used to be built in to most web browsers. Sadly, they&amp;#8217;ve all (as far I can determine) decided to drop feed reading support. The &lt;em&gt;good&lt;/em&gt; news is there are lots of browser extensions that have filled the void.&lt;/p&gt;

	&lt;p&gt;The one I&amp;#8217;m using right now is &lt;a href="https://nodetics.com/feedbro/"&gt;Feedbro&lt;/a&gt; which seems to work perfectly fine.&lt;/p&gt;

	&lt;p&gt;From their website:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;We believe time is our most valuable asset.

We believe it is waste of valuable time to spend minutes or even hours every day to go through dozens of websites, blogs, social media sites etc. manually.

We believe that all the new information that you are interested in, should be automatically aggregated into one place from various sources you care about (both Internet and intranet) into easy-to-read format and automatically filtered based on the rules you define.

We believe that the faster you learn, gain new knowledge and information the better you will succeed in life as an individual and as an organization. Therefore it is vital to learn new things every day and follow relevant and valuable sources of information effortlessly.

We believe privacy is important so that only you know what sources you follow.&lt;/p&gt;&lt;/blockquote&gt;

	&lt;p&gt;Can&amp;#8217;t argue with any of that.&lt;/p&gt;

	&lt;p&gt;So, if I&amp;#8217;ve managed to convince you that you should at least give using feeds a try, you might want to just install Feedbro and spend a few minutes getting used to it and subscribing to some feeds.&lt;/p&gt;

	&lt;p&gt;Once you&amp;#8217;ve got the extension installed and you&amp;#8217;ve opened it, you&amp;#8217;ll see this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Feedbro Menu" src="/img/2024-12-28/feedbro_menu.webp" title="Feedbro Menu" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Click on the &lt;code&gt;Add a New Feed&lt;/code&gt; button&lt;/li&gt;
		&lt;li&gt;Copy and paste the feed address (for example):
		&lt;ul&gt;
			&lt;li&gt;&lt;code&gt;https://simonh.uk/feeds/blogging.atom.xml&lt;/code&gt;&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;p&gt;Once you&amp;#8217;ve added some feeds, they&amp;#8217;ll now appear on the left side of the Feedbro Reader (had to zoom in for this screenshot):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Feedbro Feeds" src="/img/2024-12-28/feedbro_feeds.webp" title="Feedbro Feeds" /&gt;&lt;/p&gt;

	&lt;p&gt;If you&amp;#8217;re on Linux, and prefer a dedicated news reader, &lt;a href="https://itsfoss.com/feed-reader-apps-linux/"&gt;this&lt;/a&gt; might be of interest.&lt;/p&gt;

	&lt;p&gt;As always, if you&amp;#8217;ve got something to say, or need help, send me an email (link at bottom of page). Good luck and happy new year!&lt;/p&gt;

	&lt;h2&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Please Stand By" src="/img/standby2.webp" title="Please Stand By" /&gt;&lt;/p&gt;

	&lt;h2&gt;References and Further Reading&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://www.selectallfromdual.com/blog/en/34786/are-rss-feeds-still-used"&gt;Are &lt;span class="caps"&gt;RSS&lt;/span&gt; feeds still used?&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://twobithistory.org/2018/09/16/the-rise-and-demise-of-rss.html"&gt;The Rise and Demise of &lt;span class="caps"&gt;RSS&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://danielpocock.com/choosing-an-rss-feed-reader/"&gt;Choosing an &lt;span class="caps"&gt;RSS&lt;/span&gt; and Atom Feed Reader&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://roelofjanelsinga.com/articles/rss-atom-feed-why-should-have-for-blog/"&gt;&lt;span class="caps"&gt;RSS&lt;/span&gt;/Atom feed: why you should have one for your blog&lt;/a&gt;&lt;/p&gt;


	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn68ce07a92375488ab7bb47ab5d15634e-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I&amp;#8217;ve always been aware of &lt;span class="caps"&gt;RSS&lt;/span&gt;, just never had a need to use it.&lt;/p&gt;

	&lt;p class="footnote" id="fn68ce07a92375488ab7bb47ab5d15634e-2"&gt;&lt;sup&gt;2&lt;/sup&gt; That&amp;#8217;s what we were called back then. Ask your grandparents for details.&lt;/p&gt;

	&lt;p class="footnote" id="fn68ce07a92375488ab7bb47ab5d15634e-3"&gt;&lt;sup&gt;3&lt;/sup&gt; Hey! I didn&amp;#8217;t force you to come here&amp;#8230;&lt;/p&gt;</content><category term="blogging"></category><category term="tips"></category><category term="atom"></category></entry><entry><title>Who was Better Looking: Father vs Son?</title><link href="https://simonh.uk/2024/12/28/who-was-better-looking-father-vs-son/" rel="alternate"></link><published>2024-12-28T00:00:00+00:00</published><updated>2024-12-28T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-28:/2024/12/28/who-was-better-looking-father-vs-son/</id><summary type="html">	&lt;p&gt;Juvenile and yet somehow, serious&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Simon and Tyler" src="/img/2024-12-28/us1.webp" title="Simon and Tyler" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Simon and Tyler" src="/img/2024-12-28/us2.webp" title="Simon and Tyler" /&gt;&lt;/p&gt;

	&lt;p&gt;My son is 21. His name is &lt;a href="https://tyler.contact"&gt;Tyler&lt;/a&gt;. He is taller than me (by a titchy bit) and &lt;em&gt;claims&lt;/em&gt; that he is better looking than me.&lt;/p&gt;

	&lt;p&gt;I agree (about him being taller). Better looking? Today&amp;#8230; probably yes (I might have a chance with the partially sighted in low light levels). But what about when I was in &lt;em&gt;my&lt;/em&gt; prime?&lt;/p&gt;

	&lt;h2&gt;The Question&lt;/h2&gt;

	&lt;p&gt;Maybe this happens to all fathers. May be I&amp;#8217;m the first. I&amp;#8217;m referring to the moment when my son said to me:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Dad, how does it feel that I&amp;#8217;m better looking than you have &lt;em&gt;ever&lt;/em&gt; been?&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;I waited for the punchline. Instead, he said nothing. Stood there looking gormless. He actually believed this!&lt;/p&gt;

	&lt;h2&gt;Let&amp;#8217;s Settle This&lt;/h2&gt;

	&lt;p&gt;As we cannot agree, it&amp;#8217;s up to the internet to decide. I&amp;#8217;ll go first. Then my son.&lt;/p&gt;

	&lt;h2&gt;The Rules&lt;/h2&gt;

	&lt;p&gt;Three photos. 600px maximum width. No filters. No cropping.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;If you&amp;#8217;d like to participate&lt;/mark&gt;,&lt;sup class="footnote" id="fnrev012dd9fad086433db53b9ecaf5e7e79d-1"&gt;&lt;a href="#fn012dd9fad086433db53b9ecaf5e7e79d-1"&gt;1&lt;/a&gt;&lt;/sup&gt; simply use the &lt;em&gt;Reply to this Post&lt;/em&gt; link at the bottom of the page. Just put either Simon or Tyler as the subject. Thanks!&lt;/p&gt;

	&lt;p&gt;May the best man win&amp;#8230;&lt;/p&gt;

	&lt;h2&gt;I&amp;#8217;m up (Dad)&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Me 1" src="/img/2024-12-28/simon1.webp" title="Me 1" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Me 2" src="/img/2024-12-28/simon2.webp" title="Me 2" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Me 3" src="/img/2024-12-28/simon3.webp" title="Me 3" /&gt;&lt;/p&gt;

	&lt;h2&gt;Tyler (Son)&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Tyler 1" src="/img/2024-12-28/tyler1.webp" title="Tyler 1" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Tyler 2" src="/img/2024-12-28/tyler2.webp" title="Tyler 2" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Tyler 3" src="/img/2024-12-28/tyler3.webp" title="Tyler 3" /&gt;&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn012dd9fad086433db53b9ecaf5e7e79d-1"&gt;&lt;sup&gt;1&lt;/sup&gt; It should go without saying that I won&amp;#8217;t share or publish your email address!&lt;/p&gt;</content><category term="personal"></category><category term="contest"></category></entry><entry><title>Managing Blog Post Updates</title><link href="https://simonh.uk/2024/12/26/managing-blog-post-updates/" rel="alternate"></link><published>2024-12-26T00:00:00+00:00</published><updated>2024-12-29T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-26:/2024/12/26/managing-blog-post-updates/</id><summary type="html">	&lt;p&gt;Getting the balance right&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Updated photo" src="/img/2024-12-26/updated.webp" title="Updated photo" /&gt;&lt;/p&gt;

	&lt;h2&gt;Change is the Only Constant&lt;/h2&gt;

	&lt;p&gt;By the time a newspaper is in your hands, it&amp;#8217;s already out of date. Things will have changed. Maybe what you&amp;#8217;re reading now, is &lt;em&gt;close enough&lt;/em&gt; to the latest situation. Maybe not. The same goes for internet sites. So, we have a choice:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Update our original post as needed.&lt;/li&gt;
		&lt;li&gt;Write a new post when enough changes have happened.&lt;/li&gt;
		&lt;li&gt;Don&amp;#8217;t worry about it! Everything was correct at the time.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I prefer the first option as a general rule. It&amp;#8217;s (I think) the easiest and most honest way of letting a reader know that the post / article has been modified since published.&lt;/p&gt;

	&lt;h2&gt;What Changes Matter?&lt;/h2&gt;

	&lt;p&gt;Let&amp;#8217;s say you&amp;#8217;ve written a product review, &lt;em&gt;gushing&lt;/em&gt; over how great something is. One month later, the thing is dead. I&amp;#8217;d like to know about that. You may have just been unlucky, but still let us know.&lt;/p&gt;

	&lt;p&gt;Or, some tips post that you wrote has an important update, a new best practice has been found. Let us know, please!&lt;/p&gt;

	&lt;p&gt;Finally factual mistakes and corrections &lt;strong&gt;need&lt;/strong&gt; to be relayed. If you change a &lt;span class="caps"&gt;URL&lt;/span&gt; from:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;/my-great-blog-post-about-cats&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;but then realise that dogs also deserve some love:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;/my-great-blog-post-about-cats-and-dogs&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;It wouldn&amp;#8217;t hurt to let the reader now about that too. &lt;/p&gt;

	&lt;h2&gt;What Not to Include?&lt;/h2&gt;

	&lt;p&gt;If you decide to change the category or tag of a post, that&amp;#8217;s an internal change. No reader will really care about it. Typo&amp;#8217;s are also not really &lt;del&gt;importnt&lt;/del&gt; &lt;ins&gt;important&lt;/ins&gt; either. &lt;/p&gt;

	&lt;h2&gt;Notifying the Reader about Updates&lt;/h2&gt;

	&lt;p&gt;I haven&amp;#8217;t fully settled on my own best practice yet. But I think I&amp;#8217;m going to try and get in the habit of having a line at the top of the page stating:&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Page Last Updated On: &lt;span class="caps"&gt;YYYY&lt;/span&gt;-MM-DD&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;or,&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;&lt;em&gt;Attention&lt;/mark&gt;: Please see the Updates section at the bottom of this page as important changes have been made to this post!&lt;/em&gt;&lt;/p&gt;

	&lt;h2&gt;Your Thoughts?&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;m sure other bloggers have their own techniques and ideas. If you have any tips or comments, you can email from the bottom of this page.&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2024-12-29&lt;/mark&gt;: Learned how to add an &lt;span class="caps"&gt;SVG&lt;/span&gt; image directly to a stylesheet. Previously I&amp;#8217;d have all svg&amp;#8217;s directly embedded in the html. So now &lt;em&gt;Updates&lt;/em&gt; and &lt;em&gt;Footnotes&lt;/em&gt; have nice looking icons before the text. I like this in particular for &lt;em&gt;Updates&lt;/em&gt; as the asterisk makes it obvious to a reader as it&amp;#8217;s found at the top and bottom of a post. My goal is that if a reader see the asterisk below the published date, they can be assured that (at the very least) there&amp;#8217;s a short summary of the changes in the &lt;em&gt;Updates&lt;/em&gt; section. &lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2024-12-28&lt;/mark&gt;: This morning I &lt;em&gt;finally&lt;/em&gt; decided on just including an updated date (if applicable) below the published date.&lt;/p&gt;

	&lt;p&gt;It took a while as I couldn&amp;#8217;t decide on having it near the top or at the bottom of the page. Then, it was a question of have it on the same line, the line below? &lt;em&gt;Then&lt;/em&gt;, it was alignment doubts (left, centre, right)&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Once I decided to have it on the line below the published date, I then became obsessed with having the two dates lined up!&lt;/p&gt;

	&lt;p&gt;Ah well. it&amp;#8217;s done now.&lt;/p&gt;</content><category term="blogging"></category><category term="tips"></category><category term="blogging"></category></entry><entry><title>Response to Codemzy Best Blog URL Structure</title><link href="https://simonh.uk/2024/12/26/response-to-codemzy-best-blog-url-structure/" rel="alternate"></link><published>2024-12-26T00:00:00+00:00</published><updated>2024-12-26T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-26:/2024/12/26/response-to-codemzy-best-blog-url-structure/</id><summary type="html">	&lt;p&gt;Simple is not always better&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="File Organiser" src="/img/2024-12-26/organiser.webp" title="File Organiser" /&gt;&lt;/p&gt;

	&lt;h2&gt;Choosing a Blog &lt;span class="caps"&gt;URL&lt;/span&gt; Structure&lt;/h2&gt;

	&lt;p&gt;Today, I came across a &lt;a href="https://www.codemzy.com/blog/best-blog-url-structure"&gt;post&lt;/a&gt; by codemzy which I&amp;#8217;ve decided to respond to&lt;sup class="footnote" id="fnreva54707f9767a4a61aeb08794ea9aece0-1"&gt;&lt;a href="#fna54707f9767a4a61aeb08794ea9aece0-1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Below I list his&lt;sup class="footnote" id="fnreva54707f9767a4a61aeb08794ea9aece0-2"&gt;&lt;a href="#fna54707f9767a4a61aeb08794ea9aece0-2"&gt;2&lt;/a&gt;&lt;/sup&gt; issues, and below that my responses to those issues (and my thoughts). The four most common &lt;span class="caps"&gt;URL&lt;/span&gt; structures for blogs he lists are below:&lt;/p&gt;

	&lt;h3&gt;The Four Blog Post &lt;span class="caps"&gt;URL&lt;/span&gt; Idioms&lt;/h3&gt;

	&lt;ol&gt;
		&lt;li&gt;Post ID only in &lt;span class="caps"&gt;URL&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;Post date + title in &lt;span class="caps"&gt;URL&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;Post category + title in &lt;span class="caps"&gt;URL&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;Simpy the post title&lt;/li&gt;
	&lt;/ol&gt;

	&lt;h3&gt;1. Post ID only in &lt;span class="caps"&gt;URL&lt;/span&gt;&lt;/h3&gt;

	&lt;p&gt;I agree. Completely stupid.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m not sure where those ID&amp;#8217;s are coming from. Something like Wordpress? Random alphanumeric strings have an important place, just not in a &lt;span class="caps"&gt;URL&lt;/span&gt;. Unless it&amp;#8217;s part of an auth process&amp;#8230;&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;simonh.uk/euH0nionl7&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;Ugh. &lt;/p&gt;

	&lt;h3&gt;2. Post date + title in &lt;span class="caps"&gt;URL&lt;/span&gt;&lt;/h3&gt;

	&lt;p&gt;This is my preferred &lt;span class="caps"&gt;URL&lt;/span&gt; structure&lt;/p&gt;

	&lt;p&gt;I see no problem in having the &lt;em&gt;original&lt;/em&gt; post date in a &lt;span class="caps"&gt;URL&lt;/span&gt;. Many bloggers / sites do this. I would suggest that the date of a post is &lt;em&gt;nearly&lt;/em&gt; as important as the post title (and its content):&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;code&gt;/2024/12/05/best-things-to-do-in-x-this-christmas&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;&lt;code&gt;/2025/12/05/best-things-to-do-in-x-this-christmas&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;&lt;code&gt;/2026/12/05/best-things-to-do-in-x-this-christmas&lt;/code&gt;&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;If a post is not so obviously tied up to an annual event (as above), it&amp;#8217;s easy to add updates at either the top or bottom of the page to let the reader know new information has been added or removed. Or, that the whole post is now obsolete. I&amp;#8217;ve seen &lt;em&gt;that&lt;/em&gt; quite a few times. I believe the date of a post &lt;em&gt;matters&lt;/em&gt;. I prefer a post that still has the original date along with comments about what has changed, over time.&lt;/p&gt;

	&lt;h3&gt;3. Post category + title in &lt;span class="caps"&gt;URL&lt;/span&gt; &lt;/h3&gt;

	&lt;p&gt;This is where collisions / problems can start to occur&lt;/p&gt;

	&lt;p&gt;Let&amp;#8217;s take codemzy&amp;#8217;s post as an example:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;https://www.codemzy.com/blog/best-blog-url-structure&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;Maybe he&amp;#8217;s been neglecting his blog for a while. Completely forgot that he wrote this post years ago! So he writes what he thinks is a &lt;em&gt;new&lt;/em&gt; post. But it isn&amp;#8217;t. It has the &lt;span class="caps"&gt;URL&lt;/span&gt; of&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;/blogging/best-blog-url-structure&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;Naturally, the first time he wrote this same post, it would have had the catergory of &lt;code&gt;blogging&lt;/code&gt; and the title os &lt;code&gt;best-blog-url-structure&lt;/code&gt;.&lt;/p&gt;

	&lt;p&gt;Oops!&lt;/p&gt;

	&lt;h3&gt;4. Simply the post title &lt;/h3&gt;

	&lt;p&gt;See above (same problem). But, I agree, the category doesn&amp;#8217;t need to be part of the &lt;span class="caps"&gt;URL&lt;/span&gt;. We can figure that out that out from the post title.&lt;/p&gt;

	&lt;p&gt;We&amp;#8217;ve now just removed one path component: the category. Stil have the same chance of collisions as the category &lt;strong&gt;should&lt;/strong&gt; be the same for mulitple posts e.g. &lt;code&gt;blogging&lt;/code&gt;&lt;/p&gt;

	&lt;h2&gt;My Simple Approach&lt;/h2&gt;

	&lt;p&gt;Using the codemzy example again, we can simply have two posts:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;https://www.codemzy.com/2023/05/23/best-blog-url-structure&lt;/li&gt;
		&lt;li&gt;https://www.codemzy.com/2028/01/15/best-blog-url-structure&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Or &lt;em&gt;X&lt;/em&gt; number of posts on &lt;em&gt;exactly&lt;/em&gt; the same subject to show that opinions / best practices have changed over time.&lt;/p&gt;

	&lt;p&gt;The search engines are pretty smart nowadays. They&amp;#8217;ll offer the latest post. All codemzy has to do is include a note that he wrote a similar post in the past (and link to it), but has he now has different views.&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;As with all things, upfront thought can save annoyance and unwanted work in the future. And this is something any blogger should think about. By having the date as part of the &lt;span class="caps"&gt;URL&lt;/span&gt;, collisions are &lt;em&gt;impossible&lt;/em&gt;&lt;sup class="footnote" id="fnreva54707f9767a4a61aeb08794ea9aece0-3"&gt;&lt;a href="#fna54707f9767a4a61aeb08794ea9aece0-3"&gt;3&lt;/a&gt;&lt;/sup&gt; so it&amp;#8217;s one less thing to worry about. &lt;/p&gt;

	&lt;p&gt;For example, let&amp;#8217;s say I decide to have a weekly blog series: &lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Things I learnt this week&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;which I write every Sunday. By having the date as part of the &lt;span class="caps"&gt;URL&lt;/span&gt;:&lt;/p&gt;

	&lt;p&gt;2024/12/15/things-i-leant-this-week&lt;br /&gt;
2024/12/22/things-i-leant-this-week&lt;br /&gt;
2024/12/29/things-i-leant-this-week&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m not having to figure out how to express each week (should I use week commencing or the &lt;span class="caps"&gt;ISO&lt;/span&gt; week format)? Plus each &lt;span class="caps"&gt;URL&lt;/span&gt; is unique anyway, but for the &lt;span class="caps"&gt;SEO&lt;/span&gt; minded, I might appear to be an expert on learning things each week.&lt;/p&gt;

	&lt;h2&gt;Updates&lt;/h2&gt;

	&lt;p&gt;This section is for any additions, deletions or corrections that may be required.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Please Standby" src="/img/standby.webp" title="Please Standby" /&gt;&lt;/p&gt;

	&lt;h2&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fna54707f9767a4a61aeb08794ea9aece0-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Mainly as this was the first &lt;em&gt;natural&lt;/em&gt; result returned. I have my own ideas on this topic, hence this post.&lt;/p&gt;

	&lt;p class="footnote" id="fna54707f9767a4a61aeb08794ea9aece0-2"&gt;&lt;sup&gt;2&lt;/sup&gt; I have assumed Codemzy is male, if not please let me know by email, and I&amp;#8217;ll correct this.&lt;/p&gt;

	&lt;p class="footnote" id="fna54707f9767a4a61aeb08794ea9aece0-3"&gt;&lt;sup&gt;3&lt;/sup&gt; Unless you use exactly the same post title for two different posts on the same day. If so, no one can help you!&lt;/p&gt;</content><category term="blogging"></category><category term="response"></category></entry><entry><title>Audio-Technica M20xBT Wireless Headphones Review</title><link href="https://simonh.uk/2024/12/25/audio-technica-m20xbt-wireless-headphones-review/" rel="alternate"></link><published>2024-12-25T00:00:00+00:00</published><updated>2024-12-25T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-25:/2024/12/25/audio-technica-m20xbt-wireless-headphones-review/</id><summary type="html">	&lt;p&gt;Good&amp;#8230; but not the best&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Audio-Technica M20xBT Headhones" src="/img/2024-12-25/m20xbt.webp" title="Audio-Technica M20xBT Headhones" /&gt;&lt;/p&gt;

	&lt;h2&gt;The Second Best Headphones I&amp;#8217;ve Owned&lt;/h2&gt;

	&lt;p&gt;Many years ago, circa 2002, I treated myself to a pair of Sennheiser HD580&amp;#8217;s (I think that was the model, certainly look the same as the photo I found below). Man, these headphones were &lt;em&gt;something else&lt;/em&gt;. To my ears, every sound was pure &lt;strong&gt;perfection&lt;/strong&gt;. The soundstage was unlike anything I&amp;#8217;d heard before or since. You could hear something and think:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;That&amp;#8217;s about ten feet in front of me, slightly to the right.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;They were amazing. I had them and loved them for &lt;em&gt;many&lt;/em&gt; years. Eventually, the cable started playing up (hard-wired, not detachable). And then one day, they stopped working entirely. I took them apart and attempted to extend their life a bit longer, but it didn&amp;#8217;t work. They were finished.&lt;/p&gt;

	&lt;p&gt;I still miss them to this day. &lt;/p&gt;

	&lt;p&gt;&lt;img alt="Sennheiser HD580 Headphones" src="/img/2024-12-25/hd580.webp" title="Sennheiser HD580 Headphones" /&gt;&lt;/p&gt;

	&lt;p&gt;In the years since owning the HD580&amp;#8217;s, I&amp;#8217;d had a family, and spending a couple of hundred quid on headphones wouldn&amp;#8217;t fly. They were the first and last studio grade headphones to sit on my head. &lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve probably bought about fifteen or twenty headphones since then. The &lt;em&gt;bud&lt;/em&gt;, in ear type. The cheap, wireless Amazon ones at about 30 quid. Never &lt;em&gt;happy&lt;/em&gt; with the sound quality after being spoilt by the 580&amp;#8217;s. Nothing came close. Nothing.&lt;/p&gt;

	&lt;h2&gt;Trying the Sennheiser HD400S&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Sennheiser HD480S Headphones" src="/img/2024-12-25/hd400s.webp" title="Sennheiser HD480S Headphones" /&gt;&lt;/p&gt;

	&lt;p&gt;In March 2024, I decided to try another pair of &lt;em&gt;entry&lt;/em&gt; level Sennheiser&amp;#8217;s (think they were about forty or fifty quid). Since it was probably twenty two years since my last Sennheiser purchase, I assumed that technology would have moved on and these would surely be comparable to my beloved HD580&amp;#8217;s. Sure, they looked cheaper, much more plasticy, but &lt;em&gt;20 years&lt;/em&gt; of innovation must count for something, right?&lt;/p&gt;

	&lt;p&gt;Sadly not. I was very disappointed with the 400&amp;#8217;s. The soundstage is tiny. The sound reproduction is muddy with only the mid-range being decent. They were hardly any better than some unknown Chinese brand from Amazon. If this was the best Sennheiser could offer for ~£50 after twenty years, I&amp;#8217;d have to get my next pair of headphones from someone else&lt;/p&gt;

	&lt;h2&gt;Audio-Technica M20xBT&lt;/h2&gt;

	&lt;p&gt;The other half got me these for Christmas (I chose them though). Cost: £75. Just put them on charge earlier today, ready to try them and fully ready for yet more disappointment. However&amp;#8230;&lt;/p&gt;

	&lt;p&gt;These aren&amp;#8217;t half bad at all! The soundstage has opened up again. Not to the same level as the 580&amp;#8217;s but &lt;em&gt;reminding&lt;/em&gt; me of what a good pair of headphones sounds like.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve owned probably five wireless headphones and these are the first ones to tell me:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Battery level high&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;When I turn them on. That&amp;#8217;s a nice touch. Every other pair waited until they were nearly discharged before screeching:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Battery low. Please charge!&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Every two minutes, for ten minutes. Then they would turn off. Ugh.&lt;/p&gt;

	&lt;p&gt;There are plenty of videos on Youtube giving you a full guided tour of these headphones, so I won&amp;#8217;t go into massive detail.&lt;/p&gt;

	&lt;p&gt;There are three buttons on the left side (from bottom to top, these are):&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Volume Down&lt;/li&gt;
		&lt;li&gt;Power&lt;/li&gt;
		&lt;li&gt;Volume Up&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I have no complaints about them. They&amp;#8217;re in a good position and once I&amp;#8217;m fully used to these headphones, I&amp;#8217;m sure I&amp;#8217;ll &lt;em&gt;just know&lt;/em&gt; where they are. The headphones seem comfortable on first use and block out background noise adequately. &lt;/p&gt;

	&lt;p&gt;Bear in mind that I&amp;#8217;ve only been using them for a couple of hours so can&amp;#8217;t speak about longevity, or how they feel on the head for extended periods, but I&amp;#8217;ve got a very good feeling about these ones. For seventy five quid, these are miles better than the Sennheiser 400&amp;#8217;s. That 45% price increase is worth a 100% increase, in my opinion.&lt;/p&gt;

	&lt;h2 class="star"&gt;My Rating&lt;/h2&gt;

	&lt;p&gt;As of today, 25th December 2024, they get an &lt;strong&gt;8/10&lt;/strong&gt;&lt;/p&gt;

	&lt;h2&gt;Updates&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ll update this post if there&amp;#8217;s anything more to say in the future.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Please Standby" src="/img/standby.webp" title="Please Standby" /&gt;&lt;/p&gt;</content><category term="reviews"></category><category term="headphones"></category><category term="review"></category></entry><entry><title>Nulea M501 Wireless Trackball Mouse Review</title><link href="https://simonh.uk/2024/12/25/nulea-m501-wireless-trackball-mouse-review/" rel="alternate"></link><published>2024-12-25T00:00:00+00:00</published><updated>2024-12-25T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-25:/2024/12/25/nulea-m501-wireless-trackball-mouse-review/</id><summary type="html">	&lt;p&gt;New trackball mouse time&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Nulea M501 Wireless Mouse" src="/img/2024-12-25/m501.webp" title="Nulea M501 Wireless Mouse" /&gt;&lt;/p&gt;

	&lt;h2&gt;Trackballs Only For Me&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve only used trackball mice for &lt;em&gt;years&lt;/em&gt;. For probably the past ten or so years I&amp;#8217;ve been using the Kensington Orbit:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Kensington Orbit Trackball Mouse" src="/img/2024-12-25/kensington.webp" title="Kensington Orbit Trackball Mouse" /&gt;&lt;/p&gt;

	&lt;p&gt;I was on my &lt;em&gt;third&lt;/em&gt; one and decided I&amp;#8217;d try a different model this time. Even though trackball mice are pitched as ergonomic, I&amp;#8217;ve found some hand fatigue on the Orbit, my middle fingers in particular. As I spend way too much time on my computer, I even swapped to using my left hand for mouse duties a couple of years back (which did help). So I thought I&amp;#8217;d try a different style of trackball this time. &lt;/p&gt;

	&lt;p&gt;Generally trackballs either have the ball on the top or on the side. I thought I&amp;#8217;d give the Nulea M501 a go as this one has the ball under the left thumb, which I haven&amp;#8217;t used since this one:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Microsoft Trackball Optical" src="/img/2024-12-25/microsoft.webp" title="Microsoft Trackball Optical" /&gt;&lt;/p&gt;

	&lt;h2&gt;The Nulea M501&lt;/h2&gt;

	&lt;p&gt;I paid £30 for this on Amazon (a couple of days ago), &lt;em&gt;nearly&lt;/em&gt; half the price of a Kensington Orbit. Build quality seems good and the rubber feet do the job of keeping the thing from moving around nicely. You&amp;#8217;ve got three connection modes: two bluetooth and one usb (with included adapter). As I only change a mouse if I need to, it took me a while to realise that I couldn&amp;#8217;t use it through the &lt;span class="caps"&gt;USB&lt;/span&gt; cable (that&amp;#8217;s for charging only I think)! Once I&amp;#8217;d figured out I needed to plug the adapter into my PC, everything worked. I should note I&amp;#8217;m using Linux Mint 22 as my OS, and it worked with no fiddling whatsover (usually the case these days).&lt;/p&gt;

	&lt;p&gt;Now it takes quite a while to get used to a trackball mouse when the position of the ball moves. As I wrote before, I&amp;#8217;ve been using a top mounted ball for years and this one is on the side. So it feels &lt;em&gt;weird&lt;/em&gt;. I think the best thing for me to do is update this post in a few weeks, once I&amp;#8217;ve got used to it. &lt;/p&gt;

	&lt;p&gt;Overall though at the moment, I think I&amp;#8217;ll be happy with this Nulea trackball.&lt;/p&gt;

	&lt;h2&gt;Updates&lt;/h2&gt;

	&lt;p&gt;Once I&amp;#8217;ve got used to this mouse, I&amp;#8217;ll update this post below with more information&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Please Standby for Updates" src="/img/standby3.webp" title="Please Standby for Updates" /&gt;&lt;/p&gt;</content><category term="reviews"></category><category term="computer"></category><category term="review"></category></entry><entry><title>Organising Blog Post Images in Pelican</title><link href="https://simonh.uk/2024/12/24/organising-blog-post-images-in-pelican/" rel="alternate"></link><published>2024-12-24T00:00:00+00:00</published><updated>2024-12-24T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-24:/2024/12/24/organising-blog-post-images-in-pelican/</id><summary type="html">	&lt;p&gt;A common sense approach&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Organised wardrobe" src="/img/2024-12-24/organised.webp" title="Organised wardrobe" /&gt;&lt;/p&gt;

	&lt;h2&gt;That /img Folder Just Keeps Growing!&lt;/h2&gt;

	&lt;p&gt;Recently, I found that I had over 120 images in my static &lt;code&gt;/img&lt;/code&gt; directory (where blog post images live). It&amp;#8217;s been bugging me for a while, so last night I thought I&amp;#8217;d better deal with it. The reason it&amp;#8217;s an issue having all those loose files is:&lt;/p&gt;

	&lt;ol&gt;
		&lt;li&gt;The likelihood of duplicates grows i.e. &lt;code&gt;/img/screenshot19.png&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;There&amp;#8217;s no easy way of knowing which images belong to which post&lt;sup class="footnote" id="fnrev4f073c551a004525895b261f57b1db32-1"&gt;&lt;a href="#fn4f073c551a004525895b261f57b1db32-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
		&lt;li&gt;It looks (and feels) messy&lt;/li&gt;
	&lt;/ol&gt;

	&lt;p&gt;The best solution would be to get Pelican to &lt;em&gt;just handle it for me&lt;/em&gt;. That didn&amp;#8217;t seem to be an option (not easily anyway). Possibly, I could modify my &lt;code&gt;content/posts&lt;/code&gt; structure to have one directory per post and have the images in the same directory as the post (that seems to be what some people do). That would have involved modifiying &lt;strong&gt;every&lt;/strong&gt; post which I didn&amp;#8217;t want to do as not all my posts have images. &lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Some have zero&lt;/li&gt;
		&lt;li&gt;Some have one&lt;/li&gt;
		&lt;li&gt;A few have multiple&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;So, I decided I needed another method. The one I settled on is:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;/img/YYYY-MM-DD/image1.jpg&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;Here&amp;#8217;s how my &lt;code&gt;content/img&lt;/code&gt; looks now:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Directory Listing" src="/img/2024-12-24/new_folders.webp" title="Directory Listing" /&gt;&lt;/p&gt;

	&lt;p&gt;So the screenshot above is served from:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;https://simonh.uk/img/2024-12-24/new_folders.webp&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;If on 1st January 2025, I decide to write another post involving changing some other directory structure, it won&amp;#8217;t be &lt;code&gt;/img/new_folders1.webp&lt;/code&gt; Instead it&amp;#8217;ll be &lt;code&gt;/img/2025-01-01/new_folders.webp&lt;/code&gt; Much better.&lt;/p&gt;

	&lt;p&gt;By the way, I did consider using the blog post title as the folder name:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;/img/organising-blog-post-images-in-pelican/&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;but that&amp;#8217;s &lt;em&gt;a lot&lt;/em&gt; of typing. Plus I&amp;#8217;d need some way of organising by year at the very least anyway. By just using the date, I know that if a folder exists, it must have at least one image in it (otherwise it wouldn&amp;#8217;t exist). I can also quickly and easily find which image directory is linked with each post (as the date is part of the &lt;span class="caps"&gt;URL&lt;/span&gt;). That there may be more than post associated with an image directory won&amp;#8217;t be a problum as if there &lt;em&gt;may&lt;/em&gt; be confusion, I can simply name the image file slightly better to avoid that confusion.&lt;/p&gt;

	&lt;p&gt;For example, let&amp;#8217;s say I&amp;#8217;m being &lt;strong&gt;very&lt;/strong&gt; productive today (2024-12-24) and write five posts about the following topics:&lt;/p&gt;

	&lt;ol&gt;
		&lt;li&gt;A recent holiday I had&lt;/li&gt;
		&lt;li&gt;Some Linux program I&amp;#8217;ve been using&lt;/li&gt;
		&lt;li&gt;A book review&lt;/li&gt;
		&lt;li&gt;A cheesecake recipe&lt;/li&gt;
		&lt;li&gt;Why women have smaller feet than men&lt;sup class="footnote" id="fnrev4f073c551a004525895b261f57b1db32-2"&gt;&lt;a href="#fn4f073c551a004525895b261f57b1db32-2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
	&lt;/ol&gt;

	&lt;p&gt;I can just have &lt;code&gt;holiday1.jpg&lt;/code&gt;, &lt;code&gt;holiday2.jpg&lt;/code&gt;, &lt;code&gt;linux1.jpg&lt;/code&gt;, &lt;code&gt;book5.jpg&lt;/code&gt;, &lt;code&gt;cheese1.jpg&lt;/code&gt; etc. saved in &lt;code&gt;/img/2024-12-24/&lt;/code&gt; This method will make it easier than ever to know what belongs to what.&lt;sup class="footnote" id="fnrev4f073c551a004525895b261f57b1db32-3"&gt;&lt;a href="#fn4f073c551a004525895b261f57b1db32-3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;p&gt;I spent about an hour and a half checking each post from 2020 to now, seeing which ones had images, altering the path from &lt;code&gt;/img/image.webp&lt;/code&gt; to &lt;code&gt;/img/YYYY-MM-DD/image.webp&lt;/code&gt;. Doing a live reload for each altered post to check that I hadn&amp;#8217;t made any silly mistakes. I &lt;em&gt;think&lt;/em&gt; everything is fine, both locally and on the live site. It was a bit of unwanted work, but from now on, I&amp;#8217;ve just got to get used to typing an extra 11 characters to the path. I&amp;#8217;m a fast typist so I think it&amp;#8217;s worth it for the better organisation (I&amp;#8217;ll automate it if it becomes annoying). &lt;/p&gt;

	&lt;p&gt;I generally don&amp;#8217;t write more than one or two posts in a given day, so each dated directory shouldn&amp;#8217;t have too many images (16 images is the most for one day, so far). And I believe that organising by date in the &lt;span class="caps"&gt;YYYY&lt;/span&gt;-MM-DD format gives &lt;em&gt;natural&lt;/em&gt; sorting (oldest to newest). As I don&amp;#8217;t plan on ever changing the &lt;span class="caps"&gt;URL&lt;/span&gt; format:&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;simonh.uk/YYYY/MM/DD/blog-post-title&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ll never need to worry about image paths again! If in the future I decide to group by year as well (which I probably won&amp;#8217;t):&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;/img/YYYY/YYYY-MM-DD/image.jpg&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;That&amp;#8217;ll only apply from that year onwards. But, I don&amp;#8217;t think that&amp;#8217;s necessary unless I get to the tens of &lt;em&gt;millions&lt;/em&gt; of files and directories.&lt;/p&gt;

	&lt;p&gt;What strategies have other Pelican users come up with to deal with this problem?&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn4f073c551a004525895b261f57b1db32-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I was trying to include the key post idea as the first word of the image filename to keep them together conceptually, but now that&amp;#8217;s not necessary.&lt;/p&gt;

	&lt;p class="footnote" id="fn4f073c551a004525895b261f57b1db32-2"&gt;&lt;sup&gt;2&lt;/sup&gt; This was just a random idea that popped into my head. There&amp;#8217;s trillions of webpages on the subject, if you&amp;#8217;re interested!&lt;/p&gt;

	&lt;p class="footnote" id="fn4f073c551a004525895b261f57b1db32-3"&gt;&lt;sup&gt;3&lt;/sup&gt; Another option is:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;code&gt;/img/2024-12-24/hol/&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;&lt;code&gt;/img/2024-12-24/cheese/&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;&lt;code&gt;/img/2024-12-24/book/&lt;/code&gt;&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I haven&amp;#8217;t felt the need for subdirectories within the date folder yet, but you may want to consider it if you have multiple posts, with multiple images sharing the same post date.&lt;/p&gt;

	&lt;h2 class="updated"&gt;Update on 2025-01-10&lt;/h2&gt;

	&lt;p&gt;Having all my post photos in folders was good, but then I noticed that I had lots of loose svg&amp;#8217;s in /img, plus some other random pictures / photos / logos. Thought I&amp;#8217;d better be organised with them too, so created folders for: svg, logo, misc, nav. Think the final thing to do is have a folder called tmp, where I can shove images that&amp;#8217;ll be required for future posts. All in all, looking very neat and tidy (again)!&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;├── logo
│   ├── apache.svg
│   ├── bash.svg
│   ├── blogger_logo.webp
│   ├── bottle.svg
│   ├── debian.svg
│   ├── dropbox.svg
│   ├── fastmail.webp
│   ├── gnu_gpg.svg
│   ├── gnu.webp
│   ├── linkedin.svg
│   ├── linked_out.svg
│   ├── mercurial.svg
│   ├── opensmtpd.png
│   ├── opensmtpd.webp
│   ├── pelican.png
│   ├── pelican.webp
│   ├── sqlite.svg
│   └── textile.webp
├── misc
│   └── code.webp
├── nav
│   ├── back.svg
│   ├── back-to-top.svg
│   ├── home.svg
│   ├── next.svg
│   └── prev.svg
├── shock.jpg
├── speechless.jpg
├── standby2.webp
├── standby3.webp
├── standby4.webp
├── standby5.webp
├── standby.webp
├── svg
│   ├── asterisk.svg
│   ├── category.svg
│   ├── cross.svg
│   ├── footnote.svg
│   ├── idea.svg
│   ├── info.svg
│   ├── new.svg
│   ├── question-alt.svg
│   ├── question.svg
│   ├── readme.svg
│   ├── summary.svg
│   ├── tag.svg
│   ├── tick.svg
│   ├── update.svg
│   └── warn.svg
├── terminal.svg
├── the_end.webp
└── wifi.svg&lt;/code&gt;&lt;/pre&gt;</content><category term="blogging"></category><category term="pelican"></category><category term="tips"></category></entry><entry><title>Homemade Peppercorn Sauce</title><link href="https://simonh.uk/2024/12/23/homemade-peppercorn-sauce/" rel="alternate"></link><published>2024-12-23T00:00:00+00:00</published><updated>2024-12-27T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-23:/2024/12/23/homemade-peppercorn-sauce/</id><summary type="html">	&lt;p&gt;Good steak requires good peppercorn sauce&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Peppercorn sauce ingredients" src="/img/2024-12-23/peppercorn_sauce_ingredients.webp" title="Peppercorn sauce ingredients" /&gt;&lt;/p&gt;

	&lt;h2&gt;Why Have I Never Done This Before?&lt;/h2&gt;

	&lt;p&gt;I &lt;strong&gt;love&lt;/strong&gt; steak. Always have, always will. When I&amp;#8217;ve cooked steak at home (on a griddle pan of course), I&amp;#8217;ve just picked up whatever packet sauce is near the steak. I even once tried this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="ASDA peppercorn mix" src="/img/2024-12-23/peppercorn_sauce_asda.webp" title="ASDA peppercorn mix" /&gt;&lt;/p&gt;

	&lt;p&gt;It was not good. In fact, it was &lt;em&gt;extremely&lt;/em&gt; not good. Just because gravy is acceptable in granule form, peppercorn sauce is most definitely not acceptable (trust me on this).&lt;/p&gt;

	&lt;p&gt;This Boxing Day, we&amp;#8217;re mixing it up and instead of having a roasting joint like normal, we&amp;#8217;re having steak, lamb and gammon (me, other half, offspring). We bought the steak and lamb from our regular, local butcher. It then occured to me that it was a bit silly to have such a fine steak with a peppercorn sauce, out of a packet. I mean, they&amp;#8217;re OK. They sort of do the job of adding some flavour, but it didn&amp;#8217;t seem &lt;em&gt;right&lt;/em&gt;. I had looked into making my own peppercorn sauce some time ago, but never did it for some reason. Probably couldn&amp;#8217;t be bothered. And then I decided&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Not this time. Not &lt;em&gt;this&lt;/em&gt; Christmas.&lt;/p&gt;

	&lt;h2&gt;The Ingredients&lt;/h2&gt;

	&lt;p&gt;As with all recipes, there&amp;#8217;s quite a bit of variation. However, most peppercorn sauce recipes have the following:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Brandy&lt;/li&gt;
		&lt;li&gt;Beef stock&lt;/li&gt;
		&lt;li&gt;Peppercorns&lt;/li&gt;
		&lt;li&gt;Double cream&lt;/li&gt;
		&lt;li&gt;Onions (or shallots)&lt;/li&gt;
		&lt;li&gt;Garlic&lt;/li&gt;
		&lt;li&gt;Dijon mustard&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I like all of those ingredients so I bought them all. I&amp;#8217;m thinking if goes well, and it tastes good, I&amp;#8217;ll get two portions. One for this steak, one for another. The internet informs me that freezing homemade peppercorn sauce is completely fine.&lt;/p&gt;

	&lt;h2&gt;The Cooking Bit&lt;/h2&gt;

	&lt;p&gt;Oh dear. This didn&amp;#8217;t go to plan, at all. Still, I managed to salvage the sauce and it&amp;#8217;s &lt;em&gt;delicious&lt;/em&gt;. Here&amp;#8217;s what happened.&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;In a small saucepan I fried a finely(ish) chopped brown onion in a bit of sunflower oil and butter for about two minutes.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Next, I added two minced garlic cloves along with 2 tsp of whole black peppercorns. Some recipes suggest you pestle and mortar them. I decided not to. Fried this lot for about 20 seconds.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Added 2 tbsp of brandy and fry for 10 seconds.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Added 2 cups of beef stock. In my case this was &lt;span class="caps"&gt;OXO&lt;/span&gt; stock pots. Added a bit of freshly ground salt and pepper. Brought to a boil.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Added 2 tsp of dijon mustard and &amp;#189; cup of double cream.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Brought back to the boil&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;At this point the sauce looked like this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Peppercorn sauce simmering" src="/img/2024-12-23/peppercorn_sauce1.webp" title="Peppercorn sauce simmering" /&gt;&lt;/p&gt;

	&lt;p&gt;Everything looked good &lt;em&gt;I thought&lt;/em&gt;. All I&amp;#8217;ve got to do now is simmer for about 20 minutes, until it&amp;#8217;s thickened up. Give it a taste, marvel at my brilliance and put it in a jar to cool fully, ready for Boxing Day. &lt;/p&gt;

	&lt;p&gt;Well no, that&amp;#8217;s not what happened.&lt;/p&gt;

	&lt;p&gt;I started simmmering at 13:18 (I always check the time). Twenty minutes in at 13:38, the sauce has not thickened &lt;strong&gt;at all&lt;/strong&gt;. It&amp;#8217;s like bloody water! And getting darker and darker. I forget exactly when, but I think this next photo was about forty five minutes in&amp;#8230;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Peppercorn sauce still cooking" src="/img/2024-12-23/peppercorn_sauce2.webp" title="Peppercorn sauce still cooking" /&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;It&amp;#8217;s got to be the cream! I need to add more!&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;I say to myself.&lt;/p&gt;

	&lt;p&gt;I add another &amp;#188; cup of cream, turn up the heat and hope for the best.&lt;/p&gt;

	&lt;p&gt;Things are now looking &lt;em&gt;a bit&lt;/em&gt; better but I reckon I&amp;#8217;m down to a quarter of what I started with. Not half. I decide to put the sauce in a jar and probably have another go tomorrow, from scratch. After all, it&amp;#8217;s my first attempt at peppercorn sauce, and I&amp;#8217;ve got two full days before I need it.&lt;/p&gt;

	&lt;p&gt;An hour or so later, I wonder if adding another &amp;#188; cup of double cream could save this batch? I mean, I don&amp;#8217;t really want to start again if I can avoid it.&lt;/p&gt;

	&lt;p&gt;Energised by this new idea, I grab another saucepan, add the so far disappointing sauce and the extra &amp;#188; cup of double cream. Mixing them together gives me this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="A lighter sauce" src="/img/2024-12-23/peppercorn_sauce3.webp" title="A lighter sauce" /&gt;&lt;/p&gt;

	&lt;p&gt;Not bad.&lt;/p&gt;

	&lt;p&gt;I cook for about five minutes, taste (nice), and put back in my jar:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Finished sauce" src="/img/2024-12-23/peppercorn_sauce4.webp" title="Finished sauce" /&gt;&lt;/p&gt;

	&lt;h2&gt;Lessons Learned&lt;/h2&gt;

	&lt;ul&gt;
		&lt;li&gt;Even a homemade peppercorn sauce that has &lt;em&gt;gone wrong&lt;/em&gt; is better than anything out of a packet. Very rich, full of flavour.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Peppercorns soften up nicely. Maybe it was the extra cooking time.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;It was worth it, even if it didn&amp;#8217;t go to plan&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2&gt;&lt;mark&gt;Update on 2024-12-27&lt;/mark&gt;&lt;/h2&gt;

	&lt;p&gt;Well, it wasn&amp;#8217;t sitting right that things had &lt;em&gt;gone wrong&lt;/em&gt; so I decided to start again on Boxing Day. I made the following changes:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Used a frying pan instead of saucepan
		&lt;ul&gt;
			&lt;li&gt;I believed having a wider cooking area would give better results and would make it easier to test that the sauce was thick enough:&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Using a frying pan" src="/img/2024-12-23/take2-1.webp" title="Using a frying pan" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;I used a full cup of double cream from the outset (all other ingredients the same). Also, I simmered at about medium heat, instead of a very gentle simmer:&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Using a frying pan" src="/img/2024-12-23/take2-2.webp" title="Using a frying pan" /&gt;&lt;/p&gt;

	&lt;p&gt;After the 20 minutes simmering, the sauce was ready as shown by the &lt;em&gt;scrape test&lt;/em&gt;:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Scrape test" src="/img/2024-12-23/take2-3.webp" title="Scrape test" /&gt;&lt;/p&gt;

	&lt;p&gt;Did the all important taste test, and this was even better! As a bonus, I&amp;#8217;ve also got &lt;em&gt;two&lt;/em&gt; portions, as originally planned:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Peppercorn sauce ready" src="/img/2024-12-23/take2-4.webp" title="Peppercorn sauce ready" /&gt;&lt;/p&gt;

	&lt;p&gt;All that&amp;#8217;s now left is a photo of this on the steak. By the way, I think this is the &lt;em&gt;biggest&lt;/em&gt; steak I&amp;#8217;ve had in my life. It wouldn&amp;#8217;t fit on the plate (part of it is on top of the main cut). &lt;/p&gt;

	&lt;p&gt;&lt;img alt="Steak and Homemade Peppercorn Sauce" src="/img/2024-12-23/steak_and_peppercorn_sauce.webp" title="Steak and Homemade Peppercorn Sauce" /&gt;&lt;/p&gt;

	&lt;p&gt;If you&amp;#8217;ve made it this far, you&amp;#8217;ll be pleased to know that, finally, after a few days and a few mishaps, we&amp;#8217;ve made it to:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="The End" src="/img/the_end.webp" title="The End" /&gt;&lt;/p&gt;</content><category term="cooking"></category><category term="steak"></category><category term="cooking"></category><category term="food"></category></entry><entry><title>Best Homemade English Muffin Recipe</title><link href="https://simonh.uk/2024/12/22/best-homemade-english-muffin-recipe/" rel="alternate"></link><published>2024-12-22T00:00:00+00:00</published><updated>2024-12-22T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-22:/2024/12/22/best-homemade-english-muffin-recipe/</id><summary type="html">	&lt;p&gt;You will never buy muffins again&lt;/p&gt;</summary><content type="html">	&lt;h2&gt;If at First You Don&amp;#8217;t Succeed&amp;#8230;&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Muffins ready to eat" src="/img/2024-12-22/muffins_ready.webp" title="Muffins ready to eat" /&gt;&lt;/p&gt;

	&lt;p&gt;I like making bread. I make a &lt;em&gt;fine&lt;/em&gt; loaf, even if I say so myself. I&amp;#8217;ve had bread nailed for a couple of years now. At some point I thought I&amp;#8217;d try muffins. They were bad. Awful. Dense, tiny, pathetic little things. Often under cooked, therefore uneatable. I lost count of how many muffins ended up in the kitchen bin. I tried &lt;strong&gt;lots&lt;/strong&gt; of recipes and always got bad results.&lt;/p&gt;

	&lt;h2&gt;Youtube Saves the Day (Again)&lt;/h2&gt;

	&lt;p&gt;Everything changed when I watched a video on Youtube by a guy called &lt;a href="https://www.youtube.com/watch?v=giyFwrD6oBM"&gt;Brian Lagerstrom&lt;/a&gt;.&lt;/p&gt;

	&lt;p&gt;I already have a dough recipe that works great for bread so I modified that slightly. What changed everything was how he &lt;em&gt;cooks&lt;/em&gt; his muffins. &lt;/p&gt;

	&lt;h2&gt;My English Muffin Recipe&lt;/h2&gt;

	&lt;p&gt;&lt;em&gt;Makes 4 large muffins&lt;/em&gt;&lt;/p&gt;

	&lt;h3&gt;Ingredients&lt;/h3&gt;

	&lt;ul&gt;
		&lt;li&gt;2 cups strong flour&lt;sup class="footnote" id="fnrevbff28ba2681d4e30bb660d610a91a29e-1"&gt;&lt;a href="#fnbff28ba2681d4e30bb660d610a91a29e-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
		&lt;li&gt;1 cup warm water (for yeast)&lt;/li&gt;
		&lt;li&gt;1 tsp salt&lt;/li&gt;
		&lt;li&gt;1 tsp granulated sugar&lt;/li&gt;
		&lt;li&gt;&amp;#189; tsp dried yeast&lt;/li&gt;
		&lt;li&gt;1 tbsp of sourdough starter&lt;sup class="footnote" id="fnrevbff28ba2681d4e30bb660d610a91a29e-2"&gt;&lt;a href="#fnbff28ba2681d4e30bb660d610a91a29e-2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
		&lt;li&gt;&amp;#189; tsp sunflower oil&lt;/li&gt;
		&lt;li&gt;1 tsp of clarified butter&lt;sup class="footnote" id="fnrevbff28ba2681d4e30bb660d610a91a29e-3"&gt;&lt;a href="#fnbff28ba2681d4e30bb660d610a91a29e-3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
		&lt;li&gt;&amp;#188; cup of coarse cornmeal&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h3&gt;Method&lt;/h3&gt;

	&lt;ul&gt;
		&lt;li&gt;Put flour into a large bowl, add the salt and sugar and stir in&lt;/li&gt;
		&lt;li&gt;In a small bowl, add water to the yeast (yeast is ready when bubbly)&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Yeast and Water" src="/img/2024-12-22/muffin_yeast.webp" title="Yeast and Water" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Add the yeast to the flour and stir until it&amp;#8217;s a &lt;em&gt;shaggy mess&lt;/em&gt;. If it&amp;#8217;s too wet, add some flour. Too dry? Add warm water.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Muffin Dough" src="/img/2024-12-22/muffin_dough.webp" title="Muffin Dough" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Add the sunflower oil to the sides of the bowl&lt;sup class="footnote" id="fnrevbff28ba2681d4e30bb660d610a91a29e-4"&gt;&lt;a href="#fnbff28ba2681d4e30bb660d610a91a29e-4"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
		&lt;li&gt;Cover with cling film for about 20 / 30 minutes&lt;/li&gt;
		&lt;li&gt;Wet your hands and &lt;a href="https://www.kingarthurbaking.com/blog/2023/07/31/what-does-folding-bread-dough-mean-exactly"&gt;fold the dough&lt;/a&gt; a few times. This is important to build strength in the dough&lt;/li&gt;
		&lt;li&gt;After another 20 / 30 minutes, fold the dough again&lt;/li&gt;
		&lt;li&gt;Leave covered until doubled in size&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Dough Risen" src="/img/2024-12-22/muffin_dough_risen.webp" title="Dough Risen" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;Tip&lt;/mark&gt;: &lt;em&gt;In the winter, you can kill two birds with one stone (pun intended) &amp;#8212; season your pizza stones / steels and use the oven warmth to warm up your dough!&lt;/em&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;On a well floured surface, shape the dough into four discs. Once shaped sprinkle cornmeal underneath and on top of muffins. Leave to rise again for 20 / 30 minutes&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Muffins Shaped" src="/img/2024-12-22/muffins_shaped.webp" title="Muffins Shaped" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Sprinkle some cornmeal into a &lt;em&gt;large&lt;/em&gt; frying pan and add the clarified butter and set to medium heat&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Cornmeal and butter in the pan" src="/img/2024-12-22/muffin_frying_pan.webp" title="Cornmeal and butter in the pan" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Carefully move each muffin into the pan&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Muffins in the pan" src="/img/2024-12-22/muffins_cooking1.webp" title="Muffins in the pan" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Cook for &lt;em&gt;exactly&lt;/em&gt; 5 minutes per side&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Muffins flipped on to other side" src="/img/2024-12-22/muffins_flipped.webp" title="Muffins flipped on to other side" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Carefully flip the muffins to cook the other side&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Muffins nearly finished" src="/img/2024-12-22/muffins_cooked.webp" title="Muffins nearly finished" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Remove from the frying pan and place on cooling rack&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Muffins finished" src="/img/2024-12-22/muffins_cooling.webp" title="Muffins finished" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Slice muffins when cooled, place in grill&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Muffins sliced" src="/img/2024-12-22/muffins_sliced.webp" title="Muffins sliced" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Behold the amazing &lt;em&gt;nooks and crannies&lt;/em&gt; that will fill with butter&lt;sup class="footnote" id="fnrevbff28ba2681d4e30bb660d610a91a29e-5"&gt;&lt;a href="#fnbff28ba2681d4e30bb660d610a91a29e-5"&gt;5&lt;/a&gt;&lt;/sup&gt;:&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Nooks and crannies" src="/img/2024-12-22/muffins_nooks_crannies.webp" title="Nooks and crannies" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;After both sides have been grilled, spread butter (plus whatever topping your prefer) generously on the muffin&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;&lt;img alt="Muffins and raspberry jam" src="/img/2024-12-22/muffins_with_jam.webp" title="Muffins and raspberry jam" /&gt;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Eat, and realise &amp;#8212; you can &lt;strong&gt;never&lt;/strong&gt; buy muffins again&lt;sup class="footnote" id="fnrevbff28ba2681d4e30bb660d610a91a29e-6"&gt;&lt;a href="#fnbff28ba2681d4e30bb660d610a91a29e-6"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
	&lt;/ul&gt;

	&lt;h2&gt;Notes&lt;/h2&gt;

	&lt;p&gt;You can freeze these muffins to eat later. I just put mine in an airtight container (it&amp;#8217;ll need to be large as these muffins come out &lt;strong&gt;big&lt;/strong&gt;) and they get eaten quickly. &lt;/p&gt;

	&lt;p&gt;The other half and I have these in the evening. Re-heated under the grill, generously spread with butter (and vegemite in my case). They&amp;#8217;re also great to have with raspberry jam in the morning. You could also take your sausage and egg muffins to the next level at lunchtime. &lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fnbff28ba2681d4e30bb660d610a91a29e-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I&amp;#8217;ve also used 1 cup strong, 1 cup plain. Just as good as 2 cups of strong&lt;/p&gt;

	&lt;p class="footnote" id="fnbff28ba2681d4e30bb660d610a91a29e-2"&gt;&lt;sup&gt;2&lt;/sup&gt; If you haven&amp;#8217;t got a starter, use 1 tsp of dried yeast. I&amp;#8217;d recommend making a sourdough starter though.&lt;/p&gt;

	&lt;p class="footnote" id="fnbff28ba2681d4e30bb660d610a91a29e-3"&gt;&lt;sup&gt;3&lt;/sup&gt; Brian uses a lot of clarified butter in his recipe. I find this makes them too damp for my liking.&lt;/p&gt;

	&lt;p class="footnote" id="fnbff28ba2681d4e30bb660d610a91a29e-4"&gt;&lt;sup&gt;4&lt;/sup&gt; By adding to the sides of the bowl, the oil won&amp;#8217;t interfere so much with the dough rising.&lt;/p&gt;

	&lt;p class="footnote" id="fnbff28ba2681d4e30bb660d610a91a29e-5"&gt;&lt;sup&gt;5&lt;/sup&gt; The nooks and crannies are unpredictable. I think a longer rise after shaping gives more. Not certain though.&lt;/p&gt;

	&lt;p class="footnote" id="fnbff28ba2681d4e30bb660d610a91a29e-6"&gt;&lt;sup&gt;6&lt;/sup&gt; These muffins are &lt;em&gt;so&lt;/em&gt; good that my other half and I eat them nearly every night. Far better than toast.&lt;/p&gt;</content><category term="cooking"></category><category term="bread"></category><category term="recipe"></category><category term="food"></category></entry><entry><title>Dropbox Plus 2025 Review</title><link href="https://simonh.uk/2024/12/22/dropbox-plus-2025-review/" rel="alternate"></link><published>2024-12-22T00:00:00+00:00</published><updated>2024-12-22T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-22:/2024/12/22/dropbox-plus-2025-review/</id><summary type="html">	&lt;p&gt;OK, but could be better&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Dropbox Logo" src="/img/logo/dropbox.svg" title="Dropbox Logo" /&gt;&lt;/p&gt;

	&lt;h2&gt;One Year In&lt;/h2&gt;

	&lt;p&gt;In early January, my Dropbox plus subscription is up for renewal. Overall, I&amp;#8217;ve been happy(ish) with the service and will be renewing. This post is a quick look at what we get for just less than a hundred pounds per year and whether it&amp;#8217;s worth the money.&lt;/p&gt;

	&lt;h2&gt;Price&lt;/h2&gt;

	&lt;p&gt;So, how much exactly does Dropbox plus cost? £95.88 if you pay in one go, which works out at £7.99 per month. For that you get:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;2TB of storage&lt;/li&gt;
		&lt;li&gt;File transfers up to 50GB&lt;/li&gt;
		&lt;li&gt;30 day file restore&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;For me, the main reason for upgrading was the storage space. Nothing more.&lt;/p&gt;

	&lt;h2&gt;What I like&lt;/h2&gt;

	&lt;p&gt;In the year I&amp;#8217;ve had my subscription, nothing has gone wrong (that I know of). Uploading files is easy. I like that they have a partnership with Microsoft to edit Word, Excel and Powerpoint files directly from their site which is handy.&lt;/p&gt;

	&lt;p&gt;File transfers work well. You get emails when links are clicked, files downloaded.&lt;/p&gt;

	&lt;p&gt;Dropbox Paper is interesting. I&amp;#8217;ve only used it a few times, but it could be useful for notes, presentations, that sort of thing. How committed Dropbox are to keeping it around long term is &lt;a href="https://www.dropboxforum.com/discussions/101001014/is-dropbox-paper-dead-in-the-water/476539"&gt;uncertain&lt;/a&gt;.&lt;/p&gt;

	&lt;p&gt;I use their website when I&amp;#8217;m on desktop and the Android app on my phone. Both are well designed, fast and intuitive. When they make significant changes to the interface, you always know as they have popups telling you what&amp;#8217;s new.&lt;/p&gt;

	&lt;h2&gt;What I Don&amp;#8217;t Like&lt;/h2&gt;

	&lt;p&gt;What I dislike the most is how they&amp;#8217;re always trying to get me to upgrade. Random popups appear. On one of the nav bars this monstosity is trying to get your attention, all the time:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Upgrade annoyance" src="/img/2024-12-22/dropbox_upgrade.webp" title="Upgrade annoyance" /&gt;&lt;/p&gt;

	&lt;p&gt;There&amp;#8217;s a link to a feature called &lt;em&gt;Send and track&lt;/em&gt;. Try to &lt;em&gt;Track file&lt;/em&gt; and you get this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Upgrade your plan" src="/img/2024-12-22/dropbox_upgrade_your_plan.webp" title="Upgrade your plan" /&gt;&lt;/p&gt;

	&lt;p&gt;I find that very annoying. You get that a lot. It&amp;#8217;s almost like they&amp;#8217;re trying to make you feel guilty for not giving them more money.&lt;/p&gt;

	&lt;p&gt;If you create a tranfer and want to set an expiration or add a password:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="More money please" src="/img/2024-12-22/dropbox_upgrade2.webp" title="More money please" /&gt;&lt;/p&gt;

	&lt;p&gt;No thanks.&lt;/p&gt;

	&lt;p&gt;Another thing that&amp;#8217;s annoying is (as many people have pointed out) that they&amp;#8217;re missing a &lt;em&gt;Dropbox Lite&lt;/em&gt; plan. Google and Microsoft both have 100GB plans. For many people that&amp;#8217;d be sufficient. I pay both the aforementioned companies for that service (~£20 per year). &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;For less than a hundred quid a year, you have 2TB of storage accessible through pretty much any device. I don&amp;#8217;t use any sync functionality, but it&amp;#8217;s there if needed. Overall, after nearly one year of use, I&amp;#8217;d rate the service as:&lt;/p&gt;

	&lt;p&gt;7 out of 10.&lt;/p&gt;</content><category term="reviews"></category><category term="software"></category><category term="storage"></category><category term="dropbox"></category></entry><entry><title>Spruced Up My Blog</title><link href="https://simonh.uk/2024/12/20/spruced-up-my-blog/" rel="alternate"></link><published>2024-12-20T00:00:00+00:00</published><updated>2025-01-09T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-20:/2024/12/20/spruced-up-my-blog/</id><summary type="html">	&lt;p&gt;Ahhhh&amp;#8230; that&amp;#8217;s better.&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Sprucing up" src="/img/2024-12-20/dusting.webp" title="Sprucing up" /&gt;&lt;/p&gt;

	&lt;h2&gt;Ready for 2025&lt;/h2&gt;

	&lt;p&gt;Since I started &lt;em&gt;intermittently&lt;/em&gt; blogging again in 2020, I haven&amp;#8217;t really done much style-wise with this site. I use the static site generator, Pelican, and a theme called Pelican Paper (details and links on my About page). To be fair, Pelican Paper is good to go straight out of the box. However, I&amp;#8217;m a fussy little so-and-so and had some things I wanted to change. As business is a bit quiet this time of year, I decided to tackle it.&lt;/p&gt;

	&lt;h2&gt;Self Hosted Fonts&lt;/h2&gt;

	&lt;p&gt;Over the last few years I&amp;#8217;ve been self hosting Google fonts on my servers for my Python projects. Unlike a few years ago, doing this takes about 15 minutes today. I view fonts as just another asset like a stylesheet, an image, an html file. Might as well host it myself. Here, I&amp;#8217;m using Crimson Pro for headings, Public Sans for body text, JetBrains Mono for code. I think these fonts go really well together.&lt;/p&gt;

	&lt;h2&gt;Adding Post Images / Logos&lt;/h2&gt;

	&lt;p&gt;Many of my posts were just text, which is fine, but I think some are better with an image or a logo (if the post is about a specific product, platform or software). I&amp;#8217;ve been doing this over a few days, and I think the backlog is now cleared.&lt;/p&gt;

	&lt;h2&gt;Improving Organisation of Post Images&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve written a dedicated post about this &lt;a href="https://simonh.uk/2024/12/24/organising-blog-post-images-in-pelican/"&gt;here&lt;/a&gt;. Have a read if you&amp;#8217;re interested.&lt;/p&gt;

	&lt;h2&gt;Better Pagination&lt;/h2&gt;

	&lt;p&gt;Pagination was set at ten posts per page. I&amp;#8217;ve increased that to twenty five. I don&amp;#8217;t like clicking buttons unnecessarily, and I&amp;#8217;m sure you don&amp;#8217;t either.&lt;/p&gt;

	&lt;h2&gt;Take Atom Feeds More Seriously&lt;/h2&gt;

	&lt;p&gt;The static site generator I use: Pelican, has always generated atom feeds. Until now, I&amp;#8217;d paid no attention to them. I&amp;#8217;m now looking into how these will help notify readers about posts which get frequently updated (see below). Once I&amp;#8217;m &lt;em&gt;au fait&lt;/em&gt; with how these operate, I&amp;#8217;ll write a &lt;a href="https://simonh.uk/2024/12/28/what-are-atom-feeds-and-how-do-i-use-them/"&gt;post&lt;/a&gt; on the topic.&lt;/p&gt;

	&lt;h2&gt;Make Use of Post Modified Date&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;m also trying to be a bit more disciplined about keeping track of when I last modified a post. For example, my post about getting banned from &lt;a href="https://simonh.uk/2021/04/18/banned-kicked-off-linkedin/"&gt;linkedin&lt;/a&gt; which I originally wrote in 2021, has been updated this month with a bit more text and some images. Same with my review post of &lt;a href="https://simonh.uk/2024/12/14/drakes-net-concentrates/"&gt;Drake&amp;#8217;s&lt;/a&gt; tobacco concentrates.&lt;/p&gt;

	&lt;h2&gt;Styled Footnotes&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve become quite a fan of footnotes lately. The problem can be that they&amp;#8217;re hard to see on the page. I&amp;#8217;ve decided to make mine blue and add a bit of padding. Again, I&amp;#8217;m quite chuffed with how they now look.&lt;sup class="footnote" id="fnrev2fad2bc8fc044901bc8bbd7295bedb77-1"&gt;&lt;a href="#fn2fad2bc8fc044901bc8bbd7295bedb77-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;h2&gt;Better Styled &lt;code&gt;&amp;lt;mark&amp;gt;&lt;/code&gt; Tag&lt;/h2&gt;

	&lt;p&gt;I find the default mark styling a little bit too &lt;em&gt;yellow&lt;/em&gt;. I was after something a little bit more subtle, but still eye catching. Quickly found, and copied this style from &lt;a href="https://www.abeautifulsite.net/posts/a-clever-way-to-style-the-mark-element/"&gt;A Beautiful Site&lt;/a&gt;. Very happy with how &lt;mark&gt;this looks&lt;/mark&gt;.&lt;/p&gt;

	&lt;h2&gt;Version &lt;span class="caps"&gt;CSS&lt;/span&gt; Files to Force Browser Refresh When Updated&lt;/h2&gt;

	&lt;p&gt;As I have Apache set to cache assets such as css and js files set to &lt;code&gt;access +1 month&lt;/code&gt; any changes I made weren&amp;#8217;t visible, unless a visitor has the option to &lt;em&gt;disable cache&lt;/em&gt;. I was going to reduce the duration down to a week but thought there must be a better way. There is!&lt;/p&gt;

	&lt;p&gt;All I had to do was append a version number. Then when a browser looks in it&amp;#8217;s cache, it notices the cached one is stale and downloads the new one. In my case, this meant just renaming &lt;code&gt;paper.css&lt;/code&gt; to &lt;code&gt;paper-1.0.css&lt;/code&gt;. Tested on my Android mobile (which doesn&amp;#8217;t seem to have a disable cache option), and it works great.&lt;/p&gt;

	&lt;h2&gt;Improve Appearance of Tags&lt;/h2&gt;

	&lt;p&gt;The default appearance of tags at the bottom of an article was quite hard to see:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Old style of tags" src="/img/2024-12-20/tags_old.webp" title="Old style of tags" /&gt;&lt;/p&gt;

	&lt;p&gt;So I put a border around them and made the font slightly darker:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="New style of tags" src="/img/2024-12-20/tags_new.webp" title="New style of tags" /&gt;&lt;/p&gt;

	&lt;h2&gt;Add Some Nav Links&lt;/h2&gt;

	&lt;p&gt;Decided to add a back link and a home link next to &lt;em&gt;reply to this post&lt;/em&gt; on article page.&lt;/p&gt;

	&lt;p&gt;Old:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Old appearance" src="/img/2024-12-20/article-actions-old.webp" title="Old appearance" /&gt;&lt;/p&gt;

	&lt;p&gt;New:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="New appearance" src="/img/2024-12-20/article-actions-new.webp" title="New appearance" /&gt;&lt;/p&gt;

	&lt;h2&gt;Implement an Update Policy&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;m using the word &lt;em&gt;policy&lt;/em&gt; liberally here. I&amp;#8217;ve written a post about &lt;a href="https://simonh.uk/2024/12/26/managing-blog-post-updates/"&gt;managing blog post updates&lt;/a&gt; but at the time of writing that one, I hadn&amp;#8217;t made my mind up entirely. My policy now is that when I update a post, the modifed / updated date is displayed beneath the original publication date, highlighted by an aserisk. At the bottom of the page, I have an &lt;em&gt;Updates&lt;/em&gt; section, with a brief summary of what was added or removed on a particular date. &lt;/p&gt;

	&lt;h2 class="readme"&gt;More Icons&lt;/h2&gt;

	&lt;p&gt;I like icons as they convey information &lt;em&gt;quickly&lt;/em&gt; to a reader. &lt;/p&gt;

	&lt;h2 class="question"&gt;This is a question header&lt;/h2&gt;

	&lt;h2 class="summary"&gt;Here&amp;#8217;s what we have covered&lt;/h2&gt;

	&lt;h2 class="idea"&gt;I&amp;#8217;ve had an idea&lt;/h2&gt;

	&lt;p class="warn"&gt;This is important (it&amp;#8217;s not but could have been).&lt;/p&gt;

	&lt;p class="info"&gt;I&amp;#8217;ll probably add a few more. You guessed it. Info icon.&lt;/p&gt;

	&lt;p class="new"&gt;This is new &lt;em&gt;and&lt;/em&gt; exciting!&lt;/p&gt;

	&lt;h2&gt;Future Changes&lt;/h2&gt;

	&lt;p&gt;I might decrease the margins on some templates. In particular, on mobile I think there&amp;#8217;s a bit too much whitespace on the sides on the index page with the new fonts.&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn2fad2bc8fc044901bc8bbd7295bedb77-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Just a demo of the new style.&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-09&lt;/mark&gt;: Add &lt;em&gt;Add some nav links&lt;/em&gt; section.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-04&lt;/mark&gt;: Add &lt;em&gt;More Icons&lt;/em&gt; section.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-03&lt;/mark&gt;: Add &lt;em&gt;Implement an Update Policy&lt;/em&gt; section.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-01&lt;/mark&gt;: Add &lt;em&gt;Improve appearance of tags&lt;/em&gt; section.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2024-12-31&lt;/mark&gt;: Add &lt;em&gt;Version &lt;span class="caps"&gt;CSS&lt;/span&gt; Files to Force Browser Refresh When Updated&lt;/em&gt; section. Also add this &lt;em&gt;Updates&lt;/em&gt; section to match what I do on other posts. See this &lt;a href="https://simonh.uk/2024/12/26/managing-blog-post-updates/"&gt;post&lt;/a&gt; for details.&lt;/p&gt;</content><category term="blogging"></category><category term="pelican"></category></entry><entry><title>Why Start Your Own Blog in 2025?</title><link href="https://simonh.uk/2024/12/20/why-start-your-own-blog-in-2025/" rel="alternate"></link><published>2024-12-20T00:00:00+00:00</published><updated>2025-01-10T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-20:/2024/12/20/why-start-your-own-blog-in-2025/</id><summary type="html">	&lt;p&gt;Location, location, location&lt;/p&gt;</summary><content type="html">	&lt;h2&gt;Location, Location, Location&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Busy market" src="/img/2024-12-20/market.webp" title="Busy market" /&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;The most important consideration in buying real estate is its location.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;The saying goes. Well, that&amp;#8217;s true. But not only of real estate. The same is true for someone selling hot food out of a van in a lay-by. Pick a bad lay-by: make no money. pick a good one: prosper. It&amp;#8217;s common sense. Writing on someone else&amp;#8217;s &lt;del&gt;platform&lt;/del&gt; &lt;ins&gt;intranet&lt;/ins&gt; is like being a market trader. Competing with all the other traders in the market (not necessarily for money, more for attention). But there aren&amp;#8217;t any &lt;em&gt;customers&lt;/em&gt; there. It&amp;#8217;s just other traders. Having your own blog is like being in a lay-by, on your own. It&amp;#8217;ll take you a while to find out if you picked a good lay-by (and are providing good food)!&lt;/p&gt;

	&lt;p&gt;Got something to &lt;del&gt;say&lt;/del&gt; &lt;ins&gt;write&lt;/ins&gt;? Start your own blog. Get a domain name, get a &lt;span class="caps"&gt;VPS&lt;/span&gt;, pick a static site generator (there are &lt;em&gt;lots&lt;/em&gt;).&lt;sup class="footnote" id="fnrev11519f6ac229409ab767602f1c20aada-1"&gt;&lt;a href="#fn11519f6ac229409ab767602f1c20aada-1"&gt;1&lt;/a&gt;&lt;/sup&gt; Spend a day figuring things out, start blogging. &lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;But, we&amp;#8217;ve got Facebook, Linkedin, Tiktok, X &lt;em&gt;etc&lt;/em&gt; now! &lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;&lt;strong&gt;No&lt;/strong&gt;. The owners of those intranets have them. Not you. You are a user. You are a product. Ever read the &lt;em&gt;terms and conditions&lt;/em&gt;? Unlikely. Ever tried moving all of your content from their platform to somewhere else? Good luck with that. Even the latest darling for professional writers, Substack, has quite a few terms you&amp;#8217;ll need to &lt;a href="https://substack.com/tos"&gt;agree to&lt;/a&gt;. Don&amp;#8217;t forget to read the &lt;a href="https://substack.com/pa"&gt;Publisher Agreement&lt;/a&gt; as well!&lt;/p&gt;

	&lt;h2&gt;Your House, Your Rules&lt;/h2&gt;

	&lt;p&gt;When you run your own blog, you&amp;#8217;re in charge. You&amp;#8217;re an author, an editor, a proof reader. Oh, and a researcher. Maybe a photographer, too. That&amp;#8217;s &lt;em&gt;a lot&lt;/em&gt; of transferable skills you&amp;#8217;re going to get better at. Want to write a post about something that you&amp;#8217;re pretty sure is of &lt;em&gt;no interest&lt;/em&gt; to anyone but you? Do it. You might be surprised when it gets some views.&lt;/p&gt;

	&lt;h2&gt;Searchability&lt;/h2&gt;

	&lt;p&gt;Let&amp;#8217;s try an experiment. Let&amp;#8217;s search for &lt;em&gt;something&lt;/em&gt; on the internet. Hmmmm. Ok, I&amp;#8217;ve got one:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;best laptop to buy&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;1st result: Techradar (a blog)&lt;/p&gt;

	&lt;p&gt;The rest of the first five pages of results (I got bored) is &lt;strong&gt;dominated&lt;/strong&gt; by blogs, with a few shopping sites and &lt;em&gt;legacy media&lt;/em&gt; sites. Reddit appears as the first result in the &lt;em&gt;discussions and forums&lt;/em&gt; section.&lt;/p&gt;

	&lt;p&gt;Note: Facebook, Twitter, Linkedin, Instagram, Tiktok&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Nothing. At. All.&lt;/p&gt;

	&lt;p&gt;What&amp;#8217;s that you say? Try something not involved with buying something? Good point. I&amp;#8217;ll try again&amp;#8230;&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;What is the purpose of life&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I&amp;#8217;m sure the &lt;em&gt;social media&lt;/em&gt; plaforms are bursting at the seams with philosophers, gurus, genuises etc.&lt;/p&gt;

	&lt;p&gt;Nope.&lt;/p&gt;

	&lt;p&gt;Blogs, wikipedia, Quora (forum), religious blogs (to be expected) dominate.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;Note&lt;/mark&gt;: To be fair, a linkedin page&lt;sup class="footnote" id="fnrev11519f6ac229409ab767602f1c20aada-2"&gt;&lt;a href="#fn11519f6ac229409ab767602f1c20aada-2"&gt;2&lt;/a&gt;&lt;/sup&gt; was near the bottom of the first page, and they had a second result on the second page. I also tried on bing.com. Same dismal failure as on Google.&lt;/p&gt;

	&lt;p&gt;But you can see that the &lt;em&gt;social media&lt;/em&gt; silos (generally) don&amp;#8217;t return results on the internet. That&amp;#8217;s because they&amp;#8217;re not really &lt;em&gt;on&lt;/em&gt; the internet. They&amp;#8217;re actually intranets:&lt;/p&gt;

	&lt;p&gt;From &lt;a href="https://en.wikipedia.org/wiki/Intranet"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;An intranet is a computer network for sharing information, easier communication, collaboration tools, operational systems, and other computing services within an organization, usually to the exclusion of access by outsiders. The term is used in contrast to public networks, such as the Internet, but uses the same technology based on the Internet protocol suite. &lt;/p&gt;&lt;/blockquote&gt;

	&lt;h2&gt;Longevity&lt;/h2&gt;

	&lt;p&gt;I was quite surprised a few months ago when I got an email from a reader about a post I&amp;#8217;d written &lt;em&gt;three years&lt;/em&gt; before (most emails I receive are within a few weeks / months of a post). You don&amp;#8217;t get &lt;em&gt;that&lt;/em&gt; on Facebook, do you? There&amp;#8217;s so much stuff flying around, it&amp;#8217;s hard to remember what was posted &lt;em&gt;yesterday&lt;/em&gt;, let alone last week.&lt;/p&gt;

	&lt;p&gt;When you have your own blog, that&amp;#8217;s what happens. You write a post about something that&amp;#8217;s on your mind and forget about it. At some point in the future, someone else has that same topic in mind, searches for it, and lands on your post. Everything is a lot more &lt;em&gt;relaxed&lt;/em&gt;. No urgency. Ever.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Relaxing" src="/img/2024-12-20/relaxing.webp" title="Relaxing" /&gt;&lt;/p&gt;

	&lt;h2&gt;Skill Development&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve already mentioned this earlier, but I think it warrants it&amp;#8217;s own section (especially for younger people).&lt;/p&gt;

	&lt;p&gt;Starting and maintainig a blog requires a number of skills:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Being able / willing to write&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;It doesn&amp;#8217;t need to be perfect. You can just write as you wish. One of my favourite novels ever is &lt;em&gt;The Dog Stars&lt;/em&gt; by Peter Heller. Here are tho opening few paragraphs:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Peter Heller - The Dog Stars" src="/img/2024-12-20/excert.webp" title="Peter Heller - The Dog Stars" /&gt;&lt;/p&gt;

	&lt;p&gt;He&amp;#8217;s written the book in the style of someone not particularly well educated. It doesn&amp;#8217;t matter. The book is still fantastic.&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Being able to organise your time effectively&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;When you have your own blog, you&amp;#8217;re going to need to manage your time. Maybe you want to write one post / article a week. Maybe one every day. On the other hand you may be like me, and sometimes write two or three posts in one day, then silence for months.&lt;/p&gt;

	&lt;p&gt;Whatever your style, you&amp;#8217;re still going to eventually have to sit down and put &lt;del&gt;pen to paper&lt;/del&gt; &lt;ins&gt;fingers on keyboard&lt;/ins&gt;. That means forgoing watching a bit of TV or YouTube, gaming, tiktoking, or whatever else gobbles up your free time (and gives you nothing in return).&lt;/p&gt;

	&lt;h2&gt;The Never Ending Project&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Cannock Chase" src="/img/2024-12-20/cannock-chase.webp" title="Cannock Chase" /&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve long been an advocate of &lt;em&gt;always&lt;/em&gt; having projects on the go. Whether that be learning something new, such as a new language, programming, how to draw etc. Running your own blog will mean you&amp;#8217;ll always have something to do. Writing a new article, updating an old one, fixing a mistake, tweaking your theme / layout. You&amp;#8217;ll never, ever, have &lt;strong&gt;nothing&lt;/strong&gt; to do once you start blogging!&lt;/p&gt;

	&lt;p&gt;Even if you can&amp;#8217;t thing of anything to write, you can write about that. Or, take a break from writing and take some photos and upload an article titled something like: &lt;em&gt;A Trip to Cannock Chase&lt;/em&gt;. Why not? Doing something is better than doing nothing.&lt;/p&gt;

	&lt;h2&gt;In the Old Days&lt;/h2&gt;

	&lt;p&gt;In the early days of the web, their were sites, forums, blogs. That was it, pretty much. Everyone knew how important the web would become. I&amp;#8217;ve owned the domain &lt;code&gt;simonharrison.net&lt;/code&gt; since 2002. Back in the day I had a blog. Then, for some reason, I didn&amp;#8217;t (I forget why). Many people forgot about blogging. Went onto a &lt;em&gt;plaform&lt;/em&gt; that made everything easier. Became more concerned with likes and shares than value. Or, just went on the internet when they needed to, as a tourist. Well, that ease made &lt;em&gt;them&lt;/em&gt; untold billions of dollars and made &lt;em&gt;you&lt;/em&gt; inept at having your own home on the internet (erm, what&amp;#8217;s a &lt;span class="caps"&gt;VPS&lt;/span&gt;?). Correct that error in 2025. &lt;/p&gt;

	&lt;h2&gt;What&amp;#8217;s the Point?&lt;/h2&gt;

	&lt;p&gt;This blog is not about making money. Not made a penny and don&amp;#8217;t plan on making a penny from it. I don&amp;#8217;t have analytics set up. I &lt;em&gt;did&lt;/em&gt; but decided that it didn&amp;#8217;t matter if I get one visitor a month, or one million. I have things to say occasionally and I write a post. Sometimes I get an email from a happy reader thanking me for a tutorial post. Sometimes I get an email from an old friend who randomly searched for my name, surprised that I was the first result. Sometimes I get an email from someone responding to a post asking for more information.&lt;/p&gt;

	&lt;p&gt;That is why I do this and why you should too. Welcome to the long tail of the internet&amp;#8230;&lt;/p&gt;

	&lt;h2&gt;Getting Started&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Choosing blogging software" src="/img/2024-12-20/choice.webp" title="Choosing blogging software" /&gt;&lt;/p&gt;

	&lt;p&gt;Well, you&amp;#8217;ve got lots of choices! Fundamentally, they boil down to choosing between self hosting or using a platform. I&amp;#8217;m not a big fan of &amp;#8220;platforms&amp;#8221;, but when it comes to blogging, they do make getting started much easier.&lt;/p&gt;

	&lt;p&gt;On the other hand, if you decide to host your own blog, you&amp;#8217;ll have &lt;em&gt;full&lt;/em&gt; control over every aspect of it. They do come at the cost of a steeper learning curve though.&lt;/p&gt;

	&lt;p class="warn"&gt;You&amp;#8217;ll have to decide whether to use a static site generator such as &lt;a href="https://getpelican.com/"&gt;Pelican&lt;/a&gt;, &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt;, &lt;a href="https://jekyllrb.com/"&gt;Jekyll&lt;/a&gt;, or a database driven one, like &lt;a href="https://wordpress.org/"&gt;Worpress&lt;/a&gt;. One that is sort of in between, and I used &lt;em&gt;many&lt;/em&gt; years ago is &lt;a href="https://getgrav.org/"&gt;Grav&lt;/a&gt;. It doesn&amp;#8217;t use a database, but does require &lt;span class="caps"&gt;PHP&lt;/span&gt;.&lt;/p&gt;

	&lt;p&gt;As I wrote in &lt;a href="https://simonh.uk/2024/12/30/using-blogger-in-2025/"&gt;another post&lt;/a&gt;, for those people just wanting to have a go at blogging and see if they enjoy it, you can&amp;#8217;t really get any easier than &lt;a href="https://www.blogger.com"&gt;Blogger.com&lt;/a&gt;.&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-10&lt;/mark&gt;: Add &lt;em&gt;never ending project&lt;/em&gt; section.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-04&lt;/mark&gt;: Add &lt;em&gt;getting started&lt;/em&gt; section.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2024-12-30&lt;/mark&gt;: Add &lt;em&gt;skill development&lt;/em&gt; section.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2024-12-28&lt;/mark&gt;: Add &lt;em&gt;searchability&lt;/em&gt; section.&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn11519f6ac229409ab767602f1c20aada-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Just be thankful you aren&amp;#8217;t writing all &lt;span class="caps"&gt;HTML&lt;/span&gt; by hand, then &lt;span class="caps"&gt;FTP&lt;/span&gt;&amp;#8217;ing to your ~10MB slice of someone&amp;#8217;s server on a dialup connection.&lt;/p&gt;

	&lt;p class="footnote" id="fn11519f6ac229409ab767602f1c20aada-2"&gt;&lt;sup&gt;2&lt;/sup&gt; These pages are ones that the linkedin intranet &lt;em&gt;allows&lt;/em&gt; you to set as publicly viewable. &lt;/p&gt;</content><category term="blogging"></category><category term="web"></category><category term="writing"></category><category term="tips"></category></entry><entry><title>R.I.P. Ian Latham (aka Bones)</title><link href="https://simonh.uk/2024/12/19/rip-ian-latham-aka-bones/" rel="alternate"></link><published>2024-12-19T00:00:00+00:00</published><updated>2024-12-19T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-19:/2024/12/19/rip-ian-latham-aka-bones/</id><summary type="html"></summary><content type="html">	&lt;p&gt;Just a quick one to the family and friends of Ian Latham (aka &lt;em&gt;Bones&lt;/em&gt; as I knew him). I worked with Ian at Coleman Manufacturing in Burton from 2010 to 2019. I think he left a couple of times but I got to know him fairly well. We and other lads would talk **** about this and that in the smoking hut day in and day out. He often spoke about his two boys and the antics they got up to. &lt;/p&gt;

	&lt;p&gt;I bumped into a former colleague who told me the grim news of his death in November 2024 (he died in June 2024). Anyway, I&amp;#8217;m not one for speeches, so I&amp;#8217;d just like to send out my condolences to all who knew him, especially his family as we get near to Christmas. &lt;/p&gt;

	&lt;p&gt;He was one of those guys I&amp;#8217;d have enjoyed randomly bumping into in Derby and having a catch up with.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://funeral-notices.co.uk/notice/latham/5198181"&gt;Obituary&lt;/a&gt;&lt;/p&gt;</content><category term="personal"></category></entry><entry><title>How to Properly Season a Pizza Stone</title><link href="https://simonh.uk/2024/12/18/how-to-properly-season-a-pizza-stone/" rel="alternate"></link><published>2024-12-18T00:00:00+00:00</published><updated>2024-12-18T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-18:/2024/12/18/how-to-properly-season-a-pizza-stone/</id><summary type="html">	&lt;p&gt;The quick and effective way&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="New Pizza Stone" src="/img/2024-12-18/pizza_stone_new.webp" title="New Pizza Stone" /&gt;&lt;/p&gt;

	&lt;p&gt;You like cooking pizza and have done some research to find out how to up your game. Everyone says you &lt;em&gt;need&lt;/em&gt; a pizza stone or better still, a pizza steel. Pizza stones are &lt;del&gt;half&lt;/del&gt; &lt;ins&gt;a quarter&lt;/ins&gt; the price of steels, so stone it is. The image above is how they look, brand new.&lt;/p&gt;

	&lt;p&gt;So you order one, it arrives, and you cook on it and are expecting this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="base leoparding" src="/img/2024-12-18/pizza_bottom_good1.webp" title="base leoparding" /&gt;&lt;/p&gt;

	&lt;p&gt;Or this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="good pizza base" src="/img/2024-12-18/pizza_bottom_good2.webp" title="good pizza base" /&gt;&lt;/p&gt;

	&lt;p&gt;But instead, you&amp;#8217;re getting this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="pizza base not cooked enough" src="/img/2024-12-18/pizza_bottom_bad.webp" title="pizza base not cooked enough" /&gt;&lt;/p&gt;

	&lt;p&gt;What&amp;#8217;s going on?&lt;/p&gt;

	&lt;p&gt;A few months ago, I decided to get to the bottom of this mystery. &lt;/p&gt;

	&lt;h2&gt;The Beginning&lt;/h2&gt;

	&lt;p&gt;When I first bought &lt;strong&gt;two&lt;/strong&gt; pizza stones for about 8 quid each, I did my due diligance to ensure they would have a long, productive life. The instructions (in the form of one tiny piece of paper) instructed to wash in warm, soapy water when first bought, then clean as needed (i.e. if dirty). No mention of any need to season or anything like that. No text in bold proclaiming &lt;strong&gt;&lt;span class="caps"&gt;NEVER&lt;/span&gt; &lt;span class="caps"&gt;WASH&lt;/span&gt; &lt;span class="caps"&gt;WITH&lt;/span&gt; &lt;span class="caps"&gt;ANYTHING&lt;/span&gt; &lt;span class="caps"&gt;OTHER&lt;/span&gt; &lt;span class="caps"&gt;THAN&lt;/span&gt; &lt;span class="caps"&gt;WATER&lt;/span&gt;!!!&lt;/strong&gt; as some people on the internet will state. So I followed these instructions.&lt;/p&gt;

	&lt;p&gt;Over the next few months, as I used them I kept thinking that they were hardly any better than the previous bog standard, circular baking trays I&amp;#8217;d been using. It was starting to irritate me. Every now and then, I&amp;#8217;d have a look on the net and the solutions seemed to be:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Domestic ovens can&amp;#8217;t get hot enough&lt;/li&gt;
		&lt;li&gt;You need a pizza steel&lt;/li&gt;
		&lt;li&gt;Something is wrong with your dough&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;None of these are helpful in the slightest. I&amp;#8217;m not changing my oven. I didn&amp;#8217;t want a pizza steel as the stone was so disappointing. My dough is fine, thank you!&lt;/p&gt;

	&lt;h2&gt;Improving Heat Transfer&lt;/h2&gt;

	&lt;p&gt;Then, I stumbled on this video: &lt;a href="https://www.youtube.com/watch?v=UWVEgoEGnkY"&gt;Why Pizza Steels Beat Pizza Stones&lt;/a&gt;. The steel &lt;em&gt;does&lt;/em&gt; beat the stone, but not by a massive amount:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Stone vs Steel" src="/img/2024-12-18/pizza_stone_vs_steel.webp" title="Stone vs Steel" /&gt;&lt;/p&gt;

	&lt;p&gt;My stones have never got close to &lt;strong&gt;anything like that&lt;/strong&gt;. Yes, you can see that the steel &lt;em&gt;does&lt;/em&gt; give better browning, even some leoparding in places. But I&amp;#8217;d have been delighted with the crust / bottom of the stone baked one.&lt;/p&gt;

	&lt;p&gt;Look at this screenshot I took at about 06:40 into the video:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="pizza stone reflective" src="/img/2024-12-18/pizza_stone_screenshot.webp" title="pizza stone reflective" /&gt;&lt;/p&gt;

	&lt;p&gt;Look at the reflection on that stone! They&amp;#8217;re not supposed to look like that. The reason it&amp;#8217;s reflecting light is due to over &lt;em&gt;ten years&lt;/em&gt; of use. All that oil, cheese, other stuff, seeping into the stone, getting hot and solidifying (curing). The whole video is worth watching, but I didn&amp;#8217;t want to wait ten years to get mine like that&amp;#8230;&lt;/p&gt;

	&lt;h2&gt;Seasoning with Oil&lt;/h2&gt;

	&lt;p&gt;So now I had a clue what would help, I got to work. I figured it should be similar to seasoning a wok, griddle, dutch oven. Essentially, you&amp;#8217;re forming a layer of &lt;em&gt;glaze&lt;/em&gt; for want of a better word that&amp;#8217;ll transfer heat more effectively. Stone is highly porous, so I knew it&amp;#8217;d take a few applications&lt;sup class="footnote" id="fnrevb6b525385fa244ff9783e76df62e714f-1"&gt;&lt;a href="#fnb6b525385fa244ff9783e76df62e714f-1"&gt;1&lt;/a&gt;&lt;/sup&gt;. &lt;/p&gt;

	&lt;p&gt;Here&amp;#8217;s what I did:&lt;/p&gt;

	&lt;ol&gt;
		&lt;li&gt;Pour about a teaspoon of oil into the middle of the stone&lt;sup class="footnote" id="fnrevb6b525385fa244ff9783e76df62e714f-2"&gt;&lt;a href="#fnb6b525385fa244ff9783e76df62e714f-2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
		&lt;li&gt;Using your hand, spread the oil evenly all across the cooking surface&lt;/li&gt;
		&lt;li&gt;Wait half an hour (most oil will have been absorbed)&lt;/li&gt;
		&lt;li&gt;Go to step 1&lt;/li&gt;
		&lt;li&gt;Repeat steps 1 to 4 five times&lt;/li&gt;
		&lt;li&gt;Place in oven and cook on full for at least half an hour&lt;/li&gt;
		&lt;li&gt;Leave to cool&lt;/li&gt;
		&lt;li&gt;Back to step 1&lt;/li&gt;
	&lt;/ol&gt;

	&lt;p&gt;Repeat that lot whenever you can be bothered. I did this maybe twice a week for about four weeks. Here&amp;#8217;s how they look now:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Seasoned pizza stones" src="/img/2024-12-18/pizza_stones_seasoned.webp" title="Seasoned pizza stones" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Pizza stone 1 seasoned" src="/img/2024-12-18/pizza_stone_seasoned1.webp" title="Pizza stone 1 seasoned" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Pizza stone 2 seasoned" src="/img/2024-12-18/pizza_stone_seasoned2.webp" title="Pizza stone 2 seasoned" /&gt;&lt;/p&gt;

	&lt;p&gt;Not bad for a few weeks!&lt;sup class="footnote" id="fnrevb6b525385fa244ff9783e76df62e714f-3"&gt;&lt;a href="#fnb6b525385fa244ff9783e76df62e714f-3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;p&gt;Once you&amp;#8217;ve got your stone to this state, you won&amp;#8217;t need to apply a teaspoon of oil any more, or follow the seasoning steps. Instead, get a piece of kitchen roll, put a small amount of oil on it and wipe the surface before cooking on it. &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;If you want a great pizza crust / bottom, you&amp;#8217;ll either &lt;strong&gt;need&lt;/strong&gt; to do this, or get a steel (or wait ten years). I&amp;#8217;ve since bought a steel and it&amp;#8217;s true, they &lt;em&gt;are&lt;/em&gt; fantastic. But, your stone can still compete with the new guy, if you follow this method. My stones aren&amp;#8217;t going anywhere.&lt;/p&gt;

	&lt;h2&gt;Afterword&lt;/h2&gt;

	&lt;p&gt;The next time I do a pizza on one of these stones, I&amp;#8217;ll add a photo below. Have fun!&lt;/p&gt;

	&lt;p&gt;Well, here is a demonstration of what you can expect. To be fair, I &lt;em&gt;probably&lt;/em&gt; should have given this one another couple / three minutes in the oven. By the way, where the underneath looks white, that&amp;#8217;s flour. I was getting some sticking while rolling it&lt;sup class="footnote" id="fnrevb6b525385fa244ff9783e76df62e714f-4"&gt;&lt;a href="#fnb6b525385fa244ff9783e76df62e714f-4"&gt;4&lt;/a&gt;&lt;/sup&gt;, so had to put more on than I normally do!&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Cooked Pizza" src="/img/2024-12-18/pizza_cooked.webp" title="Cooked Pizza" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Pizza Slice" src="/img/2024-12-18/pizza_slice.webp" title="Pizza Slice" /&gt;&lt;/p&gt;


	&lt;h2&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fnb6b525385fa244ff9783e76df62e714f-1"&gt;&lt;sup&gt;1&lt;/sup&gt; If you search for &amp;#8220;season pizza stone with oil&amp;#8221;, they&amp;#8217;ll often do one application and call it a day. Not enough. You need the stone to absorb &lt;strong&gt;lots&lt;/strong&gt; of oil. You&amp;#8217;ve &lt;em&gt;got&lt;/em&gt; to get that glazed, reflective finish!&lt;/p&gt;

	&lt;p class="footnote" id="fnb6b525385fa244ff9783e76df62e714f-2"&gt;&lt;sup&gt;2&lt;/sup&gt; I use sunflower oil. Vegetable oil should be fine. Olive oil if you&amp;#8217;re rich (£5 + per bottle)!&lt;/p&gt;

	&lt;p class="footnote" id="fnb6b525385fa244ff9783e76df62e714f-3"&gt;&lt;sup&gt;3&lt;/sup&gt; I should point out that these weren&amp;#8217;t &lt;strong&gt;new&lt;/strong&gt; stones. I&amp;#8217;d been using them for about a year before seasoning using the method I&amp;#8217;m detailing here. The majority of the cooking surface was still the original cream colour. &lt;/p&gt;

	&lt;p class="footnote" id="fnb6b525385fa244ff9783e76df62e714f-4"&gt;&lt;sup&gt;4&lt;/sup&gt; I&amp;#8217;m doing a post about rolling pizza soon.&lt;/p&gt;</content><category term="cooking"></category><category term="tips"></category><category term="pizza"></category></entry><entry><title>Why I Prefer Textile Over Markdown</title><link href="https://simonh.uk/2024/12/15/why-i-prefer-textile-over-markdown/" rel="alternate"></link><published>2024-12-15T00:00:00+00:00</published><updated>2025-01-08T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-15:/2024/12/15/why-i-prefer-textile-over-markdown/</id><summary type="html">	&lt;p&gt;When Markdown isn&amp;#8217;t for you&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Textile Logo" src="/img/logo/textile.webp" title="Textile Logo" /&gt;&lt;/p&gt;

	&lt;h2&gt;Plain Text &amp;gt; Textile Parser &amp;gt; &lt;span class="caps"&gt;HTML&lt;/span&gt;&lt;/h2&gt;

	&lt;p&gt;I write a lot of &lt;span class="caps"&gt;HTML&lt;/span&gt; by hand. Have done for years. But when I started this blog, I knew I&amp;#8217;d stay a lot saner using a tool such as Markdown, Textile or reStructuredText to generate the final markup for me. I know most people use &lt;a href="https://daringfireball.net/projects/markdown/"&gt;Markdown&lt;/a&gt; but as a contrarian, I chose &lt;a href="https://textile-lang.com/"&gt;Textile&lt;/a&gt;. I&amp;#8217;ve found that Textile gets the balance between ease-of-use and power &lt;em&gt;just right&lt;/em&gt;. &lt;/p&gt;

	&lt;p&gt;Let&amp;#8217;s dive right in and have a look at how you write textile documents.&lt;/p&gt;

	&lt;h2&gt;The Basics&lt;/h2&gt;

	&lt;h3&gt;Headings&lt;/h3&gt;

	&lt;p&gt;Headings are simply h1. to h4. followed by your heading (all on the same line):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;h1. This is my heading&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;will produce&lt;/p&gt;

	&lt;h1&gt;This is my heading&lt;/h1&gt;

&lt;pre&gt;&lt;code&gt;h4. This is my tiny heading&lt;/code&gt;&lt;/pre&gt;

	&lt;h4&gt;This is my tiny heading&lt;/h4&gt;

	&lt;h2&gt;Paragraphs&lt;/h2&gt;

	&lt;p&gt;Paragraphs are blocks of plain text separated by two newlines. You just type as you would in a text editor. The Textile parser will wrap your paragraphs in &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; tags.&lt;/p&gt;

	&lt;h3&gt;Text formatting&lt;/h3&gt;

	&lt;p&gt;Underscores are used to &lt;code&gt;_emphasise_&lt;/code&gt; text. Bold text needs an &lt;code&gt;*asterisk*&lt;/code&gt; on either side of what you want to be bold. If you want emphasised, bold text, just use both &lt;code&gt;_*together*_&lt;/code&gt;:&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;&lt;strong&gt;really important&lt;/strong&gt;&lt;/em&gt; you understand this. Easy.&lt;/p&gt;

	&lt;h3&gt;Lists&lt;/h3&gt;

	&lt;p&gt;Unordered (bullet) lists use asterisks as well. If you need sublists, add asterisks for each sub-level:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Here is my shopping list
* Milk
* Bread
* Ingredients for cake:
** Eggs
** Chocolate
** Sugar&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Personally, I think that is very easy to remember and use. This will output:&lt;/p&gt;

	&lt;p&gt;Here is my shopping list&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Milk&lt;/li&gt;
		&lt;li&gt;Bread&lt;/li&gt;
		&lt;li&gt;Ingredients for cake:
		&lt;ul&gt;
			&lt;li&gt;Eggs&lt;/li&gt;
			&lt;li&gt;Chocolate&lt;/li&gt;
			&lt;li&gt;Sugar&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;p&gt;Ordered (numbered) lists use the hash character &lt;code&gt;#&lt;/code&gt; for each list item:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;How to make a cuppa
# Get a cup
## Place teabag and sugar (if desired) into cup
# Boil a kettle
# When boiled add water to cup
# etc.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Which renders to:&lt;/p&gt;

	&lt;p&gt;How to make a cuppa
	&lt;ol&gt;
		&lt;li&gt;Get a cup
		&lt;ol&gt;
			&lt;li&gt;Place teabag and sugar (if desired) into cup&lt;/li&gt;
		&lt;/ol&gt;&lt;/li&gt;
		&lt;li&gt;Boil a kettle&lt;/li&gt;
		&lt;li&gt;When boiled add water to cup&lt;/li&gt;
		&lt;li&gt;etc.&lt;/li&gt;
	&lt;/ol&gt;&lt;/p&gt;

	&lt;p&gt;The Textile parser will keep track of numbering for you.&lt;/p&gt;

	&lt;h3&gt;Links&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;here is a link to my &amp;quot;website&amp;quot;:https://simonh.uk&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;here is a link to my &lt;a href="https://simonh.uk"&gt;website&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Link text in double quotes, immediately followed by a colon, then the &lt;span class="caps"&gt;URL&lt;/span&gt;&lt;/p&gt;

	&lt;h2&gt;Additional Textile Features&lt;/h2&gt;

	&lt;p&gt;This is where Textile beats the competition (in my opinion). &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;p&amp;gt;. This text is right aligned.
p=. This text is centred.
p&amp;lt;. Back to left aligned (the default).&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Which produces:&lt;/p&gt;

	&lt;p style="text-align:right;"&gt;This text is right aligned.&lt;/p&gt;

	&lt;p style="text-align:center;"&gt;This text is centred.&lt;/p&gt;

	&lt;p style="text-align:left;"&gt;Back to left aligned (the default).&lt;/p&gt;

	&lt;h3&gt;Tables&lt;/h3&gt;

	&lt;p&gt;Example below copied from the Textile website.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;| A | simple | table | row |
| And | another | table | row |
| With an | | empty | cell |

| A | simple | table | row |
| And | another | table | row |
| With an | | empty | cell |&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;There&amp;#8217;s a lot more you can do with tables. Consult the Textile documentation for more info.&lt;/p&gt;

	&lt;h3&gt;Footnotes&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;This line of text has a footnote[1]&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;This line of text has a footnote&lt;sup class="footnote" id="fnrev9e43cb55b38d444d8ab4f3d835a73bda-1"&gt;&lt;a href="#fn9e43cb55b38d444d8ab4f3d835a73bda-1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;p&gt;At the bottom of your Textile document, you simply write&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;fn1. This is the footnote text.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Increment the footnote for each one you created in the document&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;fn2. Here&amp;#39;s the second one.&lt;/code&gt;&lt;/pre&gt;

	&lt;h2&gt;Easily Reference &lt;span class="caps"&gt;CSS&lt;/span&gt; Classes and Styles&lt;/h2&gt;

	&lt;p&gt;I love this one and use it throughout my blog and in other projects. Textile allows you to do this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;p(some-class). Here is my text&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;which will apply whatever you&amp;#8217;ve defined for &lt;code&gt;some-class&lt;/code&gt;. Below is what I use to put icons before headings and paragraphs (in &lt;code&gt;paper.css&lt;/code&gt;):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;.info::before {
  content: url(&amp;#39;/img/info.svg&amp;#39;);
  width: 18px;
  vertical-align: middle;
  margin-right: 10px;
  display: inline-block;
}&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;By simply putting this into my textile template:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;p(info). This paragraph now has an icon placed on the left. Useful for letting a reader know something!&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;that will be rendered to:&lt;/p&gt;

	&lt;p class="info"&gt;This paragraph now has an icon placed on the left. Useful for letting a reader know something!&lt;/p&gt;

	&lt;p&gt;Textile also helpfully lets you apply inline styles.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Do you like the color %{color:yellow;}yellow%?&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;produces this:&lt;/p&gt;

	&lt;p&gt;Do you like the color &lt;span style="color:yellow;"&gt;yellow&lt;/span&gt;?&lt;/p&gt;

	&lt;p&gt;I don&amp;#8217;t use the inline styling very much at all. But if I / you need to, Textile has you covered.&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;Dean Allen, the guy who created Textile for a &lt;a href="https://textpattern.com/"&gt;&lt;span class="caps"&gt;CMS&lt;/span&gt;&lt;/a&gt; he was writing explained why he created the format (from Wikipedia):&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Textile was developed by Dean Allen in 2002, which he billed as &amp;#8220;a humane web text generator&amp;#8221; that enabled you to &amp;#8220;simply write&amp;#8221;.&lt;/p&gt;&lt;/blockquote&gt;

	&lt;p&gt;I think he did a great job.&lt;/p&gt;

	&lt;h2&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn9e43cb55b38d444d8ab4f3d835a73bda-1"&gt;&lt;sup&gt;1&lt;/sup&gt; I told you there was a footnote down here!&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-08&lt;/mark&gt;: Add &lt;em&gt;Easily Reference &lt;span class="caps"&gt;CSS&lt;/span&gt; Classes and Styles&lt;/em&gt; section.&lt;/p&gt;</content><category term="web"></category><category term="textile"></category></entry><entry><title>Drake's N.E.T. Concentrates</title><link href="https://simonh.uk/2024/12/14/drakes-net-concentrates/" rel="alternate"></link><published>2024-12-14T00:00:00+00:00</published><updated>2025-12-08T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-12-14:/2024/12/14/drakes-net-concentrates/</id><summary type="html">	&lt;p&gt;Better than smoking?&lt;/p&gt;</summary><content type="html">	&lt;h2&gt;From Smoking to Vaping&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Drakes Tobacco Concentrates" src="/img/2024-12-14/drakes_collection_small.webp" title="Drakes Tobacco Concentrates" /&gt;&lt;/p&gt;

	&lt;p&gt;Many years ago, when I finally quit smoking, my plan was to have an occasional roll up as a treat. Yes, I know that&amp;#8217;s not recommended but as I enjoyed vaping so much, I knew I&amp;#8217;d never go back to being a smoker.&lt;/p&gt;

	&lt;p&gt;However, when I did try a smoke after about two months (forced upon me by a co-worker), I discovered, to my horror, that they tasted &lt;strong&gt;foul&lt;/strong&gt;! So bad, I couldn&amp;#8217;t have more than a couple of drags before throwing the thing away. &lt;/p&gt;

	&lt;p&gt;I clearly needed another way of treating myself&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Quickly, I came across &amp;#8220;naturally extracted tobacco&amp;#8221; e-juices as the next best thing to smoking. By this point, I only did &lt;span class="caps"&gt;DIY&lt;/span&gt; vaping, mixing my own juices with nicotine, PG and VG. Building my own coils etc. So whatever supplier I used would have to offer concentrates. &lt;/p&gt;

	&lt;p&gt;Over the next few years, I tried &lt;strong&gt;many&lt;/strong&gt; different N.E.T. concentrates:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;T-Juice &lt;em&gt;(Not making N.E.T.s anymore)&lt;/em&gt;
		&lt;ul&gt;
			&lt;li&gt;Primo Verde&lt;/li&gt;
			&lt;li&gt;Cubana&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;li&gt;Best Cig Liquid &lt;em&gt;(Deceased)&lt;/em&gt;
		&lt;ul&gt;
			&lt;li&gt;Pretty much all of their offerings&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;li&gt;Nomnomz &lt;em&gt;(Not selling N.E.T.s anymore)&lt;/em&gt;
		&lt;ul&gt;
			&lt;li&gt;Pretty much everything by Stixx Mixx&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;/ul&gt;

	&lt;h2&gt;Hunting for a New N.E.T. Supplier&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Looking for new tobacco concentrates" src="/img/2024-12-14/searchng_for_net_supplier.webp" title="Looking for new tobacco concentrates" /&gt;&lt;/p&gt;

	&lt;p&gt;Life was good until November 2024 when I was on the Nomnomz website about to order another batch of Stixx Mixx tobaccos. Something was different. Instead of the usual 20 odd products, they only had &lt;strong&gt;one&lt;/strong&gt; marked as &lt;em&gt;clearance&lt;/em&gt;. &amp;#8220;Oh no!&amp;#8221;, I &lt;del&gt;said&lt;/del&gt; thought to myself. This doesn&amp;#8217;t look good&amp;#8230;&lt;/p&gt;

	&lt;p&gt;I sent them an email to see what was going on, and they replied saying they were no longer going to be stocking Stixx Mixx, due to low sales.&lt;br /&gt;
Yikes!&lt;/p&gt;

	&lt;p&gt;It was time to trawl the internet again to see what my options were. After a short time, I found  &lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates"&gt;Drake&amp;#8217;s&lt;/a&gt; website. I remembered them from years ago, however the last time our paths crossed, they didn&amp;#8217;t offer concentrates. As I wrote earlier, that&amp;#8217;s a showstopper for me. No concentrates, no sale. I&amp;#8217;d even emailed them years ago, just to see if they were planning on selling them. They replied not.&lt;/p&gt;

	&lt;p&gt;As of now (but since I don&amp;#8217;t know when), they &lt;strong&gt;do&lt;/strong&gt; sell concentrates. I had to give them a go. Spending over £25 gives free two day shipping, so I loaded up the cart and sure enough, two days later they landed. I started off with the Burley, mixing @ 30% as their site recommends.&lt;/p&gt;

	&lt;p&gt;Very, very happy with that one after a 3 day steep,&lt;sup class="footnote" id="fnrev3338428ced4549aeb1031ccc97ffb3b2-1"&gt;&lt;a href="#fn3338428ced4549aeb1031ccc97ffb3b2-1"&gt;1&lt;/a&gt;&lt;/sup&gt; I decided to put another order in to try the ones I hadn&amp;#8217;t ordered first time. Then a funny thing happened.&lt;/p&gt;

	&lt;h2&gt;Going the Extra Mile!&lt;/h2&gt;

	&lt;p&gt;The same day as placing my second order, I got a phone call from John (a very friendly Scottish guy), who is now the sole owner of Drake&amp;#8217;s. He remembered my order from a week or so before and was enquiring whether I&amp;#8217;d been aware that an offer was on for Black Friday. I told him that I&amp;#8217;d decided to order after that event and it was no problem as it was my decision to order after the offer had ended. Very kindly, he told me to select two more concentrates and he&amp;#8217;d add them free of charge to my package! It&amp;#8217;s been a &lt;strong&gt;long&lt;/strong&gt; time since anything like &lt;em&gt;that&lt;/em&gt; has happened! &lt;strong&gt;That&lt;/strong&gt; is how you build customer loyalty, no question.&lt;/p&gt;

	&lt;p&gt;Now, onto the reviews. I&amp;#8217;ll add to this post as I slowly go through the concentrates. But first&amp;#8230;&lt;/p&gt;

	&lt;h2&gt;Why Naturally Extracted Tobacco?&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="Tobacco Curing" src="/img/2024-12-14/tobacco_curing.webp" title="Tobacco Curing" /&gt;&lt;/p&gt;

	&lt;p&gt;I should mention what the big deal is about N.E.T.&amp;#8216;s in case this is all new to you. Until I started using them, I was using RY4, 555, various &amp;#8220;Virginia&amp;#8221;, or simply &amp;#8220;Tobacco&amp;#8221; flavourings. All made by combining other flavourings. I&amp;#8217;ve no idea what all the ingredients are, but usually caramel and vanilla will be present, along with other synthetic ingredients and additives (and who knows what else). &lt;/p&gt;

	&lt;p&gt;On the other hand, naturally extracted tobaccos are generally; just tobacco. The extraction process is expensive and time consuming (extraction taking weeks or months)! But the payoff is the unmistakeable flavour. You simply &lt;strong&gt;cannot&lt;/strong&gt; imitate it. For the visually minded, I&amp;#8217;d compare it to the difference between black and white vs colour TV (ask your grandparents what on earth a &lt;em&gt;black and white&lt;/em&gt; TV is). For the auditorily inclined, think of the difference between a badly encoded MP3 vs &lt;span class="caps"&gt;FLAC&lt;/span&gt; (or cassette vs CD).&lt;/p&gt;

	&lt;p&gt;I can still remember the first N.E.T. I ever tried: T-Juice Primo Verde. I&amp;#8217;d ordered that and their Cubana. &lt;em&gt;&lt;strong&gt;Wow&lt;/strong&gt;&lt;/em&gt;! That was my reaction. A damned fine vape, I&amp;#8217;ll tell you. As (I seem to remember) it was expensive compared to my day to day juices, it was a only a Christmas treat for a couple of years. &lt;/p&gt;

	&lt;h2&gt;The Reviews&lt;/h2&gt;

	&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; All of the concentrates below, I have bought. The ones marked &lt;em&gt;pending&lt;/em&gt; will be updated once I&amp;#8217;ve mixed and tried them. All mixes are given a minimum of a three day steep&lt;sup class="footnote"&gt;&lt;a href="#fn3338428ced4549aeb1031ccc97ffb3b2-1"&gt;1&lt;/a&gt;&lt;/sup&gt; (generally seven days or more). I mix at 50/50 PG to VG with 10mg nicotine. My coils come out at between 1.2 and 1.7 ohm&amp;#8217;s (28 gauge kanthal) and I use 14 watts in my mod. My &lt;span class="caps"&gt;RTA&lt;/span&gt; of choice is a Kayfun Prime clone (&lt;span class="caps"&gt;RIP&lt;/span&gt; fasttech).&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/drakes-burley-net-concentrate"&gt;Burley&lt;/a&gt; @ 30%&lt;/h3&gt;

	&lt;p&gt;My first experience with a Drake N.E.T. forced me to spend over £50 across two orders! As I wrote in my review on Drake&amp;#8217;s website, I&amp;#8217;m not good at all at separating the flavours into &lt;em&gt;notes&lt;/em&gt;. Or, breaking down what&amp;#8217;s in the inhale&lt;br /&gt;
vs. the exhale. What I do know, is this is a &lt;strong&gt;very&lt;/strong&gt; good Burley. Full bodied, smooth, delicious. One thing I found surprising was the colour. Usually, N.E.T.&amp;#8216;s are light brown all the way to nearly black. This Burley is nearly transparent. Photo below shows the last bit I&amp;#8217;ve got left (luckily I&amp;#8217;ve got another full bottle, phew!).&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Drakes Burley" src="/img/2024-12-14/drakes_burley_30_percent_small.webp" title="Drakes Burley" /&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m going to mix the next pure Burley batch at 15% and see how much that affects the taste.&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/annes-apple-concentrate"&gt;Anne&amp;#8217;s Apple&lt;/a&gt; @ 30%&lt;/h3&gt;

	&lt;p&gt;I don&amp;#8217;t vape anything other than tobacco, but I got this one for the other half. She &lt;strong&gt;loves&lt;/strong&gt; it. I&amp;#8217;ve sampled it too, and to be honest, I could happily vape this all day. Very smooth, and the apple flavour is subtle but noticeable. I suspect that the majority of the tobacco flavour is from the Burley. Highly recommended, especially for people not used to naturally extracted tobacco flavours. As you can see below, this concentrate is a nice golden colour.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Drake's Anne's Apple" src="/img/2024-12-14/drakes_annes_apple.webp" title="Drake's Anne's Apple" /&gt;&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/caesars-cherry-concentrate"&gt;Caesar&amp;#8217;s Cherry&lt;/a&gt; @ 30%&lt;/h3&gt;

	&lt;p&gt;Another one for the missus. Sadly, we were both disappointed with this one. We&amp;#8217;ve both given it a fair chance, but it seems to leave a rather unpleasant after taste. The cherry doesn&amp;#8217;t really come through. You can taste &lt;strong&gt;something&lt;/strong&gt;, but in a blind test, neither of us would think cherry. You can&amp;#8217;t win them all and this one just wasn&amp;#8217;t for us.&lt;sup class="footnote" id="fnrev3338428ced4549aeb1031ccc97ffb3b2-2"&gt;&lt;a href="#fn3338428ced4549aeb1031ccc97ffb3b2-2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Drake's Caesar's Cherry" src="/img/2024-12-14/drakes_caesars_cherry.webp" title="Drake's Caesar's Cherry" /&gt;&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/drakes-kentucky-concentrate-30ml"&gt;Kentucky&lt;/a&gt; @ 15%&lt;/h3&gt;

	&lt;p&gt;Three day steep. Drake&amp;#8217;s recommend between 15% and 25% for this one so I went with 15% thinking it might be on the strong side. Whenever I try a new tobacco concentrate, I always pay attention to the first word that comes to mind. With this Kentucky, that word was &lt;em&gt;tangy&lt;/em&gt;. Cambridge Dictionary defines tangy as:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;A tangy flavour is pleasantly strong and sharp&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Yep, definitely tangy. It has quite a complex flavour, hard to pick anything in particular out. I can notice a &lt;em&gt;smokiness&lt;/em&gt; and almost a &lt;em&gt;chocolateyness&lt;/em&gt;. Very different to the Burley.&lt;/p&gt;

	&lt;p&gt;If you inhale it, but leave it in your mouth before blowing it out and shoving your head into the cloud, you can smell the smokyness (not surprising as it&amp;#8217;s fire cured)! I like it. Out of the pure tobaccos (no cherry or apple), this one is the darkest so far. Quite rich even at 15%. I&amp;#8217;ll definitely be ordering more, but I think it&amp;#8217;ll be a blender with either Burley or Virginia. You&amp;#8217;ll find that review further down the page in a few weeks / months.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Drake's Kentucky" src="/img/2024-12-14/drakes_kentucky.webp" title="Drake's Kentucky" /&gt;&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/williams-whiskey-concentrate"&gt;William&amp;#8217;s Whiskey&lt;/a&gt; @ 30%&lt;/h3&gt;

	&lt;p&gt;Decided to try this one in a dripper. Fresh coil, fresh cotton. Eight day steep. Well. When I first tried this, I thought &amp;#8220;my gosh, you can taste the whiskey!&amp;#8221; Very strong. Not in a bad way, but much more noticeable than my previous goto tobacco / whiskey N.E.T. (Stixx Mixx Whiskey Cavendish). I can detect a &lt;em&gt;small&lt;/em&gt; spicy note from the tobacco. It leaves a pleasant after taste too.&lt;/p&gt;

	&lt;p&gt;My initial reaction was that at 30%, this was a tad on the strong side for me. I like my flavours subtle. As anyone who does &lt;span class="caps"&gt;DIY&lt;/span&gt; juices will know, it can take quite a few attempts to get a juice &lt;strong&gt;just so&lt;/strong&gt;. However, in all honesty, I did find myself chain vaping this one! Somewhere between 15 and 20% should calm things down a bit and this might end up a regular order. As with the Burley, very light in colour.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="William's Whiskey" src="/img/2024-12-14/drakes_williams_whiskey.webp" title="William's Whiskey" /&gt;&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/american-blend-concentrate"&gt;American&lt;/a&gt;&lt;/h3&gt;

	&lt;p&gt;&lt;em&gt;Pending&lt;/em&gt;&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/cavendish-blend-concentrate"&gt;Cavendish&lt;/a&gt; @ 15%&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="Cavendish" src="/img/2024-12-14/drakes_cavendish.webp" title="Cavendish" /&gt;&lt;/p&gt;

	&lt;p&gt;Ten day steep. I&amp;#8217;ve not had a lot of Cavendish concentrates but according to &lt;a href="https://en.wikipedia.org/wiki/Cavendish_tobacco"&gt;Wikipedia&lt;/a&gt; the main profile is sweet and moist. I&amp;#8217;m not really getting much in the way of sweet with this one. I&amp;#8217;ve been trying to formulate a way of describing this flavour and I&amp;#8217;m struggling!&lt;/p&gt;

	&lt;p&gt;I would say that this Cavendish is an acquired taste. It&amp;#8217;s not &lt;em&gt;immediately&lt;/em&gt; likeable like the Burley (or the Burley / Virginia blend). It&amp;#8217;s quite rich and strong, somewhat tangy as with the Kentucky. I think there&amp;#8217;s a bit of a grassy note and a mild spicy after taste. I&amp;#8217;ll probably have a better idea whether this will be a regular order once I&amp;#8217;ve finished the 100ml I&amp;#8217;ve got mixed. &lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/havana-cigar-concentrate"&gt;Havana&lt;/a&gt; @ 15%&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="Havana" src="/img/2024-12-14/drakes_havana.webp" title="Havana" /&gt;&lt;/p&gt;

	&lt;p&gt;Seven day steep. &lt;em&gt;Really&lt;/em&gt; like this one. I don&amp;#8217;t gravitate towards cigar flavours, only really bought it to try it and I&amp;#8217;m glad I did. I won&amp;#8217;t attempt to break down the flavour, I&amp;#8217;ll just say it tastes &lt;em&gt;amazing&lt;/em&gt;! Leaves a really nice after taste too. This one will definitely be a regular order.&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakeseliquid.com/products/maduro-cigar-concentrate"&gt;Maduro&lt;/a&gt; @ 15%&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="Maduro" src="/img/2024-12-14/drakes_maduro.webp" title="Maduro" /&gt;&lt;/p&gt;

	&lt;p&gt;I usually like to steep for at least three days, but as I like the Havana so much I had to try this one after only two days. I&amp;#8217;m finding the Maduro quite subtle. That&amp;#8217;s not a complaint, I prefer milder flavours. Unlike the Kentucky and the Whiskey, which are quite strong, this one could end up as a regular order.&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/oriental-tobacco-concentrate"&gt;Turkish&lt;/a&gt;&lt;/h3&gt;

	&lt;p&gt;&lt;em&gt;Pending&lt;/em&gt;&lt;/p&gt;

	&lt;h3&gt;&lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/drakes-english-blend-net-concentrate"&gt;English&lt;/a&gt; @ 10%&lt;/h3&gt;

	&lt;p&gt;&lt;img alt="English Blend" src="/img/2024-12-14/drakes_english.webp" title="English Blend" /&gt;&lt;/p&gt;

	&lt;p&gt;Five day steep. &lt;/p&gt;

	&lt;h3&gt;Burley and Virginia @ 10% each&lt;/h3&gt;

	&lt;p&gt;My favourite all day vape until &lt;em&gt;somebody decided to stop selling them&lt;/em&gt; was a combination of 3% Aged Burley with 3% Sweet Brightleaf (Virginia) by Stixx Mixx (low percentages as their concentrates are very strong). So, of course I had to blend Drake&amp;#8217;s to see how close a substitute it would be. Mixed at 10% of each, it didn&amp;#8217;t quite hit the spot for me. It&amp;#8217;s nice, but I prefer the Burley on it&amp;#8217;s own.  In a few weeks, when I&amp;#8217;ve started to shift some of the ten plus bottles I&amp;#8217;ve now got made up, I&amp;#8217;ll try 10% Burley and only 5% Virginia to see if that is more to my liking.&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Update two days later:&lt;/em&gt; I&amp;#8217;m getting the impression that Drake&amp;#8217;s concentrates benefit from a longer steep. This blend has grown on me &lt;em&gt;a lot&lt;/em&gt;. I think I&amp;#8217;ll do the next batch at the same ratios. No need for less, I don&amp;#8217;t think.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Burley / Virginia Blend" src="/img/2024-12-14/drakes_burley_virginia.webp" title="Burley / Virginia Blend" /&gt;&lt;/p&gt;

	&lt;h3&gt;Burley and Virginia @ 10% + Turkish @ 5%&lt;/h3&gt;

	&lt;p&gt;Four day steep. Fresh coil, fresh cotton. This is nice. The Turkish at only 5% definitely alters the flavour compared to just Burley and Virginia. I haven&amp;#8217;t had a lot of Turkish, but it reminds of whatever Turkish N.E.T. bestcigliquid used to sell. I asked the other half to try it. Bear in mind, until I got her a bottle of Anne&amp;#8217;s Apple, she hated &lt;strong&gt;all&lt;/strong&gt; of my juices. I passed her my chuffer (that&amp;#8217;s what we call them!) and she tried it. Then she had another puff, then another. Most unusual! &amp;#8220;Ooh. I like that&amp;#8221; she said. Looks like that&amp;#8217;s her sorted now. I&amp;#8217;ve made 3 &amp;#215; 30ml bottles, so I&amp;#8217;ll donate one to her. I&amp;#8217;m nice like that.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Burley Virginia Turkish Blend" src="/img/2024-12-14/bur_virg_turk.webp" title="Burley Virginia Turkish Blend" /&gt;&lt;/p&gt;

	&lt;h2&gt;Afterword&lt;/h2&gt;

	&lt;p&gt;For many years I&amp;#8217;ve only vaped N.E.T.&amp;#8216;s (unless I&amp;#8217;ve run out). As these are quite niche, there aren&amp;#8217;t many companies making / selling them. So now, I&amp;#8217;m trying to get my missus to like them, partly so I&amp;#8217;ll spend a bit more at places like Drake&amp;#8217;s in the hopes they&amp;#8217;ll be able to make enough money to keep doing what they do. &lt;/p&gt;

	&lt;p&gt;For the men out there who chuckle at their girlfriends / wifes bubblegums, candy etc. flavourings, maybe treat them to a bottle of &lt;a href="https://drakesvapes.co.uk/collections/net-flavour-concentrates/products/annes-apple-concentrate"&gt;Anne&amp;#8217;s Apple&lt;/a&gt;. I&amp;#8217;d be very surprised if they don&amp;#8217;t love it.&lt;/p&gt;

	&lt;h2 class="footnotes"&gt;Footnotes&lt;/h2&gt;

	&lt;p class="footnote" id="fn3338428ced4549aeb1031ccc97ffb3b2-1"&gt;&lt;sup&gt;1&lt;/sup&gt; Many years ago I became curious what was the generally accepted &lt;em&gt;minimum&lt;/em&gt; time to allow an ejuice to steep for. The answer is 3 days with a vigorous shake at least once, but preferably twice, per day.&lt;/p&gt;

	&lt;p class="footnote" id="fn3338428ced4549aeb1031ccc97ffb3b2-2"&gt;&lt;sup&gt;2&lt;/sup&gt; Had a chat with John from Drake&amp;#8217;s and it&amp;#8217;s possible that my new batch of nicotine might have affected this mix. Will update if it was an error on my part.&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates &lt;/h2&gt;

	&lt;p&gt;&lt;em&gt;This is an ongoing post. I&amp;#8217;ll update it with relevant info as time goes on.&lt;/em&gt;&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-05-11&lt;/mark&gt;: Add review of Maduro @ 15%&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-02-09&lt;/mark&gt;: Add review of Havana @ 15%&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-31&lt;/mark&gt;: Mixed Havana @ 15%&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-19&lt;/mark&gt;: Add review of Cavendish @ 15%&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-09&lt;/mark&gt;: Mixed Cavendish @ 15%&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2024-12-31&lt;/mark&gt;: Add comments about Burley, Virginia, Turkish blend.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2024-12-29&lt;/mark&gt;: Rearranged the last section of the page. Got rid of &lt;em&gt;Conclusion(s)&lt;/em&gt; and used the better worded &lt;em&gt;Updates&lt;/em&gt;.&lt;/p&gt;

	&lt;p&gt;&lt;mark&gt;2024-12-16&lt;/mark&gt;: It&amp;#8217;s clear to me that Drake&amp;#8217;s know what they&amp;#8217;re doing. The Burley and Anne&amp;#8217;s Apple are &lt;strong&gt;outstanding&lt;/strong&gt;. Immediately likeable. Some of the others may take a bit of experimenting to decide if they&amp;#8217;re for me, or not. I&amp;#8217;ve been vaping naturally extracted tobacco&amp;#8217;s for &lt;em&gt;years&lt;/em&gt; and know what I like&amp;trade;. Therefore, I&amp;#8217;m happy to spend a few months faffing about, adjusting ratios and creating blends to hopefully end up with a small handful of juices that&amp;#8217;ll be my daily juices. I&amp;#8217;m very happy that after all these years, I&amp;#8217;m &lt;em&gt;finally&lt;/em&gt; trying out what Drake&amp;#8217;s have to offer.&lt;/p&gt;</content><category term="vaping"></category><category term="naturally extracted tobacco"></category></entry><entry><title>First Look at OpenBSD Game of Trees (Got)</title><link href="https://simonh.uk/2024/10/29/first-look-at-openbsd-game-of-trees-got/" rel="alternate"></link><published>2024-10-29T00:00:00+00:00</published><updated>2024-10-29T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2024-10-29:/2024/10/29/first-look-at-openbsd-game-of-trees-got/</id><summary type="html">	&lt;p&gt;Git stripped back to the bare essentials&lt;/p&gt;</summary><content type="html">	&lt;h1&gt;Git, but simpler (to use, maybe&amp;#8230;)&lt;/h1&gt;

	&lt;p&gt;&lt;img alt="Game of trees logo" src="/img/2024-10-29/got.webp" title="Game of trees logo" /&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m a long time &lt;a href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt; user. Even so, I keep my eye on other &lt;span class="caps"&gt;VCS&lt;/span&gt;&amp;#8217;s to see what new ideas are developing. A few weeks ago, I came across &lt;a href="https://gameoftrees.org/"&gt;Got&lt;/a&gt;, a reimplementation / reimagining of &lt;a href="https:///git-scm.com"&gt;Git&lt;/a&gt; for use by the OpenBSD people, under a &lt;span class="caps"&gt;BSD&lt;/span&gt; compatible licence.&lt;/p&gt;

	&lt;p&gt;Got claims to take some of the best features from &lt;span class="caps"&gt;CVS&lt;/span&gt;, &lt;span class="caps"&gt;SVN&lt;/span&gt;, Git, Mercurial and Fossil. This I found very interesting. Here are the most noticeable differences I&amp;#8217;ve noticed (for a Git or Mercurial user).&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Repositories must checked out to a worktree.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Hg and Git users are used to having the repository &lt;em&gt;inside&lt;/em&gt; the worktree (working directory). Got treats a repository and a worktree as two completely different things. Or rather, Got treats the repository as one thing and you can have as many worktrees as you need. The benefit of this model is that you can have different branches checked out at the same time. You can checkout only a subset of the repository. This is also the same model that Fossil uses. When I tried using Fossil years ago, I intensely disliked this &amp;#8220;feature&amp;#8221;, but I&amp;#8217;m now starting to think it makes sense. &lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;No built in help&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;As always, OpenBSD prefers to have excellent man pages to document their software and answer any question you might have. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ got help
got: unknown command &amp;#39;help&amp;#39;
commands: init import clone fetch checkout update log diff blame tree status ref branch tag add remove patch revert commit send cherrypick backout rebase histedit integrate merge stage unstage cat info&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Whether that&amp;#8217;s planned to change, I&amp;#8217;m not sure. Probably not.&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Some important features are currently missing&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Last time I checked, file renames weren&amp;#8217;t automatically handled. I believe this is planned to change. Little, quality of life features like &lt;code&gt;hg email&lt;/code&gt; will probably never be implemented. &lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;There&amp;#8217;s a steeper learning curve&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;You really do have to &lt;span class="caps"&gt;RTFM&lt;/span&gt; when it comes to Got. I got stuck on some basic stuff and asked on &lt;span class="caps"&gt;IRC&lt;/span&gt; for assistance. The lead developer, Stefan Sperling is actually a very helpful guy and got me going. Still, be prepared to read the entire man page!&lt;/p&gt;

	&lt;h1&gt;Features I&amp;#8217;d love to see&lt;/h1&gt;

	&lt;ul&gt;
		&lt;li&gt;hg shelve / Git stash&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Set aside changes and bring them back later. Very useful, (nearly) impossible to live with once you&amp;#8217;ve used it.&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Easy emailing of patches&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I use &lt;code&gt;hg email -r tip&lt;/code&gt; &lt;em&gt;all the time&lt;/em&gt; when I&amp;#8217;m working on a project.&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Local revision numbers&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Mercurial is (I think) the only current &lt;span class="caps"&gt;VCS&lt;/span&gt; that has local revision numbers. That feature is just &lt;em&gt;so handy&lt;/em&gt;. Much easier for humans to deal with &lt;code&gt;revision 17&lt;/code&gt; than &lt;code&gt;revision bf63491f5a5b&lt;/code&gt;&lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;Got makes it clear on their website they aren&amp;#8217;t seeking to replace anything or to steal you away from your &lt;span class="caps"&gt;VCS&lt;/span&gt; of choice. In the &lt;span class="caps"&gt;FAQ&lt;/span&gt; they state:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;If you are wondering why Got even exists, you can just ignore it.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Quite right. There are &lt;strong&gt;far&lt;/strong&gt; too many people on the internet moaning that &lt;em&gt;their&lt;/em&gt; thing is the only thing that matters and if everyone would just use it everyone would be far happier as a result. Got isn&amp;#8217;t one of those projects. &lt;/p&gt;

	&lt;p&gt;It&amp;#8217;s written by, and for, the OpenBSD crew. There&amp;#8217;s a portable port for us Linux types. I&amp;#8217;ll be keeping an eye on this one in case it ends up as useful as &lt;a href="https://opensmtpd.org/"&gt;OpenSMTPD&lt;/a&gt;&lt;/p&gt;</content><category term="software"></category><category term="version control"></category></entry><entry><title>R.I.P. Lissa King</title><link href="https://simonh.uk/2023/10/14/rip-lissa-king/" rel="alternate"></link><published>2023-10-14T00:00:00+01:00</published><updated>2025-11-08T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2023-10-14:/2023/10/14/rip-lissa-king/</id><summary type="html"></summary><content type="html">	&lt;p class="hand"&gt;Ady, Lissa, Zippy @ The Anchor 2006&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Lissa King at the Anchor" src="/img/2023-10-14/lissa.webp" title="Lissa King at the Anchor" /&gt;&lt;/p&gt;

	&lt;p&gt;I bumped into Zippy today in &lt;span class="caps"&gt;ASDA&lt;/span&gt; (on right in above photo). Whilst chatting about this and that, he asked who I&amp;#8217;d seen lately. I mentioned that a few years back I had seen Lissa King in New Look (where she worked). He asked me if I knew she had died! Nope, I had no idea. &lt;/p&gt;

	&lt;p&gt;I spent many days and evenings with the Knopiks. Over the years we drifted away, as you do, but they&amp;#8217;ll always have a special place in my heart. &lt;/p&gt;

	&lt;p&gt;Ady, Dom, Ben, Josh, Callum, Georgia: I&amp;#8217;m really sorry for your loss. I remember your Mum fondly and the world seems slightly less interesting without her in it. Here&amp;#8217;s a drunken vid taken by me in 2006 of Ady, Lissa and Zippy at the Anchor on New Street:&lt;/p&gt;

	&lt;p&gt;&lt;a href="/img/2023-10-14/MOV00015.3gp"&gt;Night Out&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Happy times!&lt;/p&gt;

	&lt;p&gt;&lt;span class="caps"&gt;RIP&lt;/span&gt;, Lissa.&lt;/p&gt;</content><category term="personal"></category></entry><entry><title>Easily create Debian packages with checkinstall</title><link href="https://simonh.uk/2023/09/12/easily-create-debian-packages-with-checkinstall/" rel="alternate"></link><published>2023-09-12T00:00:00+01:00</published><updated>2023-09-12T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2023-09-12:/2023/09/12/easily-create-debian-packages-with-checkinstall/</id><summary type="html">	&lt;p&gt;configure, make, checkinstall &amp;gt; .deb&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Debian Logo" src="/img/logo/debian.svg" title="Debian Logo" /&gt;&lt;/p&gt;

	&lt;h1&gt;The Problem&lt;/h1&gt;

	&lt;p&gt;Although I don&amp;#8217;t mind compiling software from source, I always prefer to use my distro&amp;#8217;s package repositories if possible. It&amp;#8217;s just easier that way and updates get taken care of behind the scenes.&lt;/p&gt;

	&lt;p&gt;As I use Debian stable, I sometimes &lt;strong&gt;need&lt;/strong&gt; to get dirty and compile something myself. The problem is, I have had to do the same process on all five of my servers. Here are two examples:&lt;/p&gt;

	&lt;p&gt;I use &lt;a href="http://alpineapp.email/"&gt;Alpine&lt;/a&gt; on all of my servers, primarily to receive patches for Python services. If you want to use the Maildir format with Alpine, you&amp;#8217;ll need to apply a patch to the source tree. Then it&amp;#8217;s the usual&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ ./configure
$ make
$ sudo make install&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;If any dependencies are missing the configure script will alert you. Once you have everything installed, things should be plain sailing. &lt;/p&gt;

	&lt;p&gt;The problem with this workflow is that you need to repeat the process on each machine. So, I set about looking into creating &lt;code&gt;.deb&lt;/code&gt; packages directly to make things easier. &lt;/p&gt;

	&lt;p&gt;However, the problem with this solution, is that it&amp;#8217;s not exactly quick. Plus you need lots of files correctly populated in the &lt;code&gt;debian&lt;/code&gt; subdirectory (see link at bottom of page about Debian packaging). &lt;/p&gt;

	&lt;p&gt;Well, I&amp;#8217;m lazy and thought there must be an &lt;b&gt;easy&lt;/b&gt; way to get this **** done! Well there is and it&amp;#8217;s been around forever: &lt;a href="https://salsa.debian.org/debian/checkinstall"&gt;CheckInstall&lt;/a&gt;. &lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;A lot of people has asked me how can they remove from their boxes a program
they compiled and installed from source. Some times &amp;#8211; very few &amp;#8211; the program&amp;#8217;s
author adds an &amp;#8220;uninstall&amp;#8221; rule to the Makefile, but that&amp;#8217;s not usually the
case. That&amp;#8217;s my primary reason to write checkinstall. After you ./configure;make
your program, It will run &amp;#8220;make install&amp;#8221; (or whatever you tell it to run) and
keep track of every file modified by this installation, using the excellent
installwatch utility written by Pancrazio &amp;#8216;Ezio&amp;#8217; de Mauro &lt;p at demauro.net&gt;.&lt;/p&gt;&lt;/blockquote&gt;

	&lt;p&gt;Well, that&amp;#8217;s exactly what I&amp;#8217;m after mate! Now the new workflow is:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ ./configure
$ make
$ sudo checkinstall&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;This will launch an interactive script asking for certain information about this package. You&amp;#8217;ll end up with the package being installed on your system, plus a &lt;code&gt;.deb&lt;/code&gt; in the source directory. If you ever need to remove the package you just run&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ sudo dpkg -r &amp;lt;package_name&amp;gt;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Copy the &lt;code&gt;.deb&lt;/code&gt; to another machine and run&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ sudo dpkg -i &amp;lt;package_name&amp;gt;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I think I&amp;#8217;ll use this method from now on for installing &lt;em&gt;anything&lt;/em&gt; from source.&lt;/p&gt;

	&lt;h2&gt;Further Reading&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://wiki.debian.org/CheckInstall"&gt;Debian CheckInstall Reference&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://help.ubuntu.com/community/CheckInstall"&gt;Ubuntu CheckInstall Reference&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://wiki.debian.org/Packaging"&gt;Debian Packaging&lt;/a&gt;&lt;/p&gt;</content><category term="linux"></category><category term="sysadmin"></category></entry><entry><title>Using GNU RCS for Managing Configuration Files</title><link href="https://simonh.uk/2023/08/25/using-gnu-rcs-for-managing-configuration-files/" rel="alternate"></link><published>2023-08-25T00:00:00+01:00</published><updated>2023-08-25T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2023-08-25:/2023/08/25/using-gnu-rcs-for-managing-configuration-files/</id><summary type="html">	&lt;p&gt;Why didn&amp;#8217;t anyone tell me about this years ago?!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="GNU Logo" src="/img/logo/gnu.webp" title="GNU Logo" /&gt;&lt;/p&gt;

	&lt;p&gt;As regular readers will know, I&amp;#8217;m a big fan of version control for software projects. You may also know that I&amp;#8217;ve recently started to use &lt;span class="caps"&gt;RCS&lt;/span&gt; for managing single files (shell/Python scripts, &lt;span class="caps"&gt;CGI&lt;/span&gt; scripts etc.). Tonight, I&amp;#8217;d like to present my &lt;strong&gt;simple&lt;/strong&gt; workflow for version controlling configuration files, also using &lt;span class="caps"&gt;RCS&lt;/span&gt;.&lt;/p&gt;

	&lt;h2&gt;The Problem&lt;/h2&gt;

	&lt;p&gt;We Linux users frequently have to create and edit config files. Here is a list of some of mine:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;.vimrc
.nanorc
/etc/smtpd.conf
/etc/aliases
/etc/hosts
/etc/apache2/*
/etc/apt/sources*
...&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Up until recently, I&amp;#8217;d usually rename a config file to &lt;code&gt;&amp;lt;filename&amp;gt;.bak&lt;/code&gt; in case something went horribly wrong. Come to think of it, that&amp;#8217;s pretty much &lt;b&gt;always&lt;/b&gt; the advice you&amp;#8217;ll be given online. &lt;/p&gt;

	&lt;p&gt;Of course, there&amp;#8217;s a better, more robust way of keeping track of changes you&amp;#8217;ve made, with the ability to roll back to any previous revision. But, it does take a little bit of discipline!&lt;/p&gt;

	&lt;h2&gt;The Solution&lt;/h2&gt;

	&lt;p&gt;Let&amp;#8217;s say you need to edit your &lt;code&gt;.nanorc&lt;/code&gt; &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ mkdir RCS
mkdir: cannot create directory ‘RCS’: File exists&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;OK, good. I&amp;#8217;ve already got a repository setup in my home directory. Let&amp;#8217;s open it up and see what it contains:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;nano .nanorc
 GNU nano 6.2                         .nanorc                                  



















                                [ Read 0 lines ]
^G Help      ^O Write Out ^W Where Is  ^K Cut       ^T Execute   ^C Location
^X Exit      ^R Read File ^\ Replace   ^U Paste     ^J Justify   ^/ Go To Line&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;An empty file which means the file either didn&amp;#8217;t exist or was empty. Let&amp;#8217;s get to work. I&amp;#8217;ll add the settings I want, plus the &lt;span class="caps"&gt;RCS&lt;/span&gt; metadata so I can see the current version number and the date it was checked in:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  GNU nano 6.2                         .nanorc                           I   S  
#=====================================================================
# $Revision$
# $Date$
# $Author$
#======================================================================

set autoindent
set tabsize 4
set tabstospaces
set softwrap









                               [ Read 10 lines ]
^G Help      ^O Write Out ^W Where Is  ^K Cut       ^T Execute   ^C Location
^X Exit      ^R Read File ^\ Replace   ^U Paste     ^J Justify   ^/ Go To Line&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now let&amp;#8217;s checkin the file&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ ci -l .nanorc 
RCS/.nanorc,v  &amp;lt;--  .nanorc
enter description, terminated with single &amp;#39;.&amp;#39; or end of file:
NOTE: This is NOT the log message!
&amp;gt;&amp;gt; First checkin 
&amp;gt;&amp;gt; .
initial revision: 1.1
done
simon@computer:~$ &lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Let&amp;#8217;s have a look at the file&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ cat .nanorc 
#=====================================================================
# $Revision: 1.1 $
# $Date: 2023/08/25 19:11:01 $
# $Author: simon $
#======================================================================

set autoindent
set tabsize 4
set tabstospaces
set softwrap&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;So, three things are immediately evident:&lt;/p&gt;

	&lt;p&gt;1. The file is version controlled&lt;br /&gt;
2. I can see how many revisions have been made to the file&lt;br /&gt;
3. I can see the datetime of the last revision. Nice. &lt;/p&gt;

	&lt;p&gt;I read somewhere that it&amp;#8217;s a good idea to add the .nanorc files from the &lt;code&gt;/usr/share/nano/*&lt;/code&gt; directory to enable syntax highlighting for lots of filetypes. Let&amp;#8217;s add that to my &lt;code&gt;.nanorc&lt;/code&gt; file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  GNU nano 6.2                         .nanorc                           I   S  
#=====================================================================
# $Revision: 1.1 $
# $Date: 2023/08/25 19:11:01 $
# $Author: simon $
#======================================================================

set autoindent
set tabsize 4
set tabstospaces
set softwrap

include &amp;quot;/usr/share/nano/*.nanorc&amp;quot;







                               [ Read 13 lines ]
^G Help      ^O Write Out ^W Where Is  ^K Cut       ^T Execute   ^C Location
^X Exit      ^R Read File ^\ Replace   ^U Paste     ^J Justify   ^/ Go To Line&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now I&amp;#8217;ll checkin the change&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ ci -l ./.nanorc 
./RCS/.nanorc,v  &amp;lt;--  ./.nanorc
new revision: 1.2; previous revision: 1.1
enter log message, terminated with single &amp;#39;.&amp;#39; or end of file:
&amp;gt;&amp;gt; Add all .nanorc files from /usr/share/nano/*
&amp;gt;&amp;gt; .
done
simon@computer:~$ &lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;If I accidently try and checkin an unchanged file, &lt;span class="caps"&gt;RCS&lt;/span&gt; will say:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ ci -l ./.nanorc 
./RCS/.nanorc,v  &amp;lt;--  ./.nanorc
file is unchanged; reverting to previous revision 1.2
done&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;If you&amp;#8217;re ever unsure you can always run &lt;code&gt;rlog&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ rlog ./.nanorc 

RCS file: ./RCS/.nanorc,v
Working file: ./.nanorc
head: 1.2
branch:
locks: strict
        simon: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2;     selected revisions: 2
description:
First checkin
----------------------------
revision 1.2    locked by: simon;
date: 2023/08/25 19:20:20;  author: simon;  state: Exp;  lines: +6 -3
Add all .nanorc files from /usr/share/nano/*
----------------------------
revision 1.1
date: 2023/08/25 19:11:01;  author: simon;  state: Exp;
Initial revision
=============================================================================&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Yep, 1.2 is the latest revision. Another option is to run &lt;code&gt;rcsdiff&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ rcsdiff ./.nanorc 
===================================================================
RCS file: ./RCS/.nanorc,v
retrieving revision 1.2
diff -r1.2 ./.nanorc&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;No changes are shown (as no changes have been made). &lt;/p&gt;

	&lt;p&gt;What if we have changes? I&amp;#8217;ll add the setting to show line numbers (without checking the file in):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ rcsdiff -u ./.nanorc 
===================================================================
RCS file: ./RCS/.nanorc,v
retrieving revision 1.2
diff -u -r1.2 ./.nanorc
--- ./.nanorc   2023/08/25 19:20:20     1.2
+++ ./.nanorc   2023/08/25 19:29:15
@@ -8,6 +8,7 @@
 set tabsize 4
 set tabstospaces
 set softwrap
+set linenumbers

 include &amp;quot;/usr/share/nano/*.nanorc&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I&amp;#8217;ve now run &lt;code&gt;ci -l .nanorc&lt;/code&gt; but decide I don&amp;#8217;t really need to see to see line numbers. I want to go back to the revision before I added that line:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ co -l -r1.2 ./.nanorc 
./RCS/.nanorc,v  --&amp;gt;  ./.nanorc
revision 1.2 (locked)
writable ./.nanorc exists; remove it? [ny](n): y
co: ./RCS/.nanorc,v: warning: You now have 2 locks.
done&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Let&amp;#8217;s see the revision of the file now:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ cat .nanorc 
#=====================================================================
# $Revision: 1.2 $
# $Date: 2023/08/25 19:20:20 $
# $Author: simon $
#======================================================================

set autoindent
set tabsize 4
set tabstospaces
set softwrap

include &amp;quot;/usr/share/nano/*.nanorc&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Ah good, we&amp;#8217;ve rolled back to where we were. And that&amp;#8217;s all there is to it. Here is the new workflow&lt;/p&gt;

	&lt;h3&gt;The New Workflow&lt;/h3&gt;

	&lt;p&gt;1. &lt;code&gt;mkdir RCS&lt;/code&gt; in the working directory&lt;br /&gt;
2. Add &lt;span class="caps"&gt;RCS&lt;/span&gt; metadata to the file if it doesn&amp;#8217;t exist&lt;br /&gt;
3. Make changes to the config file&lt;br /&gt;
4. Checkin the changes (&lt;code&gt;ci -l myfile.conf&lt;/code&gt;)&lt;br /&gt;
5. If you make a mistake or dislike a setting, &lt;code&gt;co -l -r1.?&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;Some nice features would be to automatically create the &lt;code&gt;RCS&lt;/code&gt; directory if it doesn&amp;#8217;t exist and to have all these &lt;code&gt;RCS&lt;/code&gt; directories backed up. That&amp;#8217;s for another post though&amp;#8230;&lt;/p&gt;</content><category term="software"></category><category term="rcs"></category><category term="version control"></category></entry><entry><title>Why CGI Programming is Still Useful in 2023</title><link href="https://simonh.uk/2023/08/19/why-cgi-programming-is-still-useful-in-2023/" rel="alternate"></link><published>2023-08-19T00:00:00+01:00</published><updated>2023-08-19T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2023-08-19:/2023/08/19/why-cgi-programming-is-still-useful-in-2023/</id><summary type="html">	&lt;p&gt;Old, but not dead thankfully&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="CGI Logo" src="/img/2023-08-19/cgi.webp" title="CGI Logo" /&gt;&lt;/p&gt;

	&lt;h1&gt;What is &lt;span class="caps"&gt;CGI&lt;/span&gt;?&lt;/h1&gt;

	&lt;p&gt;&lt;a href="https://datatracker.ietf.org/doc/html/rfc3875"&gt;Common Gateway Interface&lt;/a&gt; has been around since the mid 1990&amp;#8217;s. It was the one of the first standards to specify how a server and a program could serve requests. From the &lt;span class="caps"&gt;RFC&lt;/span&gt;:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;The Common Gateway Interface (&lt;span class="caps"&gt;CGI&lt;/span&gt;) allows an &lt;span class="caps"&gt;HTTP&lt;/span&gt; server and a &lt;span class="caps"&gt;CGI&lt;/span&gt; script to share responsibility for responding to client requests.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;&lt;span class="caps"&gt;CGI&lt;/span&gt; allows any script or program to be called to serve dynamic content on a website. Needless to say, this was very popular and helped the web to explode from the 90&amp;#8217;s onwards (pretty much everything was written using &lt;span class="caps"&gt;CGI&lt;/span&gt;). One of the amazing things about &lt;span class="caps"&gt;CGI&lt;/span&gt; is that you can use &lt;strong&gt;any&lt;/strong&gt; programming language. C, Perl, Python, Ruby, even Bash. As long as the language has stdin and stdout, it will work. Here is a Bash script showing some system information:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/bash

echo &amp;quot;Content-type: text/html&amp;quot;
echo &amp;quot;&amp;quot;

echo &amp;#39;&amp;lt;html&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;head&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot;&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;title&amp;gt;CGI Bash&amp;lt;/title&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;/head&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;body&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;p&amp;gt;Demo of using GNU Bash with CGI&amp;lt;/p&amp;gt;&amp;#39;

echo &amp;#39;&amp;lt;h2&amp;gt;Hostname&amp;lt;/h2&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;pre&amp;gt;&amp;#39;$(hostname)&amp;#39;&amp;lt;/pre&amp;gt;&amp;#39;

echo &amp;#39;&amp;lt;h2&amp;gt;Bash Version&amp;lt;/h2&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;pre&amp;gt;Using &amp;#39;$(bash --version | head -1)&amp;#39;&amp;lt;/pre&amp;gt;&amp;#39;

echo &amp;#39;&amp;lt;h2&amp;gt;System Uptime&amp;lt;/h2&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;pre&amp;gt;&amp;#39;$(uptime)&amp;#39;&amp;lt;/pre&amp;gt;&amp;#39;

echo &amp;#39;&amp;lt;h2&amp;gt;Current Date&amp;lt;/h2&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;pre&amp;gt;&amp;#39;$(date)&amp;#39;&amp;lt;/pre&amp;gt;&amp;#39;

echo &amp;#39;&amp;lt;/body&amp;gt;&amp;#39;
echo &amp;#39;&amp;lt;/html&amp;gt;&amp;#39;

exit 0&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;And the output of above script is:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="screenshot of Bash CGI output" src="/img/2023-08-19/bash_cgi.png" title="screenshot of Bash CGI output" /&gt;&lt;/p&gt;

	&lt;p&gt;Pretty awesome I think. Especially for a few lines of bash. And I&amp;#8217;m sure you&amp;#8217;ve noticed that the output could be &lt;b&gt;anything&lt;/b&gt;. The sky is the limit.&lt;/p&gt;

	&lt;h1&gt;Disadvantages of &lt;span class="caps"&gt;CGI&lt;/span&gt;&lt;/h1&gt;

	&lt;p&gt;A lot of people like to hate &lt;span class="caps"&gt;CGI&lt;/span&gt;. Here are some of the common complaints they will shriek if someone asks a question about using &lt;span class="caps"&gt;CGI&lt;/span&gt; in 2023&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;A new process is started for each request which is horribly inefficient!&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Yes it is, and for a helluva lot of websites / web services, that&amp;#8217;s not a problem. If is a problem, FastCGI might help you out. Or, switching to a compiled language like C or Go.&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;It&amp;#8217;s not suitable for creating a full blown site or service!&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Maybe not. But what if you just want a simple contact form? Or a way of quickly uploading a file to a server (see below). &lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;It&amp;#8217;s been superseded by better alternatives and is now obsolete!&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;This seems to be the main objection that I see. Perl has dropped &lt;span class="caps"&gt;CGI&lt;/span&gt;.pm from the standard distribution. Python is removing &lt;span class="caps"&gt;CGI&lt;/span&gt; support in version 3.13. &lt;/p&gt;

	&lt;p&gt;I think this in the same mindset that says that people should never use &lt;a href="https://www.gnu.org/software/rcs/"&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt; &lt;span class="caps"&gt;RCS&lt;/span&gt;&lt;/a&gt; now that Git has is a thing. But as I wrote in another post on this site, &lt;span class="caps"&gt;RCS&lt;/span&gt; is perfect for version controlling &lt;strong&gt;single&lt;/strong&gt; files. Like a &lt;span class="caps"&gt;CGI&lt;/span&gt; script for example! Yep, I use &lt;span class="caps"&gt;RCS&lt;/span&gt; for my &lt;span class="caps"&gt;CGI&lt;/span&gt; scripts. &lt;/p&gt;

	&lt;h1&gt;Advantages of &lt;span class="caps"&gt;CGI&lt;/span&gt;&lt;/h1&gt;

	&lt;ul&gt;
		&lt;li&gt;You don&amp;#8217;t have to choose between a static or a dynamic site&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I have quite a few static sites and quite a few dynamic ones. Usually, I have to decide up front which type I want to make as I&amp;#8217;ll have to use a language that works on the web if I want to generate pages dynamically. The beauty of &lt;span class="caps"&gt;CGI&lt;/span&gt; is that you can have almost everything served statically, and just a few pages served dynamically. As usual with &lt;span class="caps"&gt;CGI&lt;/span&gt;, I don&amp;#8217;t know of another technology that offers this flexibility.&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Use whatever language you want&lt;/li&gt;
		&lt;li&gt;Set up is minimal&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;This is what I use with Apache:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# Enable CGI scripts in cgi-bin directory
ScriptAlias &amp;quot;/cgi-bin/&amp;quot; &amp;quot;/var/www/my-website/cgi-bin/&amp;quot;
&amp;lt;Directory /var/www/my-website/cgi-bin/*&amp;gt;
    Options ExecCGI
	SetHandler cgi-script
	DirectoryIndex
&amp;lt;/Directory&amp;gt;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Done.&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;You can get a service running in minutes&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Just have a cgi-bin directory properly configured and dump your scripts in there. No &amp;#8220;frameworks&amp;#8221;. No config files. Just your &lt;span class="caps"&gt;CGI&lt;/span&gt; scripts. And the &lt;span class="caps"&gt;HTML&lt;/span&gt; files calling those scripts. It makes even the most minimal of minimal frameworks look complicated. &lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;It&amp;#8217;s the &lt;b&gt;right&lt;/b&gt; tool for some jobs&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Most of the web software I write is made with &lt;a href="https://bottlepy.org/docs/dev/"&gt;bottle.py&lt;/a&gt;. But sometimes, even bottle is overkill. A recent example: my son wanted to send me some files. Even though I have accounts for Google Drive, Onedrive, Dropbox etc I thought it was crazy that even though I have multiple web servers, I had no easy way for someone to quickly upload a file to one of them. Well, thanks to &lt;span class="caps"&gt;CGI&lt;/span&gt;, I now have a (very) simple form that lets someone upload a file (10MB maximum) and then sends me an email notifying me. And it was done in about 10 minutes. To set up an equivalent service with Bottle would have probably taken hours.&lt;/p&gt;

	&lt;h1&gt;Security Considerations&lt;/h1&gt;

	&lt;p&gt;As with &lt;strong&gt;any&lt;/strong&gt; service running on the internet, you will need to read some documentation to be aware of security risks. This is not just true for &lt;span class="caps"&gt;CGI&lt;/span&gt;, but for anything. The Apache website linked below has some tips. A search engine will no doubt give you more tips.&lt;/p&gt;

	&lt;h1&gt;Conclusion&lt;/h1&gt;

	&lt;p&gt;There is a reason that in 2023, &lt;span class="caps"&gt;CGI&lt;/span&gt; is still in use and refuses to die: &lt;/p&gt;

	&lt;p&gt;1. It&amp;#8217;s relatively simple to learn and use&lt;br /&gt;
2. You can use whichever programming language you want&lt;br /&gt;
3. It&amp;#8217;s an elegant protocol that solves a real problem&lt;br /&gt;
4. With &lt;span class="caps"&gt;CGI&lt;/span&gt; you can get something up and running quicker than any other technology I&amp;#8217;m aware of.&lt;br /&gt;
5. You can mix static and dynamic content as you please&lt;/p&gt;

	&lt;p&gt;So please, ignore the &lt;span class="caps"&gt;CGI&lt;/span&gt;-&lt;span class="caps"&gt;MUST&lt;/span&gt;-&lt;span class="caps"&gt;DIE&lt;/span&gt;-&lt;span class="caps"&gt;TODAY&lt;/span&gt; crowd and at least keep it in mind as a solution to some of your programming problems. Like many technologies from the &amp;#8220;early web&amp;#8221; (yes. I&amp;#8217;m looking at you WebDAV) &lt;span class="caps"&gt;CGI&lt;/span&gt; solved a problem pretty much as soon as it was discovered and was used for &lt;b&gt;many years&lt;/b&gt;. Some of us still use it happily today and quietly laugh to ourselves at the &amp;#8220;guru&amp;#8217;s&amp;#8221; having nervous breakdowns at the idea that such an old standard could &lt;strong&gt;still&lt;/strong&gt; be used in 2023. &lt;/p&gt;

	&lt;h2&gt;References and Recommended Reading&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://httpd.apache.org/docs/2.4/howto/cgi.html"&gt;Apache &lt;span class="caps"&gt;CGI&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=NwRVJX0Ieno"&gt;The Magic of cgi-bin&lt;/a&gt; (Video)&lt;br /&gt;
&lt;a href="https://halestrom.net/darksleep/blog/046_cgi/"&gt;Why I recommend &lt;span class="caps"&gt;CGI&lt;/span&gt; instead of web frameworks&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://en.wikipedia.org/wiki/FastCGI"&gt;Wikipedia FastCGI&lt;/a&gt;&lt;/p&gt;</content><category term="web"></category><category term="web"></category><category term="apache"></category><category term="cgi"></category></entry><entry><title>Running bottle.py with systemd</title><link href="https://simonh.uk/2023/03/25/running-bottlepy-with-systemd/" rel="alternate"></link><published>2023-03-25T00:00:00+00:00</published><updated>2023-03-25T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2023-03-25:/2023/03/25/running-bottlepy-with-systemd/</id><summary type="html">	&lt;p&gt;systemd isn&amp;#8217;t so scary after all&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Bottle.py Logo" src="/img/logo/bottle.svg" title="Bottle.py Logo" /&gt;&lt;/p&gt;

	&lt;p&gt;I have a number of &lt;a href="https://bottlepy.org/docs/dev/"&gt;bottle.py&lt;/a&gt; web services that I run on my servers. For the last few years, I&amp;#8217;ve been using &lt;a href="https://github.com/tmux/tmux/wiki"&gt;tmux&lt;/a&gt; to launch these services and then detaching them so they continue running after I logout of the &lt;span class="caps"&gt;SSH&lt;/span&gt; session. Recently, one of those servers had an issue causing the provider to require moving my &lt;span class="caps"&gt;VPS&lt;/span&gt; to another machine. So, when I went to use it, I got the &lt;code&gt;503 Service Unavailable&lt;/code&gt; message (that no one likes to see)!&lt;/p&gt;

	&lt;p&gt;Today, I finally got around to setting up &lt;a href="https://www.freedesktop.org/wiki/Software/systemd/"&gt;systemd&lt;/a&gt; service files for these services. It only took about an hour (including troubleshooting things not working). Below is the &lt;code&gt;shopping.service&lt;/code&gt; file (for a web based shopping list I wrote):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# Save this file in ~/.config/systemd/user/shopping.service
# then run:
# $ systemctl --user daemon-reload
# $ systemctl --user enable shopping.service
# Below will prevent the service stopping when we terminate the SSH session
# $ sudo loginctl enable-linger username

[Unit]
Description=Shopping List (bottle.py)
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/simon/web/shopping
ExecStart=/usr/bin/python3 /home/simon/web/shopping/shopping.py
Restart=always

[Install]
WantedBy=default.target&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Note: make sure to follow the comments. Otherwise, you&amp;#8217;ll also have problems. &lt;/p&gt;

	&lt;p&gt;Once you&amp;#8217;ve created and symlinked the file to &lt;code&gt;~/.config/systemd/user&lt;/code&gt;, you&amp;#8217;ll be able to check all is good as you can for any system process. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@server:~/web/shopping [ssh] $ systemctl --user status shopping_list.service 
● shopping_list.service - Shopping List (bottle.py)
     Loaded: loaded (/home/simon/.config/systemd/user/shopping_list.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-03-25 20:26:29 GMT; 9min ago
   Main PID: 32632 (python3)
      Tasks: 11 (limit: 1129)
     Memory: 100.3M
        CPU: 7.471s
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/shopping_list.service
             └─32632 /usr/bin/python3 /home/simon/web/shopping/run_sl2.py&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I&amp;#8217;ll monitor this one service for a while, then I plan to use systemd service files for all my web services.&lt;/p&gt;</content><category term="software"></category><category term="python"></category><category term="linux"></category><category term="systemd"></category><category term="bottle.py"></category></entry><entry><title>Seedbox Downloader Script</title><link href="https://simonh.uk/2023/02/13/seedbox-downloader-script/" rel="alternate"></link><published>2023-02-13T00:00:00+00:00</published><updated>2023-02-13T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2023-02-13:/2023/02/13/seedbox-downloader-script/</id><summary type="html">	&lt;p&gt;Download files from server with style!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;I&amp;#8217;ve written a little Python script that may be helpful to other seedbox users. My method for getting the files from the server to my local computer was:&lt;/p&gt;

	&lt;p&gt;1. cd to where my downloads live &lt;br /&gt;
2. sftp in to the server&lt;br /&gt;
3. cd to /where/my/server/files/live&lt;br /&gt;
4. get -r &amp;#8220;file I want to download&amp;#8221;&lt;/p&gt;

	&lt;p&gt;Not too hard, but I&amp;#8217;d been wanting an easier way, just never got around to it, until this weekend. &lt;/p&gt;

	&lt;p&gt;Now, it is simply&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ seedbox.py&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Simply copy the script below to &lt;code&gt;sudo cp seedbox.py /usr/local/bin&lt;/code&gt; after running &lt;code&gt;chmod +x&lt;/code&gt; on the file. &lt;/p&gt;

	&lt;h2&gt;Requirements&lt;/h2&gt;

	&lt;p&gt;The only requirements are that you&amp;#8217;re running Linux and have Python3 installed, and you&amp;#8217;re using &lt;span class="caps"&gt;SSH&lt;/span&gt; Key-Based Authentication to login to the server. &lt;/p&gt;

	&lt;h2&gt;Usage&lt;/h2&gt;

	&lt;p&gt;The script will login in to the server directory where your downloads live, then show you the last 50 downloads in reverse order (most recent at the bottom), you select a number between 0 and 49, the file / directory will be downloaded to what you chose in &lt;code&gt;dest_dir/YYYY-MM-DD&lt;/code&gt;, then your file manager will be opened in that directory. &lt;/p&gt;

	&lt;h2&gt;&lt;span class="caps"&gt;TODO&lt;/span&gt;&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ll probably run a loop to allow multiple downloads. At the moment, it exits after one download. Maybe allow a range of downloads (0 to 9). Not sure yet.&lt;/p&gt;

	&lt;h2&gt;Screenshot&lt;/h2&gt;

	&lt;p&gt;Here&amp;#8217;s how it looks with some test files, green text show which files have already been downloaded:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="script screenshot" src="/img/2023-02-13/seedbox_script.png" title="script screenshot" /&gt;&lt;/p&gt;

	&lt;h2&gt;The Script&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;#!/usr/bin/python3

#=================================
# Below generated by GNU RCS
#=================================
# $Author: simon $
# $Revision: 1.11 $
# $Date: 2023/02/13 12:01:25 $
#=================================

import os
import sys
import subprocess as sp
import shlex
from pathlib import Path
from datetime import datetime
from termcolor import colored

folder = str(datetime.now().date())

login = &amp;#39;you@serveraddress&amp;#39;
src_dir = &amp;#39;/server/path/to/files/&amp;#39;
dest_dir = Path(f&amp;#39;/home/yourname/incoming/{folder}&amp;#39;)

if not Path.exists(dest_dir):
    Path.mkdir(dest_dir)

p = sp.Popen([&amp;#39;ssh&amp;#39;, login, &amp;#39;ls -t files&amp;#39;],
               stdin=sp.PIPE, stdout=sp.PIPE, text=True)

# Remove trailing newlines
files = [x.rstrip() for x in p.stdout.readlines()]

# Show most recently download files first
for i, f in reversed(list(enumerate(files[:50]))):
    if Path.exists(dest_dir / f):
        print(colored(i, attrs=[&amp;#39;bold&amp;#39;]), colored(f, &amp;#39;light_green&amp;#39;))
    else:
        print(colored(i, attrs=[&amp;#39;bold&amp;#39;]), colored(f, &amp;#39;light_grey&amp;#39;))

try:
    num = int(input(&amp;#39;Enter number to download (most recent first): &amp;#39;))
except ValueError:
    sys.exit(&amp;#39;No file chosen. Exiting...&amp;#39;)

dl = files[num]

file_path = f&amp;quot;{login}:{src_dir}/{shlex.quote(dl)}&amp;quot;

sp.run([&amp;#39;scp&amp;#39;, &amp;#39;-r&amp;#39;, file_path, str(dest_dir)])

sp.run([&amp;quot;xdg-open&amp;quot;, str(dest_dir)])&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Any suggestions or comments, feel free to send me an email.&lt;/p&gt;</content><category term="python"></category><category term="linux"></category><category term="python"></category></entry><entry><title>Using GNU RCS in 2023</title><link href="https://simonh.uk/2023/02/11/using-gnu-rcs-in-2023/" rel="alternate"></link><published>2023-02-11T00:00:00+00:00</published><updated>2023-02-11T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2023-02-11:/2023/02/11/using-gnu-rcs-in-2023/</id><summary type="html">	&lt;p&gt;Version control for single files&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="GNU Logo" src="/img/logo/gnu.webp" title="GNU Logo" /&gt;&lt;/p&gt;

	&lt;h2&gt;Old School Version Control&lt;/h2&gt;

	&lt;p&gt;Since I started using &lt;a href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt; a few years back, I&amp;#8217;ve realised the value in having everything important under version control. The thing is, tools like Mercurial and Git don&amp;#8217;t seem to be quite the right tool when you&amp;#8217;re wanting to manage &lt;em&gt;single&lt;/em&gt; files. &lt;/p&gt;

	&lt;p&gt;Enter &lt;a href="https://www.gnu.org/software/rcs/"&gt;&lt;span class="caps"&gt;RCS&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;span class="caps"&gt;RCS&lt;/span&gt; dates back to 1982, and was last updated in 2022 (still active). I believe that one of &lt;span class="caps"&gt;RCS&lt;/span&gt;&amp;#8217;s perceived weaknesses can actually be a strength: it was designed to work with single files. Using it is very easy. Let&amp;#8217;s get started!&lt;/p&gt;

	&lt;p&gt;The first thing I do is add some variables that &lt;span class="caps"&gt;RCS&lt;/span&gt; will populate for us. I&amp;#8217;ll add a bit of metadata to our fake program &lt;code&gt;my_program&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# $Date$
# $Revision$
# $Author$&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;These will be replaced when we &amp;#8220;checkout&amp;#8221; our file from &lt;span class="caps"&gt;RCS&lt;/span&gt;. But first we need to &amp;#8220;checkin&amp;#8221; our initial revision. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# $Date$
# $Revision$
# $Author$

This is the first version of my file. I&amp;#39;ve done a small amount of work that I want to save.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Let&amp;#8217;s check in our first version.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ mkdir RCS&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ ll
total 16K
drwxrwxr-x  3 simon simon 4.0K 2023-02-11 11:16 .
drwxrwxr-x 18 simon simon 4.0K 2023-02-11 11:09 ..
-rw-rw-r--  1 simon simon  128 2023-02-11 11:15 my_program
drwxrwxr-x  2 simon simon 4.0K 2023-02-11 11:16 RCS&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ ci my_program 
RCS/my_program,v  &amp;lt;--  my_program
enter description, terminated with single &amp;#39;.&amp;#39; or end of file:
NOTE: This is NOT the log message!
&amp;gt;&amp;gt; Version 1 of my_program
&amp;gt;&amp;gt; .
initial revision: 1.1
done&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;So we&amp;#8217;ve performed our first commit. Let&amp;#8217;s see the state of our working directory&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ tree
.
└── RCS
    └── my_program,v

1 directory, 1 file&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;As you can see, our original file has been destroyed! We now have one file in the &lt;span class="caps"&gt;RCS&lt;/span&gt; directory &lt;code&gt;my_program,v&lt;/code&gt;. That file is our &amp;#8220;versioned&amp;#8221; file. Let&amp;#8217;s take a look at it&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ cat RCS/my_program,v 
head    1.1;
access;
symbols;
locks; strict;
comment @# @;


1.1
date    2023.02.11.11.16.25;    author simon;   state Exp;
branches;
next    ;


desc
@Version 1 of my_program
@


1.1
log
@Initial revision
@
text
@# $Date$
# $Revision$
# $Author$

This is the first version of my file. I&amp;#39;ve done a small amount of work that I want to save.


@
simon@computer:~/tmp/my_script$&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;As you can see, there&amp;#8217;s quite a bit of information in there, along with the text of &lt;code&gt;my_program&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;To retrieve our file and do some work, we need to check it out, with a lock, to prevent other people working on it at the same time as us (to avoid conflicts).&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ co -l ./my_program 
./RCS/my_program,v  --&amp;gt;  ./my_program
revision 1.1 (locked)
done&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Let&amp;#8217;s see our working directory state now&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ tree
.
├── my_program
└── RCS
    └── my_program,v

1 directory, 2 files&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Great, the file is back! Let&amp;#8217;s take a look at the contents&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ cat my_program 
# $Date: 2023/02/11 11:16:25 $
# $Revision: 1.1 $
# $Author: simon $

This is the first version of my file. I&amp;#39;ve done a small amount of work that I want to save.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;As I said earlier, the dollar variables have been expanded by &lt;span class="caps"&gt;RCS&lt;/span&gt;. Let&amp;#8217;s make another change and see what happens.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# $Date: 2023/02/11 11:16:25 $
# $Revision: 1.1 $
# $Author: simon $

This is the first version of my file. I&amp;#39;ve done a small amount of work that I want to save.

I&amp;#39;ve simply added a blank newline and this line now.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Running &lt;code&gt;rcsdiff&lt;/code&gt; will show us unsaved changes. Use the &lt;code&gt;-u&lt;/code&gt; option to get unified diff output.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ rcsdiff -u ./my_program 
===================================================================
RCS file: ./RCS/my_program,v
retrieving revision 1.1
diff -u -r1.1 ./my_program
--- ./my_program        2023/02/11 11:16:25     1.1
+++ ./my_program        2023/02/11 11:29:41
@@ -4,4 +4,6 @@

 This is the first version of my file. I&amp;#39;ve done a small amount of work that I want to save.

+I&amp;#39;ve simply added a blank newline and this line now.
+

simon@computer:~/tmp/my_script$ &lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;All looks good, so we&amp;#8217;ll commit our changes.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ ci ./my_program 
./RCS/my_program,v  &amp;lt;--  ./my_program
new revision: 1.2; previous revision: 1.1
enter log message, terminated with single &amp;#39;.&amp;#39; or end of file:
&amp;gt;&amp;gt; Did a bit of work
&amp;gt;&amp;gt; .
done&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Very easy and painless, eh? Once again, our file will have been destroyed so we need to check it out again to either work on it (with the &lt;code&gt;-l&lt;/code&gt; option to have a locked version of the file) or without a lock for a read only version.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ co ./my_program 
./RCS/my_program,v  --&amp;gt;  ./my_program
revision 1.2
done
simon@computer:~/tmp/my_script$ cat my_program 
# $Date: 2023/02/11 11:31:42 $
# $Revision: 1.2 $
# $Author: simon $

This is the first version of my file. I&amp;#39;ve done a small amount of work that I want to save.

I&amp;#39;ve simply added a blank newline and this line now.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The date and revision have been updated and our most recent changes are there. Because we didn&amp;#8217;t lock our file, it&amp;#8217;s readonly. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  GNU nano 6.2                       my_program                                 
# $Date: 2023/02/11 11:31:42 $
# $Revision: 1.2 $
# $Author: simon $

This is the first version of my file. I&amp;#39;ve done a small amount of work that I w&amp;gt;

I&amp;#39;ve simply added a blank newline and this line now.












                      [ File &amp;#39;my_program&amp;#39; is unwritable ]
^G Help      ^O Write Out ^W Where Is  ^K Cut       ^T Execute   ^C Location
^X Exit      ^R Read File ^\ Replace   ^U Paste     ^J Justify   ^/ Go To Line&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt; Nano tells us at the bottom that the file is unwritable. Fair enough. &lt;/p&gt;

	&lt;p&gt;We&amp;#8217;ll checkout an editable version now with &lt;code&gt;co -l&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ co -l ./my_program 
./RCS/my_program,v  --&amp;gt;  ./my_program
revision 1.2 (locked)
done&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;If we want to view our changes &lt;code&gt;rlog&lt;/code&gt; will happily tell us&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/tmp/my_script$ rlog ./my_program 

RCS file: ./RCS/my_program,v
Working file: ./my_program
head: 1.2
branch:
locks: strict
        simon: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2;     selected revisions: 2
description:
Version 1 of my_program
----------------------------
revision 1.2    locked by: simon;
date: 2023/02/11 11:31:42;  author: simon;  state: Exp;  lines: +5 -3
Did a bit of work
----------------------------
revision 1.1
date: 2023/02/11 11:16:25;  author: simon;  state: Exp;
Initial revision
=============================================================================&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;And that&amp;#8217;s really all there is to it (for my purposes anyway). Take a look at the excellent &lt;a href="https://www.gnu.org/software/rcs/manual/"&gt;manual&lt;/a&gt; for everything else you can do with &lt;span class="caps"&gt;RCS&lt;/span&gt;.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m sure you can see the value of &lt;span class="caps"&gt;RCS&lt;/span&gt; for shell scripts, single Python files, etc. &lt;/p&gt;</content><category term="software"></category><category term="version control"></category><category term="linux"></category><category term="gnu"></category><category term="rcs"></category></entry><entry><title>Manage Invoices with GNU Recutils</title><link href="https://simonh.uk/2022/08/13/manage-invoices-with-gnu-recutils/" rel="alternate"></link><published>2022-08-13T00:00:00+01:00</published><updated>2022-08-13T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2022-08-13:/2022/08/13/manage-invoices-with-gnu-recutils/</id><summary type="html">	&lt;p&gt;unix plain text databases!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="GNU Logo" src="/img/logo/gnu.webp" title="GNU Logo" /&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve been running an &lt;span class="caps"&gt;NDT&lt;/span&gt; business since 2017. After a couple of years getting annoyed at writing my reports in Libreoffice Writer, I decided to write my own software to generate the reports for me. This has saved me an enormous amount of time. A couple of years ago, I started thinking about how I should handle my invoices. I don&amp;#8217;t generate a lot of invoices, but sometimes I&amp;#8217;d lose track of who&amp;#8217;d paid, who hadn&amp;#8217;t and realised I needed &lt;em&gt;something&lt;/em&gt; to keep track of them.&lt;/p&gt;

	&lt;p&gt;One option was just to simply add it to my existing system. But, I couldn&amp;#8217;t really be bothered. So I decided to have a simple spreadsheet. This worked ok, I simply added a new row to my &amp;#8220;invoice_log_2022.xlsx&amp;#8221; and then email myself the new version so I had some redundancy. But it bugged me a little as it seemed there should be an easier way to handle a few records. For example, I had to use some spreadsheet program just to add / view my invoices. &lt;/p&gt;

	&lt;p&gt;So, I thought I&amp;#8217;d see what other options I could find. Eventually, I came across &lt;a href="https://www.gnu.org/software/recutils/"&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt; Recutils&lt;/a&gt;. Here is the description from their site:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt; Recutils is a set of tools and libraries to access human-editable, plain text databases called recfiles. The data is stored as a sequence of records, each record containing an arbitrary number of named fields. The picture below shows a sample database containing information about &lt;span class="caps"&gt;GNU&lt;/span&gt; packages, along with the main features provided by Recutils.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;&lt;img alt="recutils screenshot" src="/img/2022-08-13/recutils.png" title="recutils screenshot" /&gt;&lt;/p&gt;

	&lt;p&gt;This seemed to be worth a look! I converted my spreadsheet to csv, then imported it into the recfile format. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Invoice_No: N123456
Due_Date: 2022-07-31
Amount: £180.00
Customer: Some Customer
Description: MPI of fillet welds on fabricated assemblies
Amount_Paid: £180.00
Date_Paid: 2022-08-05

Invoice_No: N123457
Due_Date: 2022-07-31
Amount: £150.00
Customer: Another Customer
Description: DPI of condenser pipework
Amount_Paid: 
Date_Paid: &lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The above shows two records. The first one has been paid, the second one has not. If I want to add a new invoice to the log, I simply copy the last record, edit the fields and save the file. It really doesn&amp;#8217;t get much easier than that. No need for anything more than a text editor. &lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve only been using recutils for a week and have just started scratching the surface of the tools that come with it, &lt;code&gt;recins&lt;/code&gt;, &lt;code&gt;recsel&lt;/code&gt;, &lt;code&gt;recdel&lt;/code&gt; etc. One thing I want to do is have a cron job that will email me any invoices that are overdue. &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;I really like Sqlite. I use it for loads of things, but sometimes even Sqlite is overkill. The next time you think about creating a new spreadsheet to save a few records, perhaps you&amp;#8217;ll try Recutils instead&amp;#8230;&lt;/p&gt;</content><category term="software"></category><category term="business"></category><category term="database"></category><category term="tips"></category><category term="gnu"></category></entry><entry><title>Using OpenSMTPD as a Personal Relay</title><link href="https://simonh.uk/2022/06/26/using-opensmtpd-as-a-personal-relay/" rel="alternate"></link><published>2022-06-26T00:00:00+01:00</published><updated>2022-06-26T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2022-06-26:/2022/06/26/using-opensmtpd-as-a-personal-relay/</id><summary type="html">	&lt;p&gt;Ditch third party relays and just use your own!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="OpenSMTPD Logo" src="/img/logo/opensmtpd.webp" title="OpenSMTPD Logo" /&gt;&lt;/p&gt;

	&lt;p&gt;So, you&amp;#8217;ve got at least one server and you&amp;#8217;ve installed and configured opensmtpd so you can send emails. But, you&amp;#8217;re still using a third party email provider from your home computer. That didn&amp;#8217;t seem right to me, so I&amp;#8217;ve eventually figured out how to use one of my servers to route mail from home (or laptop) to its destination.&lt;/p&gt;

	&lt;h2&gt;Benefits&lt;/h2&gt;

	&lt;p&gt;1. Using what you already have. You&amp;#8217;ve got an email server. Might as well use it as a relay!&lt;br /&gt;
2. Speed. Routing mail through your own server will be &lt;em&gt;far&lt;/em&gt; quicker than using someone elses.&lt;/p&gt;

	&lt;p&gt;Below should be self explanatory. You need to edit four files, two on your server, two on your local machine.&lt;/p&gt;

	&lt;p&gt;Swap out &lt;code&gt;example.com&lt;/code&gt; for your server domain, obviously.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;###########################
#  Server: /etc/smtpd.conf
###########################

# $OpenBSD: smtpd.conf,v 1.10 2018/05/24 11:40:17 gilles Exp $

# This is the smtpd server system-wide configuration file.
# See smtpd.conf(5) for more information.

table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets

pki example.com key &amp;quot;/etc/letsencrypt/live/example.com/privkey.pem&amp;quot;
pki example.com cert &amp;quot;/etc/letsencrypt/live/example.com/fullchain.pem&amp;quot;

# Filters taken from prefetch.eu
filter   &amp;quot;rdns&amp;quot; phase connect match   !rdns disconnect &amp;quot;550 DNS error&amp;quot;
filter &amp;quot;fcrdns&amp;quot; phase connect match !fcrdns disconnect &amp;quot;550 DNS error&amp;quot;
filter check_dyndns phase connect match rdns regex { &amp;#39;.*\.dyn\..*&amp;#39;,
&amp;#39;.*\.dsl\..*&amp;#39; } \ disconnect &amp;quot;550 no residential connections&amp;quot;

action &amp;quot;local&amp;quot; maildir alias &amp;lt;aliases&amp;gt;
action &amp;quot;relay&amp;quot; relay

listen on localhost
listen on eth0 tls pki example.com \
filter { &amp;quot;rdns&amp;quot;, &amp;quot;fcrdns&amp;quot;, &amp;quot;check_dyndns&amp;quot; } \

listen on eth0 port 465 smtps pki example.com auth &amp;lt;secrets&amp;gt;
listen on eth0 port 587 tls-require pki example.com auth &amp;lt;secrets&amp;gt;

match for local action &amp;quot;local&amp;quot;
match from local for any action &amp;quot;relay&amp;quot;
match from any for domain &amp;quot;example.com&amp;quot; action &amp;quot;local&amp;quot;

match from auth for any action &amp;quot;relay&amp;quot;

############################
# Server: /etc/mail/secrets
############################

simon@server:~$ cat /etc/mail/secrets 
home@example.com &amp;lt;password hash created using &amp;#39;smtpctl encrypt&amp;#39; command&amp;gt;

#########################
# Local: /etc/smtpd.conf
#########################

# $OpenBSD: smtpd.conf,v 1.10 2018/05/24 11:40:17 gilles Exp $

# This is the smtpd server system-wide configuration file.
# See smtpd.conf(5) for more information.

table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets

listen on localhost

action &amp;quot;local&amp;quot; maildir alias &amp;lt;aliases&amp;gt;

action &amp;quot;simonh&amp;quot; relay host smtp+tls://simonh@example.com:587 \
auth &amp;lt;secrets&amp;gt; mail-from &amp;quot;home@example.com&amp;quot;

match for local action &amp;quot;local&amp;quot;
match for any action &amp;quot;simonh&amp;quot;

###########################
# Local: /etc/mail/secrets
###########################

root@computer:/etc# cat mail/secrets 
simonh home@example.com:plain_password_here&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The key things to pay attention to are (on the server):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;table secrets file:/etc/mail/secrets&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;listen on eth0 port 587 tls-require pki example.com auth &amp;lt;secrets&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;match from auth for any action &amp;quot;relay&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;And on your local machine:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;action &amp;quot;simonh&amp;quot; relay host smtp+tls://simonh@example.com:587 \&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;match for any action &amp;quot;simonh&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;&lt;code&gt;/etc/mail/secrets&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simonh home@example.com:plain_password_here&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The password needs to be plain text as it is sent over &lt;span class="caps"&gt;TLS&lt;/span&gt; to be checked by the remote mail server. &lt;/p&gt;

	&lt;p&gt;From what I can gather, the &lt;code&gt;simonh&lt;/code&gt; label in &lt;code&gt;/etc/mail/secrets&lt;/code&gt; will send the username and password matching that label from your &lt;code&gt;secrets&lt;/code&gt; file to the &lt;code&gt;action&lt;/code&gt; block. That had me stumped for a while&amp;#8230;&lt;/p&gt;

	&lt;p&gt;As a side note, you can avoid the auth stuff entirely if you&amp;#8217;ve got a static ip address. This is what I&amp;#8217;d been using for the last few weeks until I got the authenticated method sorted out:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;match from src your.home.ip.address for any action &amp;quot;relay&amp;quot;&lt;/code&gt;&lt;/pre&gt;</content><category term="mail"></category><category term="mail"></category><category term="smtp"></category><category term="tips"></category></entry><entry><title>Budget your Money Easily by Piggy Banking</title><link href="https://simonh.uk/2022/04/11/budget-your-money-easily-by-piggy-banking/" rel="alternate"></link><published>2022-04-11T00:00:00+01:00</published><updated>2022-04-11T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2022-04-11:/2022/04/11/budget-your-money-easily-by-piggy-banking/</id><summary type="html">	&lt;p&gt;Divide and Conquer!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Piggy bank" src="/img/2022-04-11/piggy_bank.webp" title="Piggy bank" /&gt;&lt;/p&gt;

	&lt;p&gt;Some years ago, I went to a cash machine to get some money out. As I walked up to the machine, I reckoned I had a few hundred quid in there. I had no idea exactly how much, but I knew there was at least £500 available. &lt;/p&gt;

	&lt;p&gt;Nope. &lt;/p&gt;

	&lt;p&gt;Less than £100!&lt;/p&gt;

	&lt;p&gt;It was then that I realised I had literally &lt;em&gt;no control&lt;/em&gt; over my money.&lt;/p&gt;

	&lt;p&gt;Not good. &lt;/p&gt;

	&lt;p&gt;I chatted with workmates about budgeting for some tips. It turned out that quite a lot of them used personal budgeting to manage their finances (sometimes down to the pennies). There was talk of setting up spreadsheets and tracking every purchase. Well, I&amp;#8217;m far too lazy for that level of committment. &lt;/p&gt;

	&lt;p&gt;At some point, I stumbled across the &amp;#8220;piggy banking&amp;#8221; technique. I was sold immediately.&lt;/p&gt;

	&lt;h2&gt;Piggy Banking Demo&lt;/h2&gt;

	&lt;p&gt;Let&amp;#8217;s say you earn £2000 per month. &lt;/p&gt;

	&lt;p&gt;&lt;ins&gt;Step 1: work out how much you &lt;b&gt;must&lt;/b&gt; pay out each month&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;At the time, in my case, that was about £750 (rent, council tax, car expenses, etc). &lt;/p&gt;

	&lt;p&gt;This figure doesn&amp;#8217;t include food, clothing etc. These are you regular direct debits and unavoidable monthly card payments. The ones you &lt;i&gt;have&lt;/i&gt; to pay to keep a roof over your head and a vehicle on the road (if you have one). &lt;/p&gt;

	&lt;p&gt;So, out of my £2000, I&amp;#8217;m left with £1250. &lt;/p&gt;

	&lt;p&gt;&lt;ins&gt;Step 2: we calculate our variable costs each month&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;Food, gas, electric are obvious categories. &lt;/p&gt;

	&lt;p&gt;1. Food &amp;#8211; £700&lt;br /&gt;
2. Gas &amp;#8211; £50&lt;br /&gt;
3. Electric &amp;#8211; £50&lt;br /&gt;
4. Fuel for car &amp;#8211; £100&lt;/p&gt;

	&lt;p&gt;This totals £900&lt;/p&gt;

	&lt;p&gt;Which gives me the following left over:&lt;/p&gt;

	&lt;p&gt;£1250 &amp;#8211; £900 = £350&lt;/p&gt;

	&lt;p&gt;So, out of my two grand, I&amp;#8217;m left with £350 to play with each month (assuming I&amp;#8217;ve calculated correctly).&lt;/p&gt;

	&lt;p&gt;If we&amp;#8217;ve done an accurate job, we don&amp;#8217;t need to bother to break &lt;strong&gt;everything&lt;/strong&gt; down. Instead, we break things down by category. I remember when I first did this, I realised that £700 per month for grocery shopping seemed a bit high. This gives you an easy target to make some savings.&lt;/p&gt;

	&lt;p&gt;&lt;ins&gt;Step 3: Split your money into Piggy Banks&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;When I first did this, I had one bank account (Natwest current account). After a bit of thought, I set up the following &lt;i&gt;new&lt;/i&gt; accounts:&lt;/p&gt;

	&lt;p&gt;1. Current account. My main account where my wages were paid in to.&lt;br /&gt;
2. Home account. Everything in step 2. &lt;b&gt;New account&lt;/b&gt;&lt;br /&gt;
3. Personal account. I transfered £100 each month into this account for treating myself. &lt;b&gt;New account&lt;/b&gt;&lt;br /&gt;
4. Savings account. The one where I have a bit of cash for an emergency. &lt;b&gt;New account&lt;/b&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m sure you can see, as I did, how useful this is, immediately. &lt;/p&gt;

	&lt;p&gt;For a person with one source of income, your wages get paid into your &lt;em&gt;main&lt;/em&gt; account. You then transfer money into your &lt;em&gt;home&lt;/em&gt; account each month. Same with your &lt;em&gt;personal&lt;/em&gt; account and &lt;em&gt;savings&lt;/em&gt; account. &lt;/p&gt;

	&lt;p&gt;As money comes in, you put into your &lt;i&gt;piggy banks&lt;/i&gt;.&lt;/p&gt;

	&lt;p&gt;Now, you can go as deep as you want with this method. Some people also have accounts for:&lt;/p&gt;

	&lt;p&gt;1. Christmas shop&lt;br /&gt;
2. Birthdays&lt;br /&gt;
3. Holidays&lt;br /&gt;
4. Home improvements&lt;br /&gt;
5. God knows what else!&lt;/p&gt;

	&lt;p&gt;The beauty of piggy banking is: you decide. &lt;/p&gt;

	&lt;p&gt;As I write this in April 2022, some banks have noticed and let you split your money up, virtually. I opened an account with Starling a few months ago and now have &amp;#8220;spaces&amp;#8221; for this years holiday and Christmas shopping. &lt;/p&gt;

	&lt;p&gt;Remember: divide and conquer!&lt;/p&gt;

	&lt;h2&gt;Summary&lt;/h2&gt;

	&lt;p&gt;1. Work out what you &lt;strong&gt;need&lt;/strong&gt; to pay out each month / week.&lt;br /&gt;
2. Decide how you want to divide the remainder.&lt;br /&gt;
3. Set up new accounts for these categories.&lt;br /&gt;
4. Pay money from your main account to these sub accounts each pay day.&lt;br /&gt;
5. Goto 4 each pay day. &lt;/p&gt;

	&lt;p&gt;I hope this post will also help you to get to grips with your money. &lt;/p&gt;

	&lt;p&gt;As always, any questions or thoughts, send me an email, below.&lt;/p&gt;</content><category term="money"></category><category term="tips"></category><category term="money"></category></entry><entry><title>A Guide to Setting up WebDAV with Apache HTTPD</title><link href="https://simonh.uk/2021/12/25/a-guide-to-setting-up-webdav-with-apache-httpd/" rel="alternate"></link><published>2021-12-25T00:00:00+00:00</published><updated>2021-12-25T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-12-25:/2021/12/25/a-guide-to-setting-up-webdav-with-apache-httpd/</id><summary type="html">	&lt;p&gt;WebDAV &amp;#8211; best thing since sliced bread!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Apache httpd" src="/img/logo/apache.svg" title="Apache httpd" /&gt;&lt;/p&gt;

	&lt;p&gt;Credits: &lt;a href="https://www.digitalocean.com/community/tutorials/how-to-configure-webdav-access-with-apache-on-ubuntu-18-04"&gt;Digital Ocean&lt;/a&gt; for the WebDAV tutorial. &lt;a href="https://hexeract.wordpress.com/2011/02/25/configure-a-webdav-enabled-webserver-for-multiple-user-folders-and-one-shared-folder/"&gt;hexeract&lt;/a&gt; for his post about multiple WebDAV users. &lt;a href="https://www.raymondcamden.com/2013/02/27/Quick-Tip-Make-Apaches-Directory-Indexes-look-nicer-on-mobile"&gt;Raymond Camden&lt;/a&gt; for the responsive directory index.&lt;/p&gt;

	&lt;p&gt;For a project I&amp;#8217;ve been working on, I needed some place for users to upload and access files. I started off using Google Drive, Sharepoint etc, but I also wanted to have the option of hosting the files myself. &lt;/p&gt;

	&lt;p&gt;So, I looked at all sorts of options (Pydio, Seafile, Owncloud, &lt;span class="caps"&gt;FTP&lt;/span&gt;, WebDAV). I decided to have a stab at WebDAV, mainly due to it being included with Apache through &lt;a href="https://httpd.apache.org/docs/2.4/mod/mod_dav.html"&gt;mod_dav&lt;/a&gt;. Initially, I was using file based storage, but the Apache &lt;a href="https://httpd.apache.org/docs/2.4/howto/auth.html"&gt;docs&lt;/a&gt; advise to use a dbm database instead due to being far faster. However, the same docs weren&amp;#8217;t very helpful when it came to using dbm for group management / authorisation. &lt;/p&gt;

	&lt;p&gt;The following is what I did to get everything working. If you want to do something similar yourself, hopefully it will help. I&amp;#8217;m using Debian 11, Apache 2.4.51. &lt;/p&gt;

	&lt;p&gt;First, create a directory for the credentials to live&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# mkdir -p /usr/local/apache2/var&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;&lt;code&gt;cd&lt;/code&gt; into the new directory and then create the dbm file that Apache will use for auth. I&amp;#8217;ll add myself and also what groups I belong to. After running command below, you&amp;#8217;ll be prompted for a password. I use &lt;a href="https://linux.die.net/man/1/pwgen"&gt;pwgen&lt;/a&gt; for generating passwords.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# htdbm -ct users.dbm me@mydomain.com &amp;quot;project1,project2&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The &lt;code&gt;-c&lt;/code&gt; is needed to create the database. &lt;code&gt;-t&lt;/code&gt; is used to add a comment which Apache uses for the group credentials (it would have been nice if the Apache docs stated that!). The most important things to remember are: no spaces in group names, and separate each group with commas. Just stick with alphanumeric characters or an underscore, and you should be golden.&lt;/p&gt;

	&lt;p&gt;Next, we&amp;#8217;ll add a second user who we only want to access project1&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# htdbm -t users.dbm someone@somewhere.com &amp;quot;project1,&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The next user can only access project2&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# htdbm -t users.dbm user@somewhere.com &amp;quot;project2,&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;If you need to delete a user you can do that like so:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# htdbm -x users.dbm simon&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I think you can see why setting up access control in this way is such a good idea. You&amp;#8217;ve only got one file to manage. Adding, modifying or deleting users is just one line using &lt;a href="https://httpd.apache.org/docs/2.4/programs/htdbm.html"&gt;htdbm&lt;/a&gt;. And the lookups are super fast. I&amp;#8217;ve been using dbm for session management for years. You might want to install &lt;a href="https://packages.debian.org/bullseye/db-util"&gt;db-util&lt;/a&gt; as well for managing the database.&lt;/p&gt;

	&lt;p&gt;List database members:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;htdbm -l users.dbm&lt;/code&gt;&lt;/pre&gt;

	&lt;h2&gt;Apache setup&lt;/h2&gt;

	&lt;p&gt;You&amp;#8217;ll  need to enable the required modules.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# a2enmod dav
# a2enmod dav_fs
# a2enmod authn_dbm 
# a2enmod authz_dbm&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The following is what I&amp;#8217;m using for my apache.conf&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;DavLockDB /usr/local/apache2/var/DavLock
&amp;lt;IfModule mod_ssl.c&amp;gt;
&amp;lt;VirtualHost *:443&amp;gt;
    DocumentRoot &amp;quot;/var/www/files.yoursite.com&amp;quot;
    ServerName files.yoursite.com

    SSLCertificateFile /etc/letsencrypt/live/files.yoursite.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/files.yoursite.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf

    # Directory Listing Display Options
    IndexOptions +FancyIndexing
    IndexOptions +VersionSort
    IndexOptions +HTMLTable
    IndexOptions +FoldersFirst
    IndexOptions +IconsAreLinks
    IndexOptions +IgnoreCase
    IndexOptions +XHTML
    IndexOptions +NameWidth=*
    IndexOptions +SuppressDescription
    IndexOptions +SuppressHTMLPreamble
    IndexOptions +Charset=UTF-8
    # Make it responsive
    IndexHeadInsert &amp;quot;&amp;lt;meta name=\&amp;quot;viewport\&amp;quot; content=\&amp;quot;width=device-width, initial-scale=1\&amp;quot;&amp;gt;&amp;quot;

    # project1 
    Alias /project1 /var/www/webdav/project1
    &amp;lt;Directory /var/www/webdav/project1&amp;gt;
        DAV                On
        SSLRequireSSL
        AuthType           Basic
        AuthName           &amp;quot;webdav&amp;quot;
        AuthBasicProvider  dbm
        AuthDBMUserFile    &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        AuthDBMGroupFile   &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        Require dbm-group  project1
    &amp;lt;/Directory&amp;gt;

    # project2
    Alias /project2 /var/www/webdav/project2
    &amp;lt;Directory /var/www/webdav/project2&amp;gt;
        DAV                On
        SSLRequireSSL
        AuthType           Basic
        AuthName           &amp;quot;webdav&amp;quot;
        AuthBasicProvider  dbm    	
        AuthDBMUserFile    &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        AuthDBMGroupFile   &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        Require dbm-group  project2
    &amp;lt;/Directory&amp;gt;

&amp;lt;/VirtualHost&amp;gt;
&amp;lt;/IfModule&amp;gt;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;As always check your config is correct&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# apachectl -t
Syntax OK&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Restart Apache&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# systemctl restart apache2&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Each time you have a new project, you can just copy the Alias and directory block, at the bottom like so.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;DavLockDB /usr/local/apache2/var/DavLock
&amp;lt;IfModule mod_ssl.c&amp;gt;
&amp;lt;VirtualHost *:443&amp;gt;
    DocumentRoot &amp;quot;/var/www/files.yoursite.com&amp;quot;
    ServerName files.yoursite.com

    SSLCertificateFile /etc/letsencrypt/live/files.yoursite.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/files.yoursite.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf

    # Directory Listing Display Options
    IndexOptions +FancyIndexing
    IndexOptions +VersionSort
    IndexOptions +HTMLTable
    IndexOptions +FoldersFirst
    IndexOptions +IconsAreLinks
    IndexOptions +IgnoreCase
    IndexOptions +XHTML
    IndexOptions +NameWidth=*
    IndexOptions +SuppressDescription
    IndexOptions +SuppressHTMLPreamble
    IndexOptions +Charset=UTF-8
    # Make it responsive
    IndexHeadInsert &amp;quot;&amp;lt;meta name=\&amp;quot;viewport\&amp;quot; content=\&amp;quot;width=device-width, initial-scale=1\&amp;quot;&amp;gt;&amp;quot;

    # project1 
    Alias /project1 /var/www/webdav/project1
    &amp;lt;Directory /var/www/webdav/project1&amp;gt;
        DAV                On
        SSLRequireSSL
        AuthType           Basic
        AuthName           &amp;quot;webdav&amp;quot;
        AuthBasicProvider  dbm
        AuthDBMUserFile    &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        AuthDBMGroupFile   &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        Require dbm-group  project1
    &amp;lt;/Directory&amp;gt;

    # project2
    Alias /project2 /var/www/webdav/project2
    &amp;lt;Directory /var/www/webdav/project2&amp;gt;
        DAV                On
        SSLRequireSSL
        AuthType           Basic
        AuthName           &amp;quot;webdav&amp;quot;
        AuthBasicProvider  dbm    	
        AuthDBMUserFile    &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        AuthDBMGroupFile   &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        Require dbm-group  project2
    &amp;lt;/Directory&amp;gt;

    # project3
    Alias /project3 /var/www/webdav/project3
    &amp;lt;Directory /var/www/webdav/project3&amp;gt;
        DAV                On
        SSLRequireSSL
        AuthType           Basic
        AuthName           &amp;quot;webdav&amp;quot;
        AuthBasicProvider  dbm    	
        AuthDBMUserFile    &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        AuthDBMGroupFile   &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        Require dbm-group  project3
    &amp;lt;/Directory&amp;gt;

&amp;lt;/VirtualHost&amp;gt;
&amp;lt;/IfModule&amp;gt;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Hopefully, this will save someone a few hours of digging around Apache mailing lists. Or looking through the source code for comments. &lt;/p&gt;

	&lt;p&gt;In a future post, I&amp;#8217;ll tackle another item on my todo list &amp;#8211; making the directory listing look a bit better. It&amp;#8217;s not unbearable, but it&amp;#8217;s a bit disappointing that in 2021, the default page is not even responsive. Hence the IndexHeaderInsert override in the apache conf. &lt;/p&gt;

	&lt;h2&gt;October 2023 Update&lt;/h2&gt;

	&lt;p&gt;I forgot to mention I&amp;#8217;m now using &lt;a href="https://httpd.apache.org/docs/2.4/mod/mod_macro.html"&gt;mod_macro&lt;/a&gt; which simplifies setting up new shares:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;Macro WebDAVShare $alias&amp;gt;
    Alias /$alias /var/www/myserver.tld/$alias
    &amp;lt;Directory /var/www/myserver.tld/$alias&amp;gt;
        DAV                On
        SSLRequireSSL
        AuthType           Basic
        AuthName           &amp;quot;webdav&amp;quot;
        AuthBasicProvider  dbm
        AuthDBMUserFile    &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        AuthDBMGroupFile   &amp;quot;/usr/local/apache2/var/users.dbm&amp;quot;
        Require dbm-group  admin $alias
    &amp;lt;/Directory&amp;gt;

    &amp;lt;Directory /var/www/myserver.tld/$alias/cgi-bin/*&amp;gt;
        Options ExecCGI
        SetHandler cgi-script
        DirectoryIndex
    &amp;lt;/Directory&amp;gt;
&amp;lt;/Macro&amp;gt;

Use WebDAVShare simon
Use WebDAVShare bob
Use WebDAVShare alice
Use WebDAVShare some_other_site&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I&amp;#8217;ve also started using an &lt;code&gt;admin&lt;/code&gt; group. This group can access &lt;strong&gt;any&lt;/strong&gt; webdav share (as shown in the conf). I add myself to that group, so if there&amp;#8217;s a problem with a share, I can access it and troubleshoot any problems.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ htdbm -t users.dbm simon@mydomain.com &amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/pre&gt;</content><category term="web"></category><category term="apache"></category><category term="httpd"></category><category term="webdav"></category><category term="tips"></category></entry><entry><title>A Guide to Choosing, Starting and Finishing Software Projects</title><link href="https://simonh.uk/2021/12/18/a-guide-to-choosing-starting-and-finishing-software-projects/" rel="alternate"></link><published>2021-12-18T00:00:00+00:00</published><updated>2021-12-18T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-12-18:/2021/12/18/a-guide-to-choosing-starting-and-finishing-software-projects/</id><summary type="html">	&lt;p&gt;tldr: It needs to be useful and have an audience&lt;/p&gt;</summary><content type="html">	&lt;h1&gt;Intro&lt;/h1&gt;

	&lt;p&gt;I&amp;#8217;ve been a productive programmer for about four years now and believe I&amp;#8217;m in a position to offer some friendly advice to others who might be struggling. &lt;/p&gt;

	&lt;p&gt;I tried, and failed, to learn programming for many years. The turning point for me was a real world project for a company that I worked for. &lt;/p&gt;

	&lt;h2&gt;Step One&lt;/h2&gt;

	&lt;p&gt;&lt;ins&gt;Pick a real world project&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;My first project was a system to record torque settings in a workshop. The way they had done it for many years, was for each technician to record the settings in a bound book. This would include &lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;their clock number&lt;/li&gt;
		&lt;li&gt;the date&lt;/li&gt;
		&lt;li&gt;the job number&lt;/li&gt;
		&lt;li&gt;the torque value applied&lt;/li&gt;
		&lt;li&gt;the torque wrench used&lt;/li&gt;
		&lt;li&gt;the torque meter used&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;And finally, they&amp;#8217;d stamp the last column instead of a signature (company policy) so if there was an issue, they could ascertain who&amp;#8217;d torqued a particular bolt.&lt;/p&gt;

	&lt;p&gt;The problems with this method, as I saw it, were:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;someone had to regularly print out the new books (ME)!&lt;/li&gt;
		&lt;li&gt;finding a record was like finding a needle in a haystack&lt;/li&gt;
		&lt;li&gt;no backup &amp;#8211; if book is lost, all records gone&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;Bear in mind, this company had about twenty of these books in daily use. Also, it was not uncommon to have to try to find a record (if an engine or transmission failed in service). &lt;/p&gt;

	&lt;p&gt;So, I offered to attempt to write a web based system, accessed using a couple of tablets the company already had. It took maybe a month or two of work in my spare time to have a prototype built. We tested it using one station, and when that proved to work better than the old way, we introduced the second tablet. &lt;/p&gt;

	&lt;p&gt;This was not a tech company and the supervisors were genuinely surprised and delighted that they could now search on any field:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;all records for a particular job&lt;/li&gt;
		&lt;li&gt;all records for a particular technician&lt;/li&gt;
		&lt;li&gt;all records on a date or in a date range&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;etc.&lt;/p&gt;

	&lt;p&gt;Unfortunately, their lazy, unskilled IT department didn&amp;#8217;t like me in their turf and started causing problems, so I decided to turn the program off. But, it was very successful and well liked by its users and management who were directly involved. &lt;/p&gt;

	&lt;h2&gt;Step Two&lt;/h2&gt;

	&lt;p&gt;&lt;ins&gt;Make it better than the old way&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;Personally, I love writing software. Starting with nothing and ending up with something in use, better than how it was done previously. Every software project I&amp;#8217;ve written has been to replace something that could easily be improved, i.e. to replace a spreadsheet, a white board, or paper. &lt;/p&gt;

	&lt;p&gt;When you&amp;#8217;re starting out people can be nervous about change. So I always say to them:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;If you don&amp;#8217;t like it, you can always go back to how you did it before.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Knowing fine well that once they&amp;#8217;ve used my system, going back will be the last thing they want to do! But it&amp;#8217;s important to tell them, to reassure them that it&amp;#8217;s just a trial. That they are in control. People are weird like that. &lt;/p&gt;

	&lt;h2&gt;Step Three&lt;/h2&gt;

	&lt;p&gt;&lt;ins&gt;Launch as soon as you can&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;Once you&amp;#8217;ve picked your real world project, get to work! As with all things, you&amp;#8217;ll get better and quicker and more confident as you write more code. You&amp;#8217;ll also get feedback from your users that you couldn&amp;#8217;t predict. The sooner you launch, the sooner your project improves. That&amp;#8217;s been my experience. &lt;/p&gt;

	&lt;h2&gt;Step Four&lt;/h2&gt;

	&lt;p&gt;&lt;ins&gt;Work as much as you can to improve it&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;So your project is live, &lt;em&gt;real&lt;/em&gt; people are using it and benefiting from your skills. Over the next few weeks / months, try and make it better. Add new features that your users suggest (within reason). Make things simpler and easier for your users. I guarantee you that it will take months until you can officially say it&amp;#8217;s &amp;#8220;done.&amp;#8221; &lt;/p&gt;

	&lt;h2&gt;Summary and Conclusion&lt;/h2&gt;

	&lt;p&gt;So, lets recap&lt;/p&gt;

	&lt;p&gt;1. Pick a real world project&lt;br /&gt;
2. Make it better than the old way&lt;br /&gt;
3. Launch as soon as you can&lt;br /&gt;
4. Work as much as you can to improve it&lt;br /&gt;
5. &lt;span class="caps"&gt;GOTO&lt;/span&gt; step 1&lt;/p&gt;

	&lt;p&gt;And that&amp;#8217;s how I work. That&amp;#8217;s my system for writing software. Of course there&amp;#8217;s loads of other things that you should consider (version control, backups, security etc.) but for my first couple of projects, I didn&amp;#8217;t bother with version control software. I&amp;#8217;d struggle to go back to not using it now, but I muddled through. The other stuff you&amp;#8217;ll pick up as you need to. &lt;/p&gt;

	&lt;p&gt;In case you&amp;#8217;re interested, here is the before and after for the torque meter software project I mentioned above:&lt;/p&gt;

	&lt;p&gt;Before:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="torque book" src="/img/2021-12-18/torque_book.jpg" title="torque book" /&gt;&lt;/p&gt;

	&lt;p&gt;After:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="torque software" src="/img/2021-12-18/torque_software.jpg" title="torque software" /&gt;&lt;/p&gt;</content><category term="software"></category><category term="tips"></category><category term="programming"></category></entry><entry><title>Ho'oponopono (Part 1)</title><link href="https://simonh.uk/2021/12/18/hooponopono-part-1/" rel="alternate"></link><published>2021-12-18T00:00:00+00:00</published><updated>2021-12-18T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-12-18:/2021/12/18/hooponopono-part-1/</id><summary type="html">	&lt;p&gt;It makes sense if you think about it&lt;/p&gt;</summary><content type="html">	&lt;p&gt;It&amp;#8217;s quite a few years since I first came across &amp;#8220;Ho&amp;#8217;oponopono.&amp;#8221; Like most people, I was introduced via &lt;a href="https://joevitalehooponopono.com/success-hooponopono/"&gt;Joe Vitale&lt;/a&gt;. As soon as I heard the proposition, it made sense to me. &lt;/p&gt;

	&lt;p&gt;If you&amp;#8217;re unfamiliar with the idea, here&amp;#8217;s the gist:&lt;/p&gt;

	&lt;p&gt;&lt;em&gt;Anything&lt;/em&gt; that you experience, through any medium, is &lt;em&gt;your&lt;/em&gt; responsibility. &lt;/p&gt;

	&lt;p&gt;You&amp;#8217;re watching TV and there&amp;#8217;s a piece about a child murdered by their parents. Well, guess what? Now it&amp;#8217;s your responsibility. There is &lt;em&gt;some reason&lt;/em&gt; why you have experienced that story. With Ho&amp;#8217;oponopono (English translation: &amp;#8220;correction&amp;#8221;) you internally say the following when you experience something that seems wrong, bad or undesirable:&lt;/p&gt;

	&lt;p&gt;1. I&amp;#8217;m sorry&lt;br /&gt;
2. Please forgive me&lt;br /&gt;
3. Thank you&lt;br /&gt;
4. I love you&lt;/p&gt;

	&lt;p&gt;And that&amp;#8217;s it. Vitale suggests (for the lazy like me) that it can be reduced down to:&lt;/p&gt;

	&lt;p&gt;1. I love you&lt;/p&gt;

	&lt;p&gt;And have the same effect. What effect? If I understand correctly, reducing the chance of this type of event from happening in the future(?). &lt;em&gt;Cleaning&lt;/em&gt; it, in Ho&amp;#8217;oponopono parlance. Acknowledging that you are responsible and will deal with it. &lt;/p&gt;

	&lt;p&gt;As I&amp;#8217;ve believed &lt;ins&gt;this place&lt;/ins&gt; is a virtual reality for many years now, this is logical from my standpoint. There is no difference to a fantasy that happens in your mind and an event in the &amp;#8220;real world.&amp;#8221; Neither one is &amp;#8220;real.&amp;#8221; Neither one is &amp;#8220;unreal.&amp;#8221; It&amp;#8217;s all just data. And for 100% conclusive proof:&lt;/p&gt;

	&lt;p&gt;&lt;ins&gt;How many times have you woken from a dream, believing that it was real???&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;Lots of times! Your brain creates / decodes &amp;#8220;reality&amp;#8221;. &lt;/p&gt;

	&lt;p&gt;So therefore, anything that is in your reality (your head), has come &lt;em&gt;from&lt;/em&gt; you. Literally. Further, anything that makes you uncomfortable or distresses you has &lt;em&gt;also&lt;/em&gt; come from you and you need to &amp;#8220;clean&amp;#8221; it. &lt;/p&gt;

	&lt;p&gt;If I understand correctly, that is Ho&amp;#8217;oponopono in a nutshell. And I think it&amp;#8217;s true. &lt;/p&gt;

	&lt;p&gt;This only makes sense in a reality that is not objective. In an objective reality of course you are in no way responsible if someone decides to do something dreadful to X. They don&amp;#8217;t state it explicitly, but for Ho&amp;#8217;oponopono to be meaningful, reality must be subjective. And also the existence of a Creator is implicit. That is who you are directing your cleaning at.&lt;/p&gt;

	&lt;p&gt;If you want to hear from the source, just do a search for Hew Len on Youtube. &lt;/p&gt;</content><category term="self-dev"></category><category term="self"></category><category term="virtual reality"></category></entry><entry><title>Using Alpine Email Client For Applying Patches</title><link href="https://simonh.uk/2021/12/17/using-alpine-email-client-for-applying-patches/" rel="alternate"></link><published>2021-12-17T00:00:00+00:00</published><updated>2021-12-17T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-12-17:/2021/12/17/using-alpine-email-client-for-applying-patches/</id><summary type="html">	&lt;p&gt;My new mercurial patch workflow&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Alpine CLI email client" src="/img/2021-12-17/alpine_main_menu.webp" title="Alpine CLI email client" /&gt;&lt;/p&gt;

	&lt;h1&gt;Alpine Mail Client&lt;/h1&gt;

	&lt;p&gt;Lately, I&amp;#8217;ve been using &lt;a href="https://alpine.x10host.com/"&gt;Alpine&lt;/a&gt; for emails on my servers. It&amp;#8217;s a great command line, curses based, mail client. This post is a quick howto for using Alpine for patching Python (or any) code on a production server. &lt;/p&gt;

	&lt;p&gt;Let&amp;#8217;s get started&amp;#8230;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# apt install alpine&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I like to alias alpine to pine in my &lt;code&gt;.bashrc&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;The default screen when you launch Alpine is this:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Alpine Main Menu" src="/img/2021-12-17/alpine_menu.webp" title="Alpine Main Menu" /&gt;&lt;/p&gt;

	&lt;p&gt;Like many people, I prefer to see my inbox when I open my mail client. This is easily achieved by typing &lt;code&gt;S C&lt;/code&gt; from the main menu. Then, page down until you see &amp;#8220;Initial Keystroke List&amp;#8221;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Alpine Configuration" src="/img/2021-12-17/alpine_config.webp" title="Alpine Configuration" /&gt;&lt;/p&gt;

	&lt;p&gt;Type &lt;code&gt;C&lt;/code&gt; to change the value to &lt;code&gt;i&lt;/code&gt; for inbox then &lt;code&gt;e&lt;/code&gt; to exit setup and &lt;code&gt;y&lt;/code&gt; to confirm this change. From now on, when you type &lt;code&gt;pine&lt;/code&gt; or &lt;code&gt;alpine&lt;/code&gt; you&amp;#8217;ll be straight in your inbox. If you want to go the menu, it&amp;#8217;s simply an &lt;code&gt;m&lt;/code&gt; keystroke away.&lt;/p&gt;

	&lt;p&gt;Here is my inbox:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Alpine Inbox" src="/img/2021-12-17/alpine_inbox.webp" title="Alpine Inbox" /&gt;&lt;/p&gt;

	&lt;p&gt;As you can see, I&amp;#8217;ve mailed myself 4 patches from my home computer which I&amp;#8217;ll be applying on the production server. &lt;/p&gt;

	&lt;p&gt;Highlight message 6, and then type the pipe character &lt;code&gt;|&lt;/code&gt;. Alpine now wants a command which you can see near the bottom.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Alpine Pipe Command" src="/img/2021-12-17/alpine_patch1.webp" title="Alpine Pipe Command" /&gt;&lt;/p&gt;

	&lt;p&gt;Press &lt;code&gt;Enter&lt;/code&gt; and see what happens.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Alpine Patching" src="/img/2021-12-17/alpine_patch2.webp" title="Alpine Patching" /&gt;&lt;/p&gt;

	&lt;p&gt;As you can see, Patch has not been able to apply the patch as I have a deliberate error. I was not in the correct directory where the code is. So what I do is make sure I&amp;#8217;m in the correct directory before I launch Alpine. Once you&amp;#8217;ve done that, all should be good. I&amp;#8217;d advise you to use the &lt;code&gt;--dry-run&lt;/code&gt; option to patch to check for errors, before actually applying the patch or patch series!&lt;/p&gt;

	&lt;h1&gt;Mercurial Patchbomb&lt;/h1&gt;

	&lt;p&gt;For the above to work, you need to enable the &lt;a href="https://www.mercurial-scm.org/wiki/PatchbombExtension"&gt;Patchbomb&lt;/a&gt; extension. It&amp;#8217;s included with Mercurial so you just need to enable it. In your &lt;code&gt;~/.hgrc&lt;/code&gt; add the extension as below:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[extensions]
# uncomment these lines to enable some popular extensions
# (see &amp;#39;hg help extensions&amp;#39; for more info)
#
patchbomb = &lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;And finally, in your Mercurial repository &lt;code&gt;.hg/hgrc&lt;/code&gt; add the following. This will send your patches silently to your server. If you don&amp;#8217;t do this, you&amp;#8217;ll have to specify a recipient and whether you want to CC anyone. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/code/project$ cat .hg/hgrc
[email]
to = you@server.com
cc = &lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;So now, you can simply run&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/code/project$ hg email -r tip&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Patchbomb will inform you what it&amp;#8217;s sending:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/code/project$ hg email -r tip
this patch series consists of 1 patches.


sending [PATCH] revert tacit css to unmodified version ...
simon@computer:~/code/project$&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;If you want or need to send multiple patches, you can do that like so:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/code/project$ hg email -r 130:-r tip&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;You&amp;#8217;ll be given the opportunity to provide some details for the patch series which appear in &lt;code&gt;[Patch 0 of 7]&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Multiple Patches" src="/img/2021-12-17/alpine_multiple_patches.webp" title="Multiple Patches" /&gt;&lt;/p&gt;

	&lt;p&gt;And it&amp;#8217;s as simple as that!&lt;/p&gt;</content><category term="mail"></category><category term="mail"></category><category term="tips"></category><category term="mercurial"></category></entry><entry><title>Send SMS from Linux Computer via ADB</title><link href="https://simonh.uk/2021/11/14/send-sms-from-linux-computer-via-adb/" rel="alternate"></link><published>2021-11-14T00:00:00+00:00</published><updated>2021-11-14T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-11-14:/2021/11/14/send-sms-from-linux-computer-via-adb/</id><summary type="html">	&lt;p&gt;That&amp;#8217;s another itch, scratched.&lt;/p&gt;</summary><content type="html">	&lt;p&gt;Since I learnt how to send emails from my servers and desktop, I thought it would be useful to send &lt;span class="caps"&gt;SMS&lt;/span&gt; (Short Message Service) texts as well. No specific use cases yet, but I&amp;#8217;m sure one day it&amp;#8217;ll be needed&amp;#8230;&lt;/p&gt;

	&lt;p&gt;After looking into &lt;a href="http://smstools3.kekekasvi.com/"&gt;smstools&lt;/a&gt;, &lt;a href="https://wammu.eu/gammu/"&gt;Gammu&lt;/a&gt;, and loads of others, I was getting nowhere and ready to give up. But then, I remembered &lt;a href="https://developer.android.com/studio/command-line/adb"&gt;&lt;span class="caps"&gt;ADB&lt;/span&gt;&lt;/a&gt;.  Like most people, I&amp;#8217;ve got numerous Android phones knocking about, surely I could use an old Android phone + &lt;span class="caps"&gt;ADB&lt;/span&gt; to send an &lt;span class="caps"&gt;SMS&lt;/span&gt;. &lt;/p&gt;

	&lt;p&gt;I started off with my first Android phone, an &lt;a href="https://www.gsmarena.com/htc_desire-3077.php"&gt;&lt;span class="caps"&gt;HTC&lt;/span&gt; Desire&lt;/a&gt;. Even though this phone is now 11 years old, it still works perfectly and it&amp;#8217;d be nice to give it something to do!&lt;/p&gt;

	&lt;p&gt;&lt;ins&gt;Android 2 (Gingerbread)&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;The first thing to notice is that we put the phone number in just as we&amp;#8217;d type in to to the phone. No +44XXXXXXXXX needed here. So let&amp;#8217;s start sending some &lt;span class="caps"&gt;SMS&lt;/span&gt; messages.&lt;/p&gt;

	&lt;p&gt;To send an sms with spaces, which is almost certainly required, we either escape each space character with a back slash, or far better, enclose the string in single quotes:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ adb shell service call isms 5 s16 &amp;quot;07123456789&amp;quot; i32 0 i32 0 s16 &amp;quot;&amp;#39;Here is some text with spaces but not escaped.&amp;#39;&amp;quot;
Result: Parcel(00000000    &amp;#39;....&amp;#39;)
simon@computer:~$&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I wondered if I could send the output of shell commands (yep):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ adb shell service call isms 5 s16 &amp;quot;07123456789&amp;quot; i32 0 i32 0 s16 &amp;quot;&amp;#39;$(uptime)&amp;#39;&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Here are some of the messages I received on my mobile. The last message was the uptime message above.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="SMS received on phone" src="/img/2021-11-14/screenshot_sms.png" title="SMS received on phone" /&gt;&lt;/p&gt;

	&lt;p&gt;I also had a &lt;a href="https://www.gsmarena.com/nokia_5-8571.php"&gt;Nokia 5&lt;/a&gt; in a drawer. &lt;/p&gt;

	&lt;p&gt;&lt;ins&gt;Android 9&lt;/ins&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ adb shell service call isms 7 i32 0 s16 &amp;quot;com.android.mms.service&amp;quot; s16 &amp;quot;+447123456789&amp;quot; s16 &amp;quot;null&amp;quot; s16 &amp;quot;Hello\ from\ your\ home\ computer.&amp;quot; s16 &amp;quot;null&amp;quot; s16 &amp;quot;null&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;As you can see, the syntax is different depending on your Android version. I&amp;#8217;ve only just started scratching the surface with &lt;span class="caps"&gt;ADB&lt;/span&gt;, but there&amp;#8217;s lots of potential for all sorts of helpful notifications.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ll probably write a new post once I&amp;#8217;ve done some more experimenting.&lt;/p&gt;</content><category term="software"></category><category term="android"></category><category term="sms"></category><category term="linux"></category><category term="tips"></category></entry><entry><title>Job Interviews are Idiotic</title><link href="https://simonh.uk/2021/11/10/job-interviews-are-idiotic/" rel="alternate"></link><published>2021-11-10T00:00:00+00:00</published><updated>2025-01-06T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-11-10:/2021/11/10/job-interviews-are-idiotic/</id><summary type="html">	&lt;p&gt;They&amp;#8217;d be better off flipping a coin. Really.&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="interview" src="/img/2021-11-10/job_interviews.jpg" title="interview" /&gt;&lt;/p&gt;

	&lt;h2 class="readme"&gt;&lt;span class="caps"&gt;README&lt;/span&gt;&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve always disliked interviews. Let&amp;#8217;s be honest; pretty much everyone does, as they are:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Stressful&lt;/li&gt;
		&lt;li&gt;Unpredictable&lt;/li&gt;
		&lt;li&gt;Decided by God-knows-what-criteria&lt;/li&gt;
		&lt;li&gt;Peppered with idiotic and irrelevant questions (see below)&lt;/li&gt;
		&lt;li&gt;Likely to include &amp;#8220;tricks&amp;#8221; designed to trip you up&lt;/li&gt;
		&lt;li&gt;Nearly always handled by imbeciles (and / or recruitment agencies)&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;The whole experience is disgusting and foul and generally a waste of time. &lt;/p&gt;

	&lt;h2&gt;Recently&amp;#8230;&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;ve had the misfortune of having three interviews in the last few months. I&amp;#8217;ll detail them below:&lt;/p&gt;

	&lt;h3&gt;&lt;ins&gt;Briggs of Burton&lt;/ins&gt;&lt;/h3&gt;

	&lt;p&gt;Arrived at the interview, held in a board room, and it turned out that none of the idiots had any clue how to operate the conferencing software (as another idiot wanted to be there in a virtual sense). It was a complete farce that lasted about twenty minutes. Various staff members attempted to troubleshoot what might be wrong. It was quite hard for me not to just say, &amp;#8220;fuck it, I&amp;#8217;m off.&amp;#8221; Eventually, they sorted their shit out and I was subjected to some really stupid questions that were completely irrelevant to actually performing the mediocre job they were hoping to fill. A few days later I was told by the recruitment people (and I quote) &amp;#8220;They&amp;#8217;ve decided to give the job to a woman because she&amp;#8217;ll take less money.&amp;#8221;&lt;/p&gt;

	&lt;h3&gt;&lt;ins&gt;Terex Pegson (Coalville)&lt;/ins&gt;&lt;/h3&gt;

	&lt;p&gt;Interviewed by some bloke called Bryn Winkwart (or something similar). Had an hour with him asking mostly sensible questions in a conference room, but he looked a bit lost as the HR person was not there.  He spent most of the time saying he was looking for someone to take over his role when he fucks off. The recruitment outfit called James Grace Associates didn&amp;#8217;t even bother to inform me of their clients &amp;#8220;decision.&amp;#8221; I had to email an Elliot &lt;del&gt;Bellend&lt;/del&gt; Beldon to find out that &amp;#8220;they&amp;#8217;ve decided to give the role to someone with more heavy industry experience.&amp;#8221; Yeah, figured that out already, &lt;del&gt;Bellend&lt;/del&gt; Beldon. I had no intention of travelling to Coalville every day anyway. &lt;/p&gt;

	&lt;h3&gt;&lt;ins&gt;IG Masonry Support (Swadlincote)&lt;/ins&gt;&lt;/h3&gt;

	&lt;p&gt;In this interview, I was told that they were trying to replace a lovely woman who had left to go back to a company that was nearer to home and paid her more money (but they would miss her). Idiotic, obviously. They also told me that they had offered another woman the job, but basically, she&amp;#8217;d told them to fuck off as she had found a better job paying more money. &lt;/p&gt;

	&lt;p&gt;As soon as I got there, I knew I was dealing with idiots (you get a sense), and sure enough, some geeky kid, James, dutifully asked a load of idiotic HR questions. Really stupid, most of them. His boss appeared about ten minutes into the interview with a clipboard and pen and some stupid questions of his own. &lt;/p&gt;

	&lt;p&gt;Had a tour around their small factory, and to be fair I could have added a lot to their pretty amatuerish setup. Incredibly, I got an email from the recruitment outfit, Stafflne, that they didn&amp;#8217;t think I possessed enough 9001 / 14001 experience. That was a lie, they knew they couldn&amp;#8217;t afford me was the honest answer.  &lt;/p&gt;

	&lt;h2 class="cross"&gt;The Wrong Way to Interview&lt;/h2&gt;

	&lt;p&gt;All of these companies think they know how to fill a vacancy, but they&amp;#8217;re deluding themselves. Most of these jobs have had to be re-advertised which I think proves how ineffective their approach is.&lt;/p&gt;

	&lt;p&gt;&lt;ins&gt;Below is what you should stop doing immediately&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;Stop asking stupid questions which have &lt;strong&gt;no&lt;/strong&gt; bearing on the role advertised. If I go for a job in let&amp;#8217;s say, Customer Service, does anyone care (including me) where I see myself in five years. And to the idiot who asked what I&amp;#8217;d do if I won the lottery: stating that I don&amp;#8217;t do the lottery &lt;em&gt;is&lt;/em&gt; a perfectly valid answer to your idiotic question. &lt;/p&gt;

	&lt;p&gt;What&amp;#8217;s my greatest success at work? &lt;ins&gt;Who cares?&lt;/ins&gt;&lt;br /&gt;
What is the biggest failure? &lt;ins&gt;Who cares?&lt;/ins&gt;&lt;br /&gt;
What things about yourself could you improve? &lt;ins&gt;Who cares?&lt;/ins&gt;&lt;/p&gt;

	&lt;p&gt;And so on. &lt;/p&gt;

	&lt;p&gt;Just cut all the crap out. No. One. Cares.&lt;/p&gt;

	&lt;h2 class="tick"&gt;The Correct Way to Interview&lt;/h2&gt;

	&lt;p&gt;Two words: &lt;em&gt;competence testing&lt;/em&gt;. &lt;/p&gt;

	&lt;p&gt;Q. You&amp;#8217;re looking for a quality inspector?&lt;br /&gt;
A. Great, get them to check a part against a drawing.&lt;/p&gt;

	&lt;p&gt;Q. Recruiting for an administrator?&lt;br /&gt;
A. Get them to do some data entry.&lt;/p&gt;

	&lt;p&gt;Q. Need a manager?&lt;br /&gt;
A. Take them to a department with problems (you&amp;#8217;ve probably got loads of them) and ask them what their ideas are to improve it.&lt;/p&gt;

	&lt;p&gt;Spend five or ten minutes having a chat about your company, the job you&amp;#8217;re trying to fill, and then get to testing if the applicant is competent. That way you aren&amp;#8217;t wasting everyones time.&lt;/p&gt;

	&lt;h2 class="idea"&gt;The Future&lt;/h2&gt;

	&lt;p&gt;We need an accreditation that lets applicants know if the interviewer is competent to conduct an interview. Just think about how much time is wasted by incompetent and ineffective interview techniques. The savings would be enormous! &lt;/p&gt;


	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-06&lt;/mark&gt;: Tidy up a couple of things and add icons&lt;/p&gt;</content><category term="business"></category><category term="business"></category><category term="recruitment"></category><category term="opinion"></category></entry><entry><title>SQlite Cheatsheet</title><link href="https://simonh.uk/2021/07/03/sqlite-cheatsheet/" rel="alternate"></link><published>2021-07-03T00:00:00+01:00</published><updated>2021-07-03T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-07-03:/2021/07/03/sqlite-cheatsheet/</id><summary type="html">	&lt;p&gt;Who doesn&amp;#8217;t love a cheatsheet???&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="SQLite Logo" src="/img/logo/sqlite.svg" title="SQLite Logo" /&gt;&lt;/p&gt;

	&lt;p&gt;Last Updated: 2021-07-04&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ll add to this as needed. &lt;/p&gt;

	&lt;h1&gt;Datetime&lt;/h1&gt;

	&lt;p&gt;Quite often, I need to save a date that has an expiry. It doesn&amp;#8217;t make any sense to store &lt;em&gt;both&lt;/em&gt; so I save the &lt;code&gt;from&lt;/code&gt; date and then let &lt;span class="caps"&gt;SQL&lt;/span&gt;ite calculate the &lt;code&gt;to&lt;/code&gt; date. Oh, and for good measure, I&amp;#8217;ll usually need to know the difference between the &lt;code&gt;from&lt;/code&gt; and &lt;code&gt;to&lt;/code&gt; fields. Behold:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CREATE VIEW cert_view as
with cert as (
select supplier, uid, cert_date, cert_desc, cert_link,
(select date(cert_date, &amp;#39;+&amp;#39;||cert_valid||&amp;#39; days&amp;#39;)) expires,
(select julianday((select date(cert_date, &amp;#39;+&amp;#39;||cert_valid||&amp;#39; days&amp;#39;))) - julianday((select date(&amp;#39;now&amp;#39;)))) days
from supplier_cert)&lt;/code&gt;&lt;/pre&gt;

	&lt;h1&gt;Navigating Records&lt;/h1&gt;

	&lt;p&gt;Another one I use a lot. A combination of common table expressions, window functions, all wrapped up in a view. This enables you to have access to the previous record, the next record and the first and last records. I think you need &lt;span class="caps"&gt;SQL&lt;/span&gt;ite 3.27 as minimum as this was when common table expressions was added:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CREATE VIEW supplier_nav as
with cte as (
select code, name, lead(code) over() next, lag(code) over() prev,
first_value(code) over() first, last_value(code) over() last
from supplier where status is 1) 

select * from cte&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;To be continued&amp;#8230;&lt;/p&gt;</content><category term="sql"></category><category term="sql"></category><category term="cheatsheets"></category><category term="sqlite"></category></entry><entry><title>Get DKIM Working with OpenSMTPD</title><link href="https://simonh.uk/2021/06/23/get-dkim-working-with-opensmtpd/" rel="alternate"></link><published>2021-06-23T00:00:00+01:00</published><updated>2025-01-05T00:00:00+00:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-06-23:/2021/06/23/get-dkim-working-with-opensmtpd/</id><summary type="html">	&lt;p&gt;Anything is easy (in hindsight)&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="OpenSMTPD Logo" src="/img/logo/opensmtpd.webp" title="OpenSMTPD Logo" /&gt;&lt;/p&gt;

	&lt;p class="warn"&gt;As of Debian 12, dkim support for OpenSMTPD is included in Debian:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@server:~ [ssh] $ cat /etc/debian_version 
12.8
simon@server:~ [ssh] $ apt show opensmtpd-filter-dkimsign
Package: opensmtpd-filter-dkimsign
Version: 0.5-2
Priority: optional
Section: mail
Maintainer: Ryan Kavanagh &amp;lt;rak@debian.org&amp;gt;
Installed-Size: 63.5 kB
Depends: adduser, libc6 (&amp;gt;= 2.34), libopensmtpd0 (&amp;gt;= 0.7), libssl3 (&amp;gt;= 3.0.0)
Suggests: openssl
Homepage: http://imperialat.at/dev/filter-dkimsign/
Download-Size: 18.2 kB
APT-Sources: http://deb.debian.org/debian bookworm/main amd64 Packages
Description: opensmtpd filter that signs email with a dkim signature
 This OpenSMTPD filter signs emails with a DKIM signature. It supports
 the rsa and ed25519 signing algorithms.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;There&amp;#8217;s no man page but instructions are available &lt;a href="https://salsa.debian.org/debian/opensmtpd-filter-dkimsign/-/blob/debian/sid/debian/README.Debian"&gt;here&lt;/a&gt;. Note that this is the same link as the credit to Ryan @ Debian below.&lt;/p&gt;

	&lt;p&gt;So, you should be able to go straight to &lt;em&gt;Create Group and User&lt;/em&gt; on this page. I&amp;#8217;ve added this update as this post gets quite a few views. Original post continues below.&lt;/p&gt;

	&lt;p&gt;I love opensmtpd. But as I&amp;#8217;ve never set up a mail server before, some things are hard. &lt;span class="caps"&gt;DKIM&lt;/span&gt; was one of them. Below is what I now use on four servers and all work perfectly:&lt;/p&gt;

	&lt;h2&gt;Credits&lt;/h2&gt;

	&lt;p&gt;&lt;a href="https://salsa.debian.org/debian/opensmtpd-filter-dkimsign/-/blob/debian/sid/debian/README.Debian"&gt;Ryan Kavanagh @ Debian&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;&lt;a href="http://cvsweb.openbsd.org/ports/mail/opensmtpd-filters/dkimsign/pkg/README?rev=1.2&amp;content-type=text/x-cvsweb-markup"&gt;Martijn van Duren @ OpenBSD&lt;/a&gt;&lt;/p&gt;

	&lt;h2 class="readme"&gt;&lt;span class="caps"&gt;README&lt;/span&gt;&lt;/h2&gt;

	&lt;p&gt;This is a guide to using filter-dkimsign on Debian 10. It took a bit of effort to get it working and the following is as much for my reference as anyone else&amp;#8217;s.&lt;/p&gt;

	&lt;p class="info"&gt;This is for an outgoing only mail server&lt;/p&gt;

	&lt;h2&gt;Install the requirements&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;root@server:/home/simon/src# apt install libevent-dev libssl-dev mandoc&lt;/code&gt;&lt;/pre&gt;

	&lt;h2&gt;Grab the files from here:&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;root@server:/home/simon/src# wget https://simonh.uk/files/src/libopensmtpd-0.7.tar.gz
bc. root@server:/home/simon/src# wget https://simonh.uk/files/src/filter-dkimsign-0.5.tar.gz&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Extract both packages using &lt;code&gt;tar xvf &amp;lt;each_file&amp;gt;&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;&lt;code&gt;cd&lt;/code&gt; into libopensmtpd first and run&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/home/simon/src/libopensmtpd-0.7# make -f Makefile.gnu&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;You should get no errors. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/home/simon/src/libopensmtpd-0.7# make -f Makefile.gnu install&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now, &lt;code&gt;cd&lt;/code&gt; into &lt;code&gt;../filter-dkimsign-0.5&lt;/code&gt; and run the two &lt;code&gt;make&lt;/code&gt; commands as above.&lt;/p&gt;

	&lt;h2&gt;Create Group and User&lt;/h2&gt;

	&lt;p&gt;Next, we&amp;#8217;ll create the group and user &lt;code&gt;_dkimsign&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:~# addgroup _dkimsign --force-badname 
Allowing use of questionable username.
Adding group `_dkimsign&amp;#39; (GID 1001) ...
Done.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now add the &lt;code&gt;_dkimsign&lt;/code&gt; user to that group&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:~# useradd _dkimsign -g _dkimsign&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Create the directory to save your private key with the correct permissions:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:~# install -d -m 770 -o _dkimsign -g _dkimsign /etc/mail/dkim&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Log out as the &lt;code&gt;root&lt;/code&gt; user with &lt;code&gt;exit&lt;/code&gt; and run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@server:~/src [ssh] $ sudo -u _dkimsign openssl genrsa -out /etc/mail/dkim/private.rsa.key 1024&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;That has generated and saved our private key. Run below to get the public key that we&amp;#8217;ll save in our &lt;span class="caps"&gt;DNS&lt;/span&gt; records:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@server:~/src [ssh] $ sudo openssl rsa -in /etc/mail/dkim/private.rsa.key -pubout |     sed &amp;#39;1s/.*/v=DKIM1;p=/;:nl;${s/-----.*//;q;};N;s/\n//g;b nl;&amp;#39;
writing RSA key
v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCoaV4xJ1D4AeJ6XWU9ilt83yUnRUthPMh2R7qeMZEEHKQ+sWFiiiM5z4kpxwTsQNIvzMO2h8seh9XJIAPzVER8ac9AeCueXIAg/MwHWoZvIrBYJSeFmq6sgCacgKwayI9xp7QcqWmYGXiaBQnI21/SieA4GZsk/UTOiko7UFlE6wIDAQAB&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Copy the long line beneath &amp;#8220;writing &lt;span class="caps"&gt;RSA&lt;/span&gt; key&amp;#8221;, like so:&lt;/p&gt;

	&lt;p&gt;v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCoaV4xJ1D4AeJ6XWU9ilt83yUnRUthPMh2R7qeMZEEHKQ+sWFiiiM5z4kpxwTsQNIvzMO2h8seh9XJIAPzVER8ac9AeCueXIAg/MwHWoZvIrBYJSeFmq6sgCacgKwayI9xp7QcqWmYGXiaBQnI21/SieA4GZsk/UTOiko7UFlE6wIDAQAB&lt;/p&gt;

	&lt;p&gt;You need to save that in your &lt;span class="caps"&gt;DNS&lt;/span&gt; record section at you domain registrar as a &lt;code&gt;TXT&lt;/code&gt; record. &lt;/p&gt;

	&lt;p&gt;Following (seemingly) popular advice, I use today&amp;#8217;s date &lt;code&gt;20210622._domainkey&lt;/code&gt;. The part before the . (dot) is called the selector. We&amp;#8217;ll come back to that in a minute. &lt;/p&gt;

	&lt;p&gt;Next, we&amp;#8217;ll add the filter to our &lt;code&gt;/etc/smtpd.conf&lt;/code&gt; making sure to replace -d yourdomain.com and -s 20210622 with your domain and your selector!&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;

filter dkimsign proc-exec &amp;quot;filter-dkimsign -d yourdomain.com -s 20210622 -k /etc/mail/dkim/private.rsa.key&amp;quot; user _dkimsign group _dkimsign

listen on socket filter &amp;quot;dkimsign&amp;quot;
listen on localhost filter &amp;quot;dkimsign&amp;quot;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Do a quick check that we have no syntax errors:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/home/simon/src# smtpd -n
configuration OK&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Nearly there now! We&amp;#8217;ll restart and check that opensmtpd has no errors:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/home/simon/src# systemctl restart opensmtpd
root@server:/home/simon/src# systemctl status opensmtpd
● opensmtpd.service - OpenSMTPD SMTP server
   Loaded: loaded (/lib/systemd/system/opensmtpd.service; enabled; vendor preset
   Active: active (running) since Wed 2021-06-23 15:11:43 BST; 5s ago
     Docs: man:smtpd(8)
  Process: 10351 ExecStart=/usr/sbin/smtpd (code=exited, status=0/SUCCESS)
 Main PID: 10352 (smtpd)
    Tasks: 9 (limit: 1148)
   Memory: 10.0M
   CGroup: /system.slice/opensmtpd.service
           ├─10352 /usr/sbin/smtpd
           ├─10353 smtpd: klondike
           ├─10354 smtpd: control
           ├─10355 smtpd: lookup
           ├─10356 smtpd: pony express
           ├─10357 smtpd: queue
           ├─10358 smtpd: scheduler
           ├─10359 /usr/sbin/smtpd
           └─10361 /usr/libexec/opensmtpd/filter-dkimsign -d yourdomain.com -s 20210622 

Jun 23 15:11:43 server systemd[1]: Starting OpenSMTPD SMTP server...
Jun 23 15:11:43 server smtpd[10351]: info: OpenSMTPD 6.6.4p1 starting
Jun 23 15:11:43 server systemd[1]: Started OpenSMTPD SMTP server.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;You can see in the last line, that &lt;code&gt;filter-dkimsign&lt;/code&gt; is running&lt;/p&gt;

	&lt;p&gt;Finally, we&amp;#8217;ll send an email to a gmail account and check that &lt;span class="caps"&gt;DKIM&lt;/span&gt; is a &amp;#8220;&lt;span class="caps"&gt;PASS&lt;/span&gt;&amp;#8221;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@server:/home/simon# echo uptime | mail somebody@gmail.com&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Check your gmail account by clicking on the three dots next to reply and click &amp;#8220;Show original&amp;#8221;. If all went well, you&amp;#8217;ll see &lt;span class="caps"&gt;DKIM&lt;/span&gt; at the bottom and &amp;#8220;&lt;span class="caps"&gt;PASS&lt;/span&gt; with domain&amp;#8221; next to it:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="DKIM pass at gmail" src="/img/2021-06-23/gmail_dkim.png" title="DKIM pass at gmail" /&gt;&lt;/p&gt;

	&lt;p&gt;Following these instructions, you should be &lt;span class="caps"&gt;DKIM&lt;/span&gt; friendly in about ten or fifteen minutes!&lt;/p&gt;

	&lt;p&gt;Any issues feel free to send me an email, or sign up for the opensmtpd mailing list &lt;a href="https://www.opensmtpd.org/list.html"&gt;here&lt;/a&gt; (subscribe to the misc one).&lt;/p&gt;

	&lt;h2 class="updates"&gt;Updates&lt;/h2&gt;

	&lt;p&gt;&lt;mark&gt;2025-01-05&lt;/mark&gt;: Mention that dkim is now included in Debian 12.&lt;/p&gt;</content><category term="mail"></category><category term="mail"></category><category term="smtp"></category><category term="debian"></category></entry><entry><title>On the Pros and Cons of Software Testing</title><link href="https://simonh.uk/2021/06/10/on-the-pros-and-cons-of-software-testing/" rel="alternate"></link><published>2021-06-10T00:00:00+01:00</published><updated>2021-06-10T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-06-10:/2021/06/10/on-the-pros-and-cons-of-software-testing/</id><summary type="html">	&lt;p&gt;I understand the concept, just wonder if it&amp;#8217;s worth the time&lt;/p&gt;</summary><content type="html">	&lt;p&gt;Over the years, I&amp;#8217;ve noticed that there are two types of coders&lt;/p&gt;

	&lt;ol&gt;
		&lt;li&gt;Those who don&amp;#8217;t really see testing as something worth their time&lt;/li&gt;
		&lt;li&gt;Those who test everything&lt;/li&gt;
	&lt;/ol&gt;

	&lt;p&gt;I fall into the first camp. There&amp;#8217;s probably a transtion from 1 to 2, but it seems to be an all or nothing type arrangement to me. You don&amp;#8217;t come across many coders who do &amp;#8220;some&amp;#8221; automated testing. &lt;/p&gt;

	&lt;p&gt;Now, of course, we all &lt;strong&gt;test&lt;/strong&gt; functionally. You&amp;#8217;ve just added a new feature to your untested code, so you run it and test it out. Try and break it. Often, it will break quite happily. You missed something obvious and then you fix the code, retest, and all looks good. &lt;/p&gt;

	&lt;p&gt;I run quite a lot of code like this. As do many others. I think, secretly, many coders know that test suites are a bit of a con. You may run 5000 tests and everything passes. &lt;/p&gt;

	&lt;p&gt;So, therefore the code is good?! Bug free? Not necessarily&amp;#8230;&lt;/p&gt;

	&lt;p&gt;I mean, think about it. You are going to test &lt;strong&gt;every&lt;/strong&gt; permutation of permissable inputs? Or outputs? &lt;/p&gt;

	&lt;p&gt;Nope (unless you&amp;#8217;re &lt;a href="https://sqlite.org/testing.html"&gt;sqlite&lt;/a&gt;). &lt;/p&gt;

	&lt;p&gt;For a lot of code, it doesn&amp;#8217;t really matter. &lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;You run it&lt;/li&gt;
		&lt;li&gt;It works&lt;/li&gt;
		&lt;li&gt;Something breaks&lt;/li&gt;
		&lt;li&gt;You fix it&lt;/li&gt;
		&lt;li&gt;You run it&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;That seems reasonable to me. And it&amp;#8217;s exactly the same process with an automated test suite except there&amp;#8217;s a write tests step. &lt;/p&gt;

	&lt;p&gt;Small time coders can get away with dealing with bugs as they come up. I&amp;#8217;ve had a few chewy moments, but if you coded intelligently / defensively in the first place, you&amp;#8217;ve built workarounds in to handle minor bugs. &lt;/p&gt;

	&lt;h2&gt;My Workflow&lt;/h2&gt;

	&lt;p&gt;When I start a new project, I initialize a Mercurial repository, bring in all the files I know I&amp;#8217;ll need right away, and then start coding. I work alone, by the way, so there&amp;#8217;s no corner of the code that I haven&amp;#8217;t touched. &lt;/p&gt;

	&lt;p&gt;I work on one feature at a time. Anything that feature might touch, I functionally test as I go.&lt;/p&gt;

	&lt;h2&gt;Example&lt;/h2&gt;

	&lt;p&gt;Last year, I wrote a web based shopping list for my partner and me to use instead of a paper list. We&amp;#8217;ve been using it every week since, and generally it works perfectly. &lt;/p&gt;

	&lt;p&gt;But, eventually a very annoying bug showed up. This cropped up after it running for about six months. What went wrong was she created a new list, and started to add items. And then she got a 500 error (Internal Server Error). &lt;/p&gt;

	&lt;p&gt;Now, I&amp;#8217;d set up my database so that each shopping list was indexed by date. So if she created a list today (2021-06-11) and then tried to create a new list on the same date, she&amp;#8217;d be prompted whether to add to the existing list or whether she wanted to delete the existing list. The reason being; my partner will create a new shopping list every Wednesday, add all the items she knows we need, then on the Thursday, one of us ticks off the items on our phones to remove them as we&amp;#8217;re putting items in to the trolley. &lt;/p&gt;

	&lt;p&gt;But on this day, she created a new list (a week after the old one), started to add items to the list and got the 500 error for nearly every item she tried to add! I was at home at the time, so &lt;span class="caps"&gt;SSH&lt;/span&gt;&amp;#8217;d into the server to have a look what was going on. The traceback pointed to an sqlite integrity error. &lt;/p&gt;

	&lt;p&gt;It turned out that instead of creating a new list, she was adding to the old list. Not her fault as I&amp;#8217;d coded it that creating a new list would close the old list, and make a new one. I checked all the relevant code, and everything looked good. &lt;/p&gt;

	&lt;p&gt;When I designed the software, one of the features I thought she&amp;#8217;d like, was being able to look at previous lists, and just click each item to add it to the new list. She generally gets a lot of items each week that are the same as every other week.&lt;/p&gt;

	&lt;p&gt;Here is a screenshot of the /lists page:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Shopping List Program" src="/img/2021-06-10/shopping_list.png" title="Shopping List Program" /&gt;&lt;/p&gt;

	&lt;p&gt;So from here she can click on the first date (or any date) and every item added on that date can be clicked and that will add it to the current list:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Shopping List Items" src="/img/2021-06-10/shopping_list2.png" title="Shopping List Items" /&gt;&lt;/p&gt;

	&lt;p&gt;If the item has already been added, it won&amp;#8217;t be added again. &lt;/p&gt;

	&lt;p&gt;It was on the /lists page that I realised that a new list hadn&amp;#8217;t been created. The solution was to delete the old list, and create a new one. &lt;/p&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;I never found the actual cause of the bug. I think it was possibly a caching issue on her phone. It has never showed up again. Even if I&amp;#8217;d written tests for everything I could think of, I wouldn&amp;#8217;t have considered the possibility that today&amp;#8217;s date would be anything other than: today&amp;#8217;s date!&lt;/p&gt;</content><category term="software"></category><category term="software"></category><category term="testing"></category></entry><entry><title>Encounters with Branch Covidians</title><link href="https://simonh.uk/2021/05/31/encounters-with-branch-covidians/" rel="alternate"></link><published>2021-05-31T00:00:00+01:00</published><updated>2021-05-31T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-05-31:/2021/05/31/encounters-with-branch-covidians/</id><summary type="html">	&lt;p&gt;These death cultists are getting more obnoxious&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="David Koresh Branch Davidians" src="/img/2021-05-31/koresh.jpg" title="David Koresh Branch Davidians" /&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve now had &lt;em&gt;three&lt;/em&gt; encounters with unpleasant, obnoxious &lt;a href="https://www.winterwatch.net/2020/11/a-new-religious-cult-has-emerged-the-branch-covidians/"&gt;Branch Covidians&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;Female Covidian 1&lt;/h2&gt;

	&lt;p&gt;The first was a couple of months ago. I was waiting for my partner outside a shop (in a small shopping centre). It was only about 8am, so not busy and I was looking at emails on my phone. &lt;/p&gt;

	&lt;p&gt;A woman of about sixty-something years, stopped directly next to me and asked&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Shouldn&amp;#8217;t you have your mask on?&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;What? I replied. Who are you? I asked. &lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;You should have your mask on!&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;I pointed out that other than her, there was no one around. So why would I have a mask on? And until she decided to bother me, it was just me.&lt;/p&gt;

	&lt;p&gt;This was my first direct encounter with one of these deranged, brainwashed Covidians. &lt;/p&gt;

	&lt;p&gt;Anyway, she just stood there looking at me. Really. &lt;/p&gt;

	&lt;p&gt;I told her if she was worried that I was maskless, she should really just keep moving. You know, to be safe. &lt;/p&gt;

	&lt;p&gt;But that isn&amp;#8217;t what they&amp;#8217;re about. They&amp;#8217;re about recruiting members for their weird death cult. &lt;/p&gt;

	&lt;p&gt;She was expecting me to mask up, just because she wanted me to. Nope. Tea and a croissant were inbound so not a chance. She eventually moved on after being told to **** off.&lt;/p&gt;

	&lt;h2&gt;Female Covidian 2&lt;/h2&gt;

	&lt;p&gt;This was about a week or so after the first incident. My partner and I were walking through town (outside) and some Covidian woman had to wait by a bin, as we were walking side by side (as you do). &lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve never understood the etiquette around Covid. I&amp;#8217;ve never had a problem walking directly next to someone on the pavement like we used to do a year back. &lt;/p&gt;

	&lt;p&gt;So, this woman decided to wait to let us pass. I smiled at her, and she started muttering something about Covid under her breath! She had a mask on, we did not.&lt;/p&gt;

	&lt;p&gt;What!? I shouted as she went past us. More muttering and something else about Covid.&lt;/p&gt;

	&lt;p&gt;This happened &lt;em&gt;outside&lt;/em&gt; by the way. In the fresh air. I said to the missus, &amp;#8220;these people are getting worse!&amp;#8221;&lt;/p&gt;

	&lt;h2&gt;Male Covidian&lt;/h2&gt;

	&lt;p&gt;There&amp;#8217;s no fool like an old fool. Well, I met a male Branch Covidian today. This was the most bizarre, by far.&lt;/p&gt;

	&lt;p&gt;The missus and daughter had gone in to &lt;span class="caps"&gt;ASDA&lt;/span&gt; and I decided to wait outside, as it was sunny and had no interest in shopping. &lt;/p&gt;

	&lt;p&gt;I stood leaning against where the bike racks are. Out of the way of everyone. Minding my own business as I usually do. I&amp;#8217;m enjoying the sun, looking around as you do, and some old boy of about seventy comes shuffling by.&lt;/p&gt;

	&lt;p&gt;&lt;span class="caps"&gt;STARING&lt;/span&gt; AT ME.&lt;/p&gt;

	&lt;p&gt;I stare back.&lt;/p&gt;

	&lt;p&gt;As he goes past, he mutters something. &lt;/p&gt;

	&lt;p&gt;I shout out &amp;#8220;what are you on about?&amp;#8221; &lt;/p&gt;

	&lt;p&gt;He comes right up to me, and says&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Where&amp;#8217;s your mask?&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;I&amp;#8217;m outside, I say. Don&amp;#8217;t need one. Nor do you. Nor do any of these other people walking around without masks, outside. &lt;/p&gt;

	&lt;p&gt;I point to all the other &lt;em&gt;normal&lt;/em&gt; people without masks, outside. But this joker has a hard on for me, for some reason. &lt;/p&gt;

	&lt;p&gt;Tells me we are should have masks on all the time! It&amp;#8217;s common sense he claims. &lt;/p&gt;

	&lt;p&gt;Then he starts asking&lt;/p&gt;

	&lt;ol&gt;
		&lt;li&gt;What I do for a living&lt;/li&gt;
		&lt;li&gt;Where I went to school&lt;/li&gt;
		&lt;li&gt;Was I bullied at school&lt;/li&gt;
	&lt;/ol&gt;

	&lt;p&gt;I tell him I work for myself, which seems to puzzle him. When he asks what I do exactly, I tell him to mind his own business. Which he does. Then, bizarrely he suggests I was bullied in school (I wasn&amp;#8217;t). &lt;/p&gt;

	&lt;p&gt;Luckily, the family are out now and I tell him he may want a new hobby, such as gardening, instead of bothering normal people in town centres as I walk away from the old fool. &lt;/p&gt;

	&lt;p&gt;These lunatics are desperate for a &amp;#8220;third wave&amp;#8221;, &amp;#8220;fourth wave&amp;#8221; and so on. &lt;/p&gt;

	&lt;p&gt;Sad. &lt;/p&gt;

	&lt;p&gt;Pathetic and sad. &lt;/p&gt;

	&lt;p&gt;&lt;img alt="Madness" src="/img/2021-05-31/boyd.jpg" title="Madness" /&gt;&lt;/p&gt;</content><category term="politics"></category><category term="health"></category><category term="politics"></category></entry><entry><title>How to Stop Your Business Email From Being Labelled Spam</title><link href="https://simonh.uk/2021/05/24/how-to-stop-your-business-email-from-being-labelled-spam/" rel="alternate"></link><published>2021-05-24T00:00:00+01:00</published><updated>2021-05-24T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-05-24:/2021/05/24/how-to-stop-your-business-email-from-being-labelled-spam/</id><summary type="html">	&lt;p&gt;Get more email addresses&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Spam in mailbox" src="/img/2021-05-24/spam.webp" title="Spam in mailbox" /&gt;&lt;/p&gt;

	&lt;p&gt;You have a business and you want / need some more customers. &lt;/p&gt;

	&lt;p&gt;According to the &lt;a href="https://www.gov.uk/marketing-advertising-law/direct-marketing"&gt;UK Government&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;You’re only allowed to send marketing emails to individual customers if they’ve given you permission.

Emails or text messages must clearly indicate:

who you are, 
that you’re selling something,
what the promotions are, and any conditions&lt;/p&gt;&lt;/blockquote&gt;

	&lt;p&gt;I dislike spam as much as the next guy, but how am I to get permission from someone I&amp;#8217;ve never met, and am trying to introduce my company to?&lt;/p&gt;

	&lt;h2&gt;My (New) Method&lt;/h2&gt;

	&lt;p&gt;Let&amp;#8217;s say I have the domain: &amp;#8220;amazingcompany.com&amp;#8221;. Instead of sending introductory emails from &amp;#8220;info@amazingcompany.com&amp;#8221;, I send from the address &amp;#8220;amazingcompany@mail.com&amp;#8221; or &amp;#8220;amazingcompany@gmail.com&amp;#8221; etc.&lt;/p&gt;

	&lt;p&gt;So now, my marketing emails are separate from my non-marketing emails.&lt;/p&gt;

	&lt;p&gt;There are lots of email providers, free and paid. A quick internet search will return &lt;em&gt;lots&lt;/em&gt; of choices.&lt;/p&gt;

	&lt;h2&gt;Tips&lt;/h2&gt;

	&lt;p&gt;These are my golden rules:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;When I send an email to a company that might be in the market for my services, I keep it short, professional and to the point&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Make sure that you aren&amp;#8217;t actually sending spam! Do your research and ensure that the recipient is a prospect&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;Don&amp;#8217;t overdo it. I have a list of companies that I&amp;#8217;ve emailed and won&amp;#8217;t email them more than annually&lt;/li&gt;
	&lt;/ul&gt;

	&lt;ul&gt;
		&lt;li&gt;If you get an unsubscribe reply, respect it&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3&gt;Check your domain spam status&lt;/h3&gt;

	&lt;p&gt;Luckily, none of my domains are blacklisted, but to be on the safe side, I started using this new method last year. You can check the status of your domain using &lt;a href="https://mxtoolbox.com/blacklists.aspx"&gt;MX Toolbox&lt;/a&gt; or another similar service.&lt;/p&gt;</content><category term="business"></category><category term="marketing"></category><category term="tips"></category><category term="mail"></category></entry><entry><title>Why I still Use Windows XP</title><link href="https://simonh.uk/2021/05/21/why-i-still-use-windows-xp/" rel="alternate"></link><published>2021-05-21T00:00:00+01:00</published><updated>2021-05-21T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-05-21:/2021/05/21/why-i-still-use-windows-xp/</id><summary type="html">	&lt;p&gt;In a virtual machine, obviously!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Windows XP booting" src="/img/2021-05-21/xp-boot.jpg" title="Windows XP booting" /&gt;&lt;/p&gt;

	&lt;p&gt;Windows XP was on the first PC I owned, built by my brother in about 2001/2002. The computer had a 20GB hard disk, a 750Mhz processor, and served me well for many years. &lt;/p&gt;

	&lt;p&gt;To be honest, I always liked XP. I upgraded to Vista at some point, but that ran so badly, I switched to using Linux permanently in about 2008 or 2009. &lt;/p&gt;

	&lt;p&gt;Ever since I&amp;#8217;ve had computers powerful enough to run &lt;a href="https://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt;, I&amp;#8217;ve always had a Windows XP virtual machine. &lt;/p&gt;

	&lt;h2&gt;Why?&lt;/h2&gt;

	&lt;ul&gt;
		&lt;li&gt;Lightweight and fast&lt;/li&gt;
		&lt;li&gt;Good enough&lt;/li&gt;
		&lt;li&gt;Runs &lt;em&gt;most&lt;/em&gt; of the Windows software I might need&lt;/li&gt;
		&lt;li&gt;Stable&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;I&amp;#8217;m not a Free Software &amp;#8220;fanatic&amp;#8221;. There&amp;#8217;s nothing as good as Adobe Acrobat XI that runs natively on Linux. Some people, myself included, consider Acrobat 11 &lt;strong&gt;far&lt;/strong&gt; better than Acrobat DC. Recent Adobe software is more about them, and less about their users. Photoshop CS 5.1 also runs on XP and does pretty much anything you might need to do to a photo (if you can&amp;#8217;t figure out how do it in &lt;span class="caps"&gt;GIMP&lt;/span&gt;). &lt;/p&gt;

	&lt;p&gt;Windows XP &lt;span class="caps"&gt;RAM&lt;/span&gt; Usage (Idling)&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Windows XP Task Manager" src="/img/2021-05-21/xp-taskmanager.png" title="Windows XP Task Manager" /&gt;&lt;/p&gt;

	&lt;p&gt;Linux Mint 20.1 Cinnamon (Idling)&lt;/p&gt;

	&lt;p&gt;&lt;img alt="Linux Mint" src="/img/2021-05-21/xp-htop.png" title="Linux Mint" /&gt;&lt;/p&gt;

	&lt;p&gt;MX Linux 19.4 (Idling)&lt;/p&gt;

	&lt;p&gt;&lt;img alt="MX Linux" src="/img/2021-05-21/xp-htop-mx.png" title="MX Linux" /&gt;&lt;/p&gt;

	&lt;p&gt;Big difference between the three, aren&amp;#8217;t there?!&lt;/p&gt;

	&lt;h2&gt;Tips&lt;/h2&gt;

	&lt;p&gt;My XP instance has no internet access (why would it?). I only use it for occasional Acrobat, a bit of WordPerfect and some IronPython stuff. &lt;/p&gt;

	&lt;p&gt;If you want to do some scripting, IronPython 2.7.8 is the last version that runs on XP (to my knowledge). I tried 2.7.9 to 2.7.11 (latest) but no dice, probably due to the .net framework 4.0 being the last to run on XP.&lt;/p&gt;

	&lt;p&gt;Make sure you&amp;#8217;re running SP3, which was the last service pack released. &lt;/p&gt;</content><category term="software"></category><category term="windows"></category><category term="virtualization"></category></entry><entry><title>Getting Started with GnuPG (gpg)</title><link href="https://simonh.uk/2021/05/20/getting-started-with-gnupg-gpg/" rel="alternate"></link><published>2021-05-20T00:00:00+01:00</published><updated>2021-05-20T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-05-20:/2021/05/20/getting-started-with-gnupg-gpg/</id><summary type="html">	&lt;p&gt;Encryption, Signing, Compression all in one&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="GNU GPG Logo" src="/img/logo/gnu_gpg.svg" title="GNU GPG Logo" /&gt;&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve been meaning to spend a bit of time looking at use cases for &lt;a href="https://gnupg.org/"&gt;gpg&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;I wasn&amp;#8217;t aware that you don&amp;#8217;t even need to set up any accounts. You can start using for symmetric encryption right out of the box. Symmetric encryption relies on a shared password / passphrase that is shared with recipients. &lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m using a fairly fresh installation of &lt;a href="https://mxlinux.org/"&gt;mxlinux&lt;/a&gt; in Virtual Box. GnuPG is already installed as with pretty much any distro.&lt;/p&gt;

	&lt;p&gt;As you can see below, lots of options are available.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@mx:~
$ gpg -h
gpg (GnuPG) 2.2.12
libgcrypt 1.8.4
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later &amp;lt;https://gnu.org/licenses/gpl.html&amp;gt;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/simon/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

Syntax: gpg [options] [files]
Sign, check, encrypt or decrypt
Default operation depends on the input data

Commands:

 -s, --sign                  make a signature
     --clear-sign            make a clear text signature
 -b, --detach-sign           make a detached signature
 -e, --encrypt               encrypt data
 -c, --symmetric             encryption only with symmetric cipher
 -d, --decrypt               decrypt data (default)
     --verify                verify a signature
 -k, --list-keys             list keys
     --list-signatures       list keys and signatures
     --check-signatures      list and check key signatures
     --fingerprint           list keys and fingerprints
 -K, --list-secret-keys      list secret keys
     --generate-key          generate a new key pair
     --quick-generate-key    quickly generate a new key pair
     --quick-add-uid         quickly add a new user-id
     --quick-revoke-uid      quickly revoke a user-id
     --quick-set-expire      quickly set a new expiration date
     --full-generate-key     full featured key pair generation
     --generate-revocation   generate a revocation certificate
     --delete-keys           remove keys from the public keyring
     --delete-secret-keys    remove keys from the secret keyring
     --quick-sign-key        quickly sign a key
     --quick-lsign-key       quickly sign a key locally
     --sign-key              sign a key
     --lsign-key             sign a key locally
     --edit-key              sign or edit a key
     --change-passphrase     change a passphrase
     --export                export keys
     --send-keys             export keys to a keyserver
     --receive-keys          import keys from a keyserver
     --search-keys           search for keys on a keyserver
     --refresh-keys          update all keys from a keyserver
     --import                import/merge keys
     --card-status           print the card status
     --edit-card             change data on a card
     --change-pin            change a card&amp;#39;s PIN
     --update-trustdb        update the trust database
     --print-md              print message digests
     --server                run in server mode
     --tofu-policy VALUE     set the TOFU policy for a key

Options:

 -a, --armor                 create ascii armored output
 -r, --recipient USER-ID     encrypt for USER-ID
 -u, --local-user USER-ID    use USER-ID to sign or decrypt
 -z N                        set compress level to N (0 disables)
     --textmode              use canonical text mode
 -o, --output FILE           write output to FILE
 -v, --verbose               verbose
 -n, --dry-run               do not make any changes
 -i, --interactive           prompt before overwriting
     --openpgp               use strict OpenPGP behavior

(See the man page for a complete listing of all commands and options)

Examples:

 -se -r Bob [file]          sign and encrypt for user Bob
 --clear-sign [file]        make a clear text signature
 --detach-sign [file]       make a detached signature
 --list-keys [names]        show keys
 --fingerprint [names]      show fingerprints

Please report bugs to &amp;lt;https://bugs.gnupg.org&amp;gt;.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now, we&amp;#8217;ll take a man page (uptime as it&amp;#8217;s nice and short) and save it to a file ready to encrypt and email to test encryption.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@mx:~
$ man uptime &amp;gt; uptime.txt&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;simon@mx:~
$ gpg --armor --symmetric uptime.txt&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;We could save some keystrokes by just typing &lt;code&gt;gpg -ac &amp;lt;filename&amp;gt;&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;You&amp;#8217;ll be prompted for a password (which you have to enter twice), I chose &lt;code&gt;simonh&lt;/code&gt;&lt;/p&gt;

	&lt;p&gt;As you can see, gpg also compresses the encrypted file (&lt;code&gt;uptime.txt.asc&lt;/code&gt;).&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@mx:~
$ ll
total 300K
-rw-r--r--  1 simon simon  113 Apr 17 18:18 dead.letter
drwxr-xr-x  2 simon simon 4.0K Apr 15 19:17 Desktop
drwxr-xr-x  2 simon simon 4.0K Apr 15 19:25 Documents
drwxr-xr-x  2 simon simon 4.0K Apr 15 19:25 Downloads
drwx------  2 simon simon 4.0K Apr 16 15:36 mail
drwx------  5 simon simon 4.0K Apr 16 17:26 Maildir
-rw-------  1 simon simon  467 Apr 19 18:26 mbox
drwxr-xr-x  2 simon simon 4.0K Apr 15 19:25 Music
drwxr-xr-x  2 simon simon 4.0K Apr 15 19:25 Pictures
drwxr-xr-x  2 simon simon 4.0K Apr 15 19:25 Public
drwxr-xr-x  3 simon simon 4.0K Apr 17 17:53 src
drwxr-xr-x  2 simon simon 4.0K Apr 15 19:25 Templates
-rw-r--r--  1 simon simon 1.9K May 20 16:52 uptime.txt
-rw-r--r--  1 simon simon 1.4K May 20 16:52 uptime.txt.asc
drwxr-xr-x 12 simon simon 4.0K May  9 20:00 var
drwxr-xr-x  2 simon simon 4.0K Apr 15 19:25 Videos&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Here is the (encrypted) contents of the uptime man page:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@mx:~
$ cat uptime.txt.asc 
-----BEGIN PGP MESSAGE-----

jA0ECQMCfoUA3aASbz7/0ukBogSiu3yxpUM+FfoTaCkTBqmUxYagw7ifq8R6WT4o
Za/3rgH7X7UXWuis9q+GKssabXdnZelUlUewnz5P/iHGYBP0C0KhCTHZm8r5abDg
L8E0nsLEYkSu1bcdz07Rdky0S6Pc3uqvFOJLnGBz+TUgWdzHEXtijCxYya1oasyf
izZD+QRGFcsCjh5Ji9BBK92Dza9lRRgvLeZ3PE9IDQjgtHz2qLEDJq82CRMqqzC5
Gv9xfG+sryEgWxKXjfa0XfiC9+9P1hZC4buaKxX26GS697ks2UikZ4EzOi6lpuUC
uGCwi3CdpjnrKnkkPqCixAVKmq6t81MMD1m6fbHnOJSHyRBdk+V7qgPQAq+wDbHM
BnQW4FmX5rVMPBKEezaM/HMJYjBwRjOpeBoAUF4gx8nr9YGTVJygNYgdH8P19mqf
rdxcCFf7OADpZOrxVl1aaaBC5EmEGhUO4zJ47a11m+Tg+0QNddRQOnUZQ6T76glM
Q6TvkxR/wewL3yAIfFqAYACWWyIlMsKOWi4BT8d4MQMauvRC039lQtrNb4E/DfSw
ZD4o4N28f5IrS2Icri0qpqCyK/5bhbSReXpcjgbCF61ckG8H6S6kucAidir7DCJS
gfxbTBuD+FmhN2D+tzerUV0WiMeHMBnvF24ng0zRS0bCG20yj3Kb2n4tsz64FIfj
bcDfPxjwnTNiSZUcmE75ClL9V/4M/NBIu0d1j/okdaTkbLHtsITrOSPenunhvFZp
cMcnDrvfAo+EpT4NIBJ6xrCRq/wRSSW5/cMAp3BF9RpYpmNr1MLQsVx4ax28Yid6
A2r865gPDVVyFBnIvmaFUpmGf9sGg3J2AnjcBpSAXzWnvn7nXXs84At4ZqwgBkhp
FLGWYaPv8MajifGjbjewjMJqYN/Xq8bBw+9x6HCL/AJT4XYeNhYYzHwqUhLFVJeS
PWisaW0bKx2lUYyHEMBW/+KSeTna+UiSEsnbhD+ZBrr9OBnRgPAgNlZwOUZPOVAM
RPvSJdMVkzMVDeHK7tJEUEUMHYpg/3VtVD/EjkHCRrkWStLx4IhJp4UszhH4H3Da
B/yklhNpbejjYOPFT75O/LCBM+cvzdBhO2QucsisyA6WD9fPTzR5clPsndHJSdKW
Ai8lfH5wI0D4Ci4kl2NTCEtIE/StbV4DhZx/VXVu08jSu+xuSribBGimGsAPu/lx
473lFEgjEujaXG2OvUZNBEQwqcBMd8cvkHT+9VyF1M/f8g==
=WzQF
-----END PGP MESSAGE-----&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;We&amp;#8217;ll email it to ourselves now, read the email and save the message in the body to &lt;code&gt;uptime&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~$ gpg -d uptime &amp;gt; uptime-manual&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Of course, you&amp;#8217;ll be prompted for the password &lt;code&gt;simonh&lt;/code&gt; and you get the original file back.&lt;/p&gt;

	&lt;p&gt;Here&amp;#8217;s the original, decrypted text&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;UPTIME(1)                                 User Commands                                 UPTIME(1)

NAME
       uptime - Tell how long the system has been running.

SYNOPSIS
       uptime [options]

DESCRIPTION
       uptime  gives a one line display of the following information.  The current time, how long
       the system has been running, how many users are currently logged on, and the  system  load
       averages for the past 1, 5, and 15 minutes.

       This is the same information contained in the header line displayed by w(1).

       System  load  averages is the average number of processes that are either in a runnable or
       uninterruptable state.  A process in a runnable state is either using the CPU  or  waiting
       to  use  the  CPU.   A process in uninterruptable state is waiting for some I/O access, eg
       waiting for disk.  The averages are taken over the three time  intervals.   Load  averages
       are not normalized for the number of CPUs in a system, so a load average of 1 means a sin‐
       gle CPU system is loaded all the time while on a 4 CPU system it means it was idle 75%  of
       the time.

OPTIONS
       -p, --pretty
              show uptime in pretty format

       -h, --help
              display this help text

       -s, --since
              system up since, in yyyy-mm-dd HH:MM:SS format

       -V, --version
              display version information and exit

FILES
       /var/run/utmp
              information about who is currently logged on

       /proc  process information

AUTHORS
       uptime was written by Larry Greenfield ⟨greenfie@gauss.rutgers.edu⟩ and Michael K. Johnson
       ⟨johnsonm@sunsite.unc.edu⟩

SEE ALSO
       ps(1), top(1), utmp(5), w(1)

REPORTING BUGS
       Please send bug reports to ⟨procps@freelists.org⟩

procps-ng                                 December 2012                                 UPTIME(1)&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;So, just using this simple method, you can take any file, encrypt it (you can change the cipher by the way), compress it and then send it to someone who knows the key. If you accidentally send the message to someone who wasn&amp;#8217;t expecting it, they&amp;#8217;ll have little clue what it&amp;#8217;s all about. &lt;/p&gt;

	&lt;p&gt;Awesome!&lt;/p&gt;</content><category term="software"></category><category term="gpg"></category><category term="gnu"></category><category term="web"></category></entry><entry><title>Using WordPerfect 6.2 in DOSBox (Part 1)</title><link href="https://simonh.uk/2021/05/17/using-wordperfect-62-in-dosbox-part-1/" rel="alternate"></link><published>2021-05-17T00:00:00+01:00</published><updated>2021-05-17T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-05-17:/2021/05/17/using-wordperfect-62-in-dosbox-part-1/</id><summary type="html">	&lt;p&gt;Some say it went downhill from here&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Wordperfect Logo" src="/img/2021-05-17/wp.gif" title="Wordperfect Logo" /&gt;&lt;/p&gt;

	&lt;h2&gt;Why?&lt;/h2&gt;

	&lt;blockquote&gt;
		&lt;p&gt;WordPerfect for &lt;span class="caps"&gt;DOS&lt;/span&gt;, in the opinion of many knowledgeable users, is still the greatest program ever written. Some of its features have not been matched even by the latest Windows software, and its interface remains unequaled for efficiency and elegance. Its support for multiple font formats has not been equaled by any other program or operating system, and its support for multiple alphabets, languages, and symbol sets has only been equaled by twenty-first-century versions of Windows, Linux, and the Mac OS.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;&lt;a href="http://www.columbia.edu/~em36/wpdos/"&gt;www.columbia.edu/~em36/wpdos/&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.dosdays.co.uk/topics/Software/wordperfect.php"&gt;www.dosdays.co.uk/topics/Software/wordperfect.php&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://blog.cmpxchg8b.com/2020/09/finding-console-word-processor.html"&gt;blog.cmpxchg8b.com/2020/09/finding-console-word-processor.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.studymore.org.uk/wp51.htm"&gt;www.studymore.org.uk/wp51.htm&lt;/a&gt;&lt;/p&gt;

	&lt;h2&gt;My Reasons&lt;/h2&gt;

	&lt;p&gt;I use &lt;span class="caps"&gt;GNU&lt;/span&gt;/Linux and the obvious choices are LibreOffice, Apache OpenOffice and Abiword. They&amp;#8217;re all fine and the first two can go toe to toe with MS Office any day of the week. &lt;/p&gt;

	&lt;p&gt;But sometimes, I think it&amp;#8217;s a bit overkill. And LibreOffice isn&amp;#8217;t exactly &lt;em&gt;fast&lt;/em&gt; to load up. This isn&amp;#8217;t the first time I&amp;#8217;ve installed WordPerfect, but as I&amp;#8217;ve got a bit of time on my hands, I thought I&amp;#8217;d dig a bit deeper.&lt;/p&gt;

	&lt;p&gt;And to my knowledge, Linux never really had a &lt;em&gt;great&lt;/em&gt; word processor (correct me if I&amp;#8217;m wrong).&lt;/p&gt;

	&lt;h2&gt;Add Colemak Keyboard Layout to Dosbox&lt;/h2&gt;

	&lt;p&gt;I&amp;#8217;m awkward so I use an alternative keyboard layout called &lt;a href="https://colemak.com/"&gt;Colemak&lt;/a&gt;. I&amp;#8217;ve been using it since 2008 so the first order of business was to get that set up correctly.&lt;/p&gt;

	&lt;p&gt;Copy this &lt;a href="https://gist.github.com/gonejack/0655029de3465cb78f3e"&gt;mapper&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Save that as &lt;code&gt;colemak-0.74.map&lt;/code&gt; in you dosbox settings directory. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/.dosbox$ tree
.
├── colemak-0.74.map
├── dosbox-0.74-3.conf
└── dosbox-0.74.conf&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Open &lt;code&gt;dosbox-0.74-3.conf&lt;/code&gt; and find the line beginning with &lt;code&gt;mapperfile&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;mapperfile=mapper-0.74-3.map&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I usually just comment out the original value and add the new one below:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#mapperfile=mapper-0.74-3.map
mapperfile=colemak-0.74.map&lt;/code&gt;&lt;/pre&gt;

	&lt;h2&gt;Obtain the Software&lt;/h2&gt;

	&lt;p&gt;I searched for &amp;#8220;Corel WordPerfect Suite 6.2 for &lt;span class="caps"&gt;DOS&lt;/span&gt;&amp;#8221; and the filesize of the &lt;code&gt;.7z&lt;/code&gt; file should be about 49.1MB.&lt;/p&gt;

	&lt;p&gt;Open with wine (5.0) and follow the prompts. I opted to only install WordPerfect, not the full suite. &lt;/p&gt;

	&lt;p&gt;Here are a few screenshots of the install process. Notice the help tips &lt;/p&gt;

	&lt;p&gt;&lt;img alt="installation 1" src="/img/2021-05-17/wp-install1.png" title="installation 1" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="installation 2" src="/img/2021-05-17/wp-install2.png" title="installation 2" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="installation 3" src="/img/2021-05-17/wp-install3.png" title="installation 3" /&gt;&lt;/p&gt;

	&lt;p&gt;When it&amp;#8217;s finished installing you&amp;#8217;ll need to launch &lt;code&gt;WP.EXE&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;simon@computer:~/.wine/drive_c/COREL/WP62$ ls
CVDASC.CVX   HRF6.FRS      TIBM.VRS     VMP.COM       WP_OS2.ICO
CVDTKT.CVX   INSTALL.EXE   T_LES1K.TUT  WP350M.ORS    WPSTAND.DR
CVDWP5X.CVX  LIBRARY.STY   T_LES1M.TUT  WP350.ORS     WPUS.ICR
CVDWP60.CVX  MACROS        T_LES2.TUT   WP480M.ORS    WP{WPC}.LCN
CVDWPG1.CVX  MCV.EXE       T_LES3.TUT   WP480.ORS     WP{WPC}.QKL
CVDWPG2.CVX  QFIGENUS.EXE  T_LES4.TUT   WP62.INS      WP{WPC}.SET
CV.EXE       README.ARS    T_LIB.TUT    WP62.PIF      WP_WP_US.BRS
EGA512.FRS   README.CV     T_LTRS.TUT   WP.COM        WP_WP_US.HLM
EGAITAL.FRS  README.FAX    VAPINUL.COM  WP_CV_US.DLG  WP_WP_US.HLP
EGASMC.FRS   README.MCV    VGA512.FRS   WP_CV_US.HLP  WP_WP_US.MRS
EGAUND.FRS   README.VRS    VGAITAL.FRS  WP.EXE        WP_WP_US.QRS
EGA.VRS      README.WP     VGASMC.FRS   WP.FIL        WP_WP_US.TRS
GRAPHICS     STANDARD.IRS  VGAUND.FRS   WPICONS.DLL   WP_WP_US.TUT
HRF12.FRS    TEMPLATE      VGA.VRS      WP.LRS&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Which will give you the following beautiful screen&lt;/p&gt;

	&lt;p&gt;&lt;img alt="wordperfect running" src="/img/2021-05-17/wp-dosbox1.png" title="wordperfect running" /&gt;&lt;/p&gt;

	&lt;p&gt;The first thing you&amp;#8217;ll want to do is choose &lt;code&gt;Help &amp;gt; Tutorial&lt;/code&gt; from the top menu.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="help &amp;gt; tutorial" src="/img/2021-05-17/wp-dosbox2.png" title="help &amp;gt; tutorial" /&gt;&lt;/p&gt;

	&lt;p&gt;And spend about twenty minutes going through them. It&amp;#8217;s worth your time, I assure you.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="help &amp;gt; tutorial" src="/img/2021-05-17/wp-dosbox3.png" title="help &amp;gt; tutorial" /&gt;&lt;/p&gt;

	&lt;p&gt;By the way, your mouse will be &lt;strong&gt;trapped&lt;/strong&gt; in the dosbox window. To free it hit &lt;code&gt;CTRL-F10&lt;/code&gt; (took me a while to discover that)!&lt;/p&gt;

	&lt;h2&gt;WordPerfect Tips&lt;/h2&gt;

	&lt;p&gt;&lt;a href="http://www.microcounsel.com/WPTIPS.HTM"&gt;www.microcounsel.com/WPTIPS.HTM&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=ML_GoEUhs4A"&gt;www.youtube.com/watch?v=ML_GoEUhs4A&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;And the first link at top of this page, has lots of great resources for getting help, manuals etc.&lt;/p&gt;</content><category term="software"></category><category term="software"></category><category term="dos"></category><category term="terminal"></category></entry><entry><title>How to Make a Dakota Fire Hole</title><link href="https://simonh.uk/2021/05/16/how-to-make-a-dakota-fire-hole/" rel="alternate"></link><published>2021-05-16T00:00:00+01:00</published><updated>2021-05-16T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-05-16:/2021/05/16/how-to-make-a-dakota-fire-hole/</id><summary type="html">	&lt;p&gt;Burn all the things!&lt;/p&gt;</summary><content type="html">	&lt;p&gt;&lt;img alt="Fire hole" src="/img/2021-05-16/firebanner.webp" title="Fire hole" /&gt;&lt;/p&gt;

	&lt;p&gt;Last year I had a load of wood to dispose of. A perfect opportunity to build a Dakota Fire Hole (or Fire Pit)! &lt;/p&gt;

	&lt;h2&gt;Small Fire Hole&lt;/h2&gt;

	&lt;p&gt;As this was my first attempt, I thought I&amp;#8217;d make a small hole initially:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="small fire hole" src="/img/2021-05-16/fire-small1.webp" title="small fire hole" /&gt;&lt;/p&gt;

	&lt;p&gt;As you can see, I dug two holes. One for the fire, and the hole in the foreground to get air to the bottom of the first hole. In some of the videos I watched, they had a small angled hole instead of a big one like mine. However, I was more than happy with the intensity of the fire I made.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="fire smoldering" src="/img/2021-05-16/fire-small2.webp" title="fire smoldering" /&gt;&lt;/p&gt;

	&lt;p&gt;Basically, the air hole at the bottom sucks the air in and creates a very intense fire. You also have very little smoke produced which is why they&amp;#8217;re sometimes called stealth fires.&lt;/p&gt;

	&lt;h2&gt;Bigger Fire Hole&lt;/h2&gt;

	&lt;p&gt;The following day, I decided to make a bigger fire hole (about three or four times bigger):&lt;/p&gt;

	&lt;p&gt;&lt;img alt="bigger fire hole 1" src="/img/2021-05-16/fire-big1.webp" title="bigger fire hole 1" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="bigger fire hole 2" src="/img/2021-05-16/fire-big2.webp" title="bigger fire hole 2" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="bigger fire hole 3" src="/img/2021-05-16/fire-big3.webp" title="bigger fire hole 3" /&gt;&lt;/p&gt;

	&lt;p&gt;I reused the original fire hole to act as the air hole this time (near the fence). You should notice that in none of the photos is there &lt;em&gt;any&lt;/em&gt; smoke. &lt;/p&gt;

	&lt;h2 class="idea"&gt;Tips&lt;/h2&gt;

	&lt;p&gt;As the ground where I dug these fire holes is very hard, I resorted to using a pole to smash between the fire hole and the air hole. I also made the air hole bigger for the second fire hole as obviously more air would be required.&lt;/p&gt;

	&lt;p&gt;Ideally, you want the air hole to be right at the bottom of the fire hole. It won&amp;#8217;t matter if it&amp;#8217;s a bit higher up but it wants to be in the lower third of the hole to give good air flow.&lt;/p&gt;</content><category term="garden"></category><category term="tips"></category><category term="garden"></category></entry><entry><title>Bullshit Jobs, Lockdowns and Wokeness</title><link href="https://simonh.uk/2021/05/15/bullshit-jobs-lockdowns-and-wokeness/" rel="alternate"></link><published>2021-05-15T00:00:00+01:00</published><updated>2021-05-15T00:00:00+01:00</updated><author><name>Simon Harrison</name></author><id>tag:simonh.uk,2021-05-15:/2021/05/15/bullshit-jobs-lockdowns-and-wokeness/</id><summary type="html">	&lt;p&gt;Is there a causal connection between them?&lt;/p&gt;</summary><content type="html">	&lt;p&gt;I&amp;#8217;ve just started reading Bullshit Jobs: A Theory by &lt;a href="https://davidgraeber.org/"&gt;David Graeber&lt;/a&gt;.&lt;/p&gt;

	&lt;p&gt;It&amp;#8217;s been on my to read list for a while and I&amp;#8217;ve just finished reading the original article that he starts the book with.&lt;/p&gt;

	&lt;p&gt;It immediately got me thinking about the types of people who support:&lt;/p&gt;

	&lt;h2&gt;Extinction Rebellion&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="protestors" src="/img/2021-05-15/extinction-rebellion.jpg" title="protestors" /&gt;&lt;/p&gt;

	&lt;p&gt;&lt;img alt="clowns?" src="/img/2021-05-15/extinction-rebellion2.jpg" title="clowns?" /&gt;&lt;/p&gt;

	&lt;p&gt;They don&amp;#8217;t look like they have a lot to do in life, do they? Sat around like little children or wandering about in fancy dress. Maybe they have bullshit jobs (or no job at all). I suspect that people who have important jobs, who do work that actually &lt;em&gt;matters&lt;/em&gt; to society, have no time or inclination to make a spectacle of themselves.&lt;/p&gt;

	&lt;p&gt;Extinction Rebellion idiot dragged off top of London Tube in 2019:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="fool" src="/img/2021-05-15/tube-protestor.png" title="fool" /&gt;&lt;/p&gt;

	&lt;p&gt;The man in the photo above had to be physically dragged off the top of a train by The Public as he and his comrades attempted to prevent normal people from going to where they needed to go. As reported by the &lt;a href="https://www.bbc.co.uk/news/uk-england-london-50079716"&gt;&lt;span class="caps"&gt;BBC&lt;/span&gt;&lt;/a&gt; one of the commuters had this to say:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;One shouts: &amp;#8220;I have to get to work too &amp;#8211; I have to feed my kids.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;What does this activist do for a living? From &lt;a href="https://www.bristolpost.co.uk/news/bristol-news/extinction-rebellion-london-tube-train-3442811"&gt;Bristol Post&lt;/a&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;The man is believed to be James Mee, 35, an accounts administrator living in Bristol.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Accounts Administrator. Bullshit job? Of course! Book keeping and invoicing were computerised decades ago.&lt;/p&gt;

	&lt;p&gt;That pretty much sums the &amp;#8220;protest&amp;#8221; up. Normal people being held up by the ideologically possessed. Those with pointless jobs or no job. From the &lt;a href="https://www.dailymail.co.uk/news/article-7586549/The-accounts-worker-dragged-roof-Tube-train-furious-commuters.html"&gt;Daily Mail&lt;/a&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;James Mee, 35, (pictured) was part of a gang including a Buddhist teacher, a grandfather and a vicar who brought chaos to three stations east of the capital: Canning Town, Shadwell and Stratford&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;So people with nothing better to do. You may have noticed that we haven&amp;#8217;t heard much from extinction rebellion since. &lt;/p&gt;

	&lt;p&gt;It probably never occurred to them, that normal, busy, people have no time for such disruption caused by their &amp;#8220;activism.&amp;#8221;&lt;/p&gt;

	&lt;h2&gt;Lockdowns&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="lockdown" src="/img/2021-05-15/lockdown.jpg" title="lockdown" /&gt;&lt;/p&gt;

	&lt;p&gt;Yougov found in January 2021 that 85% of those &lt;a href="https://yougov.co.uk/topics/politics/articles-reports/2021/01/05/brits-support-national-lockdown-jan-2021"&gt;surveyed&lt;/a&gt; supported the third lockdown. &lt;/p&gt;

	&lt;p&gt;I have to wonder what occupations those people have? Perhaps, the more pointless their job, the more likely to support destroying small, self sufficient businesses&amp;#8230;&lt;/p&gt;

	&lt;p&gt;You can see from the &lt;a href="https://yougov.co.uk/topics/health/survey-results/daily/2021/01/05/dee1c/1"&gt;results&lt;/a&gt; that the older people &amp;#8220;strongly supported&amp;#8221; lockdowns:&lt;/p&gt;

	&lt;p&gt;&lt;img alt="yougov survey" src="/img/2021-05-15/lockdown-survey.png" title="yougov survey" /&gt;&lt;/p&gt;

	&lt;p&gt;And with &lt;a href="https://www.statista.com/statistics/1116638/uk-number-of-people-on-furlough/"&gt;11.5 million&lt;/a&gt; people receiving furlough pay in the UK in April 2021, you can be 100% sure that a lot of those jobs are bullshit jobs. And if you&amp;#8217;ve got a bullshit job, you might as well just stay at home and get paid.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="furlough" src="/img/2021-05-15/statista-furlough.png" title="furlough" /&gt; &lt;/p&gt;

	&lt;h2&gt;Wokeness&lt;/h2&gt;

	&lt;p&gt;&lt;img alt="woke mob" src="/img/2021-05-15/colson-statue.jpg" title="woke mob" /&gt;&lt;/p&gt;

	&lt;p&gt;In the never ending culture wars, wokeness offers people with nothing serious or important to do in life, a chance to &amp;#8220;make a difference.&amp;#8221; That the difference will be positive is presupposed. &lt;/p&gt;

	&lt;p&gt;Trying to &amp;#8220;fix the world&amp;#8221; can seem sexier than getting a proper job. That&amp;#8217;s why a lot of students identify as woke. They&amp;#8217;re on a bullshit course, headed for a bullshit job. &lt;/p&gt;

	&lt;p&gt;And a lot of &amp;#8220;educators&amp;#8221; are of course also woke, as they&amp;#8217;re often responsible for producing the next generation of bullshit &amp;#8220;workers.&amp;#8221;&lt;/p&gt;

	&lt;p&gt;Here is a great podcast detaililng the backstory of wokeness from one of its masterminds &lt;a href="https://newdiscourses.com/2021/01/antonio-gramsci-cultural-marxism-wokeness-leninism/"&gt;Antonio Gramsci&lt;/a&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;If you want to understand the present moment, especially how similar Wokeness seems to Mao’s Cultural Revolution, you have to understand the Italian communist Antonio Gramsci. Gramsci wrote a series of essays and books while imprisoned by the Italian fascists in the 1920s and 1930s that are referred to as his Prison Notebooks. These are the birthplace of Cultural Marxism, which James Lindsay argues has evolved into “Identity Marxism” since. Once you understand Gramsci, you can easily understand what is going on with our society at present and understand more clearly than ever why it must be resisted.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Though he didn’t coin the term, the idea fellow communist Rudi Dutschke would name “the long march through the institutions” in 1967 is ultimately Gramsci’s roadmap to getting communism to take hold in the West. Gramsci identifies that the “cultural hegemony” of Western cultures prevented communism from having any chance of taking root, so he recommended a strategy that seeks to tear apart and capture major cultural institutions, including religion, family, education, media, and law. Mao understood this clearly and used it to devastating effect. The same thing is happening throughout the West today. Join James Lindsay as he explains the thought and relevance of Antonio Gramsci in today’s Woke movement, which he aptly brands “Leninism 4.0.”&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;Here is a book that&amp;#8217;s also on my to read list &lt;a href="https://cynicaltheories.com/"&gt;Cynical Theories&lt;/a&gt;&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Have you heard that language is violence and that science is sexist? Have you read that certain people shouldn’t practice yoga or cook Chinese food? Or been told that being obese is healthy, that there is no such thing as biological sex, or that only white people can be racist? Are you confused by these ideas, and do you wonder how they have managed so quickly to challenge the very logic of Western society? In this probing and intrepid volume, Helen Pluckrose and James Lindsay document the evolution of the dogma that informs these ideas, from its coarse origins in French postmodernism to its refinement within activist academic fields. Today this dogma is recognizable as much by its effects, such as cancel culture and social-media dogpiles, as by its tenets, which are all too often embraced as axiomatic in mainstream media: knowledge is a social construct; science and reason are tools of oppression; all human interactions are sites of oppressive power play; and language is dangerous. As Pluckrose and Lindsay warn, the unchecked proliferation of these anti-Enlightenment beliefs present a threat not only to liberal democracy but also to modernity itself. While acknowledging the need to challenge the complacency of those who think a just society has been fully achieved, Pluckrose and Lindsay break down how this often-radical activist scholarship does far more harm than good, not least to those marginalized communities it claims to champion. They also detail its alarmingly inconsistent and illiberal ethics. Only through a proper understanding of the evolution of these ideas, they conclude, can those who value science, reason, and consistently liberal ethics successfully challenge this harmful and authoritarian orthodoxy—in the academy, in culture, and beyond.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;h2&gt;Conclusion&lt;/h2&gt;

	&lt;p&gt;When people have bullshit jobs or are paid by Governments to sit at home doing nothing for months on end, they have more time to be indoctrinated with idiotic ideas, go to protests that normal people have no interest in and pretend that their lives now have a purpose. That they can make a difference. &lt;/p&gt;

	&lt;p&gt;I think their time could be better spent thinking about how they can improve their quality of life by doing a job that is productive and fulfilling.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve had bullshit jobs, lots of them. &lt;/p&gt;

	&lt;p&gt;But I&amp;#8217;m trying to move toward more meaningful work. One of them will hopefully be up and running in the next few weeks / months.&lt;/p&gt;</content><category term="politics"></category><category term="work"></category><category term="wokeness"></category><category term="opinion"></category></entry></feed>