Blog Archive
I'm still fed up and a browser is coming along fine
Date: 16 Dec 2023Tags: [ rust, programming, browsers ]
Three months ago, I wrote a small story about being fed up with things and trying to do something about it. Three months in, we’ve got a small community sharing the same goal: let’s try writing a browser.
I'm fed up with it, so I'm writing a browser
Date: 22 Sep 2023Tags: [ rust, programming, browsers ]
This blogpost starts with me switching of my car radio, and ends with me writing a browser. There is some stuff in between as well.
A list of 100 opinions I hold
Date: 05 Sep 2022Tags: [ opinion ]
“That’s just like, your opinion, man” - the dude
Here’s a list of 100 opinions I hold. These are opinions, not hard facts or truths. There will be many people disagreeing with some of them, maybe even most of them, and there will be very few that will agree with all of them.
A comprehensive list of failed projects
Date: 27 Dec 2021Tags: [ projects ]
I’m full of ideas. Most of them are stupid, though. But sometimes, some of these ideas get stuck in my head like an itch I must scratch, and voila: a new side-project is born.
I don’t start projects with a direct goal. Sometimes it’s just to figure out: “how hard could it be” (hint: always), or sometimes: I could get rich with this (hint: never).
Even though I’m making a good amount of money as a freelance consultant, I would love to have a project that I love to work on, which generates money even when I’m not working on it directly. As a freelancer, I can only bill for the hours I make, and typing twice as fast doesn’t reflect in getting paid twice as much.
Because I make good money, I also have the opportunity to take a few months off in a year and focus full time on my side projects. For me, this is also a perfect way to wind down after hectic months of working against deadlines, so it helps me destress, feeds my curiosity, allows me to use new untapped technologies, and maybe make a bit of money.
If we talk about the first few reasons: all my projects succeed, whether I finish them, get bored with them, or
find they are not feasible to keep alive. However, making money is much harder to achieve, yet
it is becoming the main reason I want to start a new project.
Let's talk about your privates
Date: 07 Nov 2021Tags: [ php ]
In the software development world, there are a lot of debates going on: tabs vs. spaces, vim vs. emacs, Linux vs. mac, and so on. In most, if not all, these debates, there is no clear winner: both sides are equally right (or wrong), and most likely, there is no majority on one side. I, however, am part of a debate on the “losing” side in such that I’m part of the minority. And even though strong opinions are weakly held, after I guess since the launch of PHP 5, my opinion still holds, and I’m talking about your privates…
My first attempts with Unity
Date: 01 Sep 2021Tags: [ games ] [ unity ] [ csharp ]
For a while now, I’m thinking about doing something with Unity to see how it works. And what a better way to figure things out is to try and develop a game with it.
Go maps vs switches
Date: 04 Mar 2021Tags: [ go ] [ benchmarking ]
Sometimes, things aren’t faster because you think it is,.. but because you benchmarked them. One of Go’s nice things is that it makes it easy to benchmark things to see if your hunches are correct quickly. And sometimes, they turn out not.
From Mac to Windows
Date: 12 Aug 2020Tags: [ mac ] [ win ]
I’ve moved from a Macbook Pro to a Dell PS running Windows 10. I decided against MacBook after their annoucement to move to ARM. Even though the macbook 16” was the only system i actually was thinking of buying, i’ve decided against it and give windows a new try. I’ve heared more and more good stories about windows, and more and more bad stored about mac over the last few years. Let’s switch!
Introducting BitMaelum - A new mail concept
Date: 12 Jun 2020Tags: [ crypto ] [ email ] [ bitmaelum ]
What if you can design an email system with a clean sheet. You don’t need to care about existing email clients or servers or anything at all. Even the concept of an email address can be touched. What would such a system look like? This is my attempt,..
Amazon Web Services
Date: 20 May 2020Tags: [ aws ] [ amazon ]
More often than not, I’m using Amazon Web Services (AWS) as my “cloud”. Not only for my own projects, but almost all customers I’m working for use Amazon for hosting their applications. So over time you build up a lot of experience on AWS service: you know how to (correctly) setup VPC’s, know when to you ECS, EC2 or lambda to host code and even services like S3, SNS and SQS pose no challenges anymore.
But there are a lot of AWS services available. And I do mean: a LOT. Currently, there are 163 (!) different services that are available from the Amazon Dashboard, each with their own way of working, difficulties, catches and best practises.
Symfony's autowiring
Date: 19 Sep 2017Tags: [ symfony ] [ autowire ] [ magic ]
When asking people if they use Symfony’s autowiring functionality, an often heard excuse why people don’t use it is because of all the magic that is happening during autowiring. But just like most impressive magic tricks, once explained, it all boils down to a few simple principles and Symfony’s autowiring is nothing different in that perspective. In this blogpost I will explain the new autowiring and autoconfiguration features, and why you should love them.
Write your own GitHub clone
Date: 28 Feb 2016Tags: [ github ] [ git ]
Shower thought: What would it take to write your own GitHub clone? Answer: not that much! I’ve spend a few hours on tinkering with some of the basic concepts, and it turns out it’s actually quite easy to set something up from scratch. And before you all go and write comments that it not feature-complete: yes, I know. But most of them are fairly trivial to implement though, and my goal was to actually see if we can get the foundations up and running. Implementing things like an issue-tracker and webhooks isn’t part of that.
My guide to commenting on joind.in
Date: 17 Dec 2015Tags: [ joindin ]
If you are visiting pretty much any (random) PHP conference these days, you will hear a lot of talk about “rating talks on joind.in”. For those not familiar with this site: it’s a site where you can find additional information about the talk (like slides), and where you can leave a rating and/or comment about the talks and conferences that you have attended.
It’s a great way to prepare for an upcoming conference: check out the talks you want to see, and see if the presenter has already given the presentation at another conference and view the rating / comments. This way, you have a good picture (although never the complete picture), of the presentation you are about to see. Also, often presenters will add their slidedeck to talks, so you can actually see what the presentation will look like.
Moving to Jekyll
Date: 11 Dec 2015Tags: [ Wordpress ] [ Jekyll ]
As you might notice, i’ve switched my blogging engine from Wordpress to Jekyll. There are actually a few reasons for this:
Benford's law in frameworks
Date: 09 Dec 2015Tags: [ Benford ] [ PHP ] [ Statistics ]
In a new talk I’m currently presenting at conferences and meetups, I talk - amongst other things - about Benford’s law. This law states that in natural occurring numbers, the first digit of those numbers will most often start with a 1 (around 30% of the time), and logarithmically drops down to the number 9, which occurs only 5% of the time. This might sound strange: why would a number that starts with 1, (like 1, 16, 152 or even 152533), be more common than 2,25, 266, or even the lesser common 6, 63, 6474 etc? And although there are some explanations, a definitive one still isn’t there.
Symfony, XDebug and the maximum nesting level
Date: 15 Nov 2015Tags: [ Forms ] [ XDebug ] [ PHP ] [ Twig ] [ Symfony2 ]
Here you are, developing your code based on the Symfony2 framework. Creating a form here, add a Twig template there, until suddenly, boom! Your site doesn’t work anymore, and all the info you can find in your PHP logs is:
PHP Fatal error: Maximum function nesting level of '100' reached, aborting! in Unknown on line 0
What just happened? Did I create some kind of recursive function I wasn’t aware of, did somebody commit code that I accidentally pulled? Did Jupiter align with Mars and somehow this is causing issues in my code. Who knows? Fortunately for us developers, there is a quick way to deal with this: google it..
Incrementing values in PHP
Date: 13 Oct 2015Tags: [ Bytecode ] [ Internals ] [ PHP ]
Take a variable, increment it with 1. That sounds like a simple enough job right? Well.. from a PHP developer point of view that might seem the case, but is it really? There are bound to be some catches to it (otherwise we wouldn’t write a blogpost about it). So, there are a few different ways to increment a value, and they MIGHT seem similar, they work and behave differently under the hood of PHP, which can lead to - let’s say - interesting results.
Understanding Symfony2 Forms
Date: 11 Sep 2015Tags: [ forms ] [ framework ] [ PHP ] [ rainbow ] [ symfony2 ]
To actually use Symfony2 forms, all you need to do is read some documentation, a few blog posts and you’ll be up and running in a couple of minutes. Understanding Symfony2 forms however, is a whole different ballgame. In order to understand a seemingly simple process of “adding fields to a form”, we must understand a lot of the basic foundation of the Symfony2 Form component. In these blog posts, I’ll try and give some more insights on this foundation.
The PHP Elephant stampede
Date: 03 Jun 2015Tags: [ php ] [ elephpants ]
Do you have a toy PHP elephant? A blue one, or an exotic other color, maybe even a jumbo version? Maybe even more than one? Good, put it or them down on the floor, step away from it for a about 5 meters or so, and look back.
You bought this with your hard owned money. You’ve earned it. It’s yours. But think about this for a while: what if the literally thousands of dollars we as a community spent on stuffed animals, what if we would spend that same amount of money on PHP itself?
The secret success of PHPNL
Date: 17 Apr 2015Tags: [ slack ] [ php ]
Jelrik and I wanted to share something (I forgot what it was) during the PHPBenelux conference. Probably too lazy to send it through email (tarring, getting it into the email client, sending.. blergh.. tired already) and most likely because the dislike of Skype, we turned to Slack, where both of us were already in (too) many teams already. Strangely enough, we didn’t had a common team where we both were member of.