Peter 'Codecop' Kofler's Blog

October 12, 2026

Improving the Harness

[image error] Now that GenAI is all the rage, I will share more about it. Kent Beck says "nobody knows for sure, we can just explore and share what we found".

Here is a little trick I use to improve my AI workflow. Birgitta Böckeler defines harness as the support we give a coding agent to help it do its job, so harness engineering is all the work we do around that to make that possible. A part of the harness comes with your coding agent (i.e. inner harness - e.g. its system prompt), and there are parts which...
 •  0 comments  •  flag
Share on Twitter
Published on October 12, 2026 05:37

September 28, 2026

Finally Fizz Buzz Turing Machine

Now that our GenAI agents are doing all coding, what does remain for geek fun? I do not mean developing side projects or open source, I mean fiddling with code, tweaking it, exploring constructs like Only Exceptions for Flow Control. Such coding activities used to be practice or learning. What is their use now? At least they are entertaining (me). I use the tag Coding Fun to mark ideas of educational entertaining hobby coding.

Back to the Turing Machine
One of these ideas was to create Fizz Buz...
 •  0 comments  •  flag
Share on Twitter
Published on September 28, 2026 04:16

September 15, 2026

My Writing and GenAI

I follow my plan of focusing on fewer tasks. This puts a lot of pressure on my time. In addition I spent almost every evening of the last months exploring GenAI. My wife got sick of me talking about agents, tokens and the like. Besides my feelings about the change of our industry I did not write much. Having little time and less practise in writing made writing more unlikely - a vicious cycle. I had no idea where putting my thoughts would end up. It might become a rant. (Sidebar 1)

[image error] Working With...
 •  0 comments  •  flag
Share on Twitter
Published on September 15, 2026 12:00

April 20, 2026

Accepting GenAI

[image error] My Blacklist of Technologies
When I started out as a Java developer, I wanted to know everything about Java. I wanted to know all libraries and all frameworks. What a silly idea. Clearly Java or software development in general was and still is way too vast to know everything. Beginning 2003, I started ignoring certain technologies. I maintained a black list of topics and libraries, e.g. I decided to ignore all Java web frameworks. Later I ignored EJBs and then I added the whole Spring ecosystem ...
 •  0 comments  •  flag
Share on Twitter
Published on April 20, 2026 21:34

November 19, 2025

Getting Started with Refactoring

At this year's Global Day of Coderetreat (GDCR2025) our guest facilitator Ivett decided to ban AI tools. The result was a classic Coderetreat, like in the old days. It struck me in the retrospective that some participants said that they were unable to code by hand any more. They had a hard time working without their agents, and some ignored the constraint and kept using AI throughout the day. This is my empirical evidence that we lose the ability to code. (There is more evidence, recently by Ant...
 •  0 comments  •  flag
Share on Twitter
Published on November 19, 2025 12:22

September 15, 2025

Von Neumann Turing Machine

On my search for harder coding challenges, join me implementing Fizz Buzz using a Turing machine where I dive into Turing machines from a practical coding perspective using Java. In the previous part I finally understood Turing machines (TM) and created a Universal Turing Machine (UTM) using a Tape and TuringMachine classes. This is the second part.

Fizz Buzz
I want to implement Fizz Buzz but I have no idea how to start. A simple implementation in Java might be:for (i = 1; i <= 100; i ) { // l...
 •  0 comments  •  flag
Share on Twitter
Published on September 15, 2025 01:48

August 5, 2025

Universal Turing Machine

[image error] The more I practice, the more I explore extreme situations. I have tried to go faster. Other times I Programmed with Nothing. Maybe it is the difficulty of only using low level constructs that makes these group of coding constraints appealing to me - which makes coding in assembly still interesting to some people, too. Then I tried to create Fizz Buzz using a Turing machine. I guess I lacked the purity of Computer Science university exercises. I will dive into Turing machines from a practical co...
 •  0 comments  •  flag
Share on Twitter
Published on August 05, 2025 04:12

July 7, 2025

Only Exceptions for Control Flow

Where It Started
At technical unconferences I like to start (and conclude) the day with some fun coding. After all, writing code is (still, in June 2025,) at the heart of software development. During SoCraTes Linz 2024 I proposed the first session to be a "Coding Fun session: Only use exceptions for control flow." I explained that it would be impractical but fun ;-) Using exceptions like that was an anti pattern but I wanted to see what would be possible.

Coding Fun: Only Exceptions for Control...
 •  0 comments  •  flag
Share on Twitter
Published on July 07, 2025 02:08

June 25, 2025

Patching Io Addons

This project is getting out of hand. I just wanted to use Regular Expressions in Io. This is the forth part of me trying different extensions of Io. First I installed addons without native code, then I compiled native code of addons and in the third part I:Checked package.json and build.io for hints about needed third party libraries and headers.Found ported libraries for Windows in GnuWin32, e.g. ReadLine.Compiled Io addons with dependencies.Fixed the undefined reference to 'IoState_registerPro...
 •  0 comments  •  flag
Share on Twitter
Published on June 25, 2025 07:03

December 30, 2024

Integrating Io Addons

[image error] This is the third time I write about making existing Io extensions work under Windows. While I still struggle with Socket - a crucial dependency - I install and compile random addons to see what could go wrong. Almost every addon I touch has a different issue that I need to resolve for my Io Windows build dating back to 5.11.2013. Till now I have covered the following situations:Clone current addons right into the addons folder, see part 1, Kano.Rename addon folders to start with an uppercase le...
 •  0 comments  •  flag
Share on Twitter
Published on December 30, 2024 08:10