Latest articles and Revisions

File upload 6th Oct

Some funding proposals.

Home page

Welcome to Southend Linux User Group(SoSLUG)

Notice: Due to the Xmas season, there will not be any SoSLUG meeting on Monday 29th December. Merry Xmas!

We are a Linux User Group(LUG), that is, we promote Free & Open Source Software(FOSS) technologies. Effectively a hobbyist computing group. The FOSS approach to software (and hardware) affords the user maximum freedom with their computing, free from lock-in or malicious features. FOSS (e.g.

Python & Pygame Tutorial - A lander game, step by step

This is a step by step look at the development of a simple 2D game using Python and Pygame. Some advanced language features such as objects have been deliberately left out, in an effort to make things easier to understand for beginners. I showed these code examples at my Pygame talk at Southend Raspberry Jam 3 on 16th August '14.

It runs in Python 2 or 3, and on Windows, Linux or Raspberry Pi and probably Mac too. You will also need Pygame installed. On a Raspberry Pi (Raspian, the usual distribution) or desktop Linux you can install everything needed by running this in a terminal:

Sonic Pi 2 - How to: Install

Sonic Pi is a fun free tool that uses the Ruby language, intended to teach programming to children or anyone. It is still in the final stages of development, thus isn't packaged or in the Raspbian repositories yet.

On the Raspberry Pi, to download it, open a terminal in the menus through Accessories -> Terminal. Go here and follow the steps: Tar is an archive file format, much like ZIP files.tar -xvzf is one way to extract all files.

When it starts, type:

play 80


Espeak A Very Easy and Powerful Festival Alternative

Festival for many years has been the mother of all vocabulary text to speech systems available however it is complex to install especially if you need other voices. Espeak takes the pain out of installation that can challenge the most accomplished or seasoned Linux user. Ubuntu comes with Espeak pre-installed and even if this is not installed it only takes seconds to do so, unlike festival which takes many minutes.

LibreOffice Spell Checker Howto

Fixing the Spell Checker in LibreOffice

After installing Linux Mint - Maya this is of course the 12.04 Ubuntu version, we were rather surprised to find that LibreOffice the Office application it come with, fails to correct spelling as you type in fact although it has the feature the feature does nothing.

You might at this point want to know how this might be fixed - well here is on way simply install the following package and reboot or logout and log back in your computer, restart the LibreOffice application all should be fine.

Drivers for Epson Printer/scanner

Obtaining Drivers for an Epson Printer/Scanner

I have been using for some time now an all in one printer/scanner by Epson, namely an Epson Stylus SX445W, with my Linux Ubuntu 12.04 LTS OS but I had until recently not had need to used the scanning feature. When I started to use it I obtained a notice telling me there was no connection. Clearly, since the printer is working OK otherwise, I needed drivers for the scanner. However, this is not quite so simple, although using the Terminal helps enormously as described below.

Undertanding Network Blocks

ISP Network Block


I am writing this article partly because of the frustration experienced setting up a new network block of IP addresses assigned by the ISP (Internet Service Provider) and partly as a reminder. The operation itself is not difficult it is just not common knowledge or it is difficult to obtain, the process involves the configuration of an existing router in this case "Zyxel P660-R D1" but it could be any suitable router.

Prism Break

Protect Yourself from Prism


In late May or early June Edward Snowden began to reveal to the world the extent of government forces their disregard for privacy and most importantly the eroding of the principle that man is innocent until proven guilty. It is all to easy to debate the trappings, but what Edward Snowden has disclosed is in fact nothing new and had indeed been suspected for some time. Prism program is not an isolated incident there are many such programs, forces and commercial ventures designed to control the likes of you and I.

Timelapse Screenshots

A Howto Automate your ScreenDumps to Movie


From time to time there are some useful websites that display valuable information in real time, but on occasions you would like to monitor this or these sites without physically watching, or you may want to condense several hours or days of viewing into a few short minutes. This tutorial does just that it is based on a bash script that is run from a user cron job.


BitMessage a Secure email Client and Server


Bitmessage is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide "non-content" data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs.

Boolean algebra

Brief introduction to Boolean algebra (or propositional Logic)

When writing conditional statements, such as if (condition) { ... } else {... }, its helpful to have a basic understanding of the laws of logic (or more formally Boolean algebra) that connect conditional statements together. These can be described by the operation of just 3 connectives, They are

Array data structure

Javascript Array Object

An array is a data structure common to all modern programming languages. Arrays are temporary data structures, that is they only exist so long as the program is running. Once the program is terminated any data contained in an array is lost. To use the built in Array object you must first create an instance of it using the new keyword.

Javascrtipt - creating a TOC

Problem specification - Adding a Table of Contents.

The aim is to be able to show a complete novice to HTML, how to add a Table of Contents (TOC) to a page inside a pair of div tag (with id="toc") provided for this purpose. Initially the TOC should list all H3 headers. and each item in the TOC must include a hypertext link to the relevant (h3) paragraph. Then having established a procedure, to use javascript to achieve the same result automatically.

Extended javascript projects

Programming projects (or extended programming examples)

There is no single path to learning any programming language, Sure there are some basic concepts you need to get out of the way first, but after that you learn the bits that are relevant to the current problem.