summaryrefslogtreecommitdiff
path: root/gemfeed
diff options
context:
space:
mode:
Diffstat (limited to 'gemfeed')
-rw-r--r--gemfeed/2026-02-15-loadbars-resurrected-from-perl-to-go.html4
-rw-r--r--gemfeed/atom.xml8
2 files changed, 7 insertions, 5 deletions
diff --git a/gemfeed/2026-02-15-loadbars-resurrected-from-perl-to-go.html b/gemfeed/2026-02-15-loadbars-resurrected-from-perl-to-go.html
index 0c530143..302e8730 100644
--- a/gemfeed/2026-02-15-loadbars-resurrected-from-perl-to-go.html
+++ b/gemfeed/2026-02-15-loadbars-resurrected-from-perl-to-go.html
@@ -67,11 +67,11 @@
<br />
<span>I actually tried to fix the Perl version first. I had Claude Code (CLI, running Opus 5.3) attempt to resolve the segfault involving Perl&#39;s multi-threading and SDL. It couldn&#39;t—the issue is deep in the XS bindings and not something you can fix from Perl-land (nor did I want to invest my own time in it either). So the more pragmatic thing to do was to let Claude Code rewrite the whole thing in Go instead. That worked without any major issues. The Go version is cleaner, faster to build, easier to deploy (single static binary), and now has proper unit tests.</span><br />
<br />
-<span>The important thing: for the user, nothing changes. The rewrite&#39;s usage, look, and feel are de-facto identical to the old Perl version. The same hotkeys, the same bar layout, the same colors, the same config file format. If you used Loadbars ten years ago, you can pick up the new version and everything works exactly as you remember. The only difference is under the hood.</span><br />
+<span>I could have redesigned the Perl version to make it work, but I think Go is the better choice in this case. The important thing: for the user, nothing changes. The rewrite&#39;s usage, look, and feel are de-facto identical to the old Perl version. The same hotkeys, the same bar layout, the same colors, the same config file format. If you used Loadbars ten years ago, you can pick up the new version and everything works exactly as you remember. The only difference is under the hood.</span><br />
<br />
<h2 style='display: inline' id='a-brief-history'>A brief history</h2><br />
<br />
-<span>The first commit is from November 5, 2010—over 13 years ago. Back then, it was called <span class='inlinecode'>cpuload</span> and was a quick Perl+SDL hack I wrote at work to keep an eye on a fleet of Linux servers. It grew into Loadbars over the following weeks, gaining memory and network monitoring, ClusterSSH integration, and a config file. The last meaningful Perl development was around 2013. Around that time, there were already a couple of colleagues who used Loadbars frequently. But then I changed my job role and later even jobs, and I stopped development of Loadbars.</span><br />
+<span>The first commit is from November 5, 2010—over 15 years ago. Back then, it was called <span class='inlinecode'>cpuload</span> and was a quick Perl+SDL hack I wrote at work to keep an eye on a fleet of Linux servers. It grew into Loadbars over the following weeks, gaining memory and network monitoring, ClusterSSH integration, and a config file. The last meaningful Perl development was around 2013. Around that time, there were already a couple of colleagues who used Loadbars frequently. But then I changed my job role and later even jobs, and I stopped development of Loadbars.</span><br />
<br />
<span>For the next decade, it sat dormant. I occasionally thought about reviving it, but Perl+SDL threading issues made it impractical. In February 2026, I finally sat down with Claude Code and let it rewrite the whole thing in Go in a single session.</span><br />
<br />
diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml
index ff77d61a..247ec434 100644
--- a/gemfeed/atom.xml
+++ b/gemfeed/atom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
- <updated>2026-02-14T22:43:28+02:00</updated>
+ <updated>2026-02-14T23:02:02+02:00</updated>
<title>foo.zone feed</title>
<subtitle>To be in the .zone!</subtitle>
<link href="https://foo.zone/gemfeed/atom.xml" rel="self" />
@@ -20,6 +20,8 @@
<div xmlns="http://www.w3.org/1999/xhtml">
<h1 style='display: inline' id='loadbars-resurrected-from-perl-to-go-after-15-years'>Loadbars resurrected: From Perl to Go after 15 years</h1><br />
<br />
+<span class='quote'>Published at 2026-02-14T22:43:27+02:00</span><br />
+<br />
<span>Who remembers Loadbars? The small, humble server load monitoring tool I wrote back in November 2010 as a Perl+SDL project during my first job after graduating from university as a Linux Sysadmin. That was over 15 years ago. After being effectively dead for more than a decade, Loadbars is working again -- rewritten in Go from Perl with the help of AI (Claude Code), and it even works on macOS now (as a client).</span><br />
<br />
<a href='./loadbars-resurrected-from-perl-to-go/loadbars.gif'><img alt='Loadbars in action' title='Loadbars in action' src='./loadbars-resurrected-from-perl-to-go/loadbars.gif' /></a><br />
@@ -72,11 +74,11 @@
<br />
<span>I actually tried to fix the Perl version first. I had Claude Code (CLI, running Opus 5.3) attempt to resolve the segfault involving Perl&#39;s multi-threading and SDL. It couldn&#39;t—the issue is deep in the XS bindings and not something you can fix from Perl-land (nor did I want to invest my own time in it either). So the more pragmatic thing to do was to let Claude Code rewrite the whole thing in Go instead. That worked without any major issues. The Go version is cleaner, faster to build, easier to deploy (single static binary), and now has proper unit tests.</span><br />
<br />
-<span>The important thing: for the user, nothing changes. The rewrite&#39;s usage, look, and feel are de-facto identical to the old Perl version. The same hotkeys, the same bar layout, the same colors, the same config file format. If you used Loadbars ten years ago, you can pick up the new version and everything works exactly as you remember. The only difference is under the hood.</span><br />
+<span>I could have redesigned the Perl version to make it work, but I think Go is the better choice in this case. The important thing: for the user, nothing changes. The rewrite&#39;s usage, look, and feel are de-facto identical to the old Perl version. The same hotkeys, the same bar layout, the same colors, the same config file format. If you used Loadbars ten years ago, you can pick up the new version and everything works exactly as you remember. The only difference is under the hood.</span><br />
<br />
<h2 style='display: inline' id='a-brief-history'>A brief history</h2><br />
<br />
-<span>The first commit is from November 5, 2010—over 13 years ago. Back then, it was called <span class='inlinecode'>cpuload</span> and was a quick Perl+SDL hack I wrote at work to keep an eye on a fleet of Linux servers. It grew into Loadbars over the following weeks, gaining memory and network monitoring, ClusterSSH integration, and a config file. The last meaningful Perl development was around 2013. Around that time, there were already a couple of colleagues who used Loadbars frequently. But then I changed my job role and later even jobs, and I stopped development of Loadbars.</span><br />
+<span>The first commit is from November 5, 2010—over 15 years ago. Back then, it was called <span class='inlinecode'>cpuload</span> and was a quick Perl+SDL hack I wrote at work to keep an eye on a fleet of Linux servers. It grew into Loadbars over the following weeks, gaining memory and network monitoring, ClusterSSH integration, and a config file. The last meaningful Perl development was around 2013. Around that time, there were already a couple of colleagues who used Loadbars frequently. But then I changed my job role and later even jobs, and I stopped development of Loadbars.</span><br />
<br />
<span>For the next decade, it sat dormant. I occasionally thought about reviving it, but Perl+SDL threading issues made it impractical. In February 2026, I finally sat down with Claude Code and let it rewrite the whole thing in Go in a single session.</span><br />
<br />