<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Microblog on Abstract Nonsense</title><link>https://abstractnonsense.xyz/microblog/</link><description>Recent content in Microblog on Abstract Nonsense</description><generator>Hugo</generator><language>en-AU</language><managingEditor>hello@abstractnonsense.xyz (Yossi Frenkel)</managingEditor><webMaster>hello@abstractnonsense.xyz (Yossi Frenkel)</webMaster><atom:link href="https://abstractnonsense.xyz/microblog/index.xml" rel="self" type="application/rss+xml"/><item><title>Project Hail Mary by Andy Weir</title><link>https://abstractnonsense.xyz/microblog/2026-04-30-project-hail-mary/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-04-30-project-hail-mary/</guid><description>&lt;p&gt;I really enjoyed this book, I thought it was an excellent read.&lt;/p&gt;
&lt;p&gt;I found the quality of the writing to be a bit haphazard at the start, but the Haldeman-esque humour and storyline &lt;em&gt;more&lt;/em&gt; than make up for that. Weir does a superb job of capturing the pure joy in experimental and theoretical physics without detracting from the pacing or science-fiction nature of the book.&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;vaguely-crustacean alien meets human and becomes intrepid buddy explorer” plotline was delightful, and reminded me of a combination of &lt;em&gt;Arrival&lt;/em&gt; and Arthur C. Clarke&amp;rsquo;s &lt;em&gt;Rendezvous with Rama&lt;/em&gt; series.&lt;/p&gt;</description><content:encoded>&lt;p&gt;I really enjoyed this book, I thought it was an excellent read.&lt;/p&gt;
&lt;p&gt;I found the quality of the writing to be a bit haphazard at the start, but the Haldeman-esque humour and storyline &lt;em&gt;more&lt;/em&gt; than make up for that. Weir does a superb job of capturing the pure joy in experimental and theoretical physics without detracting from the pacing or science-fiction nature of the book.&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;vaguely-crustacean alien meets human and becomes intrepid buddy explorer” plotline was delightful, and reminded me of a combination of &lt;em&gt;Arrival&lt;/em&gt; and Arthur C. Clarke&amp;rsquo;s &lt;em&gt;Rendezvous with Rama&lt;/em&gt; series.&lt;/p&gt;
&lt;p&gt;I haven&amp;rsquo;t seen the film yet, but I hope it matches the book in quality and enthusiasm. I finished this read in just a day!&lt;/p&gt;</content:encoded></item><item><title>Favicon</title><link>https://abstractnonsense.xyz/microblog/2026-04-24-favicon/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-04-24-favicon/</guid><description>&lt;p&gt;I&amp;rsquo;ve added an animated favicon to the site:&lt;label for="fn0" class="footnote-trigger"&gt;*&lt;/label&gt;&lt;input type="checkbox" id="fn0" class="footnote-checkbox" /&gt;&lt;small class="footnote-aside" id="fn0"&gt;To avoid becoming distracting, it only plays once, on page load, instead of indefinitely looping.&lt;/small&gt;&lt;/p&gt;
&lt;div style="text-align:center"&gt;
 &lt;object data="/favicon.svg" type="image/svg+xml" style="width:300px;height:300px;display:inline-block"&gt;&lt;/object&gt;
&lt;/div&gt;
&lt;p&gt;The design has a few motifs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An upper case $\Lambda$ symbol: a nod to both the Lambda Calculus and the &lt;em&gt;A&lt;/em&gt; in &lt;em&gt;Abstract&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;That morphs into an uppercase blackboard bold $\mathbb{N}$ symbol: the set of natural numbers and the &lt;em&gt;N&lt;/em&gt; in &lt;em&gt;Nonsense&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;All of which is surrounded by square brackets (an &lt;em&gt;array&lt;/em&gt;) to give the favicon a bit more presence.&lt;/li&gt;
&lt;li&gt;Lastly, the serifs are arrow-heads, evoking morphisms from Category Theory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Full disclosure: I tried multiple times to manually craft an SVG that had all the above components, but I just couldn&amp;rsquo;t get it right. Thus, inspired by a &lt;a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-pro/"&gt;Google blog post&lt;/a&gt; announcing improved SVG design capabilities in the Gemini 3.1 Pro model, I decided to give it a try. It took many, many iterations to coerce Gemini&amp;rsquo;s output into something I was satisfied with, but I think the end result is pretty good.&lt;label for="fn1" class="footnote-trigger"&gt;*&lt;/label&gt;&lt;input type="checkbox" id="fn1" class="footnote-checkbox" /&gt;&lt;small class="footnote-aside" id="fn1"&gt;There&amp;rsquo;s some issues with the animation keyframes splines not interpolating as smoothly as I&amp;rsquo;d like, but that&amp;rsquo;s a problem for another day.&lt;/small&gt;&lt;/p&gt;</description><content:encoded>&lt;p&gt;I&amp;rsquo;ve added an animated favicon to the site:&lt;label for="fn0" class="footnote-trigger"&gt;*&lt;/label&gt;&lt;input type="checkbox" id="fn0" class="footnote-checkbox" /&gt;&lt;small class="footnote-aside" id="fn0"&gt;To avoid becoming distracting, it only plays once, on page load, instead of indefinitely looping.&lt;/small&gt;&lt;/p&gt;
&lt;div style="text-align:center"&gt;
 &lt;object data="/favicon.svg" type="image/svg+xml" style="width:300px;height:300px;display:inline-block"&gt;&lt;/object&gt;
