5 Tips For Starting Responsive Web Design

According to recent analysis by ComScore the number of mobile users will surpass the number of desktop users this year. This means it is becoming vital that your website is smartphone friendly.

I’ve recently redesigned my website to make it easy to use on desktops, tablets, and smartphones by using responsive web design (RWD): the website layout changes depending on your screen size. In this post I’m going to share a few of the tips I found helpful.


Responsive webite for the Manchester University Maths Dept. Left: Desktop. Right: Mobile.

Continue reading “5 Tips For Starting Responsive Web Design”

Ten Things I Learnt During My (PhD) Thesis

For the past three years I’ve been doing my PhD in applied maths at Manchester. Now that I’m almost ready to submit my thesis I thought I’d write up some tips for those who are just beginning their PhD journey.

Continue reading “Ten Things I Learnt During My (PhD) Thesis”

Overview of the NA-HPC Workshop at UCL, April 2014

The NA-HPC Network

The NA-HPC Network is one of the groups funded by EPSRC Network Grants tasked with supporting the interaction and collaboration between numerical analysts, computer scientists, developers, and users of HPC systems within the UK.

Run by Nick Higham and David Silvester at Manchester the network has run a number of events over its 3 year lifespan. This post contains my highlights of the recent meeting at UCL, details of which can be found here.

Continue reading “Overview of the NA-HPC Workshop at UCL, April 2014”

Software Carpentry – The Highlights

The Software Sustainability Institute, Mathworks, and the Software Carpentry group recently collaborated to run a course at Manchester University. The event was designed to teach best practices in software engineering to young researchers and mainly focused on three points:

  • the command line and shell scripting (mainly in Bash).
  • version control, and in particular Git.
  • data manipulation, unit testing, and performance considerations in MATLAB.

In this post I’ll highlight what I took away from the course and give links to some useful information.

Continue reading “Software Carpentry – The Highlights”

Using implicit matrices in Python

There are lots of new features in SciPy 0.13 (release notes) but for me the most important are the updated matrix functions in scipy.linalg and the one norm estimator in scipy.sparse.linalg.

In some of my recent research (related to section 4 of this) I’ve needed to estimate the one norm of a large (n^4 x n^2) dense matrix without computing each element. All we can assume is the ability to compute matrix-vector products (via some rather complicated function), meaning we only know the entries of the matrix implicitly.

Continue reading “Using implicit matrices in Python”

My Favourite Emacs Packages

After a few years doing my PhD I’ve settled on Emacs as my main editor. This is mainly because it is incredibly powerful and extendable, there are thousands of free packages available to use and everything can be tweaked exactly the way I want.

The price to pay for this freedom is a fairly steep learning curve and the need to get familiar with Emacs Lisp (for customizing packages). However Emacs has been around since 1976 and is still under active development so it must have something going for it!

In this post I’ve described some of what I consider the most useful packages to get started with Emacs. For a guide on how to install Emacs packages in the latest version see this page.

Continue reading “My Favourite Emacs Packages”

Emacs and Anaconda Python

Recently I posted a blog about using Emacs and Python together. It was about having setting in your .emacs file allowing Emacs to interact with the default Python and SciPy/NumPy from the Ubuntu repositories, which is out of date. After changing Python version to Anaconda Python this broke all my Emacs setup! It was a real pain to fix so I’ve collected the main ideas here.

Anaconda Python

To use the latest versions of the Python packages like SciPy and NumPy I downloaded the Anaconda Python distribution. It includes lots of the most useful Python packages for scientific computing by default such as

  • Numba and Cython for speeding up code.
  • SymPy for symbolic computation.
  • F2Py for converting Fortran code.
  • IPython for a better interactive experience.
  • mpi for parallel computing.
  • PEP8 and PyFlakes to enforce coding standards.

I’d really recommend it as an easy way to get a good Python install. You can also pay extra for upgrades like linking NumPy with MKL for enhanced speed (which is free for academics).

Continue reading “Emacs and Anaconda Python”

Emacs and Python

Currently at Manchester we’re debating whether to try and use more open source software like Python within our research. I’d never used Python before but whilst learning it I wanted to configure it for use in Emacs.

Unfortunately I couldn’t find a guide to setting up Emacs for scientific computing. However there is a lot of information out there (references at the end). This post will hopefully bring together the basic information needed to get a working Python setup in Emacs for computational scientists.

Continue reading “Emacs and Python”

Modding the Crybaby

What’s wrong with the standard Crybaby?

Everyone knows that classic wah sound from the days of Jimi Hendrix and Eric Clapton. A couple of months ago I was itching to get some wah sounds at home so I started looking at Crybabys on Ebay. I soon noticed that the more customisable the pedal, the greater the price, and most of them were more than I was willing to pay.

After some searching I found a GCB95 (basic model) that was listed as Spares/Repairs because “it makes a horrible sound when I plug it into a wall socket”. I picked it up for £20 + P&P and it was a simple fix: the capacitor that smooths out the 9V DC had blown and replacing it fixed everything!

However I wasn’t happy with the sounds I was getting, the pedal sounded quite flat and is infamous for “tone suck” while in bypass mode. I was also missing those extra dials on the more expensive models to shape the sound more. There was also an annoying “dead spot” in the middle of the pedal’s travel where moving my foot wouldn’t change the tone. I needed to start modding.

Continue reading “Modding the Crybaby”

G2S3 Fudan University, Shanghai

Gene Golub’s Summer Schools

The late Gene Golub made an enormous contribution to numerical analysis throughout his career. After becoming a professor at Stanford he published the Matrix Computations with Charles Van Loan which is one of the great textbooks in the field (the 4th edition was recently released). Gene also served as SIAM president and was the founding editor of both the SISC and SIMAX journals.

When Gene died he left a significant sum of money behind which SIAM has used to fund summer schools for PhD students on topics relating to numerical linear algebra.

More information on Gene Golub can be found at Wikipedia or in a transcribed interview with Prof. Nick Higham.

Matrix Functions and Matrix Equations

This year the summer school was held in Shanghai and focused on matrix functions and matrix equations, the former of which is the subject of my PhD research. The next few paragraphs provide a brief summary of each course.

Group_photo.jpg Group photo of everyone at G2S3.

Continue reading “G2S3 Fudan University, Shanghai”