<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Software-Craftsmanship on tedn.life</title>
		<link>http://tedn.life/categories/software-craftsmanship/</link>
		<description>Recent content in Software-Craftsmanship on tedn.life</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Mon, 19 Oct 2026 14:10:09 +0100</lastBuildDate>
		
			<atom:link href="http://tedn.life/categories/software-craftsmanship/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>AOC 2025 - Dark Factories for the win</title>
				<link>http://tedn.life/2026/10/17/aoc-2025-dark-factories-for-the-win/</link>
				<pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2026/10/17/aoc-2025-dark-factories-for-the-win/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;AI Disclosure:&lt;/strong&gt; AI helped turn my Scala meetup presentation, experiment&#xA;reports, and notes into this post. The experiment and the argument are mine.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A funny thing happened while preparing my &lt;a href=&#34;https://github.com/rolandtritsch/reveal-scala3-meetup&#34;&gt;Scala meetup presentation&lt;/a&gt;. I&#xA;set out to challenge a familiar claim: AI is good at Python because there is so&#xA;much Python out there, but surely it struggles with a niche language like Scala.&lt;/p&gt;&#xA;&lt;p&gt;First &amp;hellip; a little disclosure &amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;I am quite far along the &amp;ldquo;let the AI cook&amp;rdquo; end of this spectrum. The red circle&#xA;is me.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Fixing WIFIonICE On Ubuntu</title>
				<link>http://tedn.life/2026/06/30/fixing-wifionice-on-ubuntu/</link>
				<pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2026/06/30/fixing-wifionice-on-ubuntu/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;AI Disclosure:&lt;/strong&gt; AI helped turn live debugging notes into a polished&#xA;write-up. The problem, commands, and final fix came from the actual session.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Sometimes the internet fails before you even get to the internet.&lt;/p&gt;&#xA;&lt;p&gt;I was on an ICE train in Germany, connected my Ubuntu laptop to &lt;code&gt;WIFIonICE&lt;/code&gt;, and&#xA;waited for the login page to appear.&lt;/p&gt;&#xA;&lt;p&gt;Nothing.&lt;/p&gt;&#xA;&lt;p&gt;The WiFi was there. The laptop associated with the access point. But the captive&#xA;portal did not open, and going to the usual login page did not help either.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Dark Factories Squared - Solving the MVF problem</title>
				<link>http://tedn.life/2026/05/03/dark-factories-squared-solving-the-mvf-problem/</link>
				<pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2026/05/03/dark-factories-squared-solving-the-mvf-problem/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;AI Disclosure:&lt;/strong&gt; So &amp;hellip; this one is &amp;hellip; 100% written by human/natural&#xA;intelligence. I only used AI for spell-checking and polishing and the images.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Startups are hard. For a lot of reasons. One is that you not only need to&#xA;fly/run the planes/features from A to B (with your customers on-board), you also&#xA;need to build new planes — and you also need to build/configure/set-up the&#xA;factory that builds/runs/operates the planes (the engineering org, processes,&#xA;build-platform, runtime-/deployment-platform, &amp;hellip;).&lt;/p&gt;</description>
			</item>
			<item>
				<title>The ASEO - The New Process</title>
				<link>http://tedn.life/2026/04/15/the-aseo-the-new-process/</link>
				<pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2026/04/15/the-aseo-the-new-process/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;AI Disclosure:&lt;/strong&gt; This blog post was generated through a conversation with&#xA;&lt;a href=&#34;https://claude.ai/code&#34;&gt;Claude Code&lt;/a&gt;. The research was AI-assisted. Here is the prompt&#xA;that drove it:&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;&amp;ldquo;Research the top 3 AI-enabled software-development processes that are&#xA;currently (last 3 months) discussed and suggested. Identify the top 3&#xA;AI-enabled full SDLC methodologies (end-to-end delivery frameworks, not just&#xA;tools or single-step patterns) that are being actively discussed, proposed, or&#xA;adopted in the software engineering community. For each: core idea, key&#xA;proponents, adoption status, a &amp;lsquo;watch out&amp;rsquo;, and sources.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>The ASEO - Product Managers to the Rescue</title>
				<link>http://tedn.life/2026/04/12/the-aseo-product-managers-to-the-rescue/</link>
				<pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2026/04/12/the-aseo-product-managers-to-the-rescue/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;AI Disclosure:&lt;/strong&gt; This blog post was written with the help of &lt;a href=&#34;https://claude.ai/code&#34;&gt;Claude&#xA;Code&lt;/a&gt;. Here is the prompt that drove it:&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Prompt:&lt;/em&gt; &amp;ldquo;Take a look at the last 5 blog posts in content/posts. Especially&#xA;the ones about the ASO. Write another blog post. The title is: The ASO -&#xA;Product Managers to the rescue. The main idea/premise here is that the role of&#xA;the PM has already changed (in the last 24 months). Today the AI-enabled PM is&#xA;much more self-sufficient and independent than he/she used to be. The existing&#xA;tooling (lovable, vercel, figma, &amp;hellip; and the like) has already changed what&#xA;PMs are doing and the way PMs work (one step closer to a feature fly-wheel).&#xA;Please make sure the list of tools PMs use right now is complete and&#xA;comprehensive (Top 10). The next step is to not only change how the PM is&#xA;working, but to evolve the role itself. In that context we want to come up&#xA;with a new name for a role that current PMs can play in the next better&#xA;AI-enabled SDLC and write a job description for that role.&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>Managing Transitions - Fear, Uncertainty and Doubt</title>
				<link>http://tedn.life/2026/04/11/managing-transitions-fear-uncertainty-and-doubt/</link>
				<pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2026/04/11/managing-transitions-fear-uncertainty-and-doubt/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;AI Disclosure:&lt;/strong&gt; This blog post was written with the help of &lt;a href=&#34;https://claude.ai/code&#34;&gt;Claude&#xA;Code&lt;/a&gt;. Here is the prompt that drove it:&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Prompt:&lt;/em&gt; &amp;ldquo;Write a new blog post: Managing Transitions - Fear, Uncertainty and&#xA;Doubt. In the context of ASEO. Change leads to uncertainty, which leads to&#xA;fear, which leads to resistance. People who resist the AI transformation&#xA;either honestly believe it is bad and does not work, or they are afraid that&#xA;the new jobs are jobs they either do not want to do or even worse cannot do.&#xA;Change is uncomfortable. People who are comfortable feeling uncomfortable will&#xA;thrive. AI-Adoption at an organizational level is not necessarily a technical&#xA;problem, but more a communication challenge. You need to be able to articulate&#xA;how the place you are going to looks like and why/how this is a good place for&#xA;everybody involved. You know you have succeeded when the employees can see&#xA;themselves in this new picture.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; The blog post was polished and hardened by hand.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>The ASEO - State of the Union</title>
				<link>http://tedn.life/2026/04/10/the-aseo-state-of-the-union/</link>
				<pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2026/04/10/the-aseo-state-of-the-union/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;AI Disclosure:&lt;/strong&gt; This blog post was generated through a conversation with&#xA;&lt;a href=&#34;https://claude.ai/code&#34;&gt;Claude Code&lt;/a&gt;. The research was AI-assisted. Here are the two&#xA;prompts that drove it:&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Prompt 1:&lt;/em&gt; &amp;ldquo;Let&amp;rsquo;s do some research. Who else is thinking and talking about&#xA;the AI-assisted or AI-enabled Software Engineering Organization of the future?&#xA;Who are the thought-leaders? And what do they say? What are the top 10&#xA;thoughts, ideas, predictions? Make sure the research focuses on the last 3&#xA;months. It needs to be current.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Prompt 2:&lt;/em&gt; &amp;ldquo;Let&amp;rsquo;s create a &amp;lsquo;The ASEO - State of the Union&amp;rsquo; blog post with&#xA;these top 10 insights/findings. The insights/findings should be ~100 words and&#xA;should feature a list of sources. Read some of the other blog posts to learn&#xA;the style. Add pictures. Full disclosure: Put a statement at the top of the&#xA;blog post to point out that the post was generated by AI and document the two&#xA;prompts to explain where this is coming from.&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>The AI-enabled Software-Engineering Organization (ASEO) - The next frontier</title>
				<link>http://tedn.life/2026/02/07/the-ai-enabled-software-engineering-organization-aseo-the-next-frontier/</link>
				<pubDate>Sat, 07 Feb 2026 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2026/02/07/the-ai-enabled-software-engineering-organization-aseo-the-next-frontier/</guid>
				<description>&lt;p&gt;I am running &lt;a href=&#34;https://www.meetup.com/the-augmented-software-engineer&#34;&gt;The Augmented Software-Engineer&lt;/a&gt; (ASE) Meetup in Dublin. The&#xA;other day we we had the first one for this year (Note: Fantastic event. Check it&#xA;out &lt;a href=&#34;https://www.meetup.com/the-augmented-software-engineer/events/312875427&#34;&gt;the recap&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;A year ago we had 50 members. Today we have ~750 members on the meetup-group. We&#xA;are (all) learning a lot. Tools, Best Practices, Workflows, &amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;And some of the presentation are obviously &amp;ldquo;success-stories&amp;rdquo;. Mainly how much&#xA;time you can save with using AI. In the best case you can for instance generate&#xA;a complete Proof-of-Concepts (POC) or Minimal-Viable-Products (MVP) from scratch&#xA;in less than a week (maybe down from a month), which sends a message along the&#xA;lines of: &lt;strong&gt;AI makes Software-Engineers 400% faster/more productive!&lt;/strong&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Claude Code - Tools Primer</title>
				<link>http://tedn.life/2026/02/01/claude-code-tools-primer/</link>
				<pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2026/02/01/claude-code-tools-primer/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This blog post was generated through a conversation with Claude&#xA;based on my explorations of Claude Code&amp;rsquo;s architecture. You can&#xA;&lt;a href=&#34;https://claude.ai/chat/CHAT_ID&#34;&gt;read the full conversation here&lt;/a&gt; to see how&#xA;we worked through these ideas together. The thoughts and arguments are mine,&#xA;but Claude helped me articulate and structure them.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s set the stage. Claude Code has been making waves in the agentic coding&#xA;space. But if you dive into it, you&amp;rsquo;ll quickly encounter a constellation of&#xA;concepts: Commands, Skills, Agents (Subagents), and MCP Servers. The marketing&#xA;materials make them all sound essential. The reality? It&amp;rsquo;s more nuanced than&#xA;that.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Whisper for Wayland - A vibe coding journey</title>
				<link>http://tedn.life/2025/08/18/whisper-for-wayland-a-vibe-coding-journey/</link>
				<pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2025/08/18/whisper-for-wayland-a-vibe-coding-journey/</guid>
				<description>&lt;p&gt;Sometimes it is the simple things that are hard.&lt;/p&gt;&#xA;&lt;p&gt;These days I am doing a lot of vibe-coding or agentic-coding or &amp;hellip; whatever you&#xA;want to call it when you do not describe how to build something, but describe&#xA;what you want the AI to build.&lt;/p&gt;&#xA;&lt;figure style=&#34;text-align:center; margin:1.5em auto;&#34;&gt;&#xA;&lt;img src=&#34;https://secure.meetupstatic.com/photos/event/2/7/a/4/clean_524890148.webp&#34; alt=&#34;Meetup event photo&#34; style=&#34;display:block;margin:auto;max-width:100%;max-width:1024px;&#34; width=&#34;80%&#34;/&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;figcaption style=&#34;font-size:0.85em;color:#666;margin-top:0.4em;&#34;&gt;Meetup event photo — Source: secure.meetupstatic.com&lt;/figcaption&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;And sometimes you reach a state of flow, when the requirements just flow out of&#xA;you, but then you have to start typing and the typing can break the flow.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Replacing Skype - TEDN is using the force (again)</title>
				<link>http://tedn.life/2025/05/04/replacing-skype-tedn-is-using-the-force-again/</link>
				<pubDate>Sun, 04 May 2025 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2025/05/04/replacing-skype-tedn-is-using-the-force-again/</guid>
				<description>&lt;p&gt;First of all: May the 4th be with you! Always!!!&lt;/p&gt;&#xA;&lt;figure style=&#34;float:left; max-width:30%; margin:0.5em 1.5em 0.5em 0;&#34;&gt;&#xA;&lt;img src=&#34;https://live.staticflickr.com/7345/11734671183_21ddacc2c0_w.jpg&#34; alt=&#34;Star Wars &#39;May the 4th be with you&#39; themed image&#34; style=&#34;display:block;width:auto;height:auto;max-width:100%;max-height:280px;&#34;/&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;figcaption style=&#34;font-size:0.8em;color:#666;text-align:center;margin-top:0.3em;&#34;&gt;Star Wars &#39;May the 4th be with you&#39; themed image — Source: Flickr&lt;/figcaption&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Second: (Obviously) In May Microsoft is going to retire &lt;code&gt;Skype&lt;/code&gt; and is asking&#xA;everybody to migrate to &lt;code&gt;Microsoft Teams&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;div style=&#34;clear:both;&#34;&gt;&lt;/div&gt;&#xA;&lt;figure style=&#34;text-align:center; margin:1.5em auto;&#34;&gt;&#xA;&lt;img src=&#34;http://tedn.life/images/2025-05-04-replacing-skype/skype.png&#34; alt=&#34;Email from Microsoft announcing that Skype free services will be retired on May 5, 2025&#34; style=&#34;display:block;margin:auto;max-width:100%;max-width:610px;&#34; width=&#34;80%&#34;/&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;figcaption style=&#34;font-size:0.85em;color:#666;margin-top:0.4em;&#34;&gt;Email from Microsoft announcing that Skype free services will be retired on May 5, 2025 — Photo: Roland Tritsch&lt;/figcaption&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;My only use-case for Skype was to dial landline numbers from my (ubuntu) laptop.&#xA;As an alternative I have looked into &lt;code&gt;Google Voice&lt;/code&gt;, but was not able to&#xA;associate my Irish mobile phone number with my Goggle account to enable the&#xA;voice features.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Track-pad behaving erratic - TEDN problem from hell</title>
				<link>http://tedn.life/2025/04/23/track-pad-behaving-erratic-tedn-problem-from-hell/</link>
				<pubDate>Wed, 23 Apr 2025 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2025/04/23/track-pad-behaving-erratic-tedn-problem-from-hell/</guid>
				<description>&lt;p&gt;This goes into the bucket of&#xA;&lt;code&gt;problems-people-do-not-have-that-live-a-less-ambitious-life&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I am &lt;code&gt;The Extreme Digital Nomad&lt;/code&gt;. I write code. Always and everywhere.&lt;/p&gt;&#xA;&lt;p&gt;Right now I am in Athens Airport (in the FloCafe). I am sitting down. I plug in&#xA;my laptop and connect to the internet. I go to my browser (to finish my&#xA;installation of &lt;a href=&#34;https://github.com/danny-avila/LibreChat&#34;&gt;LibreChat&lt;/a&gt; (highly recommended; more on that in a separate&#xA;blog post)) and realize that my mouse pointer is suddenly moving erratically.&#xA;What the hell &amp;hellip;&lt;/p&gt;</description>
			</item>
			<item>
				<title>The AOC 2024 Retro - Finally!!!</title>
				<link>http://tedn.life/2025/04/09/the-aoc-2024-retro-finally/</link>
				<pubDate>Wed, 09 Apr 2025 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2025/04/09/the-aoc-2024-retro-finally/</guid>
				<description>&lt;p&gt;I am calling it! I declare &lt;a href=&#34;https://github.com/rolandtritsch/scala3-aoc-2024&#34;&gt;my&lt;/a&gt; Advent of Code (&lt;a href=&#34;https://adventofcode.com&#34;&gt;AOC&lt;/a&gt;) for 2024 done!&#xA;Finally!&lt;/p&gt;&#xA;&lt;p&gt;Clarification: This does not mean that I did all of it, but I did what I wanted&#xA;to do and was able to do to make the tree look like this &amp;hellip;&lt;/p&gt;&#xA;&lt;figure style=&#34;float:left; max-width:30%; margin:0.5em 1.5em 0.5em 0;&#34;&gt;&#xA;&lt;img src=&#34;http://tedn.life/images/2025-04-09-aoc/aoc-tree.png&#34; alt=&#34;Advent of Code 2024 ASCII calendar showing stars earned across all 25 days&#34; style=&#34;display:block;width:auto;height:auto;max-width:100%;max-height:280px;&#34;/&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;figcaption style=&#34;font-size:0.8em;color:#666;text-align:center;margin-top:0.3em;&#34;&gt;Advent of Code 2024 ASCII calendar showing stars earned across all 25 days — Photo: Roland Tritsch&lt;/figcaption&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;The last star that was missing was part1 of Day21 (more on this later).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ubuntu, Wayland, Sway - Just mirror the screen!</title>
				<link>http://tedn.life/2025/03/09/ubuntu-wayland-sway-just-mirror-the-screen/</link>
				<pubDate>Sun, 09 Mar 2025 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2025/03/09/ubuntu-wayland-sway-just-mirror-the-screen/</guid>
				<description>&lt;p&gt;This is a good one. Let me go back to the beginning &amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Once upon a time there was a pandemic and during this pandemic we forgot how to&#xA;do meetups.&lt;/p&gt;&#xA;&lt;p&gt;We also (after the pandemic) updated and upgraded ourselves from Ubuntu/X11/i3&#xA;to Ubuntu/Wayland/Sway.&lt;/p&gt;&#xA;&lt;p&gt;And the world was good. Until &amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;&amp;hellip; I tried to do a live demo at the latest Augmented Software Engineering&#xA;&lt;a href=&#34;https://www.meetup.com/the-augmented-software-engineer&#34;&gt;Meetup&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Imaging my surprise when I found out that with Ubuntu/Wayland/Sway there is no&#xA;good/easy way to mirror your screen to a projector.&lt;/p&gt;</description>
			</item>
			<item>
				<title>About AOC, VSCode, Scala, Mill and NO_COLOR</title>
				<link>http://tedn.life/2024/12/22/about-aoc-vscode-scala-mill-and-no_color/</link>
				<pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2024/12/22/about-aoc-vscode-scala-mill-and-no_color/</guid>
				<description>&lt;p&gt;It is this time of the year again: We are all doing the Advent of Code&#xA;(&lt;a href=&#34;https://github.com/rolandtritsch/scala-aoc-2017&#34;&gt;AOC&lt;/a&gt;), right?&lt;/p&gt;&#xA;&lt;p&gt;For me the AOC has never been about speed and solving the problems fast and the&#xA;leaderboard.&lt;/p&gt;&#xA;&lt;p&gt;For me it has always been about learning something new or getting better at&#xA;something (sharpening the saw) or developing a new, better way to solve problems&#xA;(also known as becoming a better software craftsman).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Huffman Trees/Codes - Why are they different?</title>
				<link>http://tedn.life/2024/11/19/huffman-trees-codes-why-are-they-different/</link>
				<pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2024/11/19/huffman-trees-codes-why-are-they-different/</guid>
				<description>&lt;p&gt;Right now I am solving the &lt;a href=&#34;https://aperiodic.net/pip/scala/s-99&#34;&gt;99-scala-problems&lt;/a&gt;. Again!!!&lt;/p&gt;&#xA;&lt;p&gt;This time around I am using them to learn more about what it means to be an&#xA;Augmented Software Engineer (&lt;a href=&#34;https://tedn.life/2024/10/24/the-augmented-software-engineer-what-is-it&#34;&gt;ASE&lt;/a&gt;). Just subscribe to the &lt;a href=&#34;https://www.youtube.com/playlist?list=PLkyoRW3IlOGDde_bGbLu3T7WrZQe6mt1_&#34;&gt;podcast&lt;/a&gt; to&#xA;follow along.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://aperiodic.net/pip/scala/s-99/#p50&#34;&gt;P50&lt;/a&gt; is to build a &lt;a href=&#34;https://en.wikipedia.org/wiki/Huffman_coding&#34;&gt;Huffman tree&lt;/a&gt; and to return the set of Huffman codes&#xA;for the given string.&lt;/p&gt;&#xA;&lt;figure style=&#34;text-align:center; margin:1.5em auto;&#34;&gt;&#xA;&lt;img src=&#34;https://media.geeksforgeeks.org/wp-content/uploads/20220906180456/6.png&#34; alt=&#34;Diagram illustrating how a Huffman tree is built&#34; style=&#34;display:block;margin:auto;max-width:100%;max-width:1000px;&#34; width=&#34;80%&#34;/&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;figcaption style=&#34;font-size:0.85em;color:#666;margin-top:0.4em;&#34;&gt;Diagram illustrating how a Huffman tree is built — Source: media.geeksforgeeks.org&lt;/figcaption&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://codeium.com&#34;&gt;codeium&lt;/a&gt; found a good implementation, but struggled to find tests that&#xA;worked.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Augmented Software Engineer - What is it?</title>
				<link>http://tedn.life/2024/10/24/the-augmented-software-engineer-what-is-it/</link>
				<pubDate>Thu, 24 Oct 2024 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2024/10/24/the-augmented-software-engineer-what-is-it/</guid>
				<description>&lt;p&gt;Updated &amp;hellip;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2024-11-08: Added section at the end on published and planned episodes&lt;/li&gt;&#xA;&lt;li&gt;2024-11-19: Added episode 3-5&lt;/li&gt;&#xA;&lt;li&gt;2024-11-25: Added episode 6&lt;/li&gt;&#xA;&lt;li&gt;2024-11-28: Added episode 7-10&lt;/li&gt;&#xA;&lt;li&gt;2024-12-23: Added episode 11-13&lt;/li&gt;&#xA;&lt;li&gt;2024-01-26: Added episode 14&lt;/li&gt;&#xA;&lt;li&gt;2024-02-27: Added episode 15-17&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;I can hear you loud and clear &amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ooohhh my god: Not another blog post about AI!!!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Bear with me. I will try to make reading it (or watching it) worth while your&#xA;time. I promise.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Software Gardening Manifesto - A copy</title>
				<link>http://tedn.life/2023/07/01/the-software-gardening-manifesto-a-copy/</link>
				<pubDate>Sat, 01 Jul 2023 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2023/07/01/the-software-gardening-manifesto-a-copy/</guid>
				<description>&lt;p&gt;In case the Software Gardening &lt;a href=&#34;https://softwaregarden.io&#34;&gt;Manifesto&lt;/a&gt; is down or otherwise not available,&#xA;here is a copy of it &amp;hellip;&lt;/p&gt;&#xA;&lt;h2 id=&#34;software-gardening-manifesto&#34;&gt;SOFTWARE GARDENING MANIFESTO&lt;/h2&gt;&#xA;&lt;p&gt;Software Gardeners are professionals who perceive software development in a&#xA;different way. Our goal is to spread the word of our core values, be mentors for&#xA;the new developers and create software that it is developed at the highest&#xA;quality bar.&lt;/p&gt;&#xA;&lt;p&gt;Every software gardener believes and embraces the following:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Emacs Pair Programming - Innovation-Week Q2/2022</title>
				<link>http://tedn.life/2022/05/01/emacs-pair-programming-innovation-week-q2-2022/</link>
				<pubDate>Sun, 01 May 2022 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2022/05/01/emacs-pair-programming-innovation-week-q2-2022/</guid>
				<description>&lt;p&gt;We (at Community) just had another&#xA;&lt;a href=&#34;https://tedn.life/2021/02/12/the-first-summit/hack-a-thon-community/&#34;&gt;Innovation-Week&lt;/a&gt;.&#xA;I was actually working on generating &lt;a href=&#34;https://pactflow.io&#34;&gt;pact-files&lt;/a&gt; from&#xA;frontend code and then generating&#xA;&lt;a href=&#34;https://github.com/open-api-spex/open_api_spex&#34;&gt;openapi spec files from elixir backend code&lt;/a&gt;&#xA;and then automatically check that the frontend pact is compatible with the&#xA;backend openapi spec while running the build pipeline for the&#xA;frontend(s)/backend.&lt;/p&gt;&#xA;&lt;p&gt;But this is not what this blog post is all about :).&lt;/p&gt;&#xA;&lt;p&gt;While working on this &lt;a href=&#34;https://www.linkedin.com/in/geoff-smith-46739188&#34;&gt;Geoff&lt;/a&gt;&#xA;and myself also decided that it is a good opportunity to sharpen the tools and&#xA;take remote-first pair-programming to the next level.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Reconnecting to RabbitMQ with AMQP in Elixir</title>
				<link>http://tedn.life/2021/10/26/reconnecting-to-rabbitmq-with-amqp-in-elixir/</link>
				<pubDate>Tue, 26 Oct 2021 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2021/10/26/reconnecting-to-rabbitmq-with-amqp-in-elixir/</guid>
				<description>&lt;p&gt;Updated (2022-01-01): Added &lt;code&gt;stage&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;At Community we are building a platform that will allow you to have meaningful&#xA;conversations with large audiences &amp;hellip; at scale!!!&lt;/p&gt;&#xA;&lt;p&gt;The architectural backbone is a shared-nothing micro-services architecture, that&#xA;uses an event-bus for state propagation.&lt;/p&gt;&#xA;&lt;p&gt;To avoid any kind of 2-phase-commit shenanigans we are publishing events&#xA;at-least-once (not exactly-once). That means our services need to be able to and&#xA;are able to deal with duplicated events gracefully (by ignoring them).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Effective Programming with Scala(3)</title>
				<link>http://tedn.life/2021/06/02/effective-programming-with-scala3/</link>
				<pubDate>Wed, 02 Jun 2021 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2021/06/02/effective-programming-with-scala3/</guid>
				<description>&lt;p&gt;Just finished the brand new&#xA;&lt;a href=&#34;https://www.coursera.org/learn/effective-scala&#34;&gt;Effective Programming with Scala&lt;/a&gt;&#xA;course on Coursera.&lt;/p&gt;&#xA;&lt;figure style=&#34;text-align:center; margin:1.5em auto;&#34;&gt;&#xA;&lt;img src=&#34;http://tedn.life/images/2021-06-02-effective-scala/cert.png&#34; alt=&#34;Coursera course certificate for Effective Programming in Scala&#34; style=&#34;display:block;margin:auto;max-width:100%;max-width:1147px;&#34; width=&#34;80%&#34;/&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;figcaption style=&#34;font-size:0.85em;color:#666;margin-top:0.4em;&#34;&gt;Coursera course certificate for Effective Programming in Scala — Photo: Roland Tritsch&lt;/figcaption&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;It is a beginners course and it is excellent for beginners. Good introduction to&#xA;Scala and also into the basics of functional programming.&lt;/p&gt;&#xA;&lt;p&gt;But &amp;hellip; for me the main attraction was that the course is based on (and is&#xA;using) Scala3, means even if you are a seasoned Scala2 software engineer (and/or&#xA;have not written Scala code in a while), this course is an excellent refresher&#xA;that will allow you to grasp the essence of why/how Scala3 is different from&#xA;Scala2 in the shortest possible time (I was playing the videos on 2x and was&#xA;able to do all 6 weeks in 6x3=18 hours; and used the exercises to make my IDE&#xA;(emacs/metals) work with Scala3).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Some more fun with Scala3</title>
				<link>http://tedn.life/2021/05/15/some-more-fun-with-scala3/</link>
				<pubDate>Sat, 15 May 2021 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2021/05/15/some-more-fun-with-scala3/</guid>
				<description>&lt;p&gt;Scala3 is&#xA;&lt;a href=&#34;https://www.scala-lang.org/blog/2021/05/14/scala3-is-here.html&#34;&gt;officially released&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In my earlier &lt;a href=&#34;https://tedn.life/2021/05/01/more-fun-with-scala3&#34;&gt;post&lt;/a&gt; I saw&#xA;some weird performance differences between Scala2 and Scala3 (RC3) and felt&#xA;(obviously) compelled to run&#xA;&lt;a href=&#34;https://docs.google.com/spreadsheets/d/14wLxVAdPpnWcp2c7Sy_tr6PVnBUU17fx39EExUrtbfs/edit?usp=sharing&#34;&gt;the benchmark again&lt;/a&gt;&#xA;against 3.0.0.&lt;/p&gt;&#xA;&lt;figure style=&#34;text-align:center; margin:1.5em auto;&#34;&gt;&#xA;&lt;img src=&#34;http://tedn.life/images/2021-05-01-more-scala3/bench2.png&#34; alt=&#34;Bar chart comparing per-day percentage performance difference for Scala 3.0.0-RC3 and the final Scala 3.0.0 release&#34; style=&#34;display:block;margin:auto;max-width:100%;max-width:600px;&#34; width=&#34;80%&#34;/&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;figcaption style=&#34;font-size:0.85em;color:#666;margin-top:0.4em;&#34;&gt;Bar chart comparing per-day percentage performance difference for Scala 3.0.0-RC3 and the final Scala 3.0.0 release — Photo: Roland Tritsch&lt;/figcaption&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;And &amp;hellip; big surprise: Everything is back to normal. Scala3 is as fast as Scala2.&lt;/p&gt;</description>
			</item>
			<item>
				<title>More fun with Scala3</title>
				<link>http://tedn.life/2021/05/01/more-fun-with-scala3/</link>
				<pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2021/05/01/more-fun-with-scala3/</guid>
				<description>&lt;p&gt;&lt;strong&gt;Note: Check out the&#xA;&lt;a href=&#34;https://tedn.life/2021/05/15/some-more-fun-with-scala3&#34;&gt;3.0 benchmark numbers&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The release of Scala3 is&#xA;&lt;a href=&#34;https://contributors.scala-lang.org/t/scala3-rc3-is-planned/5006&#34;&gt;imminent&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In April I ported/migrated &lt;a href=&#34;https://github.com/NinesStack/nmesos&#34;&gt;nmesos&lt;/a&gt; from&#xA;Scala2 to Scala3 and I just did a quick benchmark to see what Scala3 is doing to&#xA;my &lt;a href=&#34;https://adventofcode.com&#34;&gt;Advent-of-Code&lt;/a&gt; implementation from&#xA;&lt;a href=&#34;https://github.com/rolandtritsch/scala-aoc-2017/tree/scala3&#34;&gt;2017&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Initially I was wondering (and maybe a little bit afraid) how difficult&#xA;migrating to Scala3 will be (and what problems I will be running into).&lt;/p&gt;&#xA;&lt;p&gt;The good news is that migrating to Scala3 is not difficult at all. Mainly&#xA;because of the Scala2/Scala3&#xA;&lt;a href=&#34;https://docs.scala-lang.org/scala3/guides/migration/compatibility-intro.html&#34;&gt;interoperability&lt;/a&gt;,&#xA;which means that as long as you are on Scala &lt;code&gt;2.13&lt;/code&gt; you are more than half-way&#xA;there.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Scala 3 is ... gluten-free!!!</title>
				<link>http://tedn.life/2021/02/21/scala-3-is-...-gluten-free/</link>
				<pubDate>Sun, 21 Feb 2021 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2021/02/21/scala-3-is-...-gluten-free/</guid>
				<description>&lt;p&gt;A couple of month ago I started to have stomach cramps. First it was only once&#xA;week, but then it was more or less constant.&lt;/p&gt;&#xA;&lt;p&gt;Funny enough I had to find out that (even) late(r) in life you&#xA;&lt;a href=&#34;https://www.everydayhealth.com/news/developing-celiac-later-life-can-you-become-gluten-intolerant/&#34;&gt;can &amp;ldquo;become&amp;rdquo; gluten-sensitive/-intolerant&lt;/a&gt;.&#xA;Means &amp;hellip; a couple of weeks ago I got myself tested and changed my diet (to&#xA;(mostly) gluten-free) and (big surprise !!!) &amp;hellip; after 3 days I was pain free!&lt;/p&gt;</description>
			</item>
			<item>
				<title>Code Elixir LDN 2019 - 3 languages in 3 minutes</title>
				<link>http://tedn.life/2019/08/01/code-elixir-ldn-2019-3-languages-in-3-minutes/</link>
				<pubDate>Thu, 01 Aug 2019 00:00:00 +0000</pubDate>
				<guid>http://tedn.life/2019/08/01/code-elixir-ldn-2019-3-languages-in-3-minutes/</guid>
				<description>&lt;p&gt;Last week I was in London attending&#xA;&lt;a href=&#34;https://codesync.global/conferences/code-elixir-ldn-2019/&#34;&gt;Code Elixir LDN 2019&lt;/a&gt;&#xA;delivering a lightening talk on&#xA;&lt;a href=&#34;https://github.com/rolandtritsch/elixir-ldn-2019&#34;&gt;3 languages in 3 minutes&lt;/a&gt; &amp;hellip;&lt;/p&gt;&#xA;&lt;iframe style=&#34;display:block; margin-top: 5px; margin-bottom: 10px; margin-left: auto; margin-right: auto; border:3px solid black;&#34; width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/LoTHaKhHcWY&#34; frameborder=&#34;10&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt; &lt;!-- markdownlint-disable-line MD013 --&gt;&#xA;&lt;p&gt;This was my first Elixir conference. We had about 100 people there. The&#xA;conference was very well organized. From what I can see London is one the Elixir&#xA;hotspots in Europe.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
