Andy Thomas

Contact details

Mathematics: Department of Mathematics, Room 6m46 Huxley Building 180 Queen's Gate, South Kensington, London. SW7 2RH

Telephone No: +44 7866 556626, or from within college call: x59687

Quick links

support and how to get itthe sysnews pagesall about the SCANthe cluster job queueing systemnothing to do with work!
(internal only)

Who am I?

I'm the Research Computing Manager for the Department of Mathematics, aka the IT Crisis Manager.

What do I do?

To borrow the SuSE Linux catchphrase, "having a lot of fun" providing support for computers that run Linux, UNIX and UNIX-like operating systems is my main role; Windows support is provided by the central ICT service.

Maths has a rich and varied computing landscape with most research activities being done on Linux, UNIX and MacOS platforms. A variety of Linux distributions are used here including Ubuntu, Debian, OpenSuSE and Slackware, along with MacOS, FreeBSD, OpenBSD, Solaris & its variants and even HP Tru64 UNIX and all are fully supported. However, as operating systems and user's needs have matured we have now mostly migrated to Ubuntu Linux or Macs for desktop systems, Ubuntu for compute servers, FreeBSD for storage servers and other non-compute functions and OpenBSD for network-related systems.

IT is very important to Mathematics where almost all work is done on computers - gone are the days when things would be worked out with slide rules and pencil & paper. (I still have my college slide rule; there's something very satisfying about its weight, the way it feels in the hands and in using it but frankly, a £4.99 calculator from W H Smith's outperforms it in both accuracy and the range of functions it provides). For research users, computing facilities are even more essential as modelling, series computation and parallel computing techniques wth many computers and processors are widely used. Many users in Maths (and other departments) are very good programmers too and routinely create programs written in C, Fortran, Python and, increasingly, in CUDA, a programming language for nVidia GPU clusters.

The three main number crunching facilities available to the Maths research community are the Linux compute cluster, the part-time FreeBSD SuperComputer At Night (SCAN) project and the GPU clusters.

Why use Linux?

New users are often put off by Linux particularly if they have been using Windows for a long time; Windows does everything for you if you are just an 'ordinary desktop user' with no particular interest in computing per se and this really does suit a lot of people. But others have a different approach to IT - rather than taking a passive role when using their PC, some users want to get involved, to explore, to innovate, to create, write their own software and to really do things with their PCs. These users are often frustrated when using Windows - there is this constant feeling you're being treated as a dummy, nannied by the operating system and unable to do what you really want to do. If you are one of these users, then Linux is for you.

Linux is about getting involved - you could draw parallels with entertainment and cars; it's easy to sit and watch a show on TV but think of how much more fun it would be to get off that sofa and join an amateur dramatics group or form a jazz quartet with friends? It's the same with cars - anyone (well almost) can drive a family Ford and it's a rather boring experience but think of driving a Ferrari, Aston Martin or a double decker bus; they are not as easy to drive and they demand a lot from you but in return they'll give you anything but a boring experience! It is probably true to say using Linux and UNIX does require a different mindset and is likely to appeal to some more than others - it isn't for everyone but it's certainly worth a try if you've never used it before. You might be in for a pleasant surprise.

Thanks to graphical desktop environments like KDE, gnome and Unity, Linux has made its way onto desktops as a mainstream PC operating system and many users in the department use Linux for its stability and very low cost of ownership. But digging deeper, the real power lies in the underlying operating system - based on the original UNIX philosophy of a user command interface (the shell) that is also a powerful programming language in its own right, lots of small programs that often do just one job (and do it well) and underpinned by a very stable kernel, the things you can do with Linux are limited only by your imagination.

Using Linux or UNIX is rather like having a really big box of Lego - it's very much a 'can do' environment. You can use the programs and utilities that are supplied with any Linux or UNIX installation in many different ways and while they have a range of options or parameters, there are no rigid rules for using them. Feel free to experiment! Imagine the fun you could have if you mix the Lego with a child's bathtime fun plumbing set, with its pipes, tees, taps and connectors - you really can do the same with Linux; programs can be interconnected in various ways, with data coming out of one program being fed into one or more other programs (this is called 'piping' and 'teeing') and being passed through a long chain of programs or commands, each of which will perform some operation on that data. You are in complete control as you have chosen the programs you are using and have made all the interconnections yourself. And it's free.

Contrast this with another well-known computing environment; there, it's often a case of "...which package should I buy that will enable me to do this, that and the other? And how much will it cost?"

But having now given you a glimpse of the sheer power & flexibility of Linux, you really don't have to use Linux in this way - you can still use your Linux computer just like any other Windows PC or Mac for email, surfing, office tasks, updating Facebook, Twitter, etc and an increasing number of organisations, companies and government departments are migrating office desktop systems to Linux for its stability, security and low cost. How you use your Linux computer is entirely up to you!

Why program?

As a computer user, learning a shell programming language such as bash or tcsh will be about the best investment you'll ever make - it will unleash the real power of your computer, open up a lot of possibilities that perhaps you never knew existed and you will have a lot of fun along the way. Guaranteed.

As a mathematician, learning C or Fortran or one of the newer languages such as Python will pay enormous dividends in your research. And maths-specific programming packages like Maple, Matlab and R are becoming more and more flexible and fully-featured and will allow you to integrate your Fortran and C code into your Maple or Matlab worksheets. for example.

Public health warning: programming can be addictive.

What's going on right now?

