GeistHaus
log in · sign up

m1es

Part of m1es.net

Hey, I’m Michel Fiege. I’m a web enthousiast, programmer, ex entrepreneur and former teacher. I like to write, sport and cycle to work....

stories primary
A smartphone free primary school
Show full content

An educator told me that it's not a school's responsibility to advise against smartphones. That was the opposite of what I was arguing, but I couldn’t find the right words to convince him otherwise.

Last week I presented at the administrative office of the Hoeksche School for a small group of teachers and school leaders from our municipality. It was my first time talking to a group about A Smartphone Free Childhood. In about an hour and a half I went over my slide deck and answered questions. I was supported by two fellow parents, which helped a bunch. They would extend answers or explain things from another perspective. All in all the session was lively and well received.

One question, or rather a critique, I didn’t answer the way I wanted to. It was argued that it’s not the responsibility of schools to advise against smartphones under age 14. I pointed to the norm-shaping opportunities a school has, but felt that this argument didn’t land well. Nor should it have been the only argument.

Where it gets difficult for school leaders is in the definition of ‘smartphone free’. School leaders assume that by keeping smartphones out of the classroom, by means of putting phones in a basket outside the classrooms, they can call their school ‘smartphone free’. But that’s not enough: the smartphone should not even be carried to school. And even more so, schools should communicate about why they advise against smartphones.

The smartphone is a direct threat to the core tasks of a school by making it harder for children to learn, caused by poor sleep, concentration issues and decreased mental health. The list of problems around smartphones is evident.

Saying that it’s not the role of schools to advise against smartphones under age 14 is neglecting the negative impact it has on children’s ability to learn, and therefore on what you can achieve as an educator.

And yes, schools should also realize they have a unique position to shape norms. The norms set in school influence the norms in society.

I’m eagerly looking forward to presenting at the parents’ evening we’re organizing next month at the school of my children. Smartphones don’t belong in schools.

smartphone-free

https://m1es.net/a-smartphone-free-primary-school/
Slow Productivity
Show full content

Do fewer things.
Work at a natural pace.
Obsess over quality.

Why is it so hard to act like this, while I just know I would benefit greatly from it?

Cal Newport sets out his Slow Productivity philosophy in the book of the same name.

I read it a little while back and I tried to keep the three line motto on top of my mind. It resonates with me, but I often act so differently.

Do fewer things.

My todo lists keep growing, both at work and at home. I’m quick to ideate new initiatives, but often I fall short on finishing them, sometimes even starting them at all. Ultimately, after a way too long time, this leads to a mental burden and I end up trashing abandoned initiatives. All fine in the end: these tasks or ideas just turned out to be not that important, but I feel I could have given more attention to just a few things that mattered. That focus would have made me feel better.

In its simplest form: I often start reading a new book before I’ve finished reading the first one. This way I often end up reading multiple books at the same time. When I then force myself to carry around the same book for a longer stretch of time, I feel better about it because I read it more deeply and I finish it quicker.

Work at a natural pace.

What’s this natural pace? It’s probably not the AI madness that developers find themselves in when spinning up their 10th agent. Although I actually find it quite satisfying to work like that, I’m unsure what it will bring me in the end. Yet even with AI parked aside it’s hard not to constantly look busy as a knowledge worker.

Newport argues for seasonal variations, where not every period should feel equally intense. Aim for long-term sustainability, allowing for slower or lighter periods. And avoid pseudo-productivity, where you keep up a busy looking tempo that actually doesn’t make you deliver any better work.

In short: stay away from the ‘always-on’ culture and work in a rhythm, allowing ebb and flow.

That’s easier said than done because of constant pulls and pushes. Work on saying ‘no’ more and keep your list of active projects minimal, minimizing context-switches.

Didn’t I start this post by writing that I’m quick to start new things? It seems that is the thing that prevents me from working at a natural and satisfying pace.

Obsess over quality

I know that if I go deep, if I care about the thing I’m doing, if I get into a flow, I’ll produce my best work. Being there, in that flow obsessing over quality, is the perfect protection against other work.

It’s nice that the motto of “Slow Productivity” can be read in two directions:

From doing fewer things, you can actually work at a natural pace and obsess over quality.

