PPH l33t

Presentation on MicroServices on Docker Athens

Spyros and Panagiotis recently gave a presentation at a coworking space in Athens (The Cube), at the Docker Athens community meet up, concerning Micro Service implementation and tools / techniques we use in PPH.   Topics covered were: What is a micro service architecture Advantages…

Docker – Extending official images

In one of our projects we provide our developers a mysql container for the local development environment pre-seeded with tables and data so the app will work “out of the box“. Previously we built the mysql container from a raw ubuntu image but now that…

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…