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.

Send to Kindle
Share

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.

Why?

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.

Send to Kindle
Share

My Raspberry PI

Out the box the Raspberry PI comes with a ARM1176JZFS Core (armv6 with hard float aka armhf arch) running at 700 Mhz as part of the Broadcom SoC. Additionally the memory frequency is also limited. In recent firmwares however… tinkerers have had the ability to “overclock” the Raspberry PI to squeeze some extra juice out of it. Mine’s currently running at 1Ghz at a solid 48C temperature when under load. So the first question that springs to mind is… why doesn’t everyone overclock their Raspberry PI? Well… there have been (well founded) reports of SD card corruption, heat/power issues and instability. The idea of this post is to show the user how to safety squeeze every last bit, cycle and IOP out of their PI safely’ish and without being an astrophysicist. Read on for the know-how. Continue reading

Send to Kindle
Share

So in the last post I discussed why the Mac Mini is the perfect machine for Linux and for Datacenters in general! One frustration some readers may be finding is that the networking chipset used by Ivy Bridge platform in Late 2012 Mac Mini’s doesn’t have native support in the Linux Kernel (as of now anyway). So its required to install a kernel module from the manufacturer/vendor (broadcom).

On their website they provide the “tg3″ drivers for Linux kernels, however these are only good if you are running a Linux kernel < 3.5.x. If you take Ubuntu for example, 12.04 uses the 3.2.x stream, whereas 12.10 uses the 3.5.x stream and isn’t immediately compatible with the drivers on the broadcom page. This is due to the deprecation in 3.x and removal in 3.5.x of the asm/system.h header.

Read on for the fix, more and downloads. Continue reading

Send to Kindle
Share

I recently changed from having Dedicated Servers to renting co-location rackspace directly in a datacenter. What this meant was that the “density” of CPU:Power ratio was important. Say for example you rent 1U of rackspace, that will come with some amount of power, measured in FLOOR(0.9*(AMPS=(WATTS / VOLTS)) during “peak” or “boot” power usage… with a total allocation of say 0.4 amps, along with bandwidth etc.

So why a Mac Mini for this purpose? Take for example a Dell Poweredge 1U Server… fits perfectly in the 1U of space provided and can consume a lot of power, 0.5+ so really, you can only squeeze 1 of these in without paying over-ages… at a push. What it does give you over a Mac Mini though, is the possibility to have 128GB RAM and 4 HDD bays in a single chassis, but at a much higher power cost. Lets take for example the Mac Mini… I’m colocating 4 Late 2012, Core i7 Mac Mini’s with 16GB RAM and 2TB hard drive space in EACH. Due to the way in which the Mac Mini was engineered, these consume around 0.19 AMPS each. Making the “density” increase, so in my 0.4 allocation, I can place 2 Mac Mini’s without incurring additional charges… thats 8 Physical Core i7 Cores… 32GB RAM and 4TB Hard drive space… in a piece of metal that is easily and readily available/replaceable and modular…

Those datacenter savvy people amoung you will now be thinking… ah, what about cooling, what about remote reboots etc… well there are solutions to all of that also, see my guide on Ubuntu 12.04 and 12.10 on a Late 2012 Mac Mini for a detailed howto.

The end result, you’re reading this blog post on a Centos VM hosted on a Debian KVM Based Hypervisor running on a Late 2012 Mac Mini! all setup and configured to be at a lower cost than any competitor and offering a really high density in a datacenter environment.

Wanna discuss, tweet me @italoarmstrong

Send to Kindle
Share

I’m sure i’m not the only one who is annoyed at the fact that, even though my project Deployment Target is set as iOS 5.0… Xcode finds it neccesary to enable Auto Layout on all newly created XIB’s regardless… causing Runtime exceptions that can be pesky and hard to find if not testing looking. So I started thinking how to disable this once and for all…

After monitoring the state of my disk, before and after ticking the infallable box in IB, I realised that Xcode is actually using some xml files to enable/disable this feature, however, there are a few locations and its a little pesky… i’d document it all here, but I don’t have it to hand and can’t remember… so maybe later… but until then, here is a little tool I made that performs a simple regexp on some of your Xcode installation files to make sure Auto Layout is disabled :) NOTE: You’ll have to re-run this tool if you update/re-install Xcode.

Download: AutoLayoutAnnoysMe.zip

 

Send to Kindle
Share

It’s a bit of a random thing you’d think, but recently I had an issue where one of my servers would keep dieing when under abnormal load… So I thought, how can i replicate this in a lab environment… So I wrote a tiny bash script (that you can just paste into a terminal) that will max out each “thread” of the CPU until you kill the processes or reboot… Useful for stress-testing or burning in a CPU…

Continue reading

Send to Kindle
Share

So… some of you may have already seen this, if you didn’t then, here it is :) its pretty cool, it works… but has one caveat… Its a TEMPORARY unlock… i.e. it will unlock your phone sure, but once your TMSI (Temporary Mobile Subscriber Identity) is refreshed, you will have to repeat the process again… in the UK and US i think this happens when you switch the phone on/off or travel over a large geographic area… however it could potentially happen whenever…

Instructions on how to unlock are after the break :)

  1. Grab your iPhone
  2. Insert a supported Sim Card… so, if your phone is locked to Tmobile, put a Tmobile sim in there Continue reading
Send to Kindle
Share

I’ve been playing around with some IDN’s and TLD’s and DNS etc…. i’ve realised you can create IDN (punycode) subdomains to any existing domain, in addition, i’ve created my own TLD, and setup a DNS server that works for this purpose. If anyone would like an IDN or a custom TLD, get in touch!

From anywhere in the WWW:
http://армсторнг.el.cx

Set your DNS to: 77.79.11.26 in order to take advantage of the new ком TLD. (note: this is just a bit of fun, and is not official).
http://армсторнг.ком

Send to Kindle
Share

Who knew translating from German > German would be so fun!?

I recently reminded myself of a great “google hack” during a lecture today on International Computing. (hello to anyone from there who is reading this!) In honour of internationalisation Google seem to have taken it upon themselves to make the CPU voices beatbox for us all! Just follow this link and click on listen to see what i’m talking about!

Also anyone noticed how google defaults translations to masculine and the voices to feminine… *TBC

Send to Kindle
Share