&lt;/div&gt;
&lt;p&gt;The design has a few motifs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An upper case $\Lambda$ symbol: a nod to both the Lambda Calculus and the &lt;em&gt;A&lt;/em&gt; in &lt;em&gt;Abstract&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;That morphs into an uppercase blackboard bold $\mathbb{N}$ symbol: the set of natural numbers and the &lt;em&gt;N&lt;/em&gt; in &lt;em&gt;Nonsense&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;All of which is surrounded by square brackets (an &lt;em&gt;array&lt;/em&gt;) to give the favicon a bit more presence.&lt;/li&gt;
&lt;li&gt;Lastly, the serifs are arrow-heads, evoking morphisms from Category Theory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Full disclosure: I tried multiple times to manually craft an SVG that had all the above components, but I just couldn&amp;rsquo;t get it right. Thus, inspired by a &lt;a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-pro/"&gt;Google blog post&lt;/a&gt; announcing improved SVG design capabilities in the Gemini 3.1 Pro model, I decided to give it a try. It took many, many iterations to coerce Gemini&amp;rsquo;s output into something I was satisfied with, but I think the end result is pretty good.&lt;label for="fn1" class="footnote-trigger"&gt;*&lt;/label&gt;&lt;input type="checkbox" id="fn1" class="footnote-checkbox" /&gt;&lt;small class="footnote-aside" id="fn1"&gt;There&amp;rsquo;s some issues with the animation keyframes splines not interpolating as smoothly as I&amp;rsquo;d like, but that&amp;rsquo;s a problem for another day.&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;Since SVG favicons are &lt;a href="https://caniuse.com/link-icon-svg"&gt;now Baseline-supported&lt;/a&gt; across all major browsers, I didn&amp;rsquo;t need to worry about fallback PNGs and &lt;code&gt;.ico&lt;/code&gt; files, which was a nice bonus. It&amp;rsquo;s also picked up by Google Search and other platforms. Lastly, since I can embed CSS into the SVG file, it also supports dark modes via a &lt;code&gt;prefers-color-scheme&lt;/code&gt; media query.&lt;/p&gt;
&lt;p&gt;I used an &lt;code&gt;object&lt;/code&gt; tag to embed the favicon file above, to ensure that the animation played correctly on page load. I noticed some inconsistencies between browsers with respect to animated SVG support using an &lt;code&gt;img&lt;/code&gt; tag.&lt;/p&gt;</content:encoded></item><item><title>Blogroll</title><link>https://abstractnonsense.xyz/microblog/2026-04-23-blogroll/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-04-23-blogroll/</guid><description>&lt;p&gt;I&amp;rsquo;ve added a &lt;a href="https://abstractnonsense.xyz/blogroll"&gt;&lt;code&gt;/blogroll&lt;/code&gt;&lt;/a&gt; &lt;a href="https://slashpages.net/#blogroll"&gt;slash page&lt;/a&gt; to my blog with the list of blogs I read. The feed URLs are automatically extracted from an OPML extract from my RSS reader of choice, &lt;a href="https://netnewswire.com"&gt;NetNewsWire&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The OPML file is stored in the &lt;code&gt;data&lt;/code&gt; directory of the Hugo project, and the list is rendered using a shortcode, &lt;code&gt;opmlblogroll&lt;/code&gt;. Credit to &lt;a href="https://darcynorman.net/2024/04/01/publishing-an-opml-blogroll-with-hugo/"&gt;Publishing an OPML Blogroll With Hugo&lt;/a&gt; for the inspiration!&lt;/p&gt;</description><content:encoded>&lt;p&gt;I&amp;rsquo;ve added a &lt;a href="https://abstractnonsense.xyz/blogroll"&gt;&lt;code&gt;/blogroll&lt;/code&gt;&lt;/a&gt; &lt;a href="https://slashpages.net/#blogroll"&gt;slash page&lt;/a&gt; to my blog with the list of blogs I read. The feed URLs are automatically extracted from an OPML extract from my RSS reader of choice, &lt;a href="https://netnewswire.com"&gt;NetNewsWire&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The OPML file is stored in the &lt;code&gt;data&lt;/code&gt; directory of the Hugo project, and the list is rendered using a shortcode, &lt;code&gt;opmlblogroll&lt;/code&gt;. Credit to &lt;a href="https://darcynorman.net/2024/04/01/publishing-an-opml-blogroll-with-hugo/"&gt;Publishing an OPML Blogroll With Hugo&lt;/a&gt; for the inspiration!&lt;/p&gt;</content:encoded></item><item><title>Generative AI Policy</title><link>https://abstractnonsense.xyz/microblog/2026-04-16-generative-ai-policy/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-04-16-generative-ai-policy/</guid><description>&lt;p&gt;I&amp;rsquo;ve added a &lt;a href="https://abstractnonsense.xyz/ai"&gt;&lt;code&gt;/ai&lt;/code&gt;&lt;/a&gt; &lt;a href="https://slashpages.net/#ai"&gt;slash page&lt;/a&gt; to my blog with my GenAI policy. I&amp;rsquo;ve excerpted the current contents below:&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them.&amp;rdquo;&lt;/em&gt;
&amp;ndash; &lt;em&gt;Dune&lt;/em&gt; by Frank Herbert.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Every word on this blog is handcrafted by me, often painstakingly. I think of writing as an invaluable form of self-expression, and not one that I wish to delegate to a language model. I enjoy collecting &lt;a href="https://abstractnonsense.xyz/library/words"&gt;new words&lt;/a&gt;, and I&amp;rsquo;m constantly struggling to develop my writing voice&lt;label for="fn0" class="footnote-trigger"&gt;*&lt;/label&gt;&lt;input type="checkbox" id="fn0" class="footnote-checkbox" /&gt;&lt;small class="footnote-aside" id="fn0"&gt;I freely admit that my grammar could really do with some improvement.&lt;/small&gt;.&lt;/p&gt;</description><content:encoded>&lt;p&gt;I&amp;rsquo;ve added a &lt;a href="https://abstractnonsense.xyz/ai"&gt;&lt;code&gt;/ai&lt;/code&gt;&lt;/a&gt; &lt;a href="https://slashpages.net/#ai"&gt;slash page&lt;/a&gt; to my blog with my GenAI policy. I&amp;rsquo;ve excerpted the current contents below:&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them.&amp;rdquo;&lt;/em&gt;
&amp;ndash; &lt;em&gt;Dune&lt;/em&gt; by Frank Herbert.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Every word on this blog is handcrafted by me, often painstakingly. I think of writing as an invaluable form of self-expression, and not one that I wish to delegate to a language model. I enjoy collecting &lt;a href="https://abstractnonsense.xyz/library/words"&gt;new words&lt;/a&gt;, and I&amp;rsquo;m constantly struggling to develop my writing voice&lt;label for="fn0" class="footnote-trigger"&gt;*&lt;/label&gt;&lt;input type="checkbox" id="fn0" class="footnote-checkbox" /&gt;&lt;small class="footnote-aside" id="fn0"&gt;I freely admit that my grammar could really do with some improvement.&lt;/small&gt;.&lt;/p&gt;
&lt;p&gt;Unless otherwise stated, all code snippets are also written from scratch. If I used any textbook or blog resources to inform my code, I&amp;rsquo;ll attribute it inline.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s not to say that I&amp;rsquo;m a &lt;em&gt;complete&lt;/em&gt; luddite.&lt;/p&gt;
&lt;p&gt;If I want to learn how something works in more detail, I think using an LLM for &lt;a href="https://en.wikipedia.org/wiki/Rubber_duck_debugging"&gt;rubber-ducking&lt;/a&gt; can be an invaluable asset to practice the Socratic method. A lot can be gleaned by cutting down a provided scaffold to its essentials, and through that process coming to understand how it works. I wrote a little bit about that &lt;a href="https://abstractnonsense.xyz/microblog/2025-07-13-code-minimisation-for-ethical-learning-from-llms/"&gt;here&lt;/a&gt;, but I should probably revisit that post and flesh it out into a mini-essay sometime.&lt;/p&gt;
&lt;p&gt;I will also happily delegate HTML, CSS, JS to LLMs. Whilst I&amp;rsquo;d like to be better at it, design is certainly not my forte. Similarly, I don&amp;rsquo;t mind using LLMs to generate throw-away shell scripts for data munging and the like.&lt;/p&gt;
&lt;p&gt;Lastly, if I respond to your email, rest assured it&amp;rsquo;s really me and not a bot.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;There are many essays that I concur with on the nature of thinking-through-writing and the dangers of AI-induced atrophy. A good place to start is &lt;a href="https://ergosphere.blog/posts/the-machines-are-fine/"&gt;&amp;ldquo;The machines are fine. I&amp;rsquo;m worried about us.&amp;rdquo;&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>TIL Hyperlinks in terminal emulators</title><link>https://abstractnonsense.xyz/microblog/2026-04-13-til-hyperlinks-in-terminal-emulators/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-04-13-til-hyperlinks-in-terminal-emulators/</guid><description>&lt;p&gt;TIL that terminal emulators can opt to &lt;a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda"&gt;support hyperlinks&lt;/a&gt; via the OSC 8 escape sequence. In &lt;a href="https://github.com/Alhadis/OSC8-Adoption/?tab=readme-ov-file"&gt;terminals that support it&lt;/a&gt;, the following snippet should produce a clickable link:&lt;/p&gt;
&lt;details class="code-details" open&gt;&lt;summary class="code-summary"&gt;
 &lt;span class="code-summary-text"&gt;shell&lt;/span&gt;
 &lt;/summary&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;\e]8;;https://abstractnonsense.xyz\e\\This is a link to this blog\e]8;;\e\\\n&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This is a link to this blog&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;&lt;p&gt;I tested this to work in iTerm and VS Code&amp;rsquo;s terminal, but not in the native macOS Terminal. Conceivably, this could be used nefariously, since a URL rendered may not match the URL &lt;em&gt;opened&lt;/em&gt;. The &lt;a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#security"&gt;linked post&lt;/a&gt; has some valuable points re mitigation and security rationale, though.&lt;/p&gt;</description><content:encoded>&lt;p&gt;TIL that terminal emulators can opt to &lt;a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda"&gt;support hyperlinks&lt;/a&gt; via the OSC 8 escape sequence. In &lt;a href="https://github.com/Alhadis/OSC8-Adoption/?tab=readme-ov-file"&gt;terminals that support it&lt;/a&gt;, the following snippet should produce a clickable link:&lt;/p&gt;
