1 May 2020

Tips to Take Table Tests to the Top


I’m a huge fan of Go’s table-driven tests. They’re really well-suited for behavioural testing, which we discussed before, and they make writing tests quite easy.

1 May 2020

Six Statements About Testing

Testing, 1, 2, 3. And 4 and 5 and 6.

I volunteered to do a learning lab session on testing at work; there were some common patterns and things I noticed we were doing when writing tests which I thought we could be doing better.

27 April 2020

Running Games on EC2 with Parsec

Like a LAN shop, except that it really isn't in almost every way.

I’m back in Singapore and away from my desktop, which has meant not being able to play any of my more demanding or Windows-only games on the computer I actually have here (a MacBook Pro).

19 April 2020

Hello, Hugo.

A clean slate.

I’ve been wanting to revamp this whole site for quite a while now, and it’s finally happened. The first commit for this iteration was made on September 24, 2018 and after an initial few days’ worth of work it basically stagnated until today.

17 June 2017

Typing Secrets in the Open

Garbage out. Garbage in. Plaintext out.

I’ve been keeping a daily journal for quite a while now - 8 or so years? I started using OhLife, which was email-based, then when that shut down I moved to plain-old-Markdown files stored in a TrueCrypt (and now VeraCrypt) container… thing.

10 May 2017

Working with WSL

Not there yet, but so promising.

Bash on Ubuntu on Windows, or the Windows Subsystem for Linux (or WSL), is a little over one year old now, and still a mouthful to say. When it was announced, I tweeted:

26 April 2017

RIP Band 2.


My Microsoft Band 2 seems to have finally died on me. On the bright side, it lasted over a year.

15 April 2017

Doing the Splits

Overthinking about tmux's split hotkeys.

While trying to fall asleep, I ended up thinking about the key combinations used to create splits in tmux.

12 July 2016

Fourcast v1.3 Changelog

Back to the Future.

Removed support for older OSes, fixed a crash bug, and dropped usage tracking.

18 November 2015

Packaging Problem

NuGet, .csproj, and build configurations.

Relatively recently, I started using the actual command-line tool for NuGet; previously, I’d been using the Package Explorer GUI to create packages for ForecastPCL. The benefit of the command-line tool is that it automagically creates packages the “proper” way - I don’t understand how things are supposed to be structured internally, with the subfolders whose names specify the platforms you’re targeting, but I don’t need to worry about that.

19 April 2015

The Invariant Culture is Your Friend

Commas and decimals often mix.

Not every place in the world uses the full stop (or period) as a decimal mark. Quite a few use the comma instead.

1 February 2015

Installing Jekyll 3 Beta on Windows

A little more effort for the bleeding edge.

In a previous post I wrote about installing Jekyll 1.4.2 on Windows - at the time, the guide linked from the Jekyll site itself was way out of date.

1 February 2015

Installing Nokogiri on Windows, with Ruby 2.1.5

TL;DR: update RubyGems.

This is a quasi-follow-up to my previous post, where we looked at installing the new Jekyll 3 beta on Windows. I had to install the Nokogiri gem to get this site working again once that was done, and came across an issue.

26 December 2014

Media Keys, Colemak, and the ErgoDox

Flashing the TMK firmware onto the ErgoDox.

I got an ErgoDox off of Massdrop a few months ago, switching up from the Microsoft Sculpt Ergonomic Keyboard. It’s an ergonomic, truly split keyboard (the two halves are joined by a cable so you can position them almost anywhere you want), with a feature that stood out to me: it’s reprogrammable, being driven by a Teensy microcontroller.

23 December 2014

Building Less (CSS) in Sublime Text 3

A quick hack.

Less is great. Having to manually compile it isn’t.

26 August 2014

Of Rice and Pen

And terrible puns.

Just over a week after getting it, my Wacom Bamboo Stylus feel (which is quite a name) ended up going through the wash cycle. I’d clipped it inside one of my cargo pockets, and forgotten to take it out.

18 August 2014

Thanks, IE.

Cross-Origin fun.

While updating Is it on Spotify? to use the new(ish) Spotify Web API, I ran into an issue when testing things out locally.

7 June 2014

Fourcast v1.2 Changelog

...or not.

Another UI redesign, and long-overdue improvements to tiles.

24 May 2014

A Look at Fourcast

The past, and a bit of the future.

It’s been almost two years since Fourcast launched. I thought it’d be fun to look at how much it’s changed since then, and talk about how it’ll change soon.

11 May 2014

Fourcast v1.1.1 Changelog

Final call...

Bug fixes and more useful error messages.

8 May 2014

Windows Phone 8.1

Thoughts about an OS.

Windows Phone 8.1’s been out in near-final state through the Preview for Developers program for about three weeks now. Though there’re a lot of new features and changes, I’m not going to go over all of them in detail; by now there are loads of other articles and posts available which would do a much better job.

27 April 2014

Setting the Pace

Custom speeds for IVLE's Silverlight-based webcasts.

For one reason or another (read: I have no idea why, but…), the few webcasts I’ve watched recently seem to work better when viewed faster than real-time.

25 April 2014

The Art of Software Engineering

(Someone else's) Drawings from CS2103, Semester 2, AY2013/2014.

Well, that is one misleading title. Maybe the subtitle will make up for it?

15 April 2014

Is it on Spotify?

A simple answer for a simple question.

Update (2020-04-19): Is it on Spotify? is still online, though it no longer works. All of the links to it here have been left intact regardless. While at a café with some friends, I heard bits and pieces of a song over the stereo - this song. It sounded pretty nice, so after finding out what it was (in a roundabout manner1) I starred it on Spotify.

9 March 2014

Yet Another "How To Install Jekyll on Windows" Post.

It seems there's no shortage of these. (I guess this doesn't help in that respect either.)

