Get plug and play, privacy-friendly and GDPR/CCPA compliant statistics for WordPress with
Koko Analytics
.
Danny van Kooten
Home
About
Projects
Blog
Hire Me
Blog
2026
Using phpactor as a language server for WordPress development
February 26, 2026
2025
Pensioenbeleggen: optimaal jaarruimte benutten?
October 7, 2025
Using Composer with a specific PHP version on Alpine Linux
September 10, 2025
Benchmarking listing files in a local directory in PHP
September 2, 2025
Building self-hosted and privacy-friendly website analytics. Again.
January 16, 2025
2024
Migrating a Doctrine database from SQLite to MySQL
June 22, 2024
C++ development setup in 2024
April 6, 2024
Setting up a VPS for static site hosting
February 20, 2024
sourcehut pages: redirect (sub)domain
February 12, 2024
One Billion Rows Challenge in C
January 4, 2024
Using CSS calc to make elements fullscreen
January 2, 2024
2023
Climate friendly software
December 13, 2023
HTML compression on popular websites
November 27, 2023
RFC822 formatted datetimes and CET timezone
November 22, 2023
Preparing videos for Mastodon using ffmpeg
November 2, 2023
Speeding up the Koko Analytics dashboard
October 31, 2023
Introducing Koko Analytics Pro
October 18, 2023
Replacing annotations with PHP attributes - with Rector
July 10, 2023
2022
Minification and cache directives for the most popular websites of the internet
November 29, 2022
(Re)writing an interpreter in Rust
November 17, 2022
2021
Solving Advent of Code 2020 in under a second
April 2, 2021
2020
Writing a bytecode interpreter - in C
March 6, 2020
CO2 emissions on the web
February 4, 2020
2019
Personal goals for 2020
December 31, 2019
Introducing Koko Analytics
November 7, 2019
Stepping down from Fathom
March 18, 2019
Moving from Go to PHP again
February 4, 2019
2018
Join me on Mastodon
August 14, 2018
Reviving Ana as Fathom: simple & transparent website analytics
May 12, 2018
Backtesting 12-month SMA investing strategy with Pandas
January 24, 2018
2017
Introducing HTML Forms for WordPress
November 1, 2017
Moving from PHP (Laravel) to Go
April 17, 2017
VATMOSS in practice
April 3, 2017
2016 - year in review
January 15, 2017
2016
Browserpass for Firefox
November 28, 2016
Browserpass, a Chrome extension for Pass
November 6, 2016
2015
Celebrating 2 million downloads for Mailchimp for WordPress
September 9, 2015
Introducing ibericode
June 19, 2015
CDN URL rewriting plugin for WordPress
May 22, 2015
Interview on NomadList
May 7, 2015
Interview on WebWorkTravel
March 13, 2015
One million downloads (!!!)
February 15, 2015
2014
2014 - year in review
December 27, 2014
Periodically check WordPress core for (malicious) modifications
October 11, 2014
Data type inconsistencies in WordPress
October 2, 2014
Multiple form themes in Mailchimp for WordPress Pro
August 25, 2014
A new site, built on Ghost
August 23, 2014
Version 2.0 of Mailchimp for WordPress
April 30, 2014
2013
Only load Contact Form 7 scripts when needed
December 14, 2013
100.000 plugin downloads in under 6 months - Mailchimp for WordPress
December 6, 2013
Add plain HTML social sharing links to your posts
December 2, 2013
WordPress plugin structure, don't load unnecessary code
November 20, 2013
Delay scroll (and resize) handlers in JavaScript
November 14, 2013
Automatically add a Mailchimp sign-up form to all posts
October 4, 2013
Add a Mailchimp sign-up checkbox to Contact Form 7
September 25, 2013
Show a Mailchimp sign-up checkbox in your checkout forms.
September 12, 2013
My newest WP plugin: Mailchimp for WordPress
June 28, 2013
Goals for 2013
January 2, 2013
2012
AltoRouter, another PHP Routing class.
July 31, 2012
2011
PHP Routing Class which supports REST routing
November 30, 2011
Enabling shortcodes in widgets, quick WordPress tip.
July 17, 2011
Configuring Newsletter Sign-Up - the definitive guide
July 3, 2011
Dynamic custom menu's in WordPress
June 19, 2011
CodeIgniter Sessions in IE7
January 31, 2011
2010
IE fix for HTML 5 elements
December 29, 2010