Try Spacemacs.
If you only take one thing away from this post, that’s it. No matter whether you are Emacs, Vim, or you hate these old fashioned editors with terrible defaults, you must try Spacemacs.
Spacemacs is a curated initialisation directory for Emacs.
Get Emacs at least version
24.4, and then get Spacemacs. Back up your ~/.emacs.d
directory if you have one, and rename the Spacemacs directory to ~/.emacs.d
.
Open Emacs and follow the prompts. Choose between Emacs and Vim bindings when it
asks you and Spacemacs will bootstrap itself and download the packages necessary
to complete the installation. You can always change back to regular Emacs by
swapping Spacemacs ~/.emacs.d
with the one you backed up.
Why am I so excited about Spacemacs?
In short, Spacemacs is Emacs with not only a good set of default packages and key bindings, including Vim-like modal editing, its integrated “command centre” (my own term) continuously shows you the key bindings you need to see. When I press the space bar, a dialog instantly appears below and offers some command categories, like windows, files, or buffers. If I press “b” for buffers, the choices are narrowed to that category, as in the picture below.
In just a few days of using Spacemacs I feel like I have benefited from intensive Spacemacs training, without even the pain of doing a tutorial (granted, I have a working knowledge of Emacs and Vim). Each time I open the Command Centre I feel like I discover little gems. It has improved my work-flow so much that I have time to write this blog post!
Instead of spending hours sifting through GitHub pages and Elpa packages, trying to discern whether I’m (a) looking at the best Emacs package for the job, (b) whether the package is actively maintained, (c) whether or not I’m building my customisations around a package that will die soon; and, (d) how to set good defaults for the package, the Spacemacs expert hive-mind has done all that for the vast majority of packages that I use.
Veteran Emacsers and Vimmers alike are all but tossing years worth of customisations in favour of Spacemacs’ defaults, plus you can still integrate them in a “layer”.
The success of Spacemacs is founded upon three packages: Evil-mode, Helm, and Company. For the uninitiated, that’s Vim emulation, fuzzy searching, and an auto-completion engine. These are the modes that begin to turn a basic text editor into a modern and powerful programmer’s light-sabre.
Seriously go try Spacemacs.
My journey to Spacemacs
My degrees are in Computer Science and Mathematics, for which I wrote theses in LaTeX, and as a postdoc at Durham University I do a lot of programming in C and Python as well. I started with Emacs and AUCTeX about 5 years ago, slowly building up my configuration file and environment for LaTeX, Maple, PHP, Sage, Python, C, and so on, a few lines at a time.
With all the programming I have been doing I got Emacs pinky; an RSI caused by the awkward reaching my fingers did to hit Emacs’ famously complex key commands. I solved this problem in April 2016 by installing Evil-mode, which simulates Vim modal-editing (i.e., a mode for commands, a mode for movements, a mode for inserting text, etc., which minimises hand-contortions and finger-stretching) and I bought a TypeMatrix Keyboard and a trackball mouse. Truly life-changing kit, all of this.
But with all the packages I had installed, Emacs eventually became unuseably laggy. I had just filled my init file with every package I fancied, like a noob, and Emacs was stuck rendering whole pages just to display line numbers, and parsing entire C-projects just to provide auto-completion. Being near a deadline I temporarily jumped ship to Atom (a good backup plan) but soon I found the time to eliminate the packages that were slowing Emacs down.
As I sifted around for the latest and best packages, plus a way of bootstrapping my Emacs installation in order to port it to my other computers and have it download packages automatically, I decided to try Spacemacs. Not only was I astounded to find Spacemacs does exactly this, I realised I was just doing an amateur job putting together many of the same packages that Spacemacs assembles perfectly!
And so, here I am, very happy with Spacemacs
Last week I gave an interactive presentation on tatami tilings to senior high school students. It was very well received, and a long-time attendee raved about it. I paraphase the keen student’s words, “I’ve been to almost every A Taste of Pi presentation, and I think this has been my favourite one so far. It was engaging, interactive, and challenging.”
The event was written-up on the Simon Fraser University math department’s news page. Here is an excerpt:
If you’re in high school, it’s not everyday that you have the chance to receive a lecture from a postdoctoral research associate.
But, for a group of extraordinary students, they had just such an opportunity, when Dr. Alejandro Erickson from the School of Engineering and Computing Sciences at Durham University gave a presentation on mathematical discovery at the Burnaby campus as part of the 24th edition of the A Taste of Pi speaker series.
I transformed my PhD work into a 5-day mini course for Grade 10s through The Brilliant Club. I am making the course material available here. Contact me or write in the comments for more resources and help using them!
Below is an excerpt of a case study that I wrote for The Brilliant Club:
My Scholars Programme, “How to Make a Mathematical Discovery,” is designed to introduce the idea that maths is much bigger than practicing algebra and arithmetic, or applying such concepts to solve real-life problems. Research mathematics is also about exploring ideas, identifying patterns, and connecting concepts through mathematical abstraction. Why do mathematicians see a teacup and a donut as being the same thing? (Hint: consider the handle). My course gives pupils the opportunity to rediscover the main theorem of my PhD thesis by playing with a set of 3D-Printed tiles, specially designed for the programme. Not a single equation is solved and not a single expression is evaluated.
The outcome of the course was generally positive, in spite of it being conceptually challenging. All 12 of my pupils submitted their final illustrated essay assignment and passed the course, six of them with 1sts, two with distinction, and a third pupil will have her assignment published in The Scholar. I am extremely proud of them! These quotes speak for themselves: “I’ve never got maths before, but I get this!” “I thoroughly enjoyed the program and I miss it already :)” “I loved this programme and the programme has definitely solidified my dream to carry on with maths in the future. From a parent, “May I just thank Alejandro for working with _ throughout the programme. The marking comments were very positive and were a real boost to _’s confidence, and I feel she gained a lot from the programme.
Congratulations to Katie Hancock. Her work on tatami tilings were published in The Brilliant Club’s journal, The Scholar!
K. Hancock, supervised by A. Erickson. How to make a mathematical discovery: The tatami restriction at large, The Scholar, Vol. 1, No. 3, pp. 20-22, July 2015. (Alternate links hosted on my website: Whole issue Just the article)
Tatami Mini Course Resources
Download the full mini course pdf (14MB).
Download the tatami-theorem supplement.
There are a few other handouts that I can locate upon request. Below is an excerpt from the last activity before the final project (i.e., Katie Hancock’s work, above), showing how far the students go in just a short time.
Unsuspecting, I picked this classic baby toy up at a local charity sale. As it turned out, it harbours a little combinatorial challenge that I never suspected! The toy is a set of five stacking cubes with a different face on each face. Save for size, the cubes are all the identical; flower, hexagon, square, triangle, circle, and the open face.
As I was playing with it I thought, “Can I stack the cubes such that no two shapes coincide?”. Fun!
This is the same as asking if you can orient 5 6-sided (axis-aligned) dice so that no two dice show the same number on the same side.
Is there more than one way to do it? Can it be done with 6 stacking cubes?
Having grown up around SLR cameras, I have always had an appreciation for the superior image quality that a “proper” camera is capable of. I have owned severalof them, and I am quite familiar with the technical aspects of exposure and depth of field. A tipping point occured, however, when I got my hands on a Sony alpha A7 this year. I went on to read The Landscape Workshop by Ross Hoddinott and Mark Bauer, and dove into capturing the rural landscape around my home in the North East of England. Here is one of my “keepers”:
Here is another one: