Faster Clojure REPL Startup With Java 9 Snapshot

After upgrading to Java 8, Clojure development seemed faster due to quicker REPL startup times. So when I saw a snapshot of Java 9 had been released I was hopeful that startup performance would be even faster.

As Clojure runs on the Java Virtual machine (JVM), each time you start a REPL then you wait for a new JVM to start. Other than this REPL startup, Clojure feels faster than developing with Java directly.

Here is how I set up Java 9 Snapshot on my Linux laptop (Ubuntu 14.10), it should be the same for any decent operating system.

Read More

Clojure With Light Table and Emacs Keybindings

When I teach people Clojure I use Light Table because it is really simple to use and its Instarepl gives instant feedback of the code as you type it. This feedback helps you understand Clojure quickly and gives you more confidence when coding.

As I do most of my Clojure development (and most everything else) in Emacs I really miss the excellent Emacs keybindings when I use Light Table. Luckily there is an Emacs plugin for Light Table, so here is a quick guide on how to install & use this Emacs plugin.

Read More

Contributing to Open Source Projects

This holiday season give the gift of code… or anything else no matter how small to help out your favorite open source project. By joining the 24 pull reuests website with your Github account, you can challenge yourself to contribute to 24 projects through December.

Here are some reasons why you should contribute to open source projects.

Read More

Cycling Through Emacs Buffers Easily

Once you have more buffers (files) open than windows in Emacs, then having a quick way to cycle through buffers is invaluable. Even with 4 windows open, I still find myself using IBuffer, C-c C-x, many times.

Sometimes I just want to switch between the current and previous buffer in the same window. So this is how I tweaked my Emacs configuration (based on Emacs Live) to cycle through buffers.

Read More

Hexo Theme - Creating Image Styles

Adding images to a blog post helps the audience undersand what the will get from reading the article and if it will be relevant for the. Images also aid the understanding of the topic you are covering, especially if you are explaining something technical or more complicated.

The default theme for hexo only provides a single image style, so here I will create several styles of image to help convey the topic and details of every post.

Read More

Hexo Tips When Upgrading to 2.6.x Onwards

Hexo has a bit of a refactor from version 2.6 onwards to make it a bit more flexible with regard to the node modules it uses. So when you create a new Hexo project you have to add some module to that project before you can generate your site. This is an easy step as its managed by the Node package manager (npm).

There are more details about migration steps on the Hexo Github project.

Here are the essential details and options for upgrading to Hexo 2.6 onwards.

Read More