The three possible responses to Heartbleed

There really are three things you'll see from vendors about Heartbleed:

  • We don't update our packages very often. (i.e., RUN AWAY RUN AWAY)
  • We use a Microsoft stack for all our web stuff (i.e. RUN AWAY RUN AWAY)
  • Our install was vulnerable, and here's what we've done to fix things. (correct response)

Bunnings: the Soviet hardware store

One of the most frustrating things about living in London was the supermarkets' reliance on Just In Time goods delivery, which more often than not ended up being Just Too Late. Rocking up to the Tesco in Kennington up the road from our house after work you'd find acres of empty produce trays and empty shelves. If you asked staff, they explained there is no store room and there would be no new stock until the next truck arrived. Of course the giant retailers had long killed the little corner stores where you might pick up a carton of milk or a loaf of bread, so you were stuck. London truly is a 3 day truck driver strike away from food riots.

Bunnings have brought this model to the hardware market in Australia, only with a twist that makes it far, far worse.

I've been trying to get the pieces together to repair our screen door and build a new fly screen. For this I need the edge aluminium extrusions in white, corner connectors, cross beam connectors, screen and the spline. You'd think you should be able to pick up these components in one place. Wrong.

I've tried my local Bunnings twice in the past month and each time they've had none of the corner pieces, just empty boxes. They don't even seem to have a place for the cross beam component, and availability of the extrusions in white has been hit and miss.

So I took a day off work to get there and see if I could find them. The photos above show the results. Nothing. The shelves are like Soviet Russia. The staff, when I can track them down, tell me the stock is replaced by reps from the supplier! So not only are they using a Just Too Late model with no storerooms, they let someone else handle the supply chain. Ridiculous.

I ended up going to the other Bunnings up the road with the same result. Finally I went to Mitre 10 in Newtown and managed to get what I need, along with some helpful advice from the knowledgeable staff. Unfortunately their product range is more limited, but at least they keep the stores filled!

Roll on Masters. I'm not keen on monopolists getting in, but this is a monopolized market already and could use some disruption. If there's one thing you never see in a Woolworths, it's row after row of empty shelves. These people can manage a supply chain. Now hurry up and open a Masters in the inner city of Sydney already!

2013 was the year I finally kicked print


I got a new Kindle for Xmas and I'm absolutely loving it. The backlighting is so smooth and subtle, I can read in the dark without disturbing the other half. It's a brilliant piece of technology connected to an endless supply of reading material.

I've been on track to phasing out print media for a long time. My original Kindle arrived in 2010 and I pretty much immediately stopped reading printed books, at least non-reference works. The Kindle experience is so smooth and the device so versatile, it's hard to beat. I experimented with getting newspapers pushed to the Kindle via email for a while too, so stopped reading print there.


I bought one of the first Android tablet computers back in late 2011 and started switching a lot of my reading to that straight away. I stopped my Guardian Weekly subscription after I found myself rarely taking it out of the mailing wrapper. (I renewed it later when they ran a just-ridiculous offer, which I suspect was some kind of sneaky way of boosting the internal business case for Guardian Australia.)


Since then I've been through a couple of tablets to settle on the Nexus 7 which has proved to be the ideal form factor and power level. I now spend most of my reading time on this. Interestingly though, I find the Kindle better for long-form, even though the same books are available on the Kindle app.

I also began last year using it and Evernote for taking work-related notes. I've now mostly migrated away from scrappy notebooks for this task. I still use paper notes for short-term things like daily to-do lists but not much else.


The last time I picked up a newspaper was grabbing a free one at some event late last year. Not to read, but to clean the barbecue. The date on the last page I used before picking up a new one was 2008. Though I've avoided Australian newspapers, digital and print, since moving back from London. I just couldn't stomach the low-brow jingoism and poor quality.


The last holdout of print for me was Make magazine. I've still been subscribed to it until late last year. Again, though, I've found myself not really reading it. Not because it's poor quality, just lack of time.

I bought a laser printer back in 2008. It's still on the toner cartridge it came with, and only its second ream of paper. It only ever gets used to print out things like event tickets, a business still firmly stuck in the paper era. (They'll sell you a "mobile ticket" but they charge more for it and last time we used it, it didn't even work!)


So 2013 was the year print went out for me. Don't see it changing. I imagine I'll still buy The Economist or something similar next time I take a long haul flight, solely because of the in cabin use restrictions. Otherwise, I'm done with print.

I'm somewhat nostalgic about print. My first real job out of school included doing cut-and-paste layout work on the People and Picture magazine display classifieds. Old skool. And much of my early career I earned money writing for magazines and newspapers.

That said, I don't miss the bad things about print. Being limited in what content you could consume by what was available. The weight of books, magazines and papers weighing you down. The fact that if you lost your bookmark, you had to hunt through to find your place. The ink rubbing off cheap newsprint onto your hands.

Exxopolis by Architects of Air

Yesterday we took the kids in to see Exxopolis, a giant inflatable scupture sitting out the front of the Sydney Opera House. The first photo is one I took on Tuesday while walking down for the Matmos gig. The rest from yesterday. You can see there's a really odd light inside, that's sunlight coming through the plastic.

