Work on Willem's Blog

No, I Won't Build That!

Better Thinking, Better Work

Mar. 5, 2024
Discover how saying 'no' can lead to more innovative and meaningful work in this blog post:

If you're an accomplished developer (as in: you've actually created things in the past), you may recognise this scenario: people reaching out to you, asking you to build something specific. "Can you build X for me?" A fellow technician once urged me to refuse more often: be proud of the things you don't do! Let me explain in this post.

Vision Pro

Exploring Spatial Computing

Feb. 16, 2024
My thoughts on using Vision Pro to get some real work done, exploring what Spatial Computing means and how it can be useful.

Currently, I am overlooking a lake at Mount Hood while writing this. I hear birds in the distance and see the lake calm, with subtle waves and some mist in the distance. Yet, it is fake, as I am sitting on our top floor, a barely furnished room full of items belonging to a family house with two young kids. I am using Apple's Vision Pro to explore what Spatial Computing can be. I am in awe; let me explain in this blog post.

Backup Rotation Scheme

Rotate your backups with 'rsync-backup-rotator'

Dec. 15, 2023
Learn about the rsync-backup-rotator tool that helps you automatically rotate backups using rsync, creating and maintaining multiple recovery points from your backups.

In today's digital age, safeguarding your data is paramount. Simply creating a copy of your files may not be enough as they can get corrupted, overwritten or blocked by ransomware. Having multiple, time-rotated (and ideally, offsite) backups is a stronger defense. I created a new tool, rsync-backup-rotator, to help you with this.

Apple Watch as Phone

Replace your smartphone with a smartwatch

Nov. 10, 2023
Embark on a digital detox journey as I swap my smartphone for an Apple Watch Ultra, exploring the liberating yet challenging world of wearable tech.

Imagine a week without your smartphone, replaced solely by the sleek simplicity of a smartwatch. This week I did this, leaving my smartphone behind and letting an Apple Watch take the helm. Many hail this as a liberating escape from our attention-seeking digital sidekicks, but does it truly live up to the hype? Join me on this intriguing journey, where technology meets minimalism, and discover whether less really can be more.

Giving AI Training

Teaching folks about the superpowers of GPT

Oct. 14, 2023
Explore the transformative power of AI in everyday work: Dive into firsthand insights from a recent AI training session that's reshaping professional landscapes.

Yesterday, I had the pleasure of leading a training session on the application of cutting-edge AI techniques, such as OpenAI's large language models (GPT), for a team of individuals from varied backgrounds, education levels, and disciplines. The results surprised me!

The Same, Differently

Where You Are Matters

Aug. 23, 2023

It's been over half a year since I moved from the city to the countryside. I regularly travel between these locations for work and leisure. Being a cycling enthusiast, I keep a bike at both places, and this has led me to discover a funny thing.

Tablet as Tool

Appreciating iPad Pro: A Different Perspective

May 8, 2023
Discover the hidden advantages of the iPad Pro in this insightful blog post, offering tips and personal experiences to help you maximise the tablet's potential and redefine your workflow.

The iPad Pro's utility has sparked much debate recently. Some users argue it's a disappointment, failing to meet expectations set by traditional laptops. However, there are less obvious benefits to the iPad worth considering. This blog post delves into these advantages and shares insights into the personal experience of using an iPad Pro.

Using AI to generate code

Programming with super powers

May 3, 2023
Discover how AI-generated code can revolutionise your software development process and optimise cloud performance in our fascinating exploration of GPT-4's transformative capabilities.

As part of my software optimisation efforts to cut cloud costs, I needed to replace an existing piece of inefficient server software with something that uses more robust (yet fragmented) tooling available in Debian GNU/Linux. Could the GPT4 language model deliver me some AI magic? Read along!

Working Offline First

Learning from a 15-year old ThinkPad X200

May 1, 2023
Dive into a digital blast from the past and learn how a 15-year-old ThinkPad X200 can revolutionise your workflow – join my cloud-free adventure today!

As part of a greater plan to optimise my entire workflow, I am doing a little experiment this month: using a 15-year old ThinkPad X200 laptop as main computer. It’s from an era before “the cloud”, popular among free/libre software enthusiasts. What can we learn from this antithesis of modernity?

