Blog of Jeroen De Dauw
Software, AI and clear thinking. Subscribe via RSS. I write about MediaWiki, Wikibase and NeoWiki on the Professional Wiki blog.
2026
2025
2022
2019
2018
- Readable Functions: Do One Thing
- PHP Typed Properties
- Readable Functions: Minimize State
- Clean Architecture + Bounded Contexts diagram
- Base Libraries Should be Stable
- Clean Architecture + Bounded Contexts
- Bounded Contexts in the Wikimedia Fundraising Software
- Clean Architecture: UseCase tests
- Guidelines for New Software Projects
- Collaboration Best Practices
- PHP project template
- My year in books
2017
2016
- Implementing the Clean Architecture
- Rewriting the Wikimedia Deutschland fundraising
- Maps 4.0.0-RC1 released!
- Object Orientated Lua code
- Clean Architecture diagrams
- Maps 3.8 for MediaWiki released
- PHP Unconference Europe 2016
- Maps 3.6 for MediaWiki released
- Is Pair Programming worth it?
- I T.A.K.E. 2016
- 5 ways to write better mocks
- Maps 3.5 and Semantic Maps 3.3
- Missing in PHP7: Nullable return types
- Missing in PHP7: Collections
- Missing in PHP7: Value objects
- Missing in PHP7: Named parameters
- Missing in PHP7: function references
- Missing in PHP7
- Replicator: Wikidata import tool
- The Liskov Substitution Principle
- My year in books
2015
2014
2013
- Wikibase DataModel released!
- DataValues Geo 0.1.1 released
- My adventures with autoloading in PHP
- Introduction to Composer for MediaWiki developers
- DataValues library
- ParamProcessor 1.0 released
- Ask 1.0 released!
- Presentation: The S in STUPID
- Maps moved to GitHub
- New database abstraction layer for MediaWiki
- MediaWiki extension installer
- ParserHooks 1.1 released!
- MediaWiki SubPageList rewrite
- Clean functions
- Profiling and logging in MediaWiki
- ParserHooks declarative OOP API for MediaWiki released
- Wikidata search plugins
- Resolving a merge conflict on gerrit
- GitHub extension for MediaWiki and SimpleCache PHP library
2012
2011
2010
Older notes are in the archive: 2009 · 2010 · 2011 · 2012 · 2013 · 2014 · 2015 · 2016 · 2017 · 2018 · 2019 · 2022 · 2025 · 2026