1 March 2014

Sorting Images with PowerShell

An incremental journey.

I’ve accumulated quite a number of wallpapers over the last few years; close to two thousand images totalling almost 3.5 GB and counting, in fact. They came from a whole hodgepodge of places online, in various sizes and aspect ratios, and I have them in my SkyOneDrive folder so they get synced across my desktop and laptop.

14 February 2014

Fourcast v1.1 Changelog

Rebuild it up.

Architectural improvements, and a new way of getting weather data. Switched from using Weather Underground’s XML API to their JSON one. This doesn’t affect functionality, though it does bring a very small reduction in data usage.

1 February 2014

Version Control

Developing Office plug-ins for earlier versions than the one installed.

I spent last December working on the narration and caption features for PowerPointLabs without actually working on the plug-in itself; everything was done in a separate project.

3 January 2014

Hello, 2014.

This week was interesting.

30 December 2013

PowerPoint 2013 CommandBar Names

How useful is this? Who knows.

You can use the name or index number to specify a menu bar or toolbar in the list of available menu bars and toolbars in the container application.

28 December 2013

A Two-Line, Prettier PowerShell Prompt with posh-git

Wrapping be gone. (For the most part.)

One day, some time ago, a friend commented on how lengthy my PowerShell prompt line was. I hadn’t noticed it until that point, but he was completely right.

28 December 2013

Minecraft: A Bridge

Pun times.

25 December 2013

Red and Round

Another trip, another animal.

Though it wasn’t an actual objective, each of our last few trips has resulted in coming home with a new plush animal.

22 December 2013

Thoughts from a Trip: London

Rambling while Abroad

19:56, December 22nd 2013, London.

16 December 2013

Graffiti, UWCSEA Style

"much graffiti/very vandalism"

I dropped by the UWCSEA Dover Campus earlier to visit the alumni office. Passing by the English block, it became clear there were some… changes.

15 December 2013

The Hidden Bing Bird

More than meets the eye.

…but there’s only one bird here. *rotates phone* Ah.

26 November 2013

Fourcast v1.0 Changelog

Window cleaning.

A cleaner while still familiar main UI.

4 October 2013

Fourcast v0.9.1 Changelog

Tiles online.

Tweaks and fixes for the Live Tiles.

19 July 2013

Fourcast v0.9 Changelog

Setting settings.

Settings UI tweaks, architectural improvements, and bug fixes.

24 January 2013

Fourcast v0.8.1 Changelog

The Right Time for the Right Place.

Minor changes relating to dates and time.

17 January 2013

Fourcast v0.8 Changelog

Fixing things.

Fixes for a crash bug, and improved crash reporting mechanisms.

29 December 2012

That Fourcast Crash Bug

If you’ve upgraded from Fourcast v0.6 to v0.7 and Fourcast is set to load your Home Location on launch; OR Fourcast is set to load the previously viewed location on launch The app will crash on launch.

15 December 2012

Fourcast v0.7 Changelog

From the Ashes.

Higher resolution tiles, backend architectural improvements, bug fixes, and optimisations.

31 October 2012

How To: Remove/Reset a Mercurial Keyring-saved Password on Windows

Because I couldn’t find this ANYWHERE, and only figured it out after stumbling across a post on how mercurial_keyring is bugged on Windows (and only stores one password).

23 August 2012

Fourcast v0.6 Changelog

Do the Dew (Point).

What’s the Dew Point? Where exactly is the Weather Station located? Wonder no more.

16 August 2012

Summer 2012

Chronologically, Made 4-bit Webther. Helped with the School of Computing Freshmen Orientation Camp. Made and released Fourcast. Discovered and watched both The Legend of Korra and Avatar: The Last Airbender.

28 July 2012

Fourcast v0.5 Changelog

Hello. More tiles here.

Get your current location as a tile, jump straight into Pick a Place, and know when your forecast has loaded without having to stare at the screen.

14 July 2012

Fourcast v0.4 Changelog

The comma is <i>evil</i>.

Tile tweaking, UI improvements, and several bug fixes relating to commas.

6 July 2012

Fourcast v0.3 Changelog

Tiles, of the Live variety.

Shiny, new tiles have landed.

21 June 2012

Fourcast v0.2 Changelog

First release of Fourcast on the Windows Phone Marketplace.

24 May 2012

Designing 4-bit Webther: A Retrospective

Update (2020-04-19): 4-bit Webther is no longer available; the Yahoo! Weather API is no more. The links to it here have been removed, but the remainder of the post’s text has been left untouched, as self-indulgent as it is.

15 May 2012

4-bit Webther

Update (2020-04-19): 4-bit Webther is no longer available; the Yahoo! Weather API is no more. The links to it here have been removed, but the remainder of the post’s text has been left untouched.

12 May 2012

Going Live. Ish.

Update: As of September 27, 2018, ISAAC is no longer available on this domain. The links to to it have been removed from the post below, though the remainder of the content has been left unchanged.

11 May 2012

ISAAC Release 2: Preview

Update: As of September 27, 2018, ISAAC is no longer available on this domain. The links to to it have been removed from the post below, though the remainder of the content has been left unchanged.

19 April 2012

Introducing ISAAC

Update: As of September 27, 2018, ISAAC is no longer available on this domain. The links to to it have been removed from the post below, though the remainder of the content has been left unchanged.