Cutting Cloud Costs

The Significance of Software Optimisation

Apr. 5, 2023
Facing sky-high cloud costs, I found software optimisation vital. Discover how I saved 90% on cloud expenses!

Like many, I faced soaring cloud service costs for my clients, prompting a wake-up call. To stay afloat, it's essential to incorporate software optimisation as a strategy for managing cloud expenses. Join me as I share how I managed to save up to 90% on cloud costs through optimisation!

CAPTCHA Alternative

Protect your forms in a user friendly way

July 30, 2022
If you're looking for a user-friendly alternative for CAPTCHA's you should check this post out where I outline how I protect web forms against malicious actors and spammers.

Chances are that you've encountered a CAPTCHA in the wild: they protect web forms by asking you to type over weirdly rendered characters or by asking you to select photos containing a particular thing. Why are they used and is there a user friendly alternative?

Snake '97 High Scores

Game inspired art by Zena Van den Block

Apr. 18, 2022
Happily accepting the invitation to attend an exhibition of Snake 97 art works in Antwerp. This was totally WOW!

Last week I received a very kind invitation from a Belgian artist, to attend her art exhibition in Antwerp. The work on display involved the Snake '97 game that I have created. Uttering to find the right words and thrilled with excitement, I happily accepted the invitation!

Using the reMarkable paper tablet

Read, write, think and repeat

May 31, 2021
The paper-like display makes you forget about reMarkable's digital innards, working with this tablet is therefore quite remarkable!

This month I received my reMarkable paper tablet and ever since I have been using it extensively: reading, writing and thinking. The paper-like display makes you forget about its digital innards. Read along for my thoughts.

Art of visualisation

Creating mouth-watering food photos

Mar. 26, 2021
You learn from experts if you have the privilege to work with them, this month I had a chance to help a professional food photographer.

You learn from working with experts and this month I had the privilege to work with a professional food photographer, my brother. Together we set out to photograph the entire menu of Café Carbòn in Amsterdam, enjoying the fabulous food afterwards. Read along for some food photography takeaways!

Three tips to make a content strategy work

Maximise the effect of your writing

Mar. 25, 2021
Consider these three things to maximise the effect of the words you write for your website, blog or company.

When you write for your blog or for your company's website, there are things you can consider to maximise the discoverability, longevity and impact of your writing. Leverage the energy you put in into your words. Today I share with you three of my lessons learned while writing for this website.

Realtime service uptime monitoring

Discover problems before your customers do

Feb. 2, 2021
Downtime happens and it is nothing to be ashamed of, just make sure that you set yourself up to discover problems as soon as possible! Know about problems before your customers do!

Downtime happens and it is nothing to be ashamed of, just make sure that you set yourself up to discover problems as soon as possible! You can use realtime uptime monitoring to automatically keep an eye on your servers and services. Read along to find out how.

Abandoning my own tablet OS

Why I moved back to iPad and the Mac

Jan. 14, 2021
After a year of experimenting with Debian GNU/Linux on a Surface Go 2 I have returned to iPad Pro and the Mac.

The past year I have been experimenting with creating my own tablet operating system using Debian GNU/Linux and the i3 window manager on a Microsoft Surface Go 2 with LTE. After months of intense use I have now decided to abandon the experiment to move back to iPad Pro and the Mac. Read along to find out why.

Working with special hardware from China

On developing software without a manual

Dec. 31, 2020
This month I reversed engineered my way into developing software for a Chinese Android device with an embedded printer!

This month I received a shipment from China containing some special hardware, Android devices with embedded printers! To make life easier for the restaurant and business owners that use my food ordering app, I want these devices to automatically print new orders. If only I can get these machines to work with my software... challenge accepted!

Why Apple Silicon is a big deal

Blown away by a MacBook Air

Dec. 15, 2020
Never have I been so blown away as by the new MacBook Air with M1 processor. It is a big deal.

Apple now designs its own processors and I had a chance to work with the very latest from Cupertino: a brand new MacBook Air with M1 processor. Never ever have I been so blown away by a MacBook Air, pun intended. Let me share some thoughts why I think Apple Silicon is a big deal.

Designing a multi dimensional capacity queue

Managing kitchen-, delivery- and pickup capacity

