Downtime is mandatory

I do most of my coding in Slack now

This is what a developer told my educator friend form yesterday’s post. Yeah, agentic coding does this. From the very beginnings of ChatOps automation to today’s environment, this was something bound to happen.

Immediately I responded to my friend with the healthy mind platter:

Working with Agents from Slack (or other chat applications; I know of people that connect their agents to Telegram for example) while giving the dopamine fix of “achieving stuff” and “increasing productivity”, does not allow for your brain to relax. I’ve seen people discuss their exhaustion from context switching and from actually working more with a technology that promised to make us work less!

In the end, and because it is extremely difficult to set boundaries with notifications on the phone, you never rest. Those extra five minutes that you will talk to the agent to direct it, are gone from your rest and other family activities. And then 20 minutes after again and again. You lose your downtime and you can definitely affect your sleeptime too:

  • Downtime: When we are non-focused, without any specific goal, and let our mind wander or simply relax, we help the brain recharge.
  • Sleeptime: When we give the brain the rest it needs, we consolidate learning and recover from the experiences of the day.

It also reminded me of Beggars in Spain, where

the Sleepless are superior in mind and body, and easily capable of outperforming their normal cousins. All men are not created equal. Where, then, is the line between equality and excellence?

We have put ourselves in a competion: The combination of an agentic swarm and their human overlord, easily looks like the Sleepless in the novel, whereas anyone without agentic use, less access to agentic infrastructure, or downright excluded looks like a Sleeper, eventually driven out of the workforce. And currently, via tokenmaxxing, other pressure to adopt AI use and lay-offs, we are pressed to form cybernetic entities that act like the Sleepless. And I am certain there exist people hoping for the elimination of the human element, hence terms like dark software factory (code shipped that no human has read and is verified only by other machines), resulting in true Sleepless entities.

The OODA loop of the Sleepless is simply faster than that of the Sleeper. Which is why I believe that most of us working with this toolset, are trying, even unconsiously, to position ourselves such that when we are not needed anymore, we can still have a life.

I need to revisit the book and finish the trilogy.


It is not whether directing agents via Slack is actual coding / engineering / whatever or not. It is what it is. And the endgoal is to ship something you were asked to. That’s the job. The craft is a different thing.

There is no royal road to geometry

they say that Ptolemy once asked him if there was in geometry any shorter way than that of the elements, and he answered that there was no royal road to geometry

I was discussing with an educator friend about one hour last afternoon. I also deliver vocational training classes, but for me it is not my main source of income.

The discussion revolved around how one can incorporate AI into the lectures / lessons / notes and the like. I told him that when I give Kubernetes courses, I am not afraid to tell people to reach for the chatbox and ask things. Kubernetes is so vast, that it is almost impossible to remember it all, what is current, what is deprecated (or scheduled to be) and people in introductory courses need to learn about specific patterns, but they always come up with use cases one is not prepared about. So reach for the chat bot. Read the relevant documentation on kubernetes.io and evaluate the response.

When discussing teaching programming languages though, things become different. People can (or “can”) vibe code complete applications without even knowing how to write a single experssion in the target language. They become easily frustrated with the fundamentals, and wildly bored if you ask them to write a vesion of fizzbuzz (even though there can be good discussions about it). As Ron Minsky puts it:

And now all you need is a prompt and a dream and you can for free create a plausible looking problem.

I told my educator friend that we need to explain to people that even Harry Potter needed training. And we need to find a way to show this to people. Much like in the movies, it is not only to speak out the spell (prompt), you need to understand it deeper; and yes we still need to understand the fundamentals. Because again, as Ron Minsky says:

But it’s still hard work to verify that it makes sense. And you don’t want to add lots of things to a system that will make it overall messy and complicated. Even if the code is good, it might be that it makes the system that you’re building conceptually complicated for the end user. If everyone gets every knob that they want, you just get too many knobs.

For sure the vocational training landscape is changing. I have seen blog posts and newsletters from people that this was their business discuss how revenue fell sharply:

Now it feels like developers have an infinite amount of resources at their fingertips. Not only can they ask for advice on any topic, they can now get samples to go along with any request, ask AI to explain existing code, and so much more. AI might not always have the best advice, and it will make mistakes from time to time, but overall it feels like a net positive to not ever feel as truly stuck as I did many times when I was first learning to code.

Unfortunately, this all comes with a cost.

In my case, it meant that the number of sales I make on my XXXX courses has been steadily declining.


It is not that hard to ask your LLM to assume a teaching persona and start you on a learning path for some subject. I have done it. And I am fairly certain that relevant skills have been developed for LLMs already. To a certain extent this whole situation may make us better educators. Those of us who decide to stick around.

