TCP PAWS extension breaks RIPE WHOIS lookups when behind NAT

TCP PAWS extension breaks RIPE WHOIS lookups when behind NAT

For the last few weeks I have been encountering a strange problem with making IP WHOIS queries against the RIPE database, which covers all European IPs.

I first encountered the problem during a routine server upgrade and reboot. Suddenly some of our software that we run on these servers started producing errors saying that WHOIS lookups could not be performed.

Freeswitch Text-To-Speech Caching with Cepstral and LUA

Freeswitch Text-To-Speech Caching with Cepstral and LUA

Recently I have been working on a project using software called Freeswitch, which is an excellent open source SIP server. The project required the use of a text-to-speech (TTS) speech engine called Cepstral. However Cepstral's product suffers with concurrency problems when used with many concurrent phone calls. Additionally there is about a 1 second delay before TTS audio actually starts to play, which can be off-putting for the callers. To overcome these issues I have implemented a caching mechanism using Freeswitch's built in integration with the LUA scripting language.
Apache logging to central syslog server

Apache logging to central syslog server

Apache web server traditionally writes to local log files in /var/log/httpd.

At work we have been looking into PCI compliance, and it requires that log files are stored centrally so that if a server gets compromised and the local log files are modified, there is still an authoritative copy on the central log server.

Git and Github in the workplace

Git and Github in the workplace

Today we started using Git. We are using Github to host our repositories for a private project. Previously we have been an SVN shop and have built various deployment systems around it. I have encountered the following issues, and will separate them into two sections; those relating to Git as a tool, and those relating to Github as a service. Github Issues User management and access control As a Systems Administrator and Developer I spend my time both writing applications and maintaining services for other developers.
PHP UK 2010 Conference

PHP UK 2010 Conference

On Friday Feb 25 2010 I visited the PHP UK 2010 Conference in London with two of my colleagues from work. This was my first PHP conference, and I enjoyed the presentations. Probably the most useful to me was the talk given by Sticky Eyes on optimising MySQL and Message Queues for a high traffic SEO agency. This talk mentioned Beanstalkd, which is an open source message queue. I remember looking at this application last year, however it did not have persistence at that time.
VPS.NET, CentOS and NginX Load Balanced Cloud Cluster

VPS.NET, CentOS and NginX Load Balanced Cloud Cluster

This week I have been experimenting with the cloud computing provider, VPS.NET. The application I am trying to scale is a custom built PHP/MySQL web logging application, so unlike many web apps it has more database writes than reads. This is one of the challenges of scaling it, as a central database will be a single point of failure and a bottleneck. About VPS.NET The cheapest Virtual Machines at VPS.NET are £15 a month for 400MHZ CPU, 256MB RAM, 10GB disk space and 250GB/month of bandwidth.
VPN vs Remote Desktop - Avoiding Split Tunneling

VPN vs Remote Desktop - Avoiding Split Tunneling

I have been thinking about the pros and cons of implementing remote access using VPN (such as OpenVPN) vs. an application level remote access such as SSH or Remote Desktop.

Some of the arguments I have seen made for using Remote Desktop over a VPN is that any viruses or malicious software running on the connecting user's computer cannot directly affect the services running inside the corporate network.

Another argument for Remote Desktop is that unlike VPN, the user's computer network is not directly connected to the corporate network, so any malicious traffic coming from the Internet cannot make its way into the remote network - so called 'Split Tunnelling'.