<rss version="2.0">
  <channel>
    <title>Milestones on Leon Mika</title>
    <link>https://lmika.org/categories/milestones/</link>
    <description></description>
    
    <language>en</language>
    
    <lastBuildDate>Sat, 24 Jan 2026 11:22:43 +1100</lastBuildDate>
    
    <item>
      <title></title>
      <link>https://lmika.org/2026/01/24/have-finished-a-working-version.html</link>
      <pubDate>Sat, 24 Jan 2026 11:22:43 +1100</pubDate>
      
      <guid>http://lmika.micro.blog/2026/01/24/have-finished-a-working-version.html</guid>
      <description>&lt;p&gt;Have finished a working version of my game for my niece. It&amp;rsquo;s only the free typing mode for now, which is essentially a basic text editor, with some colour options mapped to keys F1 through to F8. I&amp;rsquo;ve deployed a &lt;a href=&#34;https://flying-start.lmika.games&#34;&gt;browser-based version&lt;/a&gt; of it if you&amp;rsquo;re curious.&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/25293/2026/out-20260124-112050.png&#34; alt=&#34;Auto-generated description: A digital screen displays the text HELLO WORLD! in colourful letters against a backdrop of silhouetted trees and buildings under a cloudy sky.&#34;&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://lmika.org/2025/12/29/released-version-of-postlist-for.html</link>
      <pubDate>Mon, 29 Dec 2025 11:27:21 +1100</pubDate>
      
      <guid>http://lmika.micro.blog/2025/12/29/released-version-of-postlist-for.html</guid>
      <description>&lt;p&gt;Released version 1.4.0 of &lt;a href=&#34;https://postlist.micro.blog&#34;&gt;Postlist for Micro.blog&lt;/a&gt;. New feature is the ability to turn off summaries in favour of the post&amp;rsquo;s body when using content display mode. This is achievable with the added &lt;code&gt;content-options&lt;/code&gt; parameter:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{&amp;lt; &lt;span style=&#34;color:#f92672&#34;&gt;postlist&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;display&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;content-options&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;no-summary&amp;#34;&lt;/span&gt; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    
    <item>
      <title></title>
      <link>https://lmika.org/2025/08/16/released-version-of-postlists-for.html</link>
      <pubDate>Sat, 16 Aug 2025 22:02:26 +1100</pubDate>
      
      <guid>http://lmika.micro.blog/2025/08/16/released-version-of-postlists-for.html</guid>
      <description>&lt;p&gt;Released version 1.3.1 of &lt;a href=&#34;https://postlist.micro.blog/&#34;&gt;Postlists for Micro.blog&lt;/a&gt;. Notable changes in this release are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A new &lt;code&gt;title-matches&lt;/code&gt; attribute, which can be used to filter the list of posts to those with titles that match a regular expression. Check out &lt;a href=&#34;https://postlist.micro.blog/#filtering-by-title&#34;&gt;the documentation on this&lt;/a&gt; for some examples.&lt;/li&gt;
