PhotoGabbleBlog and general digital garden of the full stack programmer Simon Dann.https://photogabble.co.uk/writing/feed.xml2024-02-02T00:00:00ZSimon Dannsimon@photogabble.co.ukEleventy.jsRefactored page git log section2024-02-02T00:00:00Zhttps://photogabble.co.uk/changelog/refactored-page-git-log-section/
<p>In December last year with help from a PR raised by Belmin Began(<a href="https://github.com/MaNemoj01">@MaNemoj01</a>) I <a href="https://photogabble.co.uk/changelog/addition-of-git-log/">added a git log</a> to the content pages of this website, Belmin's contribution aside from being wrapped by caching has remained unchanged until today. I <em>like</em> the addition of page history meta however, I do not want it to take over the page and in the case of some regularly updated pages that was beginning to happen.</p>
<p>I have therefore modified the history layout so that it is now hidden by default behind a small "page history" pull up tab on the page footer. I recently re-discovered the <em>magical</em> <code>:target</code> css selector and used that for toggling the pull-ups display instead of relying upon JavaScript.</p>
<p>For the git history itself I changed the template so that it displays a short paragraph describing the input files creation with a link to edit it on GitHub. This means that the table of history now <strong>only</strong> displays if there is more than one commit for that page's input file.</p>
<p>This kind of page meta is likely only of use to me, but having shared my changes I had a positive response from a surprising number of people, and so I will be writing a short follow-up in the form of a tutorial on <a href="https://photogabble.co.uk/stubs">How to add a git log to your 11ty website</a>.</p>
Addition of a Button Board and changes to bookmarks2024-01-13T00:00:00Zhttps://photogabble.co.uk/changelog/addition-of-a-button-board-and-changes-to-bookmarks/
<p>In December last year I began exploring the vast expanses of <a href="https://photogabble.co.uk/resources/bookmarks/map-of-the-indie-web/">The Indie Web</a> and in doing so reignited my love of 88x31 button banners and the <a href="https://photogabble.co.uk/stubs">Button Boards</a> that people display them on. After adding <a href="https://photogabble.co.uk/button-board/">my own button board</a> I became a <a href="https://photogabble.co.uk/stubs">Digital Magpie</a> and over multiple <a href="https://photogabble.co.uk/stubs">Digital Spelunking</a> sessions began filling out my own board with little images that bring me joy.</p>
<figure>
<picture><source type="image/webp" srcset="https://photogabble.co.uk/img/optimised/55ObSXN8lN-400.webp 400w, https://photogabble.co.uk/img/optimised/55ObSXN8lN-800.webp 800w, https://photogabble.co.uk/img/optimised/55ObSXN8lN-1280.webp 1280w" sizes="100vw" />
<source type="image/jpeg" srcset="https://photogabble.co.uk/img/optimised/55ObSXN8lN-400.jpeg 400w, https://photogabble.co.uk/img/optimised/55ObSXN8lN-800.jpeg 800w, https://photogabble.co.uk/img/optimised/55ObSXN8lN-1280.jpeg 1280w" sizes="100vw" />
<source type="image/png" srcset="https://photogabble.co.uk/img/optimised/55ObSXN8lN-400.png 400w, https://photogabble.co.uk/img/optimised/55ObSXN8lN-800.png 800w, https://photogabble.co.uk/img/optimised/55ObSXN8lN-1280.png 1280w" sizes="100vw" /><img src="https://photogabble.co.uk/img/optimised/55ObSXN8lN-1280.webp" width="1280" height="403" alt="Grid of 88x31 button banners" loading="lazy" decoding="async" /></picture>
<figcaption><p>My <em>precious</em></p></figcaption>
</figure>
<p>I have since made it so that a bookmark can have more than one button, with my button board displaying only the first. I also updated the bookmark page to display all the buttons attached to a bookmark entry.</p>
<p>Adding entries to my button board via the bookmarks has meant that the number of links I have bookmarked increased rapidly and so to aid navigation I added previous / next buttons alongside the current bookmark idx / total.</p>
<figure class="three">
<div>
<picture><source type="image/webp" srcset="https://photogabble.co.uk/img/optimised/LEPSyGDHVu-400.webp 400w" sizes="100vw" />
<source type="image/jpeg" srcset="https://photogabble.co.uk/img/optimised/LEPSyGDHVu-400.jpeg 400w" sizes="100vw" />
<source type="image/png" srcset="https://photogabble.co.uk/img/optimised/LEPSyGDHVu-400.png 400w" sizes="100vw" /><img src="https://photogabble.co.uk/img/optimised/LEPSyGDHVu-400.webp" width="400" height="394" alt="Bookmark meta showing bookmark no of total and links to previous and next bookmarks" loading="lazy" decoding="async" /></picture>
</div>
<figcaption>'Improved' navigation...</figcaption>
</figure>
<p>Occasionally on my digital excursions I would end up in the <a href="https://photogabble.co.uk/lists/digital-graveyard/">digital graveyard</a>, this also highlighted to me the fact that with a growing number of links I too would soon experience an increasing number of those becoming dead. In response to the inevitable march of entropy I both added the digital graveyard list and a dead link frontmatter flag which tells my template to use the wayback link instead of the cited source url.</p>
<p>In doing so I accidentally began my own digital archiving project, collecting screenshots and 88x31 buttons from long since offline websites into a digital mausoleum of sorts. While exploring I found others who had done similar and added their efforts to my <a href="https://photogabble.co.uk/lists/internet-archivers/">internet archivers list</a>.</p>
<p>Two of <a href="https://photogabble.co.uk/resources/bookmarks/%E2%99%A1-cinnis-dream-home-%E2%99%A1/">Cinni's</a> projects: the <a href="https://photogabble.co.uk/resources/bookmarks/icni%C9%A2s-diya%C9%9Bctsya%CA%8F-%F0%9F%8D%93/">ichigo directory</a> and <a href="https://photogabble.co.uk/resources/bookmarks/the-cutie-internet-archive/">the cutie internet archive</a> jump to memory as projects taking a similar path to my own but also on the nostalgia section of <a href="https://photogabble.co.uk/resources/bookmarks/robyns-website-pastel-hell/">Robyn's Website, Pastel Hell</a> where Robyn has collected an impressive number of archived projects and websites from the <a href="https://photogabble.co.uk/topic/old-web" class="tag">#OldWeb</a>.</p>
<p>Ultimately I am not aiming to preserve everything I encounter, my button board and bookmarks <em>only</em> include websites that I found interesting either through their content or the buttons that link through to them. It's more a preservation of <em>my</em> experience on the internet, for myself, which may, or may not interest others.</p>
2024, Week 1 in Review2024-01-07T00:00:00Zhttps://photogabble.co.uk/thoughts/2024-week-1-in-review/
<p></p><aside class="citation">
<blockquote>
<p>You can cancel every meeting as long as you live with the outcome.</p>
</blockquote>
<p><small>— <a href="https://andygrunwald.com/blog/cancel-your-meetings-if-you-can-live-with-the-outcome/">Andy Grunwald</a> | <a href="https://photogabble.co.uk/resources/quotes/weekly-quote-74/">notes</a></small></p>
</aside><p></p>
<p>It's a fresh week, a New Year and like many office workers in the UK I am back to work after almost two weeks leave.</p>
<p>This week I read a few peoples end of year reviews: <a href="https://johnwargo.com/posts/2023/end-of-the-year-2023/">John Wargo's 2023 wrap up</a>, <a href="https://blog.cassidoo.co/post/bye-bye-2023/">Cassidy William's Bye Bye 2023</a> and <a href="https://adactio.com/journal/20750">Jeremy Keith's 2023 in numbers</a> to name but a few that stood out; this prompted me to write my own <a href="https://photogabble.co.uk/noteworthy/goodbye-2023/">goodbye to 2023</a> which I think few people will read but might be interesting to my future self some day.</p>
<p>This year I have jumped into the <a href="https://photogabble.co.uk/topic/small-web" class="tag">#SmallWeb</a> with both feet and ended up in multiple hours long <a href="https://photogabble.co.uk/stubs">Digital Spelunking</a> sessions that have resulted in expanding my <a href="https://photogabble.co.uk/button-board">button board</a> several times over. While not as extensive as some <a href="https://photogabble.co.uk/lists/88x31-collection/">88x31 Button Collections</a> I have realised that I am quite the <a href="https://photogabble.co.uk/stubs">Digital Magpie</a>, if your website has a 88x31 button I find pretty I will not be able to resist adding it to my button board.</p>
<p>Around this time last year I stumbled upon <a href="https://brandur.org/">Brandur's website</a> and really liked their homepage layout displaying a single photo from their gallery, I'm unsure if its sourced from their <a href="https://brandur.org/sequences">Sequences project</a> but I felt inspired by both ideas and would like to add similar to my website.</p>
<p>PhotoGabble started as a photo gallery and portfolio website for my university entrance submission, therefore adding a photography section will be a homage to the domains roots.</p>
<p>Continuing on the theme of photography and inspired by Rob Allan's <a href="https://akrabat.com/2023-in-pictures/">2023 in pictures</a> i'd like to be able to write my own "<em>year in pictures</em>" at the end of 2024; having a small yet manageable photography projects like Brandur's Sequences might be the way to go.</p>
<p>Seems it might be time to dust off my dSLR and begin taking some snaps!</p>
<h2 id="joke-of-the-week" tabindex="-1">Joke of the week</h2>
<p></p><aside class="citation">
<blockquote>
<p><strong>Question:</strong> What does a house wear?<br />
<strong>Answer:</strong> Address</p>
</blockquote>
<p><small>— <a href="https://dadabase.co/">The Dadabase</a> | <a href="https://photogabble.co.uk/resources/jokes/dad-joke-74/">notes</a></small></p>
</aside><p></p>
<h2 id="notable-articles-read" tabindex="-1">Notable Articles Read</h2>
<ul>
<li>
<a href="https://akrabat.com/2023-in-pictures/"><strong>Rob Allen</strong>: 2023 in pictures</a>
</li>
<li>
<a href="https://txt.ltdk.xyz/running-a-multi-purpose-server/0-what/"><strong>Clar Fon</strong>: Running a multi-purpose server, part 0: what?</a>
</li>
<li>
<a href="https://www.morling.dev/blog/one-billion-row-challenge/"><strong>Gunnar Morling</strong>: The One Billion Row Challenge</a>
</li>
<li>
<a href="https://lock.cmpxchg8b.com/hiew.html"><strong>Tavis Ormandy</strong>: Hiew Hex Editor</a>
</li>
<li>
<a href="https://migeel.sk/blog/2024/01/02/building-a-self-contained-game-in-csharp-under-2-kilobytes/"><strong>Michal Strehovsky</strong>: Building a self-contained game in C# under 2 kilobytes</a>
</li>
<li>
<a href="https://thoughtbot.com/blog/turn-your-code-into-pixel-art"><strong>Matheus Richard</strong>: Turn Your Code Into Pixel Art</a>
, reminded me of executable images</li>
<li>
<a href="https://rjp.is/blogging/posts/2020/07/columnarised-highlights/"><strong>@zimpenfish</strong>: Columnarised Highlights</a>
, I thought this to be a fantastic way of displaying large bodies of text in a small area. I wonder what the bee movie would look like?</li>
</ul>
<h2 id="notable-videos-watched" tabindex="-1">Notable Videos Watched</h2>
<ul>
<li><a href="https://www.youtube.com/watch?v=fpk_n3YTEvg">C64 EasyFlash Release: Space Station 23 +7D by TREX!</a> this is a play through of the C64 game <a href="https://vector5games.itch.io/space-station-23">Space Station 23</a></li>
<li><a href="https://www.youtube.com/watch?v=G9FB5R4wVno"><strong>Game Makers Toolkit</strong>: Roguelikes, Persistency, and Progression</a></li>
</ul>
<h2 id="cool-things-from-around-the-internet" tabindex="-1">Cool things from around the internet</h2>
<ul>
<li>
<a href="https://darkvisitors.com/">Dark Visitors - A list of known AI agents on the internet</a>
</li>
<li>
<a href="https://vector5games.itch.io/space-station-23">Space Station 23 by Victor5 Games</a>
</li>
<li>
<a href="https://retroarts.itch.io/evil-dungeon">EVIL DUNGEON (C64) by Gregor Schillinger</a>
</li>
<li>
<a href="https://www.deviantart.com/vovan29/art/Windows-95-ALL-ICONS-805656804">Windows 95 ALL ICONS by Vovan29 on DeviantArt</a>
</li>
<li>
<a href="https://gource.io/"><strong>Andrew Caudwell</strong>: Gource - a software version control visualization tool</a>
</li>
<li>
<a href="https://www.asahi-net.or.jp/~cs8k-cyu/index.html">Collection of in-browser micro games by ABA Games</a>
</li>
<li>
<a href="https://github.com/abagames/crisp-game-lib"><strong>Kenta Cho (ABA Games)</strong>: crisp-game-lib: Minimal JavaScript library for creating classic arcade-like mini-games running in the browser</a>
</li>
<li>
<a href="https://cassette-lang.com/"><strong>Zack Michener</strong>: Cassette, the small lisp-like programming language</a>
</li>
<li>
<a href="https://www.footer.design/">Footer, The only footer gallery on earth</a>
</li>
</ul>
My 11ty Plugins2024-01-05T00:00:00Zhttps://photogabble.co.uk/noteworthy/my-11ty-plugins/
<p>This is an <a href="https://photogabble.co.uk/glossary/anchor-page/">Anchor Page</a> for listing <a href="https://www.11ty.dev/">eleventy.js</a> plugins that I have written.</p>
<h2 id="" tabindex="-1"><a href="https://photogabble.co.uk/projects/eleventyjs-interlink-plugin/">Eleventy.js Interlink Plugin</a></h2>
<p><a href="https://www.npmjs.com/package/@photogabble/eleventy-plugin-interlinker">view on npm</a> | <a href="https://github.com/photogabble/eleventy-plugin-interlinker">view on GitHub</a></p>
<p>I use <a href="http://obsidian.md/">Obsidian.md</a> to draft my posts before they are published on PhotoGabble. One feature of <a href="https://photogabble.co.uk/topic/obsidian" class="tag">#Obsidian</a> that I love is interlinking between notes and being able to see the connectivity graph of each note. Out of all the plugins I have written for Eleventy this one gets the most use. I have yet to add the ability to output a node graph but being able to paste notes from Obsidian into my site repository and have the wiki links just work is incredible!</p>
<p>—</p>
<h2 id="-1" tabindex="-1"><a href="https://photogabble.co.uk/projects/eleventyjs-blogtimes-plugin/">Eleventy.js Blogtimes Plugin</a></h2>
<p><a href="https://www.npmjs.com/package/@photogabble/eleventy-plugin-blogtimes">view on npm</a> | <a href="https://github.com/photogabble/eleventy-plugin-blogtimes">view on GitHub</a></p>
<p>This plugin is a direct port of <a href="https://photogabble.co.uk/noteworthy/blogtimes-a-trip-down-memory-lane/">the WordPress plugin Blogtimes</a> which was also the second plugin written for WordPress. History! The blogtimes histogram it produces can be seen on my <a href="https://photogabble.co.uk/stats">stats page</a> alongside the newer GitHub style ones output by Robb Knight's <a href="https://photogabble.co.uk/resources/bookmarks/@rknightukeleventy-plugin-post-graph/">@rknightuk/eleventy-plugin-post-graph</a> plugin.</p>
<p>—</p>
<h2 id="-2" tabindex="-1"><a href="https://photogabble.co.uk/projects/eleventyjs-word-stats-plugin/">Eleventy.js Word Stats Plugin</a></h2>
<p><a href="https://www.npmjs.com/package/@photogabble/eleventy-plugin-word-stats">view on npm</a> | <a href="https://github.com/photogabble/eleventy-plugin-word-stats">view on GitHub</a></p>
<p>This plugin is a lightweight wrapper for making available <a href="https://www.npmjs.com/package/reading-time">reading-time</a> as a filter. I had intended to extend this plugin to provide more extensive statistics over a collection of posts replacing the code I wrote for my <a href="https://photogabble.co.uk/stats">stats page</a> however, John Wargo beat me to the punch line with their <a href="https://github.com/johnwargo/eleventy-plugin-post-stats">Eleventy Post Statistics</a> plugin.</p>
<p>—</p>
<h2 id="-3" tabindex="-1"><a href="https://photogabble.co.uk/projects/eleventyjs-font-subsetting-plugin/">Eleventy.js Font Subsetting Plugin</a></h2>
<p><a href="https://www.npmjs.com/package/@photogabble/eleventy-plugin-font-subsetting">view on npm</a> | <a href="https://github.com/photogabble/eleventy-plugin-font-subsetting">view on GitHub</a></p>
<p>This plugin grew out of the tutorial I wrote on <a href="https://photogabble.co.uk/tutorials/font-subsetting-with-eleventyjs/">Font Subsetting with Eleventy.js</a> it's able to scan your project and compile an optimised set of font files that only contain the Glyphs that you use.</p>
Toshiba T51002024-01-04T00:00:00Zhttps://photogabble.co.uk/noteworthy/toshiba-t5100/
<p>My personal computing history began in 1988/9 with my dad’s <a href="https://photogabble.co.uk/stubs">VIC20</a>, I was three or four at the time and remember typing in BASIC and playing a lander game from a cartridge. Then in the early 90s (93 or 94) we got an <a href="https://photogabble.co.uk/stubs">Amiga 600</a> and it was around 1996 when I was donated my very own computer in the form of a Toshiba T5100 clam-shell “luggable”.</p>
<figure class="three">
<div>
<picture><source type="image/webp" srcset="https://photogabble.co.uk/img/optimised/a8PwWCW9zw-400.webp 400w, https://photogabble.co.uk/img/optimised/a8PwWCW9zw-800.webp 800w, https://photogabble.co.uk/img/optimised/a8PwWCW9zw-1280.webp 1280w" sizes="100vw" />
<source type="image/jpeg" srcset="https://photogabble.co.uk/img/optimised/a8PwWCW9zw-400.jpeg 400w, https://photogabble.co.uk/img/optimised/a8PwWCW9zw-800.jpeg 800w, https://photogabble.co.uk/img/optimised/a8PwWCW9zw-1280.jpeg 1280w" sizes="100vw" /><img src="https://photogabble.co.uk/img/optimised/a8PwWCW9zw-1280.webp" width="1280" height="1280" alt="Top-down view of a Toshiba T5100, its a grey square computer with many vents" loading="lazy" decoding="async" /></picture>
<picture><source type="image/webp" srcset="https://photogabble.co.uk/img/optimised/ddc2p-PC0F-400.webp 400w, https://photogabble.co.uk/img/optimised/ddc2p-PC0F-800.webp 800w, https://photogabble.co.uk/img/optimised/ddc2p-PC0F-1280.webp 1280w" sizes="100vw" />
<source type="image/jpeg" srcset="https://photogabble.co.uk/img/optimised/ddc2p-PC0F-400.jpeg 400w, https://photogabble.co.uk/img/optimised/ddc2p-PC0F-800.jpeg 800w, https://photogabble.co.uk/img/optimised/ddc2p-PC0F-1280.jpeg 1280w" sizes="100vw" /><img src="https://photogabble.co.uk/img/optimised/ddc2p-PC0F-1280.webp" width="1280" height="1280" alt="Opened view of a Toshiba T5100, you can see the keyboard and screen. It's not powered on" loading="lazy" decoding="async" /></picture>
</div>
<figcaption>The first computer that was <em>mine</em></figcaption>
</figure>
<p>The computer came from a father of one of my sisters friends who I believe worked in computer recycling. He had seen how keen I was to use a computer and cobbled together a working Toshiba T5100 from parts to give to me.</p>
<p>When it arrived all I had was the Toshiba DOS disk and nothing else. My dad provided three floppy disks: a copy of QuickBASIC, Battle Chess and PGA Tour Golf.</p>
<p>It wasn’t until over a decade later that I would learn these programs actually had colour, the Toshiba T5100 itself had a orange plasma screen.</p>
<p>Over the years I obtained a number of BASIC books and unbeknownst to me at the time this computer was the seed that would grow into the career in programming I enjoy today!</p>
<p>—</p>
<p>In 1998 we got our first home PC in the form of a 400Mhz Pentium powered computer running Windows98. It’s around this time that I gradually stopped using the Toshiba and it eventually made its way to my parents attic where it remained until 2017 when I recovered it and brought it home with me.</p>
<figure class="three">
<div>
<picture><source type="image/webp" srcset="https://photogabble.co.uk/img/optimised/EGC4M_SPtX-400.webp 400w, https://photogabble.co.uk/img/optimised/EGC4M_SPtX-800.webp 800w" sizes="100vw" />
<source type="image/jpeg" srcset="https://photogabble.co.uk/img/optimised/EGC4M_SPtX-400.jpeg 400w, https://photogabble.co.uk/img/optimised/EGC4M_SPtX-800.jpeg 800w" sizes="100vw" /><img src="https://photogabble.co.uk/img/optimised/EGC4M_SPtX-800.webp" width="800" height="800" alt="Rear view of the Toshiba T5100, you can see rust on the interface card" loading="lazy" decoding="async" /></picture>
</div>
<figcaption>My heart sunk the first time I saw the rust</figcaption>
</figure>
<p>Unfortunately it appears the years in storage have not been kind to this machine. When I picked it up in 2017 there was some kind of oily residue around where it’s rusted. I’m unsure what caused that or the rust and haven’t found the time in the years since to open the machine up to take a look.</p>
<p>The last time I remember this machine working was around 2012 and I’m resolved to the idea that it’s dead. I’ve kept it and the few floppy disks I found stored with it as more of a sentimental keepsake than anything else.</p>
<p>I might one day pull it apart and see if it’s fixable but until then it’s correctly stored. I have a working <a href="https://photogabble.co.uk/noteworthy/toshiba-t1200/">Toshiba T1200</a> to tinker with in the meantime.</p>
Why I don't go to Twitter anymore2024-01-03T00:00:00Zhttps://photogabble.co.uk/noteworthy/why-i-dont-go-to-twitter-anymore/
<p>I used to spend an extortionate amount of time on Twitter, upwards of three hours a day scrolling what was mostly a feed of noise. It wasn't all unproductive though, I did relish interacting with the Vintage Computing and Retro Gaming communities on there but alas even their appeal wasn't enough to entice me to stay once Twitter became entirely possessed by the Devil.</p>
<p>—</p>
<p>My disenfranchisement from the platform came several years before the self-declared <em>"free speech absolutist"</em> Elon acquired it; although his doing so sounded the final death knell for my active involvement with what <em>was</em> Twitter.</p>
<p>In 2018, I was invited to join the Mastodon server <a href="https://phpc.social/">phpc.social</a> and in October of that same year I set up my own server, although at the time using the light-weight <a href="https://pleroma.social/">Pleroma</a> due to Mastodon being more complex to setup<sup class="footnote-ref"><a href="https://photogabble.co.uk/noteworthy/why-i-dont-go-to-twitter-anymore/#fn1" id="fnref1">[1]</a></sup>. I thoroughly enjoyed the experience making many mutual connections and finding a community of people in the Fediverse that was similar to the tight knit Vintage Computing and Retro Gaming communities I had been a part of on Twitter.</p>
<p>Unlike many others who came to the Fediverse, my transition to using it as my main social network wasn't entirely intentional. I had dipped my toes and found something much more pleasant than I was expecting. Until then my only experience of Social Media was through the lens of a programatic feed and deviating from that in order to interact with groups of people I shared interest in took effort. By contrast, once you get over the initial shock of joining, the Fediverse feels welcoming and comfortable like a cosy old cafe.</p>
<p>The events of October 2022 and the ongoing dumpster fire as documented by <a href="https://twitterisgoinggreat.com/">Twitter is going great</a><sup class="footnote-ref"><a href="https://photogabble.co.uk/noteworthy/why-i-dont-go-to-twitter-anymore/#fn2" id="fnref2">[2]</a></sup> have solidified my intention to keep away from that platform. In November of 2022 I deleted Twitter from my phone to intentionally reduce the time I spent scrolling its feed to zero; over the course of the next few months a lot of the people I had regularly chatted with on Twitter also setup a presence on the Fediverse (with a few returning to IRC or migrating to other platforms), this migration grew to include a significant number of the Vintage Computing and Retro Gaming communities and in doing so reduced the need for me to visit Twitter further.</p>
<p>Now when I am shared a link to Twitter (which for a period of time wouldn't work unless logged in), I often find the comments people make on the posts to be disgusting, verging on a level I have only ever before seen at 4chan. It doesn't surprise me that <a href="https://www.bbc.co.uk/news/business-66217641">Twitters Ad revenue is down 50%</a> what self-respecting marketing exec is going to <em>want</em> their content promoted against ignorance, bigotry and hate?</p>
<p>—</p>
<p>Much like MySpace, one day I visited for the last time, never to return.</p>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>If doing so today I would use <a href="https://gotosocial.org/">GoToSocial</a> became its simpler still to get started <em>and</em> has a great dev team behind it. <a href="https://photogabble.co.uk/noteworthy/why-i-dont-go-to-twitter-anymore/#fnref1" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn2" class="footnote-item"><p>Which unfortunately discontinued reporting in May 2023 <a href="https://photogabble.co.uk/noteworthy/why-i-dont-go-to-twitter-anymore/#fnref2" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>
2024 Roadmap2024-01-02T00:00:00Zhttps://photogabble.co.uk/noteworthy/2024-roadmap/
<p>After <a href="https://photogabble.co.uk/noteworthy/goodbye-2023/">saying goodbye to 2023</a> I have decided that in order to make the most of my time in 2024 I should plan out how I want to use it; this page will be a <a href="https://photogabble.co.uk/glossary/living-document/">Living Document</a> that I update throughout the year as tasks get completed. The idea being that if I ever get stuck for what to work on <strong>next</strong> I can visit this page and work on filling out the stubs.</p>
<h2 id="whats-happening-in-january" tabindex="-1">What's happening in January</h2>
<p>It's currently January and this month I want to start slow, focusing mostly on writing as often as I can but also in a sustainable manor so that I do not burn myself out!</p>
<p>As such I won't be working on <strong>any</strong> <a href="https://photogabble.co.uk/stubs">Big projects</a>, I do however intend to deploy an <a href="https://photogabble.co.uk/stubs">Instagram inspired gallery pages</a> and have my <a href="https://photogabble.co.uk/projects/eleventyjs-interlink-plugin/">Eleventy.js Interlink Plugin</a> provide a widget for displaying stubs and what pages are linking to them.</p>
<p>While adding images for the <a href="https://photogabble.co.uk/noteworthy/toshiba-t5100/">Toshiba T5100</a> page I decided to finally install and use <a href="https://www.npmjs.com/package/@11ty/eleventy-img">@11ty/eleventy-img</a>. I followed <a href="https://www.aleksandrhovhannisyan.com/blog/eleventy-image-plugin">Aleksandr Hovhannisyan's article: Optimizing Images with the 11ty Image Plugin</a>. I should probably update the <a href="https://photogabble.co.uk/changelog/">/changelog/</a>.</p>
<p>I also have three posts from 2023 that I scheduled for publishing but never actually published. In addition to publishing them I also want to finish <a href="https://photogabble.co.uk/tutorials/how-to-programmatically-add-tags-to-posts-in-11ty/">How to programmatically add tags to posts in 11ty</a> which currently exists as a draft and until commit <a href="https://github.com/photogabble/website/commit/4eb9bd73be9662df57e7abf1460f768a64b861c9"><code>4eb9bd7</code></a> when I added a display for draft posts I believed this was both finished and published!</p>
<p>What this has flagged is that I need to work on <a href="https://photogabble.co.uk/noteworthy/my-publishing-workflow/">My publishing workflow</a> and look into what tooling I need to implement in order to keep on track!</p>
<p>In my Obsidian vault I have the concept of <a href="https://photogabble.co.uk/glossary/anchor-page/">anchor pages</a> these are fluid foundations for post series and act as a dumping ground of things I would like to look into; they are sometimes useful to share and I would like a new section of this website within which to do so.</p>
<p>I’d like to fit in installing <a href="https://freshrss.org/">FreshRSS</a> although that might need to happen after <a href="https://photogabble.co.uk/stubs">Server Setup, Hetzner-Moose</a> and that might not happen until March.</p>
<p>I want to update my <a href="https://photogabble.co.uk/projects/eleventyjs-interlink-plugin/">Eleventy.js Interlink Plugin</a> to include a filter for parsing Wikilinks within a given string, this will allow it to be used in files that aren't parsed by the Markdown engine.</p>
<h3 id="key-content-that-i-would-like-to-publish" tabindex="-1">Key content that I would like to publish:</h3>
<ul>
<li><a href="https://photogabble.co.uk/stubs">Trade Wars 2002</a> and <a href="https://photogabble.co.uk/stubs">Black Nova Traders</a> which is heavily inspired by it</li>
<li><a href="https://photogabble.co.uk/glossary/evergreen-content/">Evergreen Content</a></li>
<li>Write about my <a href="https://photogabble.co.uk/noteworthy/toshiba-t5100/">Toshiba T5100</a></li>
<li><a href="https://photogabble.co.uk/stubs">BASIC Programming Books</a> (mostly the ones I read over Christmas)</li>
<li><a href="https://photogabble.co.uk/stubs">Ascendancy</a> retrospective</li>
<li><a href="https://photogabble.co.uk/noteworthy/lost-smiley-ascii-dos-games/">Lost Smiley ASCII DOS Games</a></li>
<li><a href="https://photogabble.co.uk/stubs">Why I use 11ty</a> and <a href="https://photogabble.co.uk/stubs">Why I use Obsidian</a></li>
<li>Update <a href="https://photogabble.co.uk/noteworthy/generating-random-numbers-over-a-range-in-go/">Generating random numbers over a range in Go</a>, I noticed while <a href="https://photogabble.co.uk/noteworthy/porting-a-30-year-old-game-to-go/">Porting a 30 year old game to Go</a> that some of what I use in this article has since been deprecated</li>
<li><a href="https://photogabble.co.uk/stubs">2023 In Music</a></li>
<li><a href="https://photogabble.co.uk/stubs">2023 in Books</a></li>
</ul>
<h2 id="my-plan-for-february" tabindex="-1">My Plan for February</h2>
<p>I'd like to begin anew on my <a href="https://photogabble.co.uk/topic/365-day-project" class="tag">#365DayProject</a> ideally with some programatic support by way of an 11ty plugin or something. I'd like to be able to add <code>issue</code> and <code>volume</code> front matter to all current and future posts within this project and have a short code that is able to display the project stats and maybe tie into gamification of the whole process. Batch writing is also likely the only way that <em>I</em> will be able to have this happen concurrently to everything else going on.</p>
<p>Off the back of that, and taking inspiration from Juah's post <a href="https://hamatti.org/posts/i-gamified-my-own-blog/">I gamified my own blog</a> I would also like to add an "achievements" page with some bespoke art "medals" for things such as "posted five days in a row", "wrote 10,000 words", etc. Small, fun milestones that should be achievable within the year.</p>
<p>I began writing the tutorial: <a href="https://photogabble.co.uk/stubs">Building a minimal forum with Laravel and htmx</a> in November 2023 and would like to get it completed by end of February 2024.</p>
<h3 id="key-content-that-i-would-like-to-publish-1" tabindex="-1">Key content that I would like to publish:</h3>
<ul>
<li><a href="https://photogabble.co.uk/stubs">Startopia</a> retrospective, in 2021 <a href="https://store.steampowered.com/app/840390/Spacebase_Startopia/">Spacebase Startopia</a> was released with mixed reviews. I'd like to play that and compare</li>
<li><a href="https://photogabble.co.uk/stubs">Teeny Towers</a></li>
<li>Add <a href="https://photogabble.co.uk/stubs">Roguelike Development</a> anchor page</li>
<li><a href="https://photogabble.co.uk/stubs">Virtual Rack</a></li>
<li><a href="https://photogabble.co.uk/stubs">Digital Spelunking</a></li>
</ul>
<h2 id="plan-for-the-rest-of-2024" tabindex="-1">Plan for the rest of 2024</h2>
<p>This is largely TBD however I have a new <a href="https://photogabble.co.uk/intentions/">intentions for 2024 page</a> where I am planning out the broad strokes of the year.</p>
Living Document2024-01-02T00:00:00Zhttps://photogabble.co.uk/glossary/living-document/
<p>A living document is something that is continually edited and updated, never finished its purpose is to grow and change over time.</p>
Goodbye 20232024-01-01T00:00:00Zhttps://photogabble.co.uk/noteworthy/goodbye-2023/
<p></p><aside class="citation">
<blockquote>
<p>Their firsts are fading into lasts. The first word. The first step. The first smile. One day there won’t be anymore of those kinds of firsts.</p>
</blockquote>
<p><small>— <a href="https://perfectionpending.net/firsts-and-lasts/">Meredith Ethington</a> | <a href="https://photogabble.co.uk/resources/quotes/weekly-quote-73/">notes</a></small></p>
</aside><p></p>
<p>I was keenly aware throughout 2023 that time seemed to have sped up with each passing week evaporating away as quickly as morning mist in sunrise. It's been another year of loud firsts and silent lasts, our youngest started school as our eldest stopped sucking their thumb; both are growing so fast that I find myself grasping at the memories of them as babies.</p>
<p>In keeping with programmer tradition I started a number of side projects, some of these, most notably the <a href="https://photogabble.co.uk/noteworthy/my-11ty-plugins/">11ty plugins that I wrote</a> made it across the finish line, with some finding use by other people. I was going to convert the code for my <a href="https://photogabble.co.uk/stats">/stats</a> page into a plugin however John Wargo beat me to it with their excellent <a href="https://github.com/johnwargo/eleventy-plugin-post-stats">Eleventy post stats plugin</a> which I might actually make use of soon.</p>
<p>On the theme of other people beating me to the punch line, after completing my <a href="https://photogabble.co.uk/projects/eleventyjs-blogtimes-plugin/">Eleventy.js Blogtimes Plugin</a> I did begin looking into crafting a plugin for creating Github-style post distribution graphs but I put it on the back burner for another day. Well that day never came and Robb Knight beat me to it with his <a href="https://rknight.me/blog/eleventy-post-graph-plugin/">Eleventy Post Graph Plugin</a>! I'm very grateful to Robb for putting in the work on this plugin as it's something I have wanted for a while. It also warms my heart that there are others out there who find such things interesting as well.</p>
<figure><img src="https://photogabble.co.uk/img/goodbye-2023-1.png" alt="A GitHub style graph showing days which I posted something to PhotoGabble" /><figcaption><p>Fig 1. Look at all that serotonin</p>
</figcaption></figure>
<p>I published 74 posts in 2023 and with the aid of Robb's plugin we can see that aside from the regular <a href="https://photogabble.co.uk/topic/week-in-review/">week in review</a> posts, I published during creative spurts throughout the year. You can also see at time of publishing this that I have still yet to back-fill my unpublished weeks in review, they <em>are</em> written but <a href="https://photogabble.co.uk/noteworthy/my-publishing-workflow/">My publishing workflow</a> for them is time-consuming and cumbersome, something to sort this year!</p>
<p>On the subject of publishing workflow, after <a href="https://blog.cassidoo.co/post/trying-tinacms/">Cassidy tried out TinaCMS</a> in October of 2023 I <a href="https://photogabble.co.uk/stubs">gave TinaCMS a go</a>. Unfortunately it didn't work out for me, I found that the interface for Tina to be a bit noisy but ultimately it was the lack of footnote support that became the deal-breaker. This lead me down the <a href="https://photogabble.co.uk/glossary/rabbit-hole/">Rabbit Hole</a> of writing a file based CMS, something I invested a good 30-40 hours on over a couple of weeks; I shelved that when Cassidy shared the <a href="https://github.com/bingryan/obsidian-markdown-export-plugin">Obsidian Markdown Export plugin by @bingryan</a><sup class="footnote-ref"><a href="https://photogabble.co.uk/noteworthy/goodbye-2023/#fn1" id="fnref1">[1]</a></sup>, this allows me to continue using Obsidian for writing and simplifies the steps required to get content published.</p>
<p>I worked on a number of large personal projects in 2023, this began in May with <a href="https://photogabble.co.uk/noteworthy/space-mines-introduction/">introducing my Space Mines browser game</a>; I have worked on this idea on-and-off for enough years that I should have finished it by now but alas I became distracted and back upon the shelf it went.</p>
<p>One of those distractions was <a href="https://photogabble.co.uk/stubs">The TKI Revival</a>, during my research for Space Mines I stumbled upon this old browser game (among many others) and quite liked its game play. I ended up taking the source code and attempted to refactor it into a new Laravel project, I got quite far in this endeavour, managing to refactor <em>all</em> the legacy code, however I got bogged down in making decisions on how the interface should work and learning how to do so with Inertia.js.</p>
<p>In the end I had a short break and found another distraction in <a href="https://photogabble.co.uk/stubs">Writing a Text Adventure in Go</a>! This distraction came off the back of playing the text mode RPG <a href="https://www.swordsoffreeport.com/">Swords of Freeport</a> by <a href="http://www.elissablack.com/">Elissa Harris</a>. I spent the majority of my spare time between August and December working on this, it started as a short tutorial series for PhotoGabble but quickly grew into a 50-chapter book.</p>
<p>So, what does 2024 bring? For one thing I would like to complete writing a text adventure in go <strong>and</strong> my TKI revival however in order to do either I need to first sit down and plan out how each project is going to grow. This will likely involve some kind of gantt chart and a realistic look at what I can actually achieve in a year!</p>
<p>Aside from the big projects I also want to continue <em>and</em> complete the <a href="https://photogabble.co.uk/thoughts/23-of-365-project-revival/">365-day project that I revived in August last year</a>; this project was an excuse to write and only faltered when I went on holiday and was unable to publish the posts I had written on my phone.</p>
<p>I don't remember who, but I recently read someone's blog post where they wanted to <a href="https://photogabble.co.uk/stubs">gamify</a> their writing through adding achievements to their blog. I quite like the idea of giving myself some milestone challenges and a virtual trophy case to keep them in. The 365-day project lends itself nicely to gamification, I'll think up some more and add a page to track them.</p>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>You can read Cassidy's thoughts in her post <a href="https://blog.cassidoo.co/post/publishing-from-obsidian/">Publishing to my blog from Obsidian</a> <a href="https://photogabble.co.uk/noteworthy/goodbye-2023/#fnref1" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>
2023, Week 52 in Review2023-12-31T00:00:00Zhttps://photogabble.co.uk/thoughts/2023-week-52-in-review/
<p></p><aside class="citation">
<blockquote>
<p>Their firsts are fading into lasts. The first word. The first step. The first smile. One day there won’t be anymore of those kinds of firsts.</p>
</blockquote>
<p><small>— <a href="https://perfectionpending.net/firsts-and-lasts/">Meredith Ethington</a> | <a href="https://photogabble.co.uk/resources/quotes/weekly-quote-73/">notes</a></small></p>
</aside><p></p>
<p>It's the <strong>last week</strong> of the year! 2023 went <em>very</em> quickly, and it feels as though I didn't get a lot done; I did however begin a number of side projects, none of which made it past MVP let alone across the finish line. I'll probably write a short year in review where I go over each project and decide if it makes the cut to 2024.</p>
<p>As I write this I also have sixteen weeks of this year's week in review drafted and yet unpublished. They are all mostly completed but its indicative of how little free time I have had these past few months, unlike regular posts (of which there have also been few), the weeks in review require a lot more work in getting the bookmarks into the repo and ready for publishing. Back in November I tried out a couple of headless CMSs in the hope that they would lessen that burden however, none of them actually seemed to meet the cut.</p>
<p>Sorting out <a href="https://photogabble.co.uk/noteworthy/my-publishing-workflow/">My publishing workflow</a> is going to be something that I need to work on in January if only to make it so I don't end up with such a massive backlog this time next year.</p>
<p>This week I <a href="https://photogabble.co.uk/stubs">ported a 30 year old BASIC game, Business Management to Go</a>, this is something I had done a number of years ago when I <a href="https://photogabble.co.uk/noteworthy/porting-basic-space-mines-game-to-go/">ported the BASIC space mines game to Go</a> and is going to become something of an ongoing project for 2024. I already wrote in conclusion of this weeks porting adventure that I want to extend the game and eventually merge it with the Space Mines game I ported previously, these extensions will provide plenty of content fodder for the coming months.</p>
<p>I serendipitously stumbled upon <a href="https://mysticdungeon.club/losttreasure/">Marks port of Lost Treasure</a>, another game from the same <a href="https://photogabble.co.uk/resources/books/OL4435177M/">Stimulating simulations</a> book that <em>Business Management</em> came from. Inspired by Mark making the text game look visually interesting I decided to give it a go myself, in doing so I also dusted off my <a href="https://github.com/go-rogue/scenes">scene director</a> library and wrote an <a href="https://photogabble.co.uk/noteworthy/example-usage-of-my-golang-scene-director-package/">example usage of it</a>.</p>
<p>Onwards to 2024.</p>
<h2 id="joke-of-the-week" tabindex="-1">Joke of the week</h2>
<p></p><aside class="citation">
<blockquote>
<p><strong>Question</strong>: When does Friday come before Thursday?<br />
<strong>Answer</strong>: In the dictionary.</p>
</blockquote>
<p><small>— Unknown | <a href="https://photogabble.co.uk/resources/jokes/dad-joke-73/">notes</a></small></p>
</aside><p></p>
<h2 id="notable-articles-read" tabindex="-1">Notable Articles Read</h2>
<ul>
<li>
<a href="https://web.stanford.edu/~bkunde/fb-press/articles/wdprhist.html"><strong>Brian Kunde</strong>: A Brief History of Word Processing (Through 1986)</a>
</li>
<li>
<a href="https://bytecellar.com/2016/06/05/a-look-back-at-three-decades-of-word-processors/"><strong>Blake Patterson</strong>: A Look Back at Three Decades of Word Processors</a>
</li>
<li>
<a href="https://prog21.dadgum.com/29.html"><strong>James Hague</strong>: A Spellchecker Used to Be a Major Feat of Software Engineering</a>
</li>
<li>
<a href="https://andreasjhkarlsson.github.io/jekyll/update/2023/12/27/4-billion-if-statements.html"><strong>Andreas Karlsson</strong>: 4 billion if statements</a>
</li>
<li>
<a href="https://mdhughes.tech/2019/04/08/lost-treasure/"><strong>Mark Damon Hughes</strong>: Writing Lost Treasure</a>
</li>
</ul>
<h2 id="notable-videos-watched" tabindex="-1">Notable Videos Watched</h2>
<ul>
<li><a href="https://youtu.be/KxMYroGay8c"><strong>Eniko Fox</strong>: Make a 3D engine without math</a></li>
</ul>
<h2 id="cool-things-from-around-the-internet" tabindex="-1">Cool things from around the internet</h2>
<ul>
<li>
<a href="https://silverspook.itch.io/neofeud"><strong>Silver Spook Games</strong>: Neofeud by silverspook</a>
</li>
<li>
<a href="https://mysticdungeon.club/"><strong>Mark Damon Hughes</strong>: Mystic Dungeon Club</a>
, the <a href="https://photogabble.co.uk/resources/bookmarks/lost-treasure/">Lost Treasure</a> game comes from the same Stimulating Simulations book as my <a href="https://photogabble.co.uk/stubs">port of Business Management</a></li>
<li>
<a href="https://nomediakings.org/guildedyouth/"><strong>Jim Munroe</strong>: Guilded Youth Game</a>
</li>
</ul>