Dec. 2, 2020
Dealing with a capacity queue is challenging, but if you take the time to model it right it is possible to create a performant and reliable system.

This month I needed to create additional dimensions to a capacity queue mechanism. The food ordering app that I created needed to be able to restrict capacity based on the number of orders, the contents in individual orders and the dispatch type (takeaway/delivery). Read along to find out how I used a Lambda Architecture to do this.

The joy of a simple laptop

Surface Laptop Go with Windows 10

Nov. 3, 2020
This week I tested the Surface Laptop Go with Windows 10 and quite frankly was amazed by the experience!

Every now and then I switch my gear to keep a tap on what is going on outside my regular tech habits. You’ll be amazed by what you can learn from trying out different things. This week I had a chance to test the Surface Laptop Go running Windows 10. Quite frankly, it amazed me!

Linking Lemmid Store with kitchens

Integrating with external systems that you don't control

June 12, 2020
Designing backend servers to connect with external services is challenging as you need to take into account unreliability and unpredictability.

As part of the food ordering app I am building, I needed to design a reliable way to link the app to external systems. These external systems are beyond my direct control and include different checkout registers, kitchen management systems and ticket printers. Read along for more on designing for the unknown and unreliable.

Designing an interface for a food ordering page

Striking a balance between powerful options and mobile usability

May 1, 2020
Designing a food ordering page is surprisingly challenging because of the many variables that need to be accommodated on a very small screen.

Online ordering pages are more important than ever before. The COVID-19 virus, the resulting lockdowns and the social distancing rules have emphasised the need for a well-designed webshop user interface. This is surprisingly hard to get right!

Talking tablets: what makes a great tablet?

Working with Microsoft Surface Pro X

Apr. 14, 2020
Over the past few weeks I worked with Microsoft Surface Pro X to see if it is any good, can it be your main computer?

Earlier this year Microsoft released their brand new Surface Pro X tablet computer, in many ways this is a forward thinking device. As I like working with tablets I wondered what exactly makes a great tablet? Is Surface Pro X any good? Read along to find out.

Traffic shaping using iptables and tc

Limiting outbound network bandwidth per client IP-address

Apr. 1, 2020
This month I responded to an automated alert indicating excessive bandwidth usage on a server, requiring me to apply traffic shaping to mitigate the traffic.

Last month I received an automated alert indicating excessive bandwidth usage, usually a sign of trouble. When this happens, you should follow a standard incident procedure, trying to isolate the source of the traffic before shutting it down. The cause of this incident was not what I expected however... requiring a different kind of mitigation than a simple blockade.

Designing and implementing a (micro) payment system

Monetising my blog with coffee, Apple Pay and Mollie

Mar. 25, 2020
Designing and implementing a micro payment system with an emphasis on simplicity. Read about how I did it in this post.

Online payments are now more important than ever as businesses are disrupted by the COVID-19 virus. It drives my customers to seek new ways to make money online. I designed and implemented a (micro)payment system. This post is about achieving simplicity by solving complex challenges.

Monolithic vs Microservices software architecture

Choosing the right design for your app development

Mar. 3, 2020
This week I flew to Gothenburg to talk about enterprise software architecture, read along to learn about choosing the right architecture for your app development

This week I flew to Gothenburg to meet people from a large international shipping company, talking about the development of enterprise level software. During the meeting there were various experts in the room, one of them asked me on choosing the right software architecture (for big, complex, enterprise level apps). A very good question, well worthy for a blog post.

Your own addressbook and calendar cloud

Share contacts, agendas and tasks with CardDAV/CalDAV

Feb. 28, 2020
You can setup a CardDAV/CalDAV server to manage your own contacts, addressbook, agenda and task data and share it between your devices.

If you use different devices and computers to get things done, you might want to synchronise contacts, agendas and tasks. You can use any of the 'big cloud' services for this, like Apple iCloud, Microsoft Office 365 and Google Gmail. But, if you prefer not to share your addressbook and calendar with big American companies, you can do it yourself.

Realtime human pose recognition through computer vision

Using TensorFlow and PoseNet on a video feed

Dec. 1, 2019
For an exciting new project I have been experimenting with TensorFlow, enabling realtime pose detection using PoseNet.

