Technology

My First 3 Garmin Watch Faces

About a year ago I bought a Garmin Forerunner 245 to take my run-tracking to the next level. In almost every respect it’s left my previous Fitbit in the dust (cough… sleep tracking). And means I can run a race without needing to carry a phone. Lovely stuff. One of the things I found most intriguing about a Garmin device was the prospect of being able to build my own… Read More »My First 3 Garmin Watch Faces

CSS equivalent of the center tag

Update Jan 2020: Thankfully the landscape has changed a lot since this post, and flexbox is now almost certainly the answer. Because I understand the temptation to sometimes just wrap a div in a damn <center> tag instead of messing around with auto margins, translatex(-50%), or any other such nonsense — and also partly as a future reference for myself — here is what I’ve found to be the CSS… Read More »CSS equivalent of the center tag

Of Ants and Rhinos

I recently opened a Pandora’s box when investigating incorporating LESS into a web project I’ve been working on. Long story short, I found myself having to compile Rhino into a jar I could execute. Having installed Ant to perform the task, I ran the command and got the following exception: C:\rhino1_7R5\xmlimplsrc\build.xml:129: src ‘C:\rhino1_7R5\build\tmp-xbean\xbean.zip’ doesn’t exist. Which is exactly what I want to be dealing with when investigating a CSS precompiler. In… Read More »Of Ants and Rhinos

Say what? Analysing speech at SAS

I rarely get to talk about my work at SAS since mostly it’s experimental research and development, and therefore kept fairly hush hush. Recently, however, I had to the opportunity to write a guest article for data-informed.com about a project I’ve been working on for the past few months. Having partnered up with a Scottish speech-to-text company, we built a system which could take reams of audio, transcribe them, and then… Read More »Say what? Analysing speech at SAS

Gradle from behind a proxy, part deux

In July I wrote a post documenting how to build a project in Android Studio from behind a proxy. Essentially you need to tell Gradle Studio your proxy settings. As of updating to Android Studio 1.0, the issue has come back! After a combination of swearing and research I’ve found the missing necessary steps. So the new definitive steps for getting Gradle working from behind a proxy Navigate to the… Read More »Gradle from behind a proxy, part deux

Exposing a VM on hosted WiFi hotspot for Google Glass

Background Google Glass is famously frustrating to connect to a WiFi network. It doesn’t handle captive portals, or WiFi using Enterprise WPA2. I’ve also had consistent issues using MyGlass and QR codes to connect to Wifi. I found myself in a situation where I had to connect Glass to a WiFi network on which a virtual machine was visible. My work’s corporate network was out of the question – it uses… Read More »Exposing a VM on hosted WiFi hotspot for Google Glass

How to invoke a SAS macro stored in a catalog

Having not done the Advanced Base SAS certification, this was a nightmare to work out. I’m documenting it here for my own future use, and to help anyone else who found themselves in the same situation as me. What situation was that? SAS Social Network Analysis can create networks from input data, and to do so it makes use of a pre-compiled “link macro” which is bundled with SNA. This… Read More »How to invoke a SAS macro stored in a catalog

Removing duplicate rows in base SAS

If you ever need to remove duplicate rows from a SAS dataset, here’s an approach I use quite often. Get your data. Let’s assume it’s in the following format: – ID Name 123 John 456 Bob 123 John Sort your data. – /* Step 1 – Sort data */ proc sort data=my_lib.my_dataset; /* Sort by a field which you want to be unique, and which will be the same for duplicate… Read More »Removing duplicate rows in base SAS

Debugger this! Debugging an Android Service

I recently found out that I couldn’t hit any breakpoints in an Android Service I was developing. I found that this was easily sorted by adding the following line: android.os.Debug.waitForDebugger() This approach was suggested on various websites including StackOverflow and HelloAndroid amongst many. Great. I found out much later than when I ran the code “in the wild” i.e. in a production environment unattached to a debugger, my application was… Read More »Debugger this! Debugging an Android Service

Android Studio – Fix sudden unresolved symbols

Android Studio is a fickle beast. At times surprisingly clever and useful, and other times a flaky nightmare. The most recent issue I came across was when a Google Glass project suddenly stopped building with unresolved symbol errors. This manifests itself as all your “com.google.android.glass.*” imports failing, and the resulting use of any object from those libs causing compilation errors. How to fix it Eventually I checked my project dependencies… Read More »Android Studio – Fix sudden unresolved symbols