Het Bijstere spoor
My name is Evert Pot, and you're looking at the 6th reincarnation of my web presence.
I'm a programmer, mainly working with PHP and JavaScript.
I'm involved with the PHP Framework Interop Group, I'm the lead developer for sabre/dav and the other sabre projects, and I'm one of fruux' co-founders and CTO. In the past I played a similar role at filemobile.
I'm available for consulting as well. If you're into that sort of thing, you could take a gander at my resume.
I'm a console junkie, I love good software architecture and I still remember my ICQ number.
On the web
- Twitter : @evertp
- Github : evert
- Subscribe to my feed
About this blog
This blog is built with Jekyll, and hosted by Github Pages. All the content and code is open source.
Want to take a look, or suggest changes? Check out or fork the Github project.
Blog archive
I've been writing blog-posts on and off since 2006. Below you'll find the full archive. Don't scroll too far though, quality degrades as you go backwards in time.
2016
- 10 years on LinkedIn
- phpunit-bin - run phpunit from anywhere
- Strict typing in PHP 7 - poll results
- Poll: Will you be using strict typing with PHP
- Looking back at 2015 using Markov chains
2015
- Parsing Atom with sabre/xml
- Finding a DNS registrar
- PHP code in 2006 and 2016
- Now available via TLS and HTTP/2
- Switching to Linux
- Promises & Generators: my slides from True North PHP 2015
- Going freelance
- Save memory by switching to generators
- sabre/dav 3.0 released!
- PSR-7 released today
- PHP's callable typehint too loose?
- An XML library for PHP you may not hate.
- PSR-7 is imminent, and here's my issues with it.
- Dropbox starts using POST, and why this is poor API design.
- The problem with password_hash()
- HTTP/2 finalized - a quick overview
- What's a link?
- A new URI handling library for PHP.
2014
- Testing your composer dependencies with prefer-lowest
- Making the clipboard work between iTerm2, tmux, vim and OS X.
- sabre/dav 2.1 released.
- Why Google's CardDAV server isn't.
- Accessing protected properties from objects that share the same ancestry.
- Promises in PHP
- HTTP/1.1 just got a major update.
- sabre/dav 2.0 released.
- Hawk Autentication considered harmful.
- New sabre/dav website launched!
- PHP 5.5.10 timezone handling changes
- Composer's bug now fixed
- Composer is wide open with a massive security vulnerability
- fpassthru broken on OS X
- Google Code is dead.
- jCard is now a thing
- sabre/http 2.0 released
2013
- Replacing MyOpenID
- MySQL 5.6 BOOL behavior when using PDO and prepared statements
- Free Internet Explorer VM's on modern.ie
- If you care about privacy, don't use OS X mail
- On idempotence in HTTP
- Joining CalConnect
- Sabre VObject 3.1 released
- Following redirects with Curl in PHP.
- sabre-event, a simple event management library for PHP 5.4
- OS X 10.9 will ship with PHP 5.3
- Sabre VObject 3 released
- PHP 5.5.0 released!
- Escaping in iCalendar and vCard
- SabreDAV acquired by fruux
- A new blog!
2012
- Switching to PHP 5.4 on OS X
- SabreDAV 1.8 released (with namespaces!)
- Markdown output for PHPDocumentor2
- SabreDAV 1.7 released
- New open source project: Sabre VObject
- OAuth 2.0 and the Road to Hell
- IE10 and DNT-header update
- IE10 will enable the DNT header by default, and why I think this is a bad thing.
- New HTTP status codes
- New full-time gig at fruux
- Content Security Policy update
- Silex routing issues
- RFC search provider
2011
- My PHP Advent article
- PHP Includes file generator
- Moved SabreDAV to Github
- Timezone database closed down
- iconv_substr vs mbstring_substr
- Fake *.google.com SSL certificate in the wild
- SabreDAV 1.5 released with CardDAV support
- Blogging for 5 years
- Numeric string comparison in PHP
- Escaping MySQL strings with no connection available
- Throwing in the towel with SabreAMF and Dropbox PHP lib
- Speaking at the PHPBenelux march meetup
- Mozilla Documentation Center
- Speaking at DPC 2011
- SabreDAV 1.4.0-beta released
- Taking advantage of PHP namespaces with older code
- Going to PHPBenelux
- My gripe with Prototype
2010
- iCalendar / vCard parser for PHP
- slowdeath - a simple denial of service attack for most PHP-based servers
- Internationalized domain names, are you ready?
- SabreDAV 1.3.0 released
- Ubuntu has a new font
- Killing a dead ssh connection
- Evercookie: the cookie that just won't die
- Content Security Policy introduction
- New job at IBuildings
- Storing encrypted session information in a cookie
- What happened to HTTP authentication?
- Guidelines for generating XML
- Blogging for 4 years
- SabreDAV 1.2 released (with CalDAV support)
- When to escape your data
- Goodbye old Firefox profile
- Dropbox client library for PHP
- mbstring function overloading: don't use it
- Filesystem encoding and PHP
- HTML5 video: On2 VP8, H.264 and Ogg Theora
- New habari-based blog
- basename() is locale-aware
- SabreDAV 1.0.9 released & CalDAV news
- <input type="email"> and Firefox Contacts Add-on
- Jumping ship! From Subversion To Mercurial
- CalDAV server for PHP
- Published in PHP|Architect
- Unicode nearing 50% of the web
- A case for table-based design
- SabreDAV 1.0.4 released
- New open PEAR channels
- javascript's escape and encodeURI vs. PHP $_POST
2009
- OS/X WebDAV and Chunked Transfer Encoding
- South Korea's 'real-name verification law'
- Switching from Google to Bing
- Game of life with checkboxes
- SabreDAV reaches 1.0
- Comments are back!
- Deleted all comments by accident
- Upgrading to Snow Leopard adventures
- OS/X internet sharing defaults to 192.168.2.* range.
- CalDAV - it's hard!
- SabreDAV 0.12
- Converting ICalendar to XML
- Is OpenID becoming over-engineered?
- SabreDAV 0.9
- Flash ExternalInterface - Debug checklist
- SabreAMF 1.3 release
- Goto in PHP 5.3
- Changing jobs
- PHP feature request: 'Throwable' interface
- Macbook LCD screen repair project
- SabreDAV 0.8
- Blogging for 3 years
- Baseball Chronicles
- Oracle to buy Sun
- Frame busting and clickjacking prevention
- rev="canonical" and url shortening
- I bring you: floep
- SabreDAV 0.7
- Indexing geo-data 3: In practice
- Indexing geo-data 2 : simple benchmark
- Indexing geo-data
- Dangers of mutual dependencies
- WebDAV-related RFC's
- Rogers takes over my browser
- SabreDAV 0.6
- Search engines to support 'canonical urls', or: how to reinvent the wheel
- HTTP Basic and Digest authentication with PHP
- Creating streams from strings in PHP
- Apache speed and reverse proxies
- A case against pagers
- PHPUnit: A second look
- SabreDAV 0.5
- BBC drops microformats from programmes section.
- Devshed article about SQL Injection (or why security related articles should only be written by experienced people)
2008
- Geo standards on the web
- Gps trackers - any advice?
- Forking and MySQL connections
- MP4 fast-start woes
- Google Tech Talk about patents
- Zend Framework 1.7 features AMF support
- I'm programmer of the year!
- SabreDAV 0.4
- Sony Headphone Drama
- New on this blog: degraded experience for IE6
- Flash Upload changes in Flash Player 10
- Solar Framework's master-slave db adapter
- SabreAMF 1.2
- Quick MySQL tip: add comments
- Lighttpd + PHP fastcgi woes
- Integrating with Zend's OpenID
- Upcoming features in PHP 5.3
- Subversion 1.5 for debian Etch
- Preventing XSS in Javascript strings
- Converting line-endings with ViM
- Google and Yahoo start indexing SWF's
- IE8 comprehensive protection
- SabreDAV 0.3
- Macbook LCD screen broken =(
- CNMA 08 Finalist
- Site Security Policy
- Getting around "su : must be run from a terminal"
- SabreDAV 0.2
- Blogging for 2 years
- Flash opens up
- SabreDAV 0.1
- CDATA in xml.. bad idea?
- Usability, design 101
- WebDAV updates
- Silverlight 2 beta1 & IIS new video features
- First glance on IE8
- Ray Ozzie's keynote
- Off to Vegas - Mix 08
- Traversing directories
- SabreAMF 1.1 release
- Strange call from Red Hat
- SabreAMF now on gentoo portage
- MySQL Stored Procedure in PHP gotcha
- MySQL crashes on triggers + insert delayed
- Mime types.. when will people learn?
- Introduction to using SabreAMF with Flex
2007
- Adobe publishes AMF3 spec
- PHP WebDAV integration library
- Implementing WebDAV with PHP
- SabreAMF 1.0 release
- Open Source and copyright infringement
- PHP Quicksearch in firefox
- SabreAMF 1.0-beta4
- SabreAMF 1.0-beta3
- Flash Uploader on Mac not triggering onComplete event
- PHP shutdown sequence
- MemCached and MySQL UDFs
- OS/X terminal settings for linux programmers
- Leopard first impressions and problems
- HTML Purifier rocks!
- SabreAMF documentation
- SabreAMF 1.0-beta2
- SabreAMF 1.0-beta
- PHP's DateTime object and unix times..
- My Firefox extensions
- FFMpeg to support Nellymoser within the month?
- Flash to support H.264
- PHP: Arrays vs. Objects
- PHP and circular dependencies
- Future of SabreAMF
- PHPRPC and PHP frameworks
- PHP-RPC update 4
- FLVTool2 broken
- Firefox gets httpOnly cookies
- PHP-RPC update 3
- FiTC 2007 presentation video
- PHP namespaces
- PHP serializer 0.2
- The curse of major versions
- PHP serializer in userland code
- ext3: too many links!
- CSS "projection" media type
- PHP-RPC
- Blogging for 1 year
- Running cli editor from php
- Site back up!
- PHPUnit3 : first impressions
- MySQL recap and future storage engines
- PHP try..catch syntax weirdness
- FiTC 2007 rocked!
- Welcome CP/M user!
- Flash8's ExternalInterface and Internet Explorer
- SabreAMF 0.7
- I got a chumby!
- Presentation links
- Speaking at FlashinTO v59.0
- Multi-file upload using SWFUpload
- Sharing sessions between html and flash
- I'll be speaking at Flash in the Can 2007
- Rotating an image, retaining the original size
- Keeping your home directory in subversion
- Grepping in your subversion working copies
- I fixed home and end on OS/X terminal!
- SabreAMF 0.6 -> upgrade recommended
- What bug-reporting tool do you use?
2006
- SabreAMF 0.5
- SabreAMF featured on Adobe DevNet and 0.4 out
- Caching in PHP using the filesystem, APC and Memcached
- cron.daily scripts won't run
- Exploring OpenSearch
- SabreAMF 0.3 released + more info on class mappings
- Funky new look
- IE 7 RC1 acid2 test
- Creating a Gopher server with PHP and InetD
- Creating an OpenID client for PHP
- On HttpOnly, Firefox-specific XSS and this years major Livejournal XSS attack
- SabreAMF 0.2 is here
- Enabling firefox 2.0 microsummaries
- FFMpeg supports FLV 1.1
- Decoding AMF3
- Whats up for SabreAMF 0.2
- wmode="transparent" in firefox
- Updated the meta-detector library (v0.2)
- Sourcecode for Meta detector
- Building Subversion from source on debian
- PHP Application Structure
- Added MetaWeblogAPI
- Coming soon.. Code section
- Auto detecting Blog Services
- Installing SabreAMF
- Added a tagcloud
- Added comment system
- A new blog