For an exciting new project I have been experimenting with computer vision using TensorFlow. I wanted to achieve realtime human pose detection to drive interactive video projections and games. Time to dive into the world of machine learning, tensors and computer vision!

Building a professional 72TB NAS

Configuration and installation of an HPE ProLiant DL380 server

Nov. 22, 2019
This month I installed a professional HPE ProLiant DL380p server in a datacenter in Amsterdam, read this post to see how this was done!

Over the past few years I have been moving my data and work from local computers (mostly laptops) into the cloud. Cloud computing is done by servers in a datacenter, powerful computers that do the hard work. As my company grew, I needed more capacity. It was time to add some power to my cloud!

Multi-Window support in your iPad app

Native development for iPadOS

Oct. 7, 2019
Take advantage of the improved support for multiple windows on iPadOS by implementing new UI concepts enabling different use cases for your app.

Last month Apple released iPadOS, the first dedicated operating system for iPad. It differs from iOS with its support for the larger iPad screen, including multi / split screen windows. I develop apps and it was time to take advantage of these new possibilities that iPadOS offers.

Visiting an international hackers conference

OWASP Global AppSec Amsterdam

Sep. 27, 2019
This month I attended Global AppSec Amsterdam, an international conference for hackers and security specialists. Read along for some of the highlights.

This month I was lucky enough to attend Global AppSec Amsterdam, an international conference for hackers and security specialists. There were presentations from former intelligence agents, bounty hunters, academics and software vendors. I learned about some of the newest hacking techniques, met with interesting people and played some cool retro games. Read along for more.

Dig for dummies

Explaining an highly useful network tool

May 24, 2019
Learn how to use the dig command to query domain name servers to find the source of network problems, IP-addresses, hostnames, mail servers and related info.

When you're building websites, apps or email services you may run into domain names and their configurations. When everything is working as it should, most of this is invisible. But when troubleshooting a domain name configuration, it may be necessary to dig a little deeper... read along to learn how!

One year on the ultimate commuter bike

6000KM in 12 months with Gates CDN/CDX and Shimano Alfine

Feb. 27, 2019
Answering questions from one of the most popular posts of last year, I am reviewing my commuter bike after one year of extensive use through winter and summer.

A year ago I tried to create the ultimate commuter bike, a modified Sensa Cintura with the Gates CDN/CDX carbon belt drive. I received lots of messages from cyclists and commuters from all over the world. From the Swiss alps, France, Italy, Germany, United States and even "down under", Australia! You all wanted to know: how does the upgraded bike hold up?

My first weeks as dad

On the challenges and rewards of being a father

Jan. 24, 2019
Last Christmas my wife gave birth of our son. It's a life changing experience to become a parent. Read along for my (biometric) findings and some practical tips.

Last Christmas my wife gave birth to our son, a little boy that would change everything! It's an incredible experience to become a parent, especially if it is your first kid. It introduces a whole new way of living, having to deal with regular feeding, caring and sleepless nights. Read along for my (biometric) findings and some practical tips!

Business in a bag

Using a waterproof backpack to fit my gear

Dec. 22, 2018
After much testing I have selected a bag and set of cases to fit my entire business, wherever I go.

Over the past few months I have been testing different bags and cases to fit everything I need to run my business. As I commute by bike, the bag needs to be waterproof. The problem with waterproof gear is that it is usually very bulky. I need my gear to be both portable and representative, a challenge worth a blog post!

Around town in an electric car

Driving the Smart Electric Drive (EQ fortwo)

Nov. 16, 2018
For one week I drove the electric Smart EQ fortwo in and around town. I found out what it's like to drive electrically: fun!

Earlier this month I drove around town for a week in an electric vehicle, a brand new Smart Electric Drive (EQ fortwo). I used it to commute, for my daily groceries and to visit family, friends and customers. What's it like to drive a fully electric car on a daily basis?

Is the Apple Watch the modern tool watch?

Testing the Apple Watch's usefulness in real life

Nov. 2, 2018
I tested the Apple Watch during my work in Frankfurt this week where I had to go inside an internet data centre.

This week I went to Frankfurt for business. I had to perform maintenance to servers in a data centre. This seemed like a great opportunity to test the Apple Watch's usefulness in real life (other than health and fitness). I wondered, is the Apple Watch the modern tool watch?