&lt;details class="code-details" open&gt;&lt;summary class="code-summary"&gt;
 &lt;span class="code-summary-text"&gt;shell&lt;/span&gt;
 &lt;/summary&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;\e]8;;https://abstractnonsense.xyz\e\\This is a link to this blog\e]8;;\e\\\n&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This is a link to this blog&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;&lt;p&gt;I tested this to work in iTerm and VS Code&amp;rsquo;s terminal, but not in the native macOS Terminal. Conceivably, this could be used nefariously, since a URL rendered may not match the URL &lt;em&gt;opened&lt;/em&gt;. The &lt;a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#security"&gt;linked post&lt;/a&gt; has some valuable points re mitigation and security rationale, though.&lt;/p&gt;</content:encoded></item><item><title>Real-World Cryptography by David Wong</title><link>https://abstractnonsense.xyz/microblog/2026-03-30-real-world-cryptography-by-david-wong/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-03-30-real-world-cryptography-by-david-wong/</guid><description>&lt;p&gt;This March I read through &lt;em&gt;Real-World Cryptography&lt;/em&gt; by David Wong (&lt;a href="https://www.manning.com/books/real-world-cryptography"&gt;Manning&lt;/a&gt;). I&amp;rsquo;ve been trying to &lt;a href="https://abstractnonsense.xyz/microblog/2025-11-11-implementing-efficient-language-models-under-homomorphic-encryption/"&gt;learn more&lt;/a&gt; about homomorphic encryption, but I don&amp;rsquo;t have any formal background in cryptography. This was the perfect introduction to a wide range of cryptographic primitives (hashing, signatures, authentication, key generation and derivation, encryption&amp;hellip;) and the delicate choreography of how to employ these building blocks to build protocols. There&amp;rsquo;s some interesting context on the conception of the textbook &lt;a href="https://www.cryptologie.net/posts/why-im-writing-a-book-on-cryptography/"&gt;on David&amp;rsquo;s blog&lt;/a&gt;.&lt;/p&gt;</description><content:encoded>&lt;p&gt;This March I read through &lt;em&gt;Real-World Cryptography&lt;/em&gt; by David Wong (&lt;a href="https://www.manning.com/books/real-world-cryptography"&gt;Manning&lt;/a&gt;). I&amp;rsquo;ve been trying to &lt;a href="https://abstractnonsense.xyz/microblog/2025-11-11-implementing-efficient-language-models-under-homomorphic-encryption/"&gt;learn more&lt;/a&gt; about homomorphic encryption, but I don&amp;rsquo;t have any formal background in cryptography. This was the perfect introduction to a wide range of cryptographic primitives (hashing, signatures, authentication, key generation and derivation, encryption&amp;hellip;) and the delicate choreography of how to employ these building blocks to build protocols. There&amp;rsquo;s some interesting context on the conception of the textbook &lt;a href="https://www.cryptologie.net/posts/why-im-writing-a-book-on-cryptography/"&gt;on David&amp;rsquo;s blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Of course, nothing replaces learning the core mathematics from the ground up, and toying with implementations. I envision my next steps will be a combination of trying some practical exercises, and working through a more rigorous textbook. But for the curious software engineer or those, like me, who want a launchpad, this book does an exceptional job.&lt;/p&gt;</content:encoded></item><item><title>Hello clanker</title><link>https://abstractnonsense.xyz/microblog/2026-03-24-hello-clanker/</link><pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-03-24-hello-clanker/</guid><description>&lt;p&gt;Thank you, work, for lending me a Dell Pro Max with GB10 to hack on. The Pro Max is effectively a twin for the NVIDIA DGX Spark, and it comes with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NVIDIA GB10 Blackwell GPU&lt;/li&gt;
