site

personal website, served at mordaunt.dev/site
Log | Files | Refs

index.xml (7412B)


      1 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
      2 <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
      3   <channel>
      4     <title>Projects on Jack Mordaunt</title>
      5     <link>http://jackmordaunt.com/projects/</link>
      6     <description>Recent content in Projects on Jack Mordaunt</description>
      7     <generator>Hugo</generator>
      8     <language>en</language>
      9     <lastBuildDate>Thu, 17 Jul 2025 11:21:04 -0300</lastBuildDate>
     10     <atom:link href="http://jackmordaunt.com/projects/index.xml" rel="self" type="application/rss+xml" />
     11     <item>
     12       <title>Plato Desktop Client</title>
     13       <link>http://jackmordaunt.com/projects/plato-desktop-client/</link>
     14       <pubDate>Thu, 17 Jul 2025 11:21:04 -0300</pubDate>
     15       <guid>http://jackmordaunt.com/projects/plato-desktop-client/</guid>
     16       <description>&lt;style&gt;&#xA;.carousel {&#xA;  display: flex;&#xA;  overflow: scroll;&#xA;}&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;carousel&#34;&gt;&#xA;  &lt;img src=&#34;http://jackmordaunt.com/images/Plato/PlatoHome.webp&#34; alt=&#34;Home Page&#34; /&gt;&#xA;  &lt;img src=&#34;http://jackmordaunt.com/images/Plato/PlatoGame.webp&#34; alt=&#34;Game Page&#34; /&gt;&#xA;  &lt;img src=&#34;http://jackmordaunt.com/images/Plato/PlatoMulti.webp&#34; alt=&#34;Multi Window&#34; /&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;&#xA;  Overview&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#overview&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A cross-platform desktop game client built for &lt;strong&gt;Plato Team Inc.&lt;/strong&gt;, supporting Windows, macOS, and Linux. Though now discontinued, the project showcased a modern, multi-window architecture with a primary chat interface and independent game windows.&lt;/p&gt;&#xA;&lt;p&gt;The application was built in &lt;strong&gt;Go&lt;/strong&gt;, using the &lt;strong&gt;Gio&lt;/strong&gt; immediate-mode GUI toolkit. It interfaced extensively with C and C++ libraries, including &lt;strong&gt;ANGLE&lt;/strong&gt; (OpenGL ES), &lt;strong&gt;V8&lt;/strong&gt; (JavaScript engine), &lt;strong&gt;SQLite&lt;/strong&gt;, and &lt;strong&gt;libwebp&lt;/strong&gt; for image decoding.&lt;/p&gt;</description>
     17     </item>
     18     <item>
     19       <title>Sprig Arbor Chat Client</title>
     20       <link>http://jackmordaunt.com/projects/sprig/</link>
     21       <pubDate>Thu, 17 Mar 2022 17:30:23 +0000</pubDate>
     22       <guid>http://jackmordaunt.com/projects/sprig/</guid>
     23       <description>&lt;style&gt;&#xA;.carousel {&#xA;  display: flex;&#xA;  overflow: scroll;&#xA;}&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;carousel&#34;&gt;&#xA;  &lt;img src=&#34;http://jackmordaunt.com/images/sprig/sprig.webp&#34; alt=&#34;Sprig&#34; /&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;&#xA;  Overview&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#overview&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Built by &lt;a href=&#34;https://git.sr.ht/~whereswaldon&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;~whereswaldon&lt;/a&gt;, &lt;a href=&#34;https://git.sr.ht/~whereswaldon/sprig&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Sprig&lt;/a&gt; is a client for &lt;a href=&#34;https://man.sr.ht/~whereswaldon/arborchat&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Arbor&lt;/a&gt;, an open source federated chat platform.&lt;br&gt;&#xA;Sprig is a cross-platform client supporting Windows, macOS, Linux, Android, and iOS.&lt;br&gt;&#xA;It&amp;rsquo;s written in &lt;strong&gt;Go&lt;/strong&gt;, using the &lt;a href=&#34;https://git.sr.ht/~eliasnaur/gio&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;Gio&lt;/strong&gt;&lt;/a&gt; immediate-mode UI toolkit.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;my-role&#34;&gt;&#xA;  My Role&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#my-role&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;When I joined, Sprig stored each chat message as an individual file on disk. This file-per-message model worked reasonably well on Linux, but resulted in &lt;strong&gt;severely degraded performance&lt;/strong&gt; on Windows, where reading thousands of tiny files led to &lt;strong&gt;notably slow startup times&lt;/strong&gt;.&lt;/p&gt;</description>
     24     </item>
     25     <item>
     26       <title>Icnsify</title>
     27       <link>http://jackmordaunt.com/projects/icnsify/</link>
     28       <pubDate>Wed, 21 Feb 2018 12:14:44 -0300</pubDate>
     29       <guid>http://jackmordaunt.com/projects/icnsify/</guid>
     30       <description>&lt;style&gt;&#xA;.carousel {&#xA;  display: flex;&#xA;  overflow: scroll;&#xA;}&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;carousel&#34;&gt;&#xA;  &lt;img src=&#34;http://jackmordaunt.com/images/icnsify/icns-macos-preview.webp&#34; alt=&#34;icnsify-preview macOS&#34; /&gt;&#xA;  &lt;img src=&#34;http://jackmordaunt.com/images/icnsify/icns-windows-preview.webp&#34; alt=&#34;icnsify-preview Windows&#34; /&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;icnsify-a-lean-cross-platform-icon-tool-for-macos-icns-format&#34;&gt;&#xA;  icnsify: A Lean, Cross-Platform Icon Tool for macOS &lt;code&gt;.icns&lt;/code&gt; Format&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#icnsify-a-lean-cross-platform-icon-tool-for-macos-icns-format&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/JackMordaunt/icns&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub →&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;overview&#34;&gt;&#xA;  Overview&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#overview&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;icnsify&lt;/code&gt; is a fast, lightweight utility for creating and previewing &lt;code&gt;.icns&lt;/code&gt;&#xA;files—the proprietary Apple Icon Image format—without relying on macOS.&lt;/p&gt;&#xA;&lt;p&gt;I built the first version in a Swedish café in 2018 as my first serious&#xA;open-source contribution. Since then, it has grown into a widely used&#xA;tool among developers—especially those building cross-platform apps with&#xA;&lt;a href=&#34;https://gioui.org&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Gio&lt;/a&gt;—to automate icon generation as part of their CI&#xA;pipelines or local development.&lt;/p&gt;</description>
     31     </item>
     32   </channel>
     33 </rss>