It's an amazing artwork and must have enormous amounts of clever thinking and engineering behind it. The kids loved running around and exploring it, getting us "lost" inside.

Afterwards we had pizza overlooking the harbour. Lovely afternoon and evening out and the kids had a ball. We're very lucky to have this kind of amazing stuff happening in Summer.

Tableau formula for email domains

As much as I love Tableau, its string functions are rubbish. No split, no regex, not a lot very useful. I find myself constantly searching back in old Tableau files for this, so it's time to publish it!

This is a formula to take an email address and chop everything before and including the @ symbol. In other words, the domain part of your email addresses.

RIGHT([LoweredEmailAddress], LEN([LoweredEmailAddress]) - FIND([LoweredEmailAddress], '@') )

Sydney Festival 2014

It's January in Sydney which means Sydney Festival time. That's when Sydney's centre is transformed for a pretty damn awesome art and culture festival. There's always a stack of awesome gigs, plus free stuff too.

Last night we went to see Bonobo, though not part of the festival. Loads of fun and it's always amazing to see gigs in the Opera House's Concert Hall. One of the great spaces for music.

Next week I'm off to see:

  • Matmos, an experimental electronic band I've followed for years. They did an album inspired by (and using) the sounds of plastic surgery.
  • Hurricane Transcriptions/Laborintus II: Lee Ranaldo of Sonic Youth has a piece composed after Hurricane Sandy, then Mike Patton tackles a piece by experimental composer Luciano Berio. Patton just gets more and more interesting, and weird, as he continues. Loving his stuff!

Hopefully we'll get a chance to take the kids for a bounce on Stonehenge too.

Jawbone UP! and self quantification

In May last year I started wearing the annoyingly-capitalized Jawbone UP device. It's a wrist band that tracks your movements, syncing the data with an app on your phone. It's part of the whole Quantified Self movement where people measure aspects of themselves and their lifestyle and use the data to optimize.

For me, I thought it looked like a cool piece of tech and I was curious what I'd find out about myself and my activity. Having endured the past 4 years raising young kids, I was particularly interested in my sleep patterns.

The device itself is pretty straightforward. It's a rubberized wrist band with a button on one end and a cap covering a headphone jack at the other. A couple of LEDs shine through to indicate the modes it is in and battery status. Syncing is done by plugging into your phone's headphone jack and opening the app. Newer units use Bluetooth to do this wirelessly, which would be nice. Charging requires a proprietary converter to charge on USB, which is pretty annoying given the ubiquity of the rather small Micro-USB these days. Hopefully wireless syncing devices will have that standard connector in future.

Pressing the button can do a few different things. You switch to "sleep" mode by long-pressing once. It then measures your movements to get an idea of your sleep patterns: how long it takes to get to sleep, how often you wake up and your periods of "light" and "deep" sleep. It divines all this from your movements. Not sure how genuinely accurate this is: I'd love to see a sleep lab study comparison.

Long-pressing the button twice starts logging an activity. You use this for gym workouts or other special exercise periods you want to log. In the app you can define what the activity was and it'll log an average calorie burn for the period.

App UI

So you connect the device to your phone and run the app to sync it. You'd think this would push the data up into some cool web app. You'd be wrong. Everything has to be done through the (shitty) phone app. That's really annoying.

The app itself ignores a lot of Android conventions, like the menu button, which makes it plain annoying. Pinch zoom doesn't work on things like timelines, which is just ridiculous. No, I don't want to just look at "today" thanks, and I don't want to be swiping for another hour to get where I want to.

The limited UI means I didn't get to spend much time with the data itself. That limits the insights you might get. You have to think to open the app and record your mood, or how well rested you feel. So then it's hard to correlate the data with how you feel.

At launch the Android app didn't integrate with other apps. Now it does, though I haven't used it. Not sure if there's some way to suck the data out for your own purposes.

Device failure

A couple of months after buying my device, it stopped holding charge. I'd plug it in and the battery just flat out wouldn't charge, in fact it would lose charge while "charging". The retailer, Exeltek, flat out failed to respond to my return requests. So a big fuck you to those pricks, don't buy from them. Fortunately the Australian distributor were quite good. Though they then had no stock and it took about 7 weeks to get a replacement. Sounds like this isn't an uncommon problem.

Whoops, lost it

Over the Xmas break, while bodysurfing up on the Central Coast, I lost the device. Was flailing my arms around swimming to get onto a wave and the thing popped off, never to be seen again. I tried in vain to find it, but pounding surf and all it was kinda impossible. Doh!

The best feature, not the one they push

My favourite feature of the device is one they don't really advertise strongly. The device has a vibration motor in it, so it can notify you of things. One thing it can notify is an "Idle Alert". You set a time range (08:00-19:00 for me) and a time limit (30 minutes) and if you're inactive for that period, it vibrates. It's a fantastic reminder to get up and move around, something my physio is always reminding me will help fix my back. I really really miss that feature!

Conclusions

So while I wouldn't strongly recommend the device, it's kinda cool and not too ridiculously expensive. They seem somewhat unreliable, and the app UI is annoyingly crap. If you could get the data out, it might be cool.

The wristband thing is vital for me. I don't wear clothes in bed, so the sleep function works best in a wrist band. Fitbit and other devices have a sleep band, but otherwise you have to carry it somehow. That seems clumsy and I'm likely to forget it. A wrist band works much better for me.

The vibrating idle alert is awesome. Does anyone know if other devices do this?

5:2: a diet for greedy people

I've never been a skinny guy. The fittest I've ever been, playing rugby in my mid-teens, I was still chunky bloke. Helped me avoid being bullied. As an adult, my weight has gradually crept up. Finally I've decided to do something about it, mainly because the 5:2 diet came along and appeals to me.

The idea is you can eat anything you like 5 days a week, but for 2 days a week you drastically reduce your calorie intake, 500 kCalories for women and 600 for men. This has an important psychological effect. With a normal diet, high calorie foods you really love are pretty much off limits. This diet means that on fast day you can say to yourself you can eat the thing tomorrow. You won't necessarily eat it (I find my appetite is somewhat lower the day after a fast), and obviously you can't go absolutely nuts and you should aim for normal moderation on non-fast days.

You'll read some stuff about other health benefits from fasting, things like the "repair gene" and the like. I'm dubious. The science behind these claims is only solid for different patterns of fasting: long-term fasts, alternate day fasts and the like. There hasn't been much research into this particular pattern, though the weight loss parts are pretty clear.

For me, I've been doing it since the end of October and in those eight weeks I've lost about eight kilograms. That's about as fast as you want to lose weight in a sustained fashion. Other indicators are also good: I've dropped three belt notches, my "tight" jeans are starting to feel loose, I'm contemplating buying a bunch of new clothes, and my blood pressure was described by my doctor as "perfect" last week, which is awesome.

I think the psychological aspect of this diet makes it really easy to sustain. It takes some planning and being a data nerd I have a spreadsheet to track what I eat and various measurements to track my progress. By planning things in quite a bit of detail, you can focus on bulky but low calorie foods that will fill you up and ward off hunger. I rarely feel particularly hungry. Lunch time I actually have later than normal days, though I do drink a fair whack of caffeine on fast days. By dinner time I'm generally quite hungry, but not for hours beforehand, and if I've chosen good food options I'm not hungry again until morning.

The eight weeks have flown by, Tuesdays and Thursdays are my regular fast days and I've developed a bit of a routine. On fast mornings, I get up and make the kids their breakfast. Then I start my own breakfast of Shakshouka, a North African dish of tomatoes and eggs that I've been eating regularly for a fair while.

While that's simmering, I chop up a huge amount of vegetables, particularly carrots, to eat raw for my lunch. I might pop out into the garden and harvest whatever's going there too, mostly lettuce and rocket. While I'm preparing all this, I weight and write down each piece. Once I get to work I'll look up the calories pm Calorie Count and fill in my spreadsheet, which gives me my calorie budget for dinner.

Shakshouka (~240 kCal, but weight your ingredients)

(This picture is taken pre diet and so it's probably a fair bit bigger and has some other ingredients.)

  • 1 tspn cumin seeds
  • Half an onion, diced
  • 2 medium tomatoes, chopped
  • 1 clove garlic
  • 1 tspn olive oil
  • 2 eggs
  1.  Dry roast the cumin seeds over low heat until fragrant.
  2. Fry the onion in the oil until soft, add the garlic, tomatoes and 1 tspn water.
  3. Cook gently until softened (about 10 minutes).
  4. Make two hollows in the tomato goop and crack the eggs in.
  5. Cover until the eggs are cooked. Serve.

Dinner is often some simply cooked fish like flathead and some more vegetables, steamed or raw, eaten with the kids. Tuesday nights have become fish night in our household. We've also been enjoying Haemul Paejeon, a Korean prawn pancake, which is ridiculously quick to make and packs a massive amount of flavour. I've also tried out a few other recipes, there's loads on the net.

So I'd have to say I strongly recommend this approach to weight loss. I've been doing it two months and don't feel like I'll stop until I hit the healthy BMI range, which at the current rate will be about February or so. Even then I think I'll go on a maintenance regime, perhaps a fast a week. We'll see how I go over the festive season, there may be some setbacks...

Using a Gandi SSL certificate in AWS Elastic Beanstalk Load Balancer

Wow this was way more painful than it should've been. SSL is hard!

So I followed the instructions from Gandi and ended up with a private key, a certificate signing request, a certificate and an intermediate certificate. To load them into the Load Balancer, you can't do it directly from the Elastic Beanstalk console, instead you go to the EC2 console and look at your Load Balancer. Go to the Listeners tab and add an HTTPS listener, click "Change" on the certificate and upload a new certificate. Here's where I got really stuck. Turns out the private key is in the wrong format.

So....

openssl rsa -in <private key> -out server.key

Use THAT file for the private key, and all is hunky dory.

Don't forget to include the intermediate key too, which you download from Gandi.