When obsessing over quality, you can only work at a natural pace and thus do fewer things.

It’s that simple hard.

https://m1es.net/slow-productivity/
SoGamed
Show full content

I’ve been feeling nostalgic lately. First there was the discovery of my lost Elastomania levels, and recently I’ve been thinking of this ASCII-style community gaming website of the past. I couldn’t figure out the name for a while, but it’s SoGamed! Those looks are absolutely gorgeous!

sogamed

As a beginning website builder back in those days, I was completely intrigued by it. Both from a front-end and back-end perspective. I’m pretty sure it inspired me when creating various Counter-Strike clan websites, which I hosted on free .tk domains. I remember clan names like “SMC” and “impius”. Unfortunately, I've had no luck on the Wayback Machine.

Anyhow, via a Reddit comment I ended up watching Frag Or Die, which felt incredibly familiar. It’s remarkable how vivid memories can feel after all these years!

https://m1es.net/sogamed/
Love is the boss
Show full content

This May I’m visiting Typhoon in AFAS Live. Last year I read Glenn’s book ‘Liefde is de baas’ (Love is the boss) and was touched by his openness, his courage in writing down his life story so far. I’m not sure if I could ever write so openly.

There are many lyrics in the book and it’s nice to learn a bit of the background story around these words. What stood out to me was a text I didn’t hear before. Four lines, apparently part of a Christmas poem that he already wrote in 2020 for a Dutch newspaper.

Langer kijken doet ontmoeten,
Ontvankelijkheid boven rede.
Het voordeel van de twijfel,
Is de voorloper van vrede.

I don’t think any translation can capture the same feeling, rhythm or strength, a bit of its soul will simply get lost in translation, but here’s my take:

Looking longer leads to meeting,
Receptiveness above reason.
The benefit of the doubt,
is the start of peace’s season.

I’ve seen Typhoon in the Arminius church in Rotterdam ten years ago. His music peaked at that time and after reading his book it’s hard to believe what kind of a mental state he was living in. I’m looking forward to the concert in May. Knowing what he had to overcome somehow adds something to it.

https://m1es.net/love-is-the-boss/
My second year of cycling to work
Show full content

After two years of cycling the same route several days per week, I can dream it. Last year I cycled to the office 90 times and tracked roughly 3200 kilometers on my race bike. I didn’t use my e-bike at all. Here’s what my 18 kilometers of commute look like.

I start in my street and I’m met with a beautifully colored sky when I exit my neighbourhood onto the windy polder, crossing the provincial road and cycling next to it, being careful of tractors on the same road, then turning right, passing a small bit of industrial estate on my right and heading towards the dike, where the road bends left and I turn right not long after. Now I’m parallel to the motorway on my left hand side. The sun rises beautifully on my right, but it’s hard to look without being blinded.

There are too many trees on this dike to tally comfortably when passing them with a steady pace. I reach the cold and steep tunnel. If I was still feeling a bit cold by now, I’m definitely warmed up when I’ve climbed out of it. Just out of the tunnel there’s a bit of no man’s land with two large water reservoirs on the right and a field full of solar panels. I turn left on a busy polder road, cycling towards many schoolchildren heading the other direction. Now I’m crossing the road twice, minding the cars here, and swirling to the right and a bit left again until I reach a small hill, where I turn right and downwards, braking fast but not too hard before turning left, trying to maintain speed through the corner.

Now it’s a long stretch of bicycle path, where I just have to cross the street twice. I lean forward and lay my arms on the handlebars after those crossings and just follow along the path for a while until I reach the point where I need to cross the street again. I turn right into a small tunnel under the road, which leads me to the left side of another road. I cross it quickly and climb a little uphill onto a small bridge that crosses the motorway. Downhill again, turning left, turning right, and after a short straw of road straight ahead I’m close to where my grandmother used to live. I’m actually pretty close to where I was born.

I cross another street, cycle a bit further, and cross the last street before I reach the city park from the south. In the park I turn left, cycle straight ahead, crossing a pond, climbing up to a small kind of dike with a large event center on my left, and on the right the park and its water. The sun is still on my right but already easier on the eye. Then I exit the park and wait for the traffic lights to turn green. I can’t recall these lights ever being green the moment I arrive.

