PPH l33t

Converting a trac wiki to Confluence

We wanted to migrate our self-hosted trac wiki to Confluence, hosted by Atlassian (the makers of Confluence). There is a tool called the UWC (Universal Wiki Converter) that can help us. First we need our trac data in a format that the UWC can process….

Using Nginx to proxy to Docker containers

We run our DeskDonkie webapp within a docker container and every deployment starts a new container listening in on a port that docker allocates for us. In order to switch incoming requests to a newly deployed container we use a proxy. There are many proxy…

YiiSES Setup guide

We wanted to build a marketing email application (which we are calling “MailChap”) and since we are a Yii shop I figured before we started, we should try the YiiSES module. Setup was a little tricky so I documented it here in case it’s useful…

Tech Level up

With the new PPH website out the door, we have adopted many new technologies within our team. The new PPH site is still built with PHP. We use nginx as a proxy to Apache and running on multiple EC2 instances, with an RDS backend utilising multiple read-replicas. We use…

Counting number of properties in a JS object

When there is a JS array, it is easy to count the number of elements. For example: var arr = [“hello”, “world”]; console.log(arr.length); // 2 However, when you have an object it is a bit more tricky. .length wont work. One way is to iterate…

Sprites and the :before element

Lets suppose you have a big sprite with icons place not only vertically, but also horizontaly, effectively creating a complex grid. Now lets suppose you want to create an <a> tag with an icon on the left side, and some text after that. If you…