&lt;li&gt;128GB LPDDR5X unified memory&lt;/li&gt;
&lt;li&gt;4TB PCIe SSD storage&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="first-impressions"&gt;
 &lt;a href="#first-impressions" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
 First impressions
&lt;/h2&gt;&lt;h3 id="hardware"&gt;
 &lt;a href="#hardware" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
 Hardware
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;My Pro Max had already been setup by a teammate, so I had to go buy a cheap wired keyboard and mouse to connect before I could connect to Wifi.&lt;/li&gt;
&lt;li&gt;This thing is whisper quiet, even under LLM inference workloads, I barely hear the fan.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s super portable (not that I plan on moving relocating it much), and has plug-and-play USB-C power and the usual trio of Wifi/Ethernet/Bluetooth connectivity.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="software"&gt;
 &lt;a href="#software" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
 Software
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;The Pro Max runs a custom &amp;ldquo;NVIDIA DGX OS&amp;rdquo; skin of Ubuntu. My work daily-driver OS is macOS and I normally interact with headless GPUs for day-to-day work. So I was pleasantly surprised at how nice desktop Linux is now! There&amp;rsquo;s no annoying animations, things respond quickly, there&amp;rsquo;s a good amount of tooling built-in to the distro&amp;hellip;&lt;/li&gt;
&lt;li&gt;I first setup &lt;a href="https://docs.nvidia.com/dgx/dgx-spark/nvidia-sync.html"&gt;NVIDIA Sync&lt;/a&gt;, which is a nice wrapper over SSH that lets me connect to the Pro Max from my MacBook, over the local network. It integrates nicely with VSCode, so that&amp;rsquo;s quickly become my preferred way of working.&lt;/li&gt;
&lt;li&gt;I then setup &lt;a href="https://tailscale.com"&gt;Tailscale&lt;/a&gt;, and in literally under 10 minutes, I can now securely connect to the Pro Max from anywhere. Neatly, NVIDIA Sync just released an update that provides native Tailscale support. I hadn&amp;rsquo;t used Tailscale before, but it seems like a super slick way to get all the benefits of WireGuard, without any of the hassle.&lt;/li&gt;
&lt;li&gt;Setting up the usual battery of inference providers/wrappers: &lt;a href="https://github.com/open-webui/open-webui"&gt;Open Web UI&lt;/a&gt; and &lt;a href="https://github.com/ollama/ollama"&gt;Ollama&lt;/a&gt; was ok, but I hit some CUDA issues with &lt;a href="https://github.com/vllm-project/vllm"&gt;vLLM&lt;/a&gt; and &lt;a href="https://github.com/huggingface/transformers"&gt;Transformers&lt;/a&gt;. I could resolve the PyTorch+CUDA toolchain dependencies with &lt;code&gt;venv&lt;/code&gt;s managed by &lt;code&gt;uv&lt;/code&gt;, and careful choice of the required build. But vLLM required me to use the &lt;a href="https://catalog.ngc.nvidia.com/orgs/nvidia/containers/vllm"&gt;NVIDIA vLLM NGC Container&lt;/a&gt;, which seems to be NVIDIA&amp;rsquo;s suggested way to run stuff on the box.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="whats-next"&gt;
 &lt;a href="#whats-next" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
 What&amp;rsquo;s next?
