Ubuntu 13.04 on a Late 2012 Mac Mini

EDIT: Tonight i’ll be picking up one of my Mac Mini’s from the Datacenter to get Ubuntu 13.04 up and running! expect a full guide with drivers here shortly 🙂

So Ubuntu 13.04 LTS recently was released, It comes with the new 3.8.0-19 upstream of the Linux Kernel so I thought I’d check it out!

Although our patched 12.04 and 12.10 Ubuntu’s use version 3.124c of the tg3 NeXtreme drivers from Broadcom which have Mac Mini support… The version in Ubuntu 13.04 (3.128c) seems to have had this removed!

A simple run of modinfo tg3 | grep 1686 reveals sadly that support for detection of the Mac Mini Ethernet hardware seems to have been removed during 3.124 and 3.128 of the Broadcom tg3 drivers.

I’m likely to install 13.04 on a Mac Mini sometime soon so will update this post with a proper howto and any good news I encounter but I don’t think its good news…

lsmod | grep Ethernet returns
01:00.0 Ethernet controller: Broadcom Corporation Device 1686 (rev 01)

whilst modinfo tg3 | grep 1686 on our modified 12.04/12.10 machines using the NeXtreme driver from this blog returns:

alias:          pci:v000014E4d00001686sv*sd*bc*sc*i*

however on 13.04 returns nothing.


Instantly gain insight on someone else’s iOS App Architecture with MADebugTools

Just a quick post to say i’ve posted my first piece of code in over 5 years to GitHub. Its a clever little Objective-C iOS Category on UIViewController that seemlessly overlays a UILabel on every single view controller managed view with the class, nib or storyboard name that is used. Great for debugging old or inherited projects with minefield architectures. It uses some cool libobjc runtime techniques to accomplish this, but implementing the category is a case of dropping it into your project and Build+Go!

Category in Action

Grab the source code here as usual, follow me @italoarmstrong on twitter 🙂



Getting started with Mosh: the mobile shell

Mosh is something i’ve been meaning to give a go for a while now… but have never had the chance. Recently however, on a train from Rome to Florence, I got a little tired of reconnecting SSH sessions and re-attaching screen’s / tmux’s. Then I remembered… Mosh!

Some examples of why / when to use Mosh

Dubbed “the mobile shell” mosh is simple, it requires you have the mosh binaries installed on both client, and server, and that you have permission to SSH to said server (you don’t need a root account). Then mosh will create an initial SSH session, which it in-turn uses to create a UDP connectionless “session” between mosh running on the server and mosh running on the client.


Well… I can type mosh username@server.tld start a nice terminal session, close my laptop / phone, come back 4 hours later, open my laptop… and carry on. It’s also very useful for environments where your connectivity is poor or you have a dodgy ISP supplied Router that can’t sustain SSH connections very well.

$ mosh username@hostname.tld

Directly, stolen inspired from the original website. Mosh will log the user in via SSH, then start a connection on a UDP port between 60000 and 61000.

Beyond just having a really stable “connection” to a remote Terminal session. Mosh also has some quite cool features, that users of other modern shells will appreciate, such as auto complete of common commands and also a nifty indicator bar to tell you if something is up with the connection.

All in all, give mosh a go, it took me less than 120 seconds to get up and running. If you hate dead ssh sessions and can’t wait for timeouts, then what are you waiting for ;). As usual, hit me up at @italoarmstrong on twitter if you want banter.