Up until here I’m down 30 minutes. Just 15 minutes through the city to go now. I’ll write those down another time.

year2-1

year2-2

https://m1es.net/my-second-year-of-cycling-to-work/
I didn’t write any code this year
Show full content

It’s February. I haven’t written a single line of code myself this year. Yet I’m shipping more than ever. Claude Opus 4.5 (and recently 4.6) is doing all the hard work and I’m jokingly calling it my friend now. But that’s hardly a joke. I’ve embraced the use of AI and I like it.

I’m not entirely sure I still stand by my post from September 2025, where I compared “using AI in programming” to “cycling with a battery”. At that time, I concluded: “Use AI to learn. Keep pedaling yourself.”

Since Opus 4.5, something drastically changed. The days of half-working output are largely gone. I can’t do it better myself. The output is so spot-on that I can’t justify not fully leveraging it. Among many other things, it helps my team and me solve our most difficult bugs with confidence in a matter of hours instead of days or weeks.

Using AI just to learn and not letting it write your code... It would now feel like bringing your bicycle to a motor race.

On top of that that I’ve found a renewed joy in programming, in discovering how LLMs are changing the landscape and in learning new skills. It’s an exciting time to be a programmer.

https://m1es.net/i-didnt-write-any-code-this-year/
Campaigning for a Smartphone Free Childhood
Show full content

In November last year, I started promoting the Dutch book Smartphonevrij Opgroeien in the village where I live and where my children go to school. I never thought I'd take action to challenge a social norm or to influence policy. Yet here I am: texting parents, emailing and visiting school principals, participation councils, and school boards. But why am I doing this?

That question is becoming more and more important because my 10-year-old daughter sometimes sees me as the worst dad in the world. Why can’t she have a smartphone like her classmates? Answering that question seems impossible. No matter the arguments, she doesn’t want to hear me defending a ‘no’. And the thing is: I get it. I truly get her point. She doesn’t want to be the one without. She wants to belong. That’s the one argument that outweighs all others.

And that’s exactly why I’m doing this. That’s why I’m campaigning for change, advocating for a shift in social norms. In a situation where everybody is watching each other and where it’s hard to act first, change is easiest when it comes from the top. And while there is all kinds of legislation already in the making, I feel I can’t wait for those new laws to one day become effective for my kids.

Change happens from the bottom up as well. It’s about children looking at friends, parents looking at other parents, schools observing neighboring schools. It’s about bringing people together, informing them well and changing direction together. Knowing that just around 25% of a group can change the direction of the entire group is a powerful motivator.

https://m1es.net/campaigning-for-a-smartphone-free-childhood/
Scripting a photo yearbook using ChatGPT
Show full content

I generated a couple of scripts using ChatGPT to set up a pipeline for creating a photo yearbook. Without any real experience with Bash, Python or LaTeX, I’m amazed by the ease and joy of automating a solution like this. Let me tell you a bit about it.

The files can be found on Github.

The problem

I had around 600 images in a shared folder in iCloud and didn’t want to spend too much time manually creating a photo book. My initial thought was to use one of the known photo services websites and their ‘AI auto-generate’ options. I tried several of them, but none produced exactly what I was looking for.

Most services ended up placing three to six photos per page in various layouts, resulting in a high page count. All I really wanted was a consistent 3x3 grid on every single page.

Sorting on creation date

When downloading images from iCloud using the browser, they seem to lack metadata when inspected in Finder. This means you can’t sort the images other than on name, which is fine in many cases, but not if your collection also includes images you received from other people, for example via Whatsapp. In that case, filenames differ, making it impossible to sort chronologically based on name alone.

I found that for most of the images the creation date can luckily be found using exiftool. I then asked ChatGPT to write a Bash script that sorts files based on their metadata and renames each file so I end up with a clean sequence like 001.jpg, 002.jpg, and so on. Images without any metadata are appended at the end.

yearbook-bash-order

LaTeX for print

The next step was to use pdflatex to generate a PDF with all the images laid out in 3x3 grids. Now that the images were named sequentially, it was easy to iterate over them and build a template. With a bit of back-and-forth, ChatGPT produced a working LaTeX file in no time. That’s when I realized that forcing both landscape and portrait images into square frames wasn’t the best idea.

