Jan 2018
TA for INFR11090
Fall 2017
One of 200 young researchers accepted to the 5th HLF.
2016-17
Team Edina: Deep generative models, document summarisation, text retrieval, topic detection and tracking for open-ended dialogue.
Fall 2015 (On-Going)
The University of Edinburgh & Heriot-Watt University
PhD in Robotics and Autonomous Systems.
Thesis Title: Parametrising motion with vision and natural language attributes.
2014-15
The University of Edinburgh
Msc in Robotics and Autonomous Systems.
Thesis Title: Planning coordinated actions with trajectory clusters.
2012-14
Edinburgh Napier University
B.Sc in Computer Games Development with First Class Honors, Summa Cum Laude.
Thesis Title: A Flexible Framework for Analysing Genetic Algorithms In Go.

Getting Started in Go

Before we even get to the AI aspect of this project, the initial step is to get used to programming in Go. Although you can familiarise yourself with some of Go’s basic functionalities through the "Tour of Go" on the Golang site. If you want to take advantage of the full power and functionality of Go you will need to install it on your machine. Installation of the Go distribution is pretty straight forward. I would advise that you follow the recommended settings on the site and install the distribution in the root drive/ folder of your machine to avoid giving yourself unnecessary work and trouble in future.

Once you have installed the Go distribution and have tested to make sure it is working. We need to pick up a suitable IDE . The issue over the best IDE to use for Go can be cleared up by a quick read through the geekmonkey.org article which summarises and compares available Go IDEs.  Of the IDEs listed; Eclipse with the goclipse plugin is one of the more popular and mature Go solutions available and since I am already familiar with the Eclipse platform. I have opted to do this project using Eclipse (Keplar) with the Goclipse plugin installed.

Note: The geekmonkey.org article is a year old now so it is probably inaccurate as to the number of Go IDEs currently available and their associated functionality. It is also likely that some of the other IDEs have surpassed Goclipse in terms of their suitability in being used to program Go applications. But for now, Goclipse provides all the functionality needed to implement everything within the scope of this project.

Anyway, The next step is to install the latest version of Eclipse (which at the time of this writing is ‘Keplar’) on your machine or like me upgrade up from Juno to Keplar. Upgrading can be a lot more cumbersome than a clean install but if you prefer it, here is how I upgraded my Eclipse version. The final step is to install Goclipse which is very straightforward if you follow these instructions.

Note: You will need to have the latest JDK installed to use eclipse.

Eclipse with goclipse should be installed and working at this point; Now you are ready to explore Go. There are several books on Go but for the purposes of quickly getting started with Go. I would recommend downloading and reading through your free copy of:

  1. An Introduction to Programming in Go by Caleb Doxsey
  2. Learning Go by Miek Geben

After having read those two (fairly short) books, I recommend you also browse through and bookmark the effective go page on the Golang site for future reference.

Although not directly related to Go, Frank Schlimbach over at Intel summed up a few of the current issues associated with trying to build parallel applications and systems in his article titled ‘The pain of Parallel Programming’ which I recommend having a brief read through.

The next post will summarise the main points gathered from An Introduction to Programming in Go by Caleb Doxsey.

You have no rights to post comments


Copyright © . All rights reserved.