Because, at least for now, there is still no royal road to a better prompt.


I am using the term prompt loosely to describe the whole thing: prompt, caching, compaction, agents and their swarms.

software calligraphy – part 2

As a systems administrator I am used to stitching together other people’s code and systems to produce a working outcome within given constraints. Which means, the rise of agentic coding should make me happy. Alas, outside work, it seems to make me sad. Which is why I still discuss my saddening experience with friends, coaches and mentors.

A professor friend posted on Facebook part of Moshe Vardi’s article:

CS departments must also grapple with the fact that the most fundamental skill we used to teach, which is coding (remember “Coding for All”?), may not be a viable skill at all.

To which I responded something along the lines of: Professors teaching circuits and computer architecture, do teach students how the components connect, but there is no person in the world, for decades now, who does this on their own for VLSI and the like. It is just not possible. They rely on the computer to do that. And yet, the skill of designing chips is not lost. We are there.

So what I call software calligraphy (hand crafted code) is the skill Dr. Vardi thinks is not the viable one. Yes, a calligrapher aims at a niche market. But to be honest, I do not think any of the 65 courses I had at NTUA taught me code as a viable skill. Maybe at Rice they did things differently (with Racket, HTDP and the like).


I woke up thanks to a nightmare this morning. I could not sleep. But here is what I remembered:

One morning I was shopping in Amsterdam with my young fiancée, and tired, we sat down on the café terrace to drink a cup of coffee and I was just thinking about whether I could do this, and I then designed the algorithm for the shortest path. As I said, it was a twenty-minute invention. In fact, it was published in ’59, three years later. The publication is still readable, it is, in fact, quite nice. One of the reasons that it is so nice was that I designed it without pencil and paper. I learned later that one of the advantages of designing without pencil and paper is that you are almost forced to avoid all avoidable complexities. Eventually, that algorithm became to my great amazement, one of the cornerstones of my fame.

This is Dijkstra describing his famous algorithm. And he did not do that in front of a computer. Hell, there was no way to be in front of a computer at the time for as long as we do now. It made me realize that I (and possibly others) had replaced any notation, pen and paper with the keyboard and the programming language. As I told another friend in our morning coffee, I had replaced thinking with pen and paper with C and pointers. It is as if we express unformulated thought by writing (and editing to bring it in order) code, and because the LLM writes code faster, we get saddened because we do not have time to think, when it should have been our thought, and not our query, guiding the LLM.

No algorithm was typed in the computer first (for certain definitions of “no”). I had this discussion back in 2006 with Aris. I told him, “I feel I can solve any problem you can pose to me by thinking in code”. “All right”, he said calmly, “solve graph isomorphism”. Yup, he is still waiting for my solution.

So the thing is this: I need to approach my interactions with the LLM in a way that does not outsource the thinking to it. Only the typing. And use more drawings and paper (I am no Dijkstra to be able to do without). This, I hope, will bring back my recreactional computing joy. And maintain fine motor skills.

Open Weight models and soft power

I see Open-weight AI models as a form of digital soft power. When an entity releases their models for free public use, they aren’t doing this operating under an altruistic motive; they’re aiming at shaping global perception: users get to run the latest (or the best for their hardware) model for free, but in return, they accept all the biases embedded in the model. For sure one could argue that the same holds true for search engines and even encyclopaedias, but encyclopaedias don’t hallucinate, the search results usually will point you to many competing analyses on what you’re looking for (otherwise SEO would not have been a thing) and users tend to accept answers easier due to the anthropomorphization.

This makes the open weight models a new strategic battlefied in the soft power arena. You do not have to run any long play PSYOP or even a tourist advertising campaign. You can have the free model say the thing and concentrate your efforts into making the users run the thing on their machine. Running it locally feels more “free” both in cost and dependency.

I foresee a near future with shareware models. The same companies giving us open weight models for free, are going to give us the new ones for a fee (training costs real money) and you will either subscribe to this service to get the latest model, or use the free one that will be two versions older. Which for most cases is going to be okish for the end user. Special purpose models, for writing code for example, will have the single user and the enterprize version, with maybe the enterprize version being fluent in more languages, or being aware of more libraries for your agents to work in an enterprise environment, as opposed to the indie game that you’re trying to push out.

We’ve seen the pattern: open-access allowing for an ecosystem to arise (see Kubernetes as the latest example), proprietary extensions capturing value. But with GenAI models, the issue is greater: The biases aren’t just in code; they’re in how the model serves truth, morality, and reality. Leading you to accept the producer’s perception one token at a time.