We offer the articles below in the hope that they will be useful, but we cannot accept liability for any problems caused by the instructions that they contain. If you have a problem, question or feedback relating to one of our articles, please post a comment so that other readers can benefit. We regularly review comments and reply or update the articles, to ensure their continued usefulness. All articles are provided free, without any advertising or tracking, for the benefit of the technical community.

If you require paid commercial support, please contact us for assistance.

Computer security basics

Some time ago I was asked to provide some simple advice for non-technical users on protecting their data and office computer systems. Most people are aware that computer security has become a huge problem in recent years, but the sheer amount of (often conflicting) advice on the subject often drives people to ignore it - after all, if you're just trying to do your job, you don't want to have to spend a lot of time learning obscure technical information. With that in mind, this article outlines five basic things to keep in mind to stay safe online.

Wireless with Ubuntu and Debian on the Fujitsu Siemens Amilo Pro V2000D

I've been setting up Ubuntu on my mother's laptop because the Windows XP system that it came with 5 years ago is grinding to a halt. With a 1.5GHz Celeron M processor it's not exactly a supercomputer but with a fresh new Linux system it can still be a decent, useful computer for several more years.

I went for Lubuntu because it's lightweight and easy to use.

Starting of Tomcat failed, the server port 8080 is already in use.

The Problem

So you've followed all the instructions on installing Tomcat and you're almost ready to create your first JSP web app. Unfortunately, you can't seem to access the web interface for Tomcat even though it's started and Netbeans throws this error:

Starting of Tomcat failed, the server port 8080 is already in use.
See the server log for details.

The truth is, it may not be anything to do with the port number assigned to Tomcat!

The Solution

Accessing Microsoft SQL Server from PHP on Ubuntu using PDO, ODBC and FreeTDS

Here's the scenario: you are developing a web application using PHP on an Ubuntu server. You need to pull in data from an external database as part of the app. Unfortunately, the external database is Microsoft SQL Server. Accessing a PostgreSQL or MySQL database via PHP is very easy, but as I discovered, accessing MS SQL Server is less straightforward.

How to fix json_decode in PHP

When you have first installed PHP, you may find that json_decode doesn't work. What will happen is you will be given no output at all. Carry on reading if you would like to know how to fix it.

To determine the symptoms:

  1. Enable error messages to be shown by writing ini_set('display_errors', '1'); in your PHP code.
  2. Most likely, you will be given this error message now: Php Fatal Error Call To Undefined Function Json_decode

The solution:

    Zarafa on Debian how to part 2: SASL and autolearning for spamassassin

    This is part two of a two part article describing how to set up Zarafa on Debian using Postfix. The first part of the article covered the essentials of spam and virus scanning for incoming mail via spamassassin and clamassassin. This part covers secure user authentication for sending mail (SASL) and training spamassassin to be better at recognising spam.

    How to install Zarafa on Debian Lenny with Postfix, procmail, spamassassin, clamassassin, spam learning and SASL

    This is the first of two articles about configuring Zarafa to enable some extra options that aren't covered in a default install. I've talked a little about Zarafa in a previous article. It's a Linux groupware system that's almost entirely open source. There's some very good documentation, including installation instructions, on the official Zarafa website. However, while this documentation covers Zarafa in great detail, it doesn't cover many common Linux server programs you might want to combine with it.

    PHP code to add st, nd, rd or th to a number

    This one's short and sweet: while working on a PHP application I needed to format some numbers as text so that, for example, '1' became '1st', '13' became '13th', '22' became '22nd' and so on. There isn't a built-in PHP function to do this (as far as I know) and none of the code snippets I came across online were very neat, so I ended up writing my own function. Since it's something that I imagine gets used a lot, I thought I'd put it up here.

    Review of Trine, a physics-based PC game

    As the lack of recent updates might suggest, things have been quite busy work-wise recently! Since I've been working a lot, and since it's Christmas, I thought I'd write something a bit different for this article. While I haven't had much free time lately, I've spent a bit of it playing a game by the name of Trine. It's promoted as a physics based platform/puzzle game, so there is a vague science angle to tie in with the rest of the site!