&lt;/h2&gt;&lt;p&gt;I&amp;rsquo;m really just dipping my toes in here, there&amp;rsquo;s so much to learn. I&amp;rsquo;m using it for a work project, but it&amp;rsquo;s really quite nice to be able to run a decently-sized model like GPT-OSS 120b with native MXFP4 weight support.&lt;/p&gt;</description><content:encoded>&lt;p&gt;Thank you, work, for lending me a Dell Pro Max with GB10 to hack on. The Pro Max is effectively a twin for the NVIDIA DGX Spark, and it comes with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NVIDIA GB10 Blackwell GPU&lt;/li&gt;
&lt;li&gt;128GB LPDDR5X unified memory&lt;/li&gt;
&lt;li&gt;4TB PCIe SSD storage&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="first-impressions"&gt;
 &lt;a href="#first-impressions" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
 First impressions
&lt;/h2&gt;&lt;h3 id="hardware"&gt;
 &lt;a href="#hardware" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
 Hardware
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;My Pro Max had already been setup by a teammate, so I had to go buy a cheap wired keyboard and mouse to connect before I could connect to Wifi.&lt;/li&gt;
&lt;li&gt;This thing is whisper quiet, even under LLM inference workloads, I barely hear the fan.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s super portable (not that I plan on moving relocating it much), and has plug-and-play USB-C power and the usual trio of Wifi/Ethernet/Bluetooth connectivity.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="software"&gt;
 &lt;a href="#software" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
 Software
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;The Pro Max runs a custom &amp;ldquo;NVIDIA DGX OS&amp;rdquo; skin of Ubuntu. My work daily-driver OS is macOS and I normally interact with headless GPUs for day-to-day work. So I was pleasantly surprised at how nice desktop Linux is now! There&amp;rsquo;s no annoying animations, things respond quickly, there&amp;rsquo;s a good amount of tooling built-in to the distro&amp;hellip;&lt;/li&gt;
&lt;li&gt;I first setup &lt;a href="https://docs.nvidia.com/dgx/dgx-spark/nvidia-sync.html"&gt;NVIDIA Sync&lt;/a&gt;, which is a nice wrapper over SSH that lets me connect to the Pro Max from my MacBook, over the local network. It integrates nicely with VSCode, so that&amp;rsquo;s quickly become my preferred way of working.&lt;/li&gt;
&lt;li&gt;I then setup &lt;a href="https://tailscale.com"&gt;Tailscale&lt;/a&gt;, and in literally under 10 minutes, I can now securely connect to the Pro Max from anywhere. Neatly, NVIDIA Sync just released an update that provides native Tailscale support. I hadn&amp;rsquo;t used Tailscale before, but it seems like a super slick way to get all the benefits of WireGuard, without any of the hassle.&lt;/li&gt;
&lt;li&gt;Setting up the usual battery of inference providers/wrappers: &lt;a href="https://github.com/open-webui/open-webui"&gt;Open Web UI&lt;/a&gt; and &lt;a href="https://github.com/ollama/ollama"&gt;Ollama&lt;/a&gt; was ok, but I hit some CUDA issues with &lt;a href="https://github.com/vllm-project/vllm"&gt;vLLM&lt;/a&gt; and &lt;a href="https://github.com/huggingface/transformers"&gt;Transformers&lt;/a&gt;. I could resolve the PyTorch+CUDA toolchain dependencies with &lt;code&gt;venv&lt;/code&gt;s managed by &lt;code&gt;uv&lt;/code&gt;, and careful choice of the required build. But vLLM required me to use the &lt;a href="https://catalog.ngc.nvidia.com/orgs/nvidia/containers/vllm"&gt;NVIDIA vLLM NGC Container&lt;/a&gt;, which seems to be NVIDIA&amp;rsquo;s suggested way to run stuff on the box.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="whats-next"&gt;
 &lt;a href="#whats-next" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
 What&amp;rsquo;s next?