Rescuing files from a broken harddisk

Make backups to be safe rather than sorry!

Oct. 16, 2018
Yesterday I helped a young woman with her broken computer containing precious photos, could I safe them?

Yesterday a young woman brought me her laptop, it didn't start anymore and it only showed an error message. It turned out to be a broken harddisk. It startled her when I told her that all data on the disk was lost. She told me it contained precious photos of her pregnancy and young child. What could I do?

Optimising images for the web and performance

Reduce filesize with jpegoptim, optipng, pngcrush and pngquant

Sep. 26, 2018
Make your website faster by optimising the images. This posts explains how you can do this.

One way to make your website faster is to make it smaller. Not with tiny fonts, but with less bytes! More than half the weight of an average website is because of images. Yet very few people optimise their images for the web and performance, time to find out how much bytes you can safe!

Google Analytics vs AWStats

Understanding web traffic statistics software

Aug. 20, 2018
Comparing Google Analytics with AWStats to find out where they differ and which is better.

This month I have been working on website statistics, tracking traffic using different technologies. Some of my customers use Google Analytics, others use AWStats, and some use both. Which is better is often debated, but few people really understand the differences. Time to shed some light on the magic of web statistics.

Off the grid: Working on 100% renewable energy

Collecting, storing and using solar electricity to power my phone, computer and wearables

Apr. 30, 2018
Learning from powering my personal devices using nothing but self generated electricity using a solar panel and power banks.

For the past 10 days I have powered my personal electronic devices (phone, computer, wearables) using nothing but energy collected using a small solar panel. I disconnected all grid-connected chargers. I hoped that by going off the grid, even in such a small way, I would gain insights that enable me to save energy (and money).

Cyber security: 5 easy tips to protect your server against hackers

Server hardening best practices for Windows and Linux

Mar. 10, 2018
These 5 practical cyber security measures will improve the safety of server, website and data.

This week one of my clients was hacked and asked me for emergency assistance to help secure their server infrastructure. It was a web server that ran WordPress websites on Apache (with PHP/MySQL), including a few webshops with customer data. This hack could easily have been prevented with the following best practices, is your server secure?

Tablet as main computer

Comparing the Microsoft Surface Pro to iPad Pro

Mar. 7, 2018
I have been using a tablet as my main computer for quite some time now. In this blog post I share you my experience on using Surface Pro and iPad Pro to get my work done.

For the past few weeks I have been using the Microsoft Surface Pro as my main computer. It's a modern tablet computer that can be used as laptop with the type cover. With the Surface Pen, it's a versatile PC that works in a lot of different ways. Time to find out if it's any good and how it compares to my other tablet computer, iPad Pro.

Creating the ultimate commuter bike

Riding at 35KM/h with Nexus Alfine 8 and Gates Carbon Drive

Feb. 24, 2018
Creating the ultimate commuter bike by upgrading the Sensa Cintura belt drive bike.

This winter I use a Sensa Cintura bike with a Gates Carbon belt drive as my daily commuter. It's a bike designed to be nice to ride thanks to its sporty lightweight frame. It's also meant to be low on maintenance thanks to the belt drive and Nexus Afline 8 integrated gear hub. After 1800KM in just eight weeks, it was time for some upgrades.

Updating Snake '97

About the challenges of developing a wildly popular game

Feb. 21, 2018
This month I bit the bullet big time: I redesigned the game engine of the wildly popular Snake '97 game. Read about the design challenges in this blog post.

Few years ago my brother threw a beer on my iPhone in an Amsterdam bar. The poor thing didn't like the Dutch brew as much as I do: it died. While waiting for a new phone to arrive, I used an old one that couldn't do anything but texting, calling and... Snake! The idea for Snake '97 was born and this month it was time to update the wildly popular game.

Commuting by bike

One week (240KM) on the VanMoof Electrified S

Dec. 2, 2017
One week on the VanMoof Electrified S E-bike testing it for commuting and comparing it to a normal bike.

For a few years now, I commute to work using a bicycle. I have lost more than 15KG since I stopped using my scooter. This week I tested a VanMoof Electrified S, an electric bike with an industrial, minimal design. Is it any good? How does it compare to a normal bike? Will an electric bike make you lazy? Read along to find out!

