Mike van Riel

  • Outputting formatted XML using PHP

    For an interpreter it doesn’t matter how much whitespace there is in an XML document and often you find that machines strip it all out to reduce the amount of bandwidth used. Often at the receiving end you want to show the output in a log file or page and need it to be formatted…

  • SSH Tunneling across multiple hosts in Linux

    SSH Tunneling across multiple hosts in Linux

    Sometimes you need to communicate with a server (or other device) that is not directly accessible from your own computer. If you can reach this server via another server this is not an issue and can be solved by setting up a SSH Tunnel across your network. An example Let’s start with a example: Computer…

  • Pre-commit hook in Git: Running PHPUnit

    Pre-commit hooks in git are one of those things you hardly think about but can help you automate tasks and do last-minute checks. A good example of this is running unit tests before commits, to make sure nothing broke; or checking your files using PHP_CodeSniffer. With [DocBlox][1] I use them to run my unit tests…

  • Multiple types of opening braces when matching pairs with the tokenizer/ext

    Whilst I was testing DocBlox on the Solar Framework I found a bug in the part of the application where I match the curly brace pairs of structures (like classes, functions, methods, etc). Every time a variable was imported in a string using the {$var} notation my algorithm thought that the function/method had ended at the…

  • Introducing: DocBlox

    Introducing: DocBlox

    Ever since I discovered phpDocumentor I have been fascinated by the idea of automatic Documentation Generation. Especially for large projects where an in-depth understanding of the code is a requirement. Unfortunately, the more I got to work with phpDocumentor the more issues surfaced with its performance, ease of use and above all: memory usage. Over…

  • Human readable memory usage in Linux per process

    I like to tune my VPS to use as little memory as possible. Not because I really want to; but because I just don’t have the money to spend on a 2+ GB RAM VPS and I would like to run Jira. In order to do this I keep a close eye on the processes…

  • Updated the design of this blog

    After less than 2 years I have finished my new WordPress template for this blog. The previous theme was clunky and lacked many of the features that WordPress has to offer. I hope to address these issues and enhance this site even more. To be honest: the graphic design was finished about a year ago…

  • phpStorm, a true delight to work with

    During my career as a PHP developer (hobbyist and professional) I have tried a multitude of IDEs and tools to write code in. Every IDE I have found thus far did great things but had their downsides. It is with phpStorm that I can send at least some of those problems to the past

  • pman, a unix command line PHP Manual

    Yesterday I read a blog post by Hannes Magnusson titled Unix Manual pages for PHP functions. Unknowingly had Hannes done me a great favor by posting the exact instruction on installing pman, a commandline tool which acts as the unix man command. Every so often I am busy working and noticed how easy it would…

  • The year of change

    Photo is copyright of David Reece I usually do not make new year’s resolutions, but this year is going to be different. This year will be the year of change! In the past year I have done and experienced a lot of wonderful things but some things were left undone or have been given a…