<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>betabug... Sascha Welter (Einträge über programming)</title><link>https://betabug.ch/</link><description></description><atom:link href="https://betabug.ch/tags/programming.xml" rel="self" type="application/rss+xml"></atom:link><language>de</language><copyright>Contents © 2026 Sascha Welter (blog-feedback {at} betabug {dot} ch) </copyright><lastBuildDate>Fri, 24 Apr 2026 11:48:37 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Nicht denken, nur segeln</title><link>https://betabug.ch/blog/nicht-denken-nur-segeln/</link><dc:creator>S. Welter</dc:creator><description>&lt;img alt='Tinten- und Wasserfarben-Bild eines Spielzeugschiffs das "Naxos" heisst' src="https://betabug.ch/images/toy_ship.jpg"&gt;
&lt;p&gt;Im Moment ist Nachdenken überhaupt nicht angesagt. Zuviel passiert
"da draussen" in der weiten Welt. Da haben wir das Fediverse
(aka "Mastodon") und das IndyWeb (aka "Blogs") und dreiviertel davon
scheint immer noch gefüllt zu sein, mit allem was gerade furchtbar ist.
Da zu lesen ist wie ein Gang durchs Minenfeld. Da kann ich auch gleich
die Zeitung lesen.&lt;/p&gt;
&lt;p&gt;Statt dessen funktioniert für mich gerade nur, was ich machen kann ohne
darüber hinaus nachzudenken: Zeichnen, Velofahren, Kochen, Bücher lesen,
Programmieren. Ich beschäftige mich wieder mit Ada, einer
Programmiersprache, zu der ich seit ewigen Zeiten immer wieder mal
zurück kehre. Warum gerade die? Keine Ahnung... vielleicht eine Mischung
aus der altmodischen Verbosität, der Suche nach dem Strickten,
gleichzeitig anachronistisch, nützlich und nicht wirklich hilfreich.
Wobei es am besten funktioniert, wenn ich nicht über den Sinn nachdenke.&lt;/p&gt;</description><category>bad choices</category><category>deutsch</category><category>hopelessness</category><category>programming</category><guid>https://betabug.ch/blog/nicht-denken-nur-segeln/</guid><pubDate>Fri, 24 Apr 2026 11:32:41 GMT</pubDate></item><item><title>Picking up Activity</title><link>https://betabug.ch/blog/picking-up-activity/</link><dc:creator>S. Welter</dc:creator><description>&lt;img alt="The activity graph on a programming project management tool, kinda looks like a bathroom mosaic, with white tiles and as time passes a bunch of darker colored tiles" src="https://betabug.ch/images/activity_graph_cropped.png"&gt;
&lt;p&gt;Many years ago two of my friends had started a little project for
tracking of sports workouts. They had a nice little "proof of concept",
which actually worked. Then, for many years, nothing happened and the
project was forgotten. Except it still bounced around in my head, while
me and my friends were busy with other projects.&lt;/p&gt;
&lt;p&gt;The problem with projects like this is that there is some kind of "bit
rot", or should we say "dependency rot". The project doesn't only
consist of its own code, it depends on a bunch of other code bases,
libraries, tools, etc. which invariably change over time. If you are not
on the ball with your own project, suddenly it will stop installing or
working, because a couple of the underlying libraries have changed. But
I digress...&lt;/p&gt;
&lt;p&gt;Then, I remembered that project again and started to pester my friend Wu
to let us start with it again. The problem was that the code base I had
was outdated, while Wu had some newer changes that he needed to apply.
Also we needed a place to host the project to work on it. So at the
start it was Wu who got busy, installing Forgejo on one of his servers,
getting the git project set up, applying and testing his patches.&lt;/p&gt;
&lt;p&gt;When that was done I started to dive in. At first with some code
reading, some trying out, formulating some lists of tasks. It took me a
while to get comfortable, but then it felt so good to be working with my
friends again, especially on something that is our own thing and is
enjoyable in itself. We called out to a close circle of friends who
might join in, and Max jumped right in. With a lot of energy and
knowledge.&lt;/p&gt;
&lt;p&gt;Now I'm working almost every day a little bit on this. It's a hobby
project after all. Programmers recognize the graphic at the top of this
post right away: It's the "activity graph" of a project. Each square
represents a day (the graph goes back one year, from left to right).
Grey squares are where no work was done, Yellowish-reddish squares
represent days with work done, the darker the more. So you can clearly
see how the work has picked up after a long hiatus. And I'm sure it
won't stop there ... "more to come" as they say.&lt;/p&gt;
&lt;p&gt;The forgejo site is currently locked and password protected. On the one
hand, we want to move the project a little bit more ahead before
"presenting it". On the other hand, we're a bit cautious after reading
all the stories of AI bots thrashing web sites and especially code
repository sites. We don't want to feed the ghouls and we certainly
don't want to deal with the bandwidth and server hassles. We will have
to find a solution for this.&lt;/p&gt;</description><category>english</category><category>programming</category><category>sports</category><guid>https://betabug.ch/blog/picking-up-activity/</guid><pubDate>Sat, 06 Dec 2025 11:09:06 GMT</pubDate></item><item><title>Found a typo in my blog, and then ...</title><link>https://betabug.ch/blog/found-a-typo-in-my-blog-and-then/</link><dc:creator>S. Welter</dc:creator><description>&lt;p&gt;Today I remembered this little weblog again, and as I was looking
through the pages, I noticed a typo. Easy fix, I know where the posts
are on my laptop, so I can fix the mistake in maybe 10 seconds locally.&lt;/p&gt;
&lt;p&gt;But then I have to convince nikola (the static site generator) to re-build
the site, so I can upload the fix. Since I haven't touched anything in a
while, this might be broken... and it was.&lt;/p&gt;
&lt;p&gt;First I had to update / upgrade the virtualenv (in Python 3 this is
called a "venv" now). The magic incantation is something like this:&lt;/p&gt;
&lt;pre class="literal-block"&gt;python3 -m venv --upgrade &amp;lt;path_to_dir&amp;gt;&lt;/pre&gt;
&lt;p&gt;(Where python3 is the python interpreter that should run the whole
circus afterwards.)&lt;/p&gt;
&lt;p&gt;Next I had to &lt;code class="docutils literal"&gt;pip install &lt;span class="pre"&gt;--upgrade&lt;/span&gt; nikola&lt;/code&gt;, the same for &lt;code class="docutils literal"&gt;pip&lt;/code&gt;
itself, then it wanted to have &lt;code class="docutils literal"&gt;jinja2&lt;/code&gt; installed in the virtualenv
(no idea why it wasn't)... and then it worked. Not too bad, all in all.
It leaves me enough time to go for a walk before the sun goes down now.&lt;/p&gt;</description><category>english</category><category>programming</category><category>technical</category><guid>https://betabug.ch/blog/found-a-typo-in-my-blog-and-then/</guid><pubDate>Mon, 02 Oct 2023 15:15:49 GMT</pubDate></item><item><title>Playfair first Ada package</title><link>https://betabug.ch/blog/playfair-first-ada-package/</link><dc:creator>S. Welter</dc:creator><description>&lt;p&gt;So by now I have a simple Ada package that encrypts / decrypts in Playfair and builds an encryption table given a "secret" keyword.&lt;/p&gt;
&lt;p&gt;This is still very much beginner code, the suckage is high.&lt;/p&gt;
&lt;p&gt;But I had LOADS of fun and learned a lot. The strong typing system is at times infuriating, and at times bordering on beautiful.&lt;/p&gt;</description><category>english</category><category>programming</category><guid>https://betabug.ch/blog/playfair-first-ada-package/</guid><pubDate>Thu, 16 Jun 2022 14:21:57 GMT</pubDate></item><item><title>Retro Ada coding</title><link>https://betabug.ch/blog/retro-ada-coding/</link><dc:creator>S. Welter</dc:creator><description>&lt;p&gt;Reading lately so much about retrocomputing made me want to get back to
some simple coding, like back in the times where figuring out a 30 line
BASIC program was an achievement. So a week ago I downloaded a free &lt;a class="reference external" href="https://learn.adacore.com/courses/intro-to-ada/index.html"&gt;Ada
introduction&lt;/a&gt; book and started to "work" through it.&lt;/p&gt;
&lt;p&gt;Yesterday morning I finished with it and set me a little challenge:
Started to implement &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Playfair_cipher"&gt;Playfair&lt;/a&gt; with only the wikipedia article as a
base. Despite having guests for lunch AND dinner, at night at 1AM I had
a basic POC together that encrypted the example message correctly.&lt;/p&gt;</description><category>english</category><category>programming</category><guid>https://betabug.ch/blog/retro-ada-coding/</guid><pubDate>Mon, 13 Jun 2022 08:25:45 GMT</pubDate></item><item><title>Resurected Matryoshka Code</title><link>https://betabug.ch/blog/resurected-matryoshka-code/</link><dc:creator>S. Welter</dc:creator><description>&lt;p&gt;Noticed today that there was some &lt;a class="reference external" href="https://haspar.us/speaking/matryoshka-code/"&gt;appreciation&lt;/a&gt; for one of the posts
from my old blog. So I went and resurrected the text of that post at the
right URL. In the process I found out how to put stuff into random places
in Nikola, so I could actually selectively bring some of the old blog
content back. Here is &lt;a class="reference external" href="https://betabug.ch/blogs/ch-athens/1352/"&gt;Matryoshka Code&lt;/a&gt;.&lt;/p&gt;</description><category>english</category><category>nikola</category><category>programming</category><category>web</category><guid>https://betabug.ch/blog/resurected-matryoshka-code/</guid><pubDate>Thu, 17 Feb 2022 16:15:58 GMT</pubDate></item></channel></rss>