FreeBSD Git Server Granular User Permissions using File System Access Control Lists (ACLs)

Previously I wrote about how to create a multi user git server on FreeBSD using standard UNIX file permissions, allowing users that belong to the same group to read and write from and to the same repository. But what happens when some users outside the group, should only read, while others should also write? Standard file permissions are limited, and do not provide sufficient user permission granularity. To workaround this issue, you can use the FreeBSD File System Access Control Lists (ACLs). 

Continue reading FreeBSD Git Server Granular User Permissions using File System Access Control Lists (ACLs)

Identifying bottlenecks in your PHP scripts, using XDebug and KCacheGrind

This entry focuses on how to identify slow parts of your scripts using the PHP/Xdebug profiling feature along with KCacheGrind for profile data visualisation. Xdebug is a PHP extension used for debugging scripts, supporting stack and function traces and information and memory allocation profilling. KCacheGrind is a profile data visualisation tool, allowing for easy browsing of performance results. In this article, Xdebug is installed in Ubuntu Linux side by side with FreeBSD, and KCacheGrind is installed in Ubuntu Linux only.

Continue reading Identifying bottlenecks in your PHP scripts, using XDebug and KCacheGrind

Web Application Performance Testing using Apache JMeter, Part 2: Monitor Server Resources

In Part 1 of Web Application Performance Testing using Apache JMeter I wrote about how to install Apache JMeter and create a test. In this part I am writing about how to monitor server resources, using the PerfMonAgent Server Agent and the PerfMon Metrics Collector Listener plugin. These are particularly useful when trying to measure the impact over your server during perfomance tests. 

Continue reading Web Application Performance Testing using Apache JMeter, Part 2: Monitor Server Resources

Web Application Performance Testing using Apache JMeter, Part 1: Install and Create Tests

PHPUnit and Selenium provide means for testing application functionality. But how can you test your application's performance? Here Apache JMeter comes in handy, as a tool used for load testing functional behaviour and measure performance.

Continue reading Web Application Performance Testing using Apache JMeter, Part 1: Install and Create Tests

How to install and configure automated tests using PHPUnit, Selenium and Xvfb, on CentOS

This entry explains how to install and set-up automated tests, using PHPUnit, Selenium and Xvfb on CentOS Linux.

PHPUnit is a unit testing framework. Selenium is a testing framework for web applications, which can record and playback tests, relying on browsers to perform these tasks. Most servers do not have an instance of the X Window System, in order to open a browser. To avoid installing the heavy-weight packages required for it, we can use the X virtual framebuffer, which renders all the graphical operations into memory; thus, reducing the memory footprint.

Continue reading How to install and configure automated tests using PHPUnit, Selenium and Xvfb, on CentOS

How to download and convert Youtube videos to mp3, in Ubuntu Linux

This post describes how to download and convert Youtube videos to mp3, in Ubuntu Linux. Please note that this is not an encouragement to copyright infringement, I use these tools for downloading and listening to videos on my long commute with the London Underground, where no GSM or Wifi signal are available.

Continue reading How to download and convert Youtube videos to mp3, in Ubuntu Linux