Unfortunately owing to the Covid-19 pandemic, some new initiatives that would otherwise have seen the light of day by now in Maths have been delayed; a new GPU compute server (nvidia4) fitted with eight nVidia RXT 2080Ti GPU cards was installed in May 2020 after electrical power works were completed in March just before the first UK lockdown began, followed by another one for the StatML CDT. Since then Maths research IT has mainly operated in maintenance-only mode with only repairs being carried out during infrequent visits to the premises but user support, upgrades and new package installations continued as before. 2022 saw the relaxation of most Covid-related restrictions and heralded a gradual return to normal operations although most users are still working from home or have adopted a hybrid on-campus/work-from-home working pattern.


Photoproduction of Hydrogen by Cyanobacteria under Partial Vacuum in Batch Culture or in a Photobioreactor
S A Markov, A D Thomas, M J Bazin, D O Hall
In Journal of Hydrogen Energy, 22, (1997) no. 5, pp. 521-524.


HPC for Free - about the Maths SCAN: part 1

HPC for Free - about the Maths SCAN: part 2

Book reviews

Apache2 Pocket Reference

Ubuntu Kung Fu

The Sustainable Network

Network Flow Analysis

SQL Antipatterns

Vi and Vim Editors Pocket Reference

Programming Python

A bit about myself

Admittedly I'm very much a *n*x enthusiast (that's a generic term covering Linux, UNIX, Mac OS and other UNIX-like operating systems) and have been so for nearly 3 decades. But it wasn't always so and in the past I used CP/M, MS-DOS and Vax VMS before discovering first Linux, then Solaris and moving on from there. Since then I have gained experience of most Linuxes and UNIXes and use Linux and FreeBSD daily, with OpenBSD also featuring on various devices on my networks.

I am often asked which Linux distro I use myself - I have to admit I don't use Linux exclusively; I use FreeBSD 13.0 on my main 'day to day' desktop PC here at Imperial alongside another PC running Ubuntu 20.04 and a Mac running MacOS Ventura, with OpenSUSE LEAP 15.2 on the server room PC while my mail system still runs a 2006-vintage x86-64 OpenSolaris. At home I use FreeBSD mainly but also keep Debian, OpenSUSE and Slackware systems running continuously and on the rare times I can actually switch off from work, there's not much that can beat the FlightGear flight simulator on a really fast Ubuntu gaming PC! And when out and about, my favourite system is a MacBook Air - very light with an excellent screen & touchpad. I feel it is important not to get stuck in a rut using just one Linux distro - all the different versions of UNIX & Linux have their strengths and weaknesses and discovering and understanding how they work, their idiosyncrasies and delightful features is part of the fun of using them and makes the UNIX experience so much richer and more enjoyable.

But back to the original question? My favourite Linux is SuSE/openSUSE - it's thoroughly well-engineered, everything has always 'just worked' in SuSE Linux and although Ubuntu has largely taken over the Linux desktop arena, forcing openSUSE into a minority spot, there's something solid and dependable about SuSE that you know will never let you down. On the other hand, SuSE's 'arms length' policies regarding trademarks, licensing, intellectual property and non-OSS software such as MP4 video players, certain codecs, ffmpeg libraries, etc means you'll be much better off with Ubuntu or FreeBSD if watching movies, BBC iPlayer, etc are important to you.

I have a particular interest in high availability UNIX/Linux server and network infrastructure, using multiple servers, resilient networks and specially-written software to provide very high reliability/uptime figures. Other IT-related interests include parallel compute clusters and making systems as autonomous and fully-automated as possible. In other words, "fit and forget".

Active in the FreeBSD and UK UNIX Users' Groups (and formerly in the now disbanded London OpenSolaris User Group), I am a part-time systems & network administrator for several organisations and small companies and also undertake general freelance UNIX/Linux sys admin and development work through Time Domain Systems. Increasingly, work is being done on a 'pro bono' basis for charities, an important and rewarding contribution in these straightened times.

When I'm not pounding away at my IBM model M keyboards, I enjoy plumbing (yes, really), cooking up a Keralan storm at home in north London, fermenting seriously strong wines behind servers or simply restoring old cars in the garage. And the 1960's advertising slogan 'Just hold a Pentax' still holds true; getting onto a bike with a backpack stuffed with photo gear and exploring hitherto hidden corners of London and beyond is one of life's simple pleasures.

Fun stuff

Bad day at the office?

This video was from a security camera at the Bracknell UK headquarters of a well-known German-owned international company. I am amazed at how many poor quality copies have been stolen from my web page and appeared elsewhere, notably Google. (My video came from the resident network installation team there, who installed the CCTV system and also much of the King's College Ethernet network when I worked there in the 1990s).

R.I.P Ada

The tiny cat featured in the July video has sadly gone to sleep for ever. Ada was a rescue kitten from the Cats Protection's North London Adoption Centre who lived with us for 3 years. Sadly, she was diagnosed with incurable chronic kidney disease some two years ago and through the best efforts of both local and specialist referral vets as well as daily medication, her zest for life kept her going for far longer than expected. The most inteliigent, lively and curious cat I have ever known, she had a very complex character - one of the most affectionate yet at times displaying a pugnacious attitude towards other cats with a depressing tendency for bringing bird corpses into the house and eating mice (including the tail) whole in under 30 seconds. She is sadly missed.

Andy Thomas

Research Computing Manager,
Department of Mathematics

last updated: 30.9.23