Studying Law

Tomorrow I start a Law degree at the University of Tasmania. I’ve wanted study Law for a long time, and originally considered enrolling when I first started University –– instead, I did a BA (in History), a BComp, and then Honours in Computing, and finally my PhD.

Now I’m enrolled in a Bachelor of Laws, a large portion of which I get credit from my preexisting degrees for, and plan to study part-time for the next few years. I’m not sure if I’ll finish the degree, or even whether I’ll stick with the same degree (there’s also a Bachelor of Legal Studies, which is for those who want to study Law but not practice it, and I’m not sure if I would want to practice).

As I’m studying part-time, this doesn’t really impact anything with Secret Lab, or our writing, but it’s a fun new adventure regardless. I’ll post some updates about this, occasionally.

Swift for Linux, on a Mac

This is what a computer linux hacker looks like

This is what a computer linux hacker looks like.

I’ve been working with Swift for Linux, as part of a bunch of teaching material, as well as some conference talks that we’re working on. It’s not super easy to figure out, from searching, the best way to install Swift and Linux, if you’re a Mac user who wants to have a go with it. Here’s what I’ve found.

As it turns out, after extensive research, my feeling is that the best way to run Swift on Linux (on a Mac) is using Vagrant and VirtualBox. I’ve looked at a variety of options, including setting it up manually in a VM, using Docker for Mac, and so on, but this turned out to be the easiest way to do it, and maintain it.

To get Swift on Linux running, on your Mac:

  1. Download and install VirtualBox.
  2. Download and install Vagrant.
  3. Make sure you have Git installed, and clone the following repository:
  4. Once you’ve cloned the repository, change directory into it: vagrant-ubuntu-swift-dev
  5. Run the command: vagrant up
  6. Wait. The vagrantfile included in the repository you cloned, which tells Vagrant what to do, downloads Ubuntu 15.10, the Swift prerequisites, the prerequisites for libdispatch, the Swift concurrency library, the Sphinx documentation system, and then clones the Swift repository and creates a script that allows you to build Swift. (This might take a while, and will download a few gigabytes of stuff.)
  7. Once Vagrant is done, you can run the following command to connect to the Linux installation: vagrant ssh
  8. Then, once in Linux, run the following script to build Swift: /vagrant/swift-dev/swift/utils/build-script (This might also take a while, depending on the speed/capabilities of your computer.)
  9. You can then run the following command to verify Swift is up and running: swift –version
  10. You can then create some .swift files, and compile them with the swiftc command.

Easy! Hope that was helpful to someone.

Reality Distortion Field has never been so strong

The following quotes from from Daring Fireball. Emphasis is mine.

It’s best to think of Apple Watch as having two modes: watch mode, and app mode.

You do not need to understand this to use the watch. Most Apple Watch owners will never really think about this. But this idea of two modes is central to understanding the design of the overall interaction model.

Then, further on in the piece:

Watch mode is where you take quick glances at information and notifications; app mode is where you go to “do something”.

Watch mode is where most people will spend the majority — perhaps the overwhelming majority — of their time using Apple Watch. App mode is a simple one-level hierarchy for “everything else”.

It’s so simple, he needs to dedicated a 1,500 word post to explaining how simple it is, and (apparently, possibly) more than 12 hours of cumulative podcast:

I have no idea what’s going on, but I don’t like it. Especially when you compare it to past commentary.

Netflix in Australia

This post has no substance.

It simply serves to illustrate my excitement that Netflix, the amazingly addictive video streaming service, is finally available in Australia. No DNS trickery needed, no VPN needed.

Admittedly the content set is limited, especially compared to what those in the USA enjoy, but right now it’s at least worth it for Unbreakable Kimmy Schmidt, Marvel’s Daredevil, and unlimited access to Gossip Girl (go ahead, judge me).

Battery life


“It’s almost impossible to believe, but during our initial tests, using the iPad pretty heavily, downloading and using lots of new apps, doing some 3D gaming, watching HD video, all the while getting email downloaded in the background, we got just about what Apple claims this device will do. In fact, it went a little better — we managed to get 10 hours and 43 minutes of life out of the iPad before we had to plug it in again in our first run through. That’s pretty crazy endurance considering what we were doing with it.” – Engadget’s iPad review, 3 April 2010


“The bad news is that some compromises were made — specifically in the area of battery size … the [iPad] Air 2 squeezed out 11 hours and 15 minutes…” – Engadget’s iPad Air 2 review, 21 October 2014

All the books! 50% off!

Update 8 September 2014: this promotion seems to have finished now!

AsiOS_Games_1stEd part of O’Reilly’s “Back to School” promotion, all their ebooks and training videos are currently 50% off. This includes the books written by myself, Jon Manning, and Tim Nugent!

Grab a great discount on Learning Cocoa with Objective-C 4th Editionand our iOS Game Development Cookbook 1st Edition, as well as all of O’Reilly’s other fantastic books. Use the code B2S4 – it’s valid through to September 8, 2014.Learning_Cocoa_4thEd

It’s a great time to pickup these books – while Apple’s Swift and iOS 8 are around the corner, an understanding of Cocoa and Objective-C are still hugely relevant and necessary for iOS and Mac programmers, and the recipes in the game cookbook useful for everything from games to regular apps. Both these books have almost nothing but 4- and 5-star reviews of Amazon (visit them on Amazon, or just grab the sample code via the links on Secret Lab’s books page!)


/dev/world/2014One of my favourite conferences ever, /dev/world/2014, is running for the 7th time this year. Once again it’s in Melbourne, and once again I’m speaking!

Secret Lab would not exist without the support we received through attending past AUC events, such as /dev/world. I could not recommend it more highly for those in the iOS or Mac development community, or interested in iOS or Mac development.

Check it out at – tickets are available now!