Clouds below my floor

Building a little datacenter in my basement

Aug. 31, 2017
Building a little datacenter in my basement utilising a very fast internet connection.

At my home I have this crazy fast optical internet connection. It is a 600MB up and down fibre connection which directly arrives in my home (no copper cables involved). It's like a private internet highway. Reason enough to find out if I could do something to make better use of all this speedy fiber galore...

The day I killed my LAN

Turned off my local network and went 4G only

July 31, 2017
I killed my office LAN and went 4G only. Saves a lot of clutter, energy and money.

Today I called my provider to quit my office's ADSL internet subscription, I don't need it anymore. I have turned off my local area network and switched my workflow onto mobile internet only. The simplicity and savings actually surprised me so much, that I made blog post for it.

Programming on Apple Watch

Serious about crazy experiments

Feb. 16, 2017
Programming with VIM over SSH on Apple Watch using a bluetooth keyboard

Over the past years I have been no stranger to crazy experiments, but this time I really wanted to push it into the extreme: programming on an Apple Watch. Would it be possible to actually write code on such a tiny device? Why even bother? This post is about the case for crazy experiments, and why you should try too!

iPad Pro next to my primary machine

Using it with Apple Pencil as a creative powerhouse

Jan. 30, 2017
Using iPad Pro with Apple Pencil next to my computer to form a create powerhouse

I wanted see if I can find something better than my old fashioned pencil and paper that I use for designing software as professional developer. I knew iPad Pro from my test last summer, figuring out if it could replace my primary development machine. While it may not be able to completely replace my thrustworthy ThinkPad, it turned out to be a totally different story when it comes to paper.

iPad Pro as primary computer

testing iOS as primairy development platform

Aug. 15, 2016
Is the time right to use an iPad as primary development platform to get some real work done?

The lack of physical clutter, distracting branding, or blinking LED's makes the iPad Pro a textbook example of minimal design. My despiction of distraction explains my interest in using the iPad Pro as only computer to test if it is up to the task. Is Apple's latest effort on iOS enough to enable it to do serious development work?

All blog posts
Nature in Limburg: De Peel
Nature in Limburg: De Peel
The Apple Watch is a tiny wearable computer
The Apple Watch is a tiny wearable computer
Hard conditions for the Gates Carbon Drive
Hard conditions for the Gates Carbon Drive
Inside a HPE ProLiant DL380p Gen8 server (LFF)
Inside a HPE ProLiant DL380p Gen8 server (LFF)
Explore the power of AI together by inviting me for a hands-on training session - I love doing these!
Explore the power of AI together by inviting me for a hands-on training session - I love doing these!
Microservices Software Architecture
Microservices Software Architecture
Editing a DNS record using my
Editing a DNS record using my "Lemmid Domain" app while preserving context of the entire DNS zone
GPT4's generated output code
GPT4's generated output code "auto_rotate.sh" rotating images using ImageMagick based on EXIF orientation
Coffee and PONG on the video-sports console with CRT monitor
Coffee and PONG on the video-sports console with CRT monitor
Housed in large cabinets occupying entire rooms or buildings
Housed in large cabinets occupying entire rooms or buildings
You can easily arrange a multi-monitor work setup like this
You can easily arrange a multi-monitor work setup like this
MobileNet-SSD algorithm (image: hey-yahei.cn)
MobileNet-SSD algorithm (image: hey-yahei.cn)
Designed to offer you a better balance between being connected and being disturbed, the Punkt MP01 mobile phone featured in my experiment using a
Designed to offer you a better balance between being connected and being disturbed, the Punkt MP01 mobile phone featured in my experiment using a "dumb phone" to foster creativity
Use the pen to draw, write and design
Use the pen to draw, write and design
Gomadic portable Solar Charger - 15W - 330 x 305 x 38 mm
Gomadic portable Solar Charger - 15W - 330 x 305 x 38 mm
Finding a way to fix the panel in a way that the weather would not harm it
Finding a way to fix the panel in a way that the weather would not harm it
Game graphics elevated to genuine art works
Game graphics elevated to genuine art works
Microsoft Surface Pro
Microsoft Surface Pro

More Work on Willem's Blog

All blog posts

Articles (148)