&lt;/h2&gt;&lt;p&gt;I&amp;rsquo;m really just dipping my toes in here, there&amp;rsquo;s so much to learn. I&amp;rsquo;m using it for a work project, but it&amp;rsquo;s really quite nice to be able to run a decently-sized model like GPT-OSS 120b with native MXFP4 weight support.&lt;/p&gt;</content:encoded></item><item><title>Migrating email hosting from Cloudflare to iCloud Mail</title><link>https://abstractnonsense.xyz/microblog/2026-03-23-migrating-email-hosting-from-cloudflare-to-icloud-mail/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-03-23-migrating-email-hosting-from-cloudflare-to-icloud-mail/</guid><description>&lt;p&gt;Up until now, I&amp;rsquo;ve been using &lt;a href="https://developers.cloudflare.com/email-routing/"&gt;Cloudflare Email Routing&lt;/a&gt; to forward all emails sent to the &lt;code&gt;hello@abstractnonsense.xyz&lt;/code&gt; email address to my personal iCloud email. This is seamless to configure, as Cloudflare is my domain registrar and keeper of my DNS fiefdom. However, this service is a one-way pipe: if I want to respond to emails, I have to do so from my personal email.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve now migrated to Apple Mail&amp;rsquo;s &lt;a href="https://support.apple.com/en-au/102540"&gt;Custom Email Domain&lt;/a&gt; support, which is bi-directional. This fits in nicely alongside iCloud &lt;a href="https://support.apple.com/en-au/guide/icloud/mm9d9012c9e8/icloud"&gt;Hide My Email&lt;/a&gt; that I&amp;rsquo;ve been using to create ephemeral email addresses to sign up to services and obfuscate my real iCloud address. You do require a paid iCloud+ subscription for both these services, however.&lt;/p&gt;</description><content:encoded>&lt;p&gt;Up until now, I&amp;rsquo;ve been using &lt;a href="https://developers.cloudflare.com/email-routing/"&gt;Cloudflare Email Routing&lt;/a&gt; to forward all emails sent to the &lt;code&gt;hello@abstractnonsense.xyz&lt;/code&gt; email address to my personal iCloud email. This is seamless to configure, as Cloudflare is my domain registrar and keeper of my DNS fiefdom. However, this service is a one-way pipe: if I want to respond to emails, I have to do so from my personal email.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve now migrated to Apple Mail&amp;rsquo;s &lt;a href="https://support.apple.com/en-au/102540"&gt;Custom Email Domain&lt;/a&gt; support, which is bi-directional. This fits in nicely alongside iCloud &lt;a href="https://support.apple.com/en-au/guide/icloud/mm9d9012c9e8/icloud"&gt;Hide My Email&lt;/a&gt; that I&amp;rsquo;ve been using to create ephemeral email addresses to sign up to services and obfuscate my real iCloud address. You do require a paid iCloud+ subscription for both these services, however.&lt;/p&gt;
&lt;p&gt;Both Cloudflare Email Forwarding and iCloud+ Custom Email Domains support subaddressing too, which is neat. Wrt spam, Cloudflare also offers &lt;a href="https://developers.cloudflare.com/waf/tools/scrape-shield/email-address-obfuscation/"&gt;Email Address Obfuscation&lt;/a&gt; to automagically hide emails from bots. I find that I still receive some crypto-spam emails, but nothing egregious (and I suspect those mostly stem from it being on my GitHub profile page).&lt;/p&gt;
&lt;p&gt;I also considered &lt;a href="https://proton.me/support/custom-domain"&gt;Proton Mail&lt;/a&gt;&amp;rsquo;s (paid) custom domain support, but opted for Apple Mail since that&amp;rsquo;s my default client and I already subscribe to iCloud+. In any case, this is just a small quality-fof-life improvement!&lt;/p&gt;</content:encoded></item><item><title>Privacy-preserving machine learning with homomorphic encryption</title><link>https://abstractnonsense.xyz/microblog/2026-03-13-privacy-preserving-machine-learning-with-homomorphic-encryption/</link><pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-03-13-privacy-preserving-machine-learning-with-homomorphic-encryption/</guid><description>&lt;p&gt;At work, I had the opportunity to contribute a short post on &lt;a href="https://medium.com/commbank-technology/privacy-preserving-machine-learning-with-homomorphic-encryption-506f932da330"&gt;Privacy-preserving machine learning with homomorphic encryption&lt;/a&gt; for the &lt;a href="https://medium.com/commbank-technology"&gt;CommBank Technology Medium blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Many thanks to &lt;a href="https://www.linkedin.com/in/bhop/"&gt;Brendan Hopper&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/anna-leontjeva-datascientist/"&gt;Anna Leontjeva&lt;/a&gt; for reviewing and approving it.&lt;/p&gt;</description><content:encoded>&lt;p&gt;At work, I had the opportunity to contribute a short post on &lt;a href="https://medium.com/commbank-technology/privacy-preserving-machine-learning-with-homomorphic-encryption-506f932da330"&gt;Privacy-preserving machine learning with homomorphic encryption&lt;/a&gt; for the &lt;a href="https://medium.com/commbank-technology"&gt;CommBank Technology Medium blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Many thanks to &lt;a href="https://www.linkedin.com/in/bhop/"&gt;Brendan Hopper&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/anna-leontjeva-datascientist/"&gt;Anna Leontjeva&lt;/a&gt; for reviewing and approving it.&lt;/p&gt;</content:encoded></item><item><title>Activation functions and empiricism</title><link>https://abstractnonsense.xyz/microblog/2026-03-04-activation-functions-and-empiricism/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><author>hello@abstractnonsense.xyz (Yossi Frenkel)</author><guid>https://abstractnonsense.xyz/microblog/2026-03-04-activation-functions-and-empiricism/</guid><description>&lt;p&gt;In deep learning literature, there&amp;rsquo;s a veritable menagerie of different activation functions that are commonly employed betwixt layers. Proponents of one or another class of functions will usually proffer up some rationalisation for what makes their choice grounded: differentiability, smoothness, computational complexity, numerical stability, concision&amp;hellip;&lt;/p&gt;
&lt;p&gt;Today I was reading through &lt;a href="https://arxiv.org/abs/2002.05202"&gt;&lt;em&gt;GLU Variants Improve Transformer&lt;/em&gt;&lt;/a&gt; by Noam Shazeer (also of &lt;a href="https://proceedings.neurips.cc/paper_files/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf"&gt;&lt;em&gt;Attention is all you need&lt;/em&gt;&lt;/a&gt; fame) and came across this gem of empiricism:&lt;/p&gt;</description><content:encoded>&lt;p&gt;In deep learning literature, there&amp;rsquo;s a veritable menagerie of different activation functions that are commonly employed betwixt layers. Proponents of one or another class of functions will usually proffer up some rationalisation for what makes their choice grounded: differentiability, smoothness, computational complexity, numerical stability, concision&amp;hellip;&lt;/p&gt;
&lt;p&gt;Today I was reading through &lt;a href="https://arxiv.org/abs/2002.05202"&gt;&lt;em&gt;GLU Variants Improve Transformer&lt;/em&gt;&lt;/a&gt; by Noam Shazeer (also of &lt;a href="https://proceedings.neurips.cc/paper_files/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf"&gt;&lt;em&gt;Attention is all you need&lt;/em&gt;&lt;/a&gt; fame) and came across this gem of empiricism:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We have extended the GLU family of layers and proposed their use in Transformer. In a transfer-learning setup, the new variants seem to produce better perplexities for the de-noising objective used in pre-training, as well as better results on many downstream language-understanding tasks. These architectures are simple to implement, and have no apparent computational drawbacks. &lt;strong&gt;We offer no explanation as to why these architectures seem to work; we attribute their success, as all else, to divine benevolence.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Well, I appreciate the honesty.&lt;/p&gt;</content:encoded></item></channel></rss>