Andy Thomas


Contact details

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

Telephone No: +44 7725 159687, from within college: x59687
e-mail: andy.thomas@ic.ac.uk

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 or UNIX as their operating system is my main role; Windows and Mac support is provided by the central ICT service.

Maths has a rich and varied computing landscape and I support the research that is done on Linux and UNIX platforms in this department, as well as the research IT infrastructure. A variety of Linux distributions are in use here including Red Hat, Fedora, Ubuntu, Debian, OpenSuSE/SuSE and Slackware, along with FreeBSD, Solaris/OpenSolaris/OpenIndiana and even HP Tru64 UNIX and all are fully supported.

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?

With new NextGen cluster set up in late summer 2017 now settled in, new systems are taking their place in the Maths server room including compute servers for research groups, a new combined MySQL & PostgreSQL server and a general purpose compute platform for those who do not want to use cluster computing facilities.

Articles

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 and other UNIX-like operating systems) and have been so for more than 2 decades. But it wasn't always so and in the past I used Vax VMS, CP/M and MS-DOS 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, FreeBSD and Solaris daily.

I am often asked which Linux distro I use myself - I have to admit I don't use Linux exclusively; I use FreeBSD 11.0 on my main desktop PC here at Imperial alongside another PC running Ubuntu 16.04, with OpenSUSE LEAP 42 on the server room PC while my mail system runs a 2006-vintage OpenSolaris. 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 SuSE/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, ffmpeg libraries, etc means you'll be 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.

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).


Andy Thomas

Research Computing Manager,
Department of Mathematics

last updated: 28.09.18