Blogging for Developers With Hexo

Using a Static Site Generators like Hexo gives a developer a very fast blogging workflow, using familiar tools and giving the ability to write offline. Content is written in markdown, keeping it portable between any blog generators and making it easy to version in Git. You can also use Git to deploy your site quickly, even over slow networks.

Static sites can be hosted anywhere and are fast to serve and easy to cache. For example, Github Pages offers a very fast way to host your site.

Lets take a look at Hexo, my favourite static site generator.

Read More

Using Github Gists From Spacemacs

Github Gists are really useful when you want to share a piece of code or configuration without setting up a version control project. Rather than copy & paste into a Github Gists website, you can create a Gist from any Spacemacs buffer with a single command.

All you need is to add the github layer to your ~/.spacemacs configuration file and reload your configuration M-m f e R or restart Spacemacs. Lets see just how easy it is to use Gists with Spacemacs.

You can also use gist.el with your own Emacs configuration

Read More

Clacks Interpreter - Going Postal at London Clojure Dojo

At the March 2016 London Clojurians code dojo at uSwitch our group created a Clacks Interpreter in honor of Terry Pratchett, the author of the amazing Discworld series of books (and a few TV shows of those books too).

In the 33rd Discworld novel called Going Postal, messages are sent faster than a speeding horse via the Clacks system. This composes of a series of towers that cross a continent and pass messages on via combinations of lights. Each tower sees a grid of lights from a distant tower and sends the message on to the next tower.

The Clacks system was actually introduced in the 24th Discworld novel called “The Fith Elephant”, however its the “Going Postal” book where we learn the full history of the Clacks system.

We created a Clacks Interpreter that converts any English message into its corresponding clacks signal, based on the Clacks alphabet as defined by the board game of the same name. The board game defines the alphabet as a 2 by 3 grid (although in the Discworld its actually 8 large squares). Naturally, the interpreter also converts the Clacks signal back into an English message too.

Clacks: The board game - Clacks Alphabet

The code is available on Github at: and read on for a walk through of how we came up with the solution.

Read More

Growing Your Developer Career

Just being a great developer or even a good one is not enough to create a great career. How effective you are at communicating your skills, experience and the value you can bring to others really drives the quality of your career. Luckily there are many ways to show off your skills, including those soft skills that are harder to quantify.

It is not just recruiters & human resources departments that can get you a job, but more and more it is other developers that bring you in to their teams. The more developers who know who you are, the more opportunities will be presented to you.

Activities you can do to boost your career include:

  • Blogging & technical content
  • Social media for research and communication
  • digital presence
  • Meetups, Conferences and public speaking
  • Understanding the modern recruitment process

I will walk through this aspects to help you understand them in more detail and describe my experiences and any tips I have to share

Previously I covered aspects of creating your digital self previously, covering a range of social media and developer community websites.

Read More

Creating Your Digital Self

Creating your digital self helps you express who you are and what you are about online in a way that enhances your career and also help you in your daily work. Having a recognizable digital self also allow others to reach out to you and include you in the wider community.

Here are some tips and tools to help you create a consistent expression of your digital self.

Read More

Spacemacs for Clojure Development With Emacs - Configure Clojure

Adding the Clojure layer to Spacemacs provides great support for the language via CIDER, Clojure-mode, clj-refactor and lots of useful tools.

The Clojure layer also adds to the auto-completion layer, providing matches for anything currently defined in the current namespace. The yasnippets package also allows you to expand shortcuts for common Clojure code structures, eg. def, defn, let, require.

Read More

Spacemacs - First Impressions From an Emacs Driven Developer

Spacemacs is a community developed configuration for Emacs that makes it easier for anyone to use this amazing developer tool. Spacemacs is a well thought out way to apply the vast and diverse power of Emacs, making it more accessible especially to those who are used to using Vi.

Unless you’ve spent the last few years hand-crafting your own Emacs configuration, then I think you will enjoy Spacemacs. Here are some reasons why I love Spacemacs as an Emacs user.

Read More

Clojure Templates Are Easy With Leiningen

Using templates to create your Clojure projects can save you a lot of setup time and ensure your team is using the same base configuration and dependencies. There are templates on, however I’ll show you how easy it is to create your own with Leiningen.

I’ll create a simple template based on the leiningen default template, adding a section in the project.clj to give a custom propmt when run in the repl.

Templates used to be a Leinigen pluging called lein-newnew and its repo was the only doucmentation I found and was a little outdated. The plugin is now part of Leiningen and there are a few built in templates. There is also information via lein help new.

If you want to create a template in a more automatic way from a more complete project you created, take a look at the lein-create-template Leinignen plugin.

Read More