A lex D. Garrett Based in Australia (sometimes UK, Japan,...).
Caught the coding bug from a Z80 micro, in the early 1980's.
Fascinated by the Geosciences.
Combined the two, MSc CompSci, BSc (EarthSci).


Raison d'etre : ADG's personal web site.

This site : my own web application (running on Goggle's infrastructure, an App Engine JVM hosted app, written using Java, Gaelyk framework, Groovy, HTML, Javascript, and CSS).


LinkedIn : I'm there, with some further details.

I do update it (on occasion). View Alex Garrett's profile on LinkedIn

Keeling curve : Compare CO2 '1700 - present' with 800,000 years, thanks to Scripps Institution Of Oceanography (UCSD)

Reproducible research : An article about computational science in a scientific publication is not the scholarship itself, it is merely advertising of the scholarship. The actual scholarship is the complete software development environment and the complete set of instructions which generated the figures. —D. Donoho

Forth : my old microcomputer favourite, now just for fun on my phone du jour, the iPhone 5s. I couldn't believe how restricted coding is on iOS equipped phones. I like to code just for fun, so I want my phone to have something I can program with when I'm not working and otherwise bored, and more importantly away from my computer. On Symbian I had Python for S60. On Android, well just take your pick. To avoid the obvious vendor lockdown I installed an emulated DOS, the iDOS package, and deployed a Forth compiler to it, ForthCMP. I think I need an interpreter too, maybe for another evening sat on the couch.


Groovy : a language on the JVM with some bells and whistles. Java does pander to safety, for less experienced coders. I like C/C++, the power features, perhaps not the bugs. Groovy has less boilerplate and above all first class functions.

There's a lot of compiler / interpreter competition in the JVM space, so take your pick!

Lisp : I don't get to code in Lisp (well not for money), and I think that's a shame (and not just the money).

I suspect I love Emacs as an editor becuase it is programmable in eLisp. For example I can address the first Project Euler question very cleanly just using my editor's interpreter, and that's what's so amazing (other dynamic languages are just about catching up with my editor!).

(require 'dash) 
          (apply '+ (--filter 
          (or (=  0 (% it 3))  (=  0 (% it 5)) ) 
          (number-sequence 1 999)))  

Consider it's virtually the same as the more popular Clojure general purpose language

(apply + (filter    
       	  (or #(= 0 (mod % 3) ) #(= 0 (mod % 5) ))
	  (range 1 1000)))

- MORE -

Favoured Tech

IntelliJ Idea IDE : when my code base gets large, this IDE makes working with a project that much easier.

Emacs editor (mini IDE) : programmable editor number 1 thanks to eLisp. Vim has the keyboard control, but so does Vile.

Linux and POSIX : I've programmed on a lot of Operating Systems, many UNICES, on VMS, on DOS and Windows, even tiny boxes with just enough in ROM to boot, but I've always felt at home on OPEN platforms, where tools are improved by and for the community. I think my first experience of a UNIX, DEC's Ultrix, left me with a locked terminal, I really didn't know what to do next after starting up vim, lol. Shock was soon replaced by awe, and that awe never went away.

PaaS : A Cloud PaaS platform makes it possible for a one man band to compete with a team of developers. I write the app, I worry not about the platform, and a significant 3rd party continues to manage my client's software on their servers. I favour Google's App Engine via the JVM, but take your pick.

Gaelyk : A lightweight Groovy toolkit for Google App Engine Java.

Simple servlet based routing, Groovified AppEngine API's (less berbose), a generally more convenient experience. Beware of upgrades though, breaking changes are common, and a big release might be worth waiting on, till others have ironed out the testing.

Hilite : Kudos to 'alexkay' for his solution, it's easy to highlight a code snippet directly on this site.