Technologies

this site

All of the pages of this site are written in markdown. I use IntelliJ IDEA as an IDE and it supports markdown, and so the content files, config and theme form an IntelliJ project. The markdown files (which live in a content directory) are compiled to the actual HTML by Hugo, a static site generator. Hugo also has a live update server built in, which is great for checking the site as you write the pages.

zeppelin notebooks

For some time I’ve been keeping an eye on the Apache Zeppelin project. I found with a recent look, that the project has developed to quite a mature standard despite it remaining a pre 1.0 release. An upcoming workshop that I’m running on Writing Analytics presented me with the opportunity to road test it in a real scenario. I was originally intending to use a [Jupyter Notebook]() for this task, but Zeppelin provided me with the ability to (a) work in Scala (including Spark if necessary), (b) interact easily with S3, and © render the analytics with Angular.

backend developments

After many attempts to get the best uber-jar possible with sbt, I have eventually found that it is much easier to use sbt-native-packager It can be added through an sbt plugin in project/plugins.sbt file: addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.2.0-M9") and enabled in build.sbt file: enablePlugins(JavaAppPackaging) Creating a package complete with shell script is as easy as running the sbt command: sbt universal:packageZipTarball This file can then be uploaded to the server, unzipped and then the app run:

angular wrangling

I’m finding Angular2(+) great, particularly being about to code in TypeScript rather than Javascript. However, for a primarily back-end person, getting used to the whole NPM thing has been a learning curve. Simple things, like keeping the libraries up-to-date has been a challenge. So here are a few points that have helped me, and may help others. Updating angular-cli (from angular-cli GitHub page). ### Update global... npm uninstall -g @angular/cli npm cache clean npm install -g @angular/cli@latest ### Update local.