&lt;li&gt;Fixed an issue where using the shortcode without any attributes resulted in an empty list. The cause of this was Hugo returning some strange things when a shortcode is called without arguments.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also clarified the documentation a little, particularly around the use of the &lt;code&gt;alpha&lt;/code&gt; sort order. Basically, if you have a collection of posts without titles, the alpha sort order may look a little strange, as it only uses the title when ordering posts. I&amp;rsquo;m not sure what I&amp;rsquo;m going to do to improve this — there&amp;rsquo;s no real way to sort based on post body — so in lieu of a fix, I just made sure to explain that. It&amp;rsquo;s not a great solution, but hopefully it&amp;rsquo;ll clear this behaviour up.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve got the Postlists plug-in installed, you should be able to upgrade to this version by going to the Plug-ins section in Micro.blog.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://lmika.org/2025/07/02/released-version-of-postlist-for.html</link>
      <pubDate>Wed, 02 Jul 2025 22:40:55 +1100</pubDate>
      
      <guid>http://lmika.micro.blog/2025/07/02/released-version-of-postlist-for.html</guid>
      <description>&lt;p&gt;Released version 1.1.0 of Postlist. Featuring more sorting options, such as sorting by date or sorting in descending order:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;!-- Oldest to newest --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{&amp;lt; &lt;span style=&#34;color:#f92672&#34;&gt;postlist&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;order&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;date&amp;#34;&lt;/span&gt; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;!-- From Z to A --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{&amp;lt; &lt;span style=&#34;color:#f92672&#34;&gt;postlist&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;order&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;alpha desc&amp;#34;&lt;/span&gt; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;See &lt;a href=&#34;https://postlist.micro.blog/#ordering&#34;&gt;docs&lt;/a&gt; for details.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://lmika.org/2025/06/28/built-a-new-microblog-plugin.html</link>
      <pubDate>Sat, 28 Jun 2025 22:07:14 +1100</pubDate>
      
      <guid>http://lmika.micro.blog/2025/06/28/built-a-new-microblog-plugin.html</guid>
      <description>&lt;p&gt;Built a new Micro.blog plugin: &lt;a href=&#34;https://postlist.micro.blog&#34;&gt;Postlist&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Adds a short-code which will display a list of posts, optionally filtered to a specific category, and ordered either alphabetically or reverse chronologically. Similar to &lt;a href=&#34;https://docs.bearblog.dev/embedding-blog-post-lists/&#34;&gt;Bear Blog&amp;rsquo;s post macro&lt;/a&gt;, although not as fully featured just yet.&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/25293/2025/postlist-example-with-background.png&#34; width=&#34;600&#34; height=&#34;357&#34; alt=&#34;Auto-generated description: A cheatsheet list displaying topics such as Linux commands in MacOS, Git, Go language notes, starting a dev server, sorting Git branches, and working with CSVTK.&#34;&gt;
</description>
    </item>
    
    <item>
      <title>I.S. Know: An Online Quiz About ISO and RFC Standards</title>
      <link>https://lmika.org/2025/06/23/is-know-an-online-quiz.html</link>
      <pubDate>Mon, 23 Jun 2025 23:22:52 +1100</pubDate>
      
      <guid>http://lmika.micro.blog/2025/06/23/is-know-an-online-quiz.html</guid>
      <description>&lt;p&gt;About a week ago, while I was trying to lookup the ISO standard for dates, I got confused and looked up the ISO standard for character encodings. This brought to mind all the ISO and RFC standards I have to deal with as part of my work. I thought it would make for an interesting quiz.&lt;/p&gt;
&lt;p&gt;So I made one, call &lt;a href=&#34;https://isknow.lmika.app&#34;&gt;I.S. Know&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s an online quiz for software developers, primarily those dealing with web technologies, to see how well they know their ISO and RFC standards. It&amp;rsquo;s meant to be just a bit of fun, although given the subject matter, I wonder if I&amp;rsquo;ve made it a little hard. It was also a good excuse to try out full-screen web transitions which I think I&amp;rsquo;m starting to like (for some things).&lt;/p&gt;
&lt;p&gt;Anyway, hope you enjoy it.&lt;/p&gt;
&lt;p&gt;P.S. This is a server-rendered website but nothing&amp;rsquo;s being stored or tracked on the backend. I just wanted to use Go templates without having to make a full-on Hugo site.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Making A Small Two-Letter Country Code Lookup Page</title>
      <link>https://lmika.org/2025/02/20/made-a-small-thing-yesterday.html</link>
      <pubDate>Thu, 20 Feb 2025 08:57:14 +1100</pubDate>
      
      <guid>http://lmika.micro.blog/2025/02/20/made-a-small-thing-yesterday.html</guid>
      <description>&lt;p&gt;Made a small thing yesterday.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been seeing links to the &lt;a href=&#34;https://uchu.style&#34;&gt;uchū color pallette&lt;/a&gt; and &lt;a href=&#34;https://www.brailleinstitute.org/freefont/&#34;&gt;Atkinson Hyperlegible font&lt;/a&gt; on Mastodon this past week and I wanted to give them a try on something. With little else to work on, I thought I&amp;rsquo;d spend yesterday evening building a small thing I&amp;rsquo;ve been wishing I had at work for a while.&lt;/p&gt;
&lt;p&gt;My tasks at work has me looking up the two-letter country codes a lot recently. My goto is the &lt;a href=&#34;https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2&#34;&gt;ISO-3166-1 alpha 2&lt;/a&gt; page on Wikipedia, but getting there involves a few clicks, a web-search, and a &amp;ldquo;find on page.&amp;rdquo; I wanted an easier way to get to this list, and a much easier way to filter it. I also wanted something that could work as a Vivaldi side panel, so that I can call it up while I&amp;rsquo;m looking at something else.&lt;/p&gt;
&lt;p&gt;What I ended up building is this, which I&amp;rsquo;ve called 2LCC, which stands for Two Letter Country Codes.&lt;/p&gt;
&lt;div class=&#34;img-gallery&#34;&gt;
&lt;figure&gt;
&lt;img src=&#34;https://lmika.org/uploads/2025/out-20250220-083135.png&#34;
     
        alt=&#34;Auto-generated description: A web page displays a country code list, featuring a filter option and countries listed alphabetically with their corresponding codes.&#34; 
     
      /&gt;

&lt;/figure&gt;
&lt;figure&gt;
&lt;img src=&#34;https://lmika.org/uploads/2025/out-20250220-083206.png&#34;
     
        alt=&#34;Auto-generated description: A webpage shows a table listing country codes and names, including IO for British Indian Ocean Territory, IN for India, and ID for Indonesia, with Ind typed in a search bar.&#34; 
     
      /&gt;

  &lt;figcaption&gt;
  
  Start entering a country name or country code to filter the table.
  &lt;/figcaption&gt;

&lt;/figure&gt;
&lt;figure&gt;
&lt;img src=&#34;https://lmika.org/uploads/2025/out-20250220-083226.png&#34;
     
        alt=&#34;Auto-generated description: A selection list on a web page shows two-letter country codes along with their corresponding country names, with AU for Australia highlighted.&#34; 
     
      /&gt;

  &lt;figcaption&gt;
  
  Because two-letter codes will appear as letters within country names, any exact match in either the code or the country name will highlight the row in yellow.
  &lt;/figcaption&gt;

&lt;/figure&gt;
&lt;figure&gt;
&lt;img src=&#34;https://lmika.org/uploads/2025/out-20250220-083239.png&#34;
     
        alt=&#34;Auto-generated description: A web browser window is open displaying a list of country codes on the left and several website shortcuts on the right, including Booking.com, News.com.au, YouTube, and eBay.&#34; 
     
      /&gt;

  &lt;figcaption&gt;
  
  How it looks in Vivaldi&amp;#39;s sidebar.
  &lt;/figcaption&gt;

&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;It was built using Hugo, which some might think may be a bit overkill, but Hugo does has some nice utilites for &lt;a href=&#34;https://gohugo.io/methods/site/data/&#34;&gt;reading JSON data&lt;/a&gt; and running it through a Go template to produce static HTML. And that&amp;rsquo;s all this is: a static HTML page with a big table of country codes with a smattering of CSS and JavaScript. The JavaScript is just vanilla, and is simply used to power the filter, which basically walks the table, hiding rows which don&amp;rsquo;t contain the filter string. I was originally going to have the filter logic test the inner text elements of the table cells, but I decided to have the template spit out the country code as &lt;code&gt;data-&lt;/code&gt; attributes instead. It&amp;rsquo;s easier to fetch in JavaScript using the &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset&#34;&gt;dataset&lt;/a&gt; property list and since the values are spat out by the template in lowercase, it makes case insensitive slightly easier.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll see how often I end up using this: there&amp;rsquo;ve been instances when I&amp;rsquo;ve over-index needing something for my job, only to build it and find myself using it less than I imagined. It probably wasn&amp;rsquo;t a great project to choose for trying out uchū colour scheme, seeing that I only ended up using two colours. But I&amp;rsquo;m happy with how the two colours I used turned out, and the the font looks great. And I do like that I took on more of the layout styling myself, rather than simply defer to &lt;a href=&#34;https://simplecss.org&#34;&gt;simple.css&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a link to it should this be useful to you: &lt;a href=&#34;https://2lcc.lmika.app/&#34;&gt;https://2lcc.lmika.app/&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://lmika.org/2025/02/07/released-a-new-plugin-for.html</link>
      <pubDate>Fri, 07 Feb 2025 17:32:05 +1100</pubDate>
      
      <guid>http://lmika.micro.blog/2025/02/07/released-a-new-plugin-for.html</guid>
      <description>&lt;p&gt;Released a new plugin for Micro.blog: &lt;a href=&#34;https://sidebar-for-bayou.micro.blog&#34;&gt;Sidebar for the Bayou theme&lt;/a&gt; (yes, another sidebar plugin). Thanks again to &lt;a href=&#34;https://micro.blog/Mtt&#34;&gt;@Mtt&lt;/a&gt; for making changes to the theme to support adding the sidebar. Can be installed from the plugin directory (please ensure you have Bayou version 1.1.3 or later).&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://lmika.org/2025/01/04/thanks-for-my-new-found.html</link>
      <pubDate>Sat, 04 Jan 2025 15:25:43 +1100</pubDate>
      
      <guid>http://lmika.micro.blog/2025/01/04/thanks-for-my-new-found.html</guid>
      <description>&lt;p&gt;Thanks for my new found fondness of buying mainstream music instead of streaming it, I needed a way to get these albums into Alto Catalogue. There exists a feature for fetching and importing tracks from a Zip referenced by a URL. This works great for albums bought in Bandcamp, but less so for any tracks I may have on my local machine.&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/25293/2025/out-20250104-151341.png&#34; width=&#34;600&#34; height=&#34;427&#34; alt=&#34;A web interface for uploading a zip file from a URL with fields for artist, album, and default rating.&#34;&gt;
&lt;p&gt;I&amp;rsquo;ve managed to get Alto Catalogue building again after updating Webpack and a few NPM packages, so in theory, I could  add an Upload Zip file action. But there&amp;rsquo;s more to this than simply accepting and unpacking a Zip file. I have to read the metadata, maybe even preview the tracks that will be imported, just in case I&amp;rsquo;m importing something I rather not (I did see this once, where zipping a bunch of tracks in the Finder introduced duplicates). This already exists for Zip files that are downloadable online.&lt;/p&gt;
&lt;p&gt;I had a though about what my options are, until I remembered that I had a &lt;a href=&#34;https://github.com/Forceu/Gokapi/&#34;&gt;Gokapi instance&lt;/a&gt; running in Pikapods. So I tried using that to temporarily host the Zip file with a publicly available URL that could be read by Alto Catalouge.&lt;/p&gt;
&lt;p&gt;The only problem is my internet upload speed is &lt;em&gt;sooooo sloooooow&lt;/em&gt;. The Gokapi instance is hosted in Europe, and I suspect the instance itself is a little underpowered. So uploading 100 MB Zip files would take a fair bit of time: maybe 15-30 minutes. When I tried doing this via the web frontend, the connection timed out.&lt;/p&gt;
&lt;p&gt;Fortunately, &lt;a href=&#34;https://gokapi.readthedocs.io/en/latest/advanced.html#api&#34;&gt;Gokapi has an API&lt;/a&gt; and one of the methods allows you to upload a file in &amp;ldquo;chunks,&amp;rdquo; which Gokapi will assemble back into the original file. Even better is that this chunking can be uploaded in parallel.&lt;/p&gt;
&lt;p&gt;So I built a CLI tool which made of this chunking API to upload the Zip files. Once the upload is complete, the tool will display the hot-link URL, which I can copy-and-paste into Alto Catalogue.&lt;/p&gt;
&lt;p&gt;&lt;video src=&#34;https://media.lmika.org/videos/2025/send2gokapi-screencast.mp4&#34; controls=&#34;controls&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;The whole process isn&amp;rsquo;t fast (again, slow upload speeds). But it works, and I can use this tool to queue a bunch of uploads and let it do its thing while I&amp;rsquo;m doing something else. I really like tools that do this, where you&amp;rsquo;re not forced to babysitting them through the process.&lt;/p&gt;
&lt;p&gt;There are a few limitations with it. It doesn&amp;rsquo;t allow for an awful lot of customisations on the lifecycle of the uploaded file. And the tool stalled out once when my computer went to sleep, and I had to start the upload from scratch. I could probably add something to track the chunks that were successful, allowing one to continue a stalled upload. If this happens frequently, I may look more into adding this.&lt;/p&gt;
&lt;p&gt;But even so, this could be a useful addition to my use of Gokapi for transferring temporary files. If you think this might be useful to you, &lt;a href=&#34;https://lmika.dev/cmd/send2gokapi&#34;&gt;you can find the tool here&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>