yearbook-3x3

Squares

ChatGPT suggested creating a Python script to square all the images. I asked it to use face detection to ensure the most important parts of each photo would remain visible. This actually worked pretty well, and I was amazed by the ease of this process and the results. However, it wasn’t able to transform all 600 images correctly. Since I didn’t want any manual intervention I decided to abandon this approach. With just a few keystrokes the script was transformed into a blur-based implementation, where the edges of the images are blurred nicely. A simplified approach that I actually like more, because it doesn’t cut any information from my original images. I also like the look of it in the 3x3 grid.

yearbook-page-preview

Reflection

I spend like 4 times an hour or so on all of this. I didn’t even bother using VS Code, which I normally use for work-related tasks. I simply used the ChatGPT website, copied its output, and used Vim as my editor, often times replacing the entire file.

I really enjoyed the workflow. It felt like laidback programming: letting my co-partner do all the hard work while I was thinking about what to ask next. Seeing that the specifications you’ve just written down lead to the expected results is actually real fun!

There was one moment where I had to start a new conversation because ChatGPT seemed stuck on a LaTeX issue (the first page of the PDF rendered blank). With a fresh context window, it solved the problem immediately.

I would probably not have started this automation project without an LLM, knowing how time-consuming it is too get something like this good enough. The fact that I could turn a small frustration, not being able to quickly create a photo yearbook to my liking, into a working solution in a few spare hours still blows my mind.

https://m1es.net/scripting-a-photo-yearbook-using-chatgpt/
A year of Bear
Show full content

I’m pretty sure that with any other blogging platform or self-hosted solution I would never have written as much as I did this year using Bear. With just one or two articles each month I’m far from super active, but what matters to me is that I’ve find a sort of rhythm that feels good to me.

Like I wrote in December 2024, I’m not writing for the sake of sharing, but mostly as a means to reflect. That’s still true now and although it sometimes feels like I should keep up with my self inflicted cadence, that feeling motivates me to sit down and take a bit of time to write. Which is ultimately what I want to do.

Not one time did I consider tweaking any visuals or styles. Nor did I think of hosting my blog differently. I also didn’t change my tools or workflow. I still use iA Writer and simply copy/paste the contents to Bear. Simple as that.

My most read page is my ‘Now’ page. I find it a strong concept. I change it frequently to remind myself of the things I want to focus on.

My best read article is one of my more personal stories, where I described how I cut down on caffeine. A simple validation that writing with courage is rewarded.

My longest article is a post where I compared programming with AI to riding an e-bike. It took several weeks to write and I really liked to explore the metaphor, often in my head while cycling to work.

I’m most happy with my “Do not add to it” post, because it allowed me to write a bit about Stoicism with a personal twist.

I’m looking forward to 2026 and the moments of reflection and writing it may bring. Thanks Bear!

https://m1es.net/a-year-of-bear/
Introducing m1book, a tiny tool for turning Markdown into books
Show full content

After writing my last booklet and fine-tuning my editing process, I decided to create a small program to formalize my setup. It’s now on Github: m1book.

My process hardly changed since I wrote about my first booklet in January this year. At that time I wrote a Ruby Rake task that converted my Markdown files into a PDF file using Pandoc. Although that setup worked, I didn’t like having the Rake task live next alongside my Markdown files. For the first project it was fine, but when editing my second booklet I found it didn’t scale. I just copied over the Rake task files to a new directory and focussed on finishing the booklet, knowing I would revise the code later.

So this is what I came up with. After installing m1book as a binstub using the ./install.sh script, it’s as easy as running m1book new <name of the book> to start off a new book project. This will scaffold a folder structure with a couple of example files and a config file. After changing into the newly created directory, running m1book generate will use Pandoc to squash all the Markdown files into a nice looking PDF. By editing config.yml some book settings, like the title, can be changed. The book is split up into front and main matter. Page numbers will only show in the main matter, but counting starts from the very first page. Just like in a book!

I’ve included the default PDF in the repository to showcase how it looks like once it’s generated. It’s really all I need for the upcoming book projects I have in mind.

https://m1es.net/introducing-m1book-a-tiny-tool-for-turning-markdown-into-books/