Choosing libraries and evaluating code

These slides are from a short talk I gave at work for my coworkers and especially for our junior developers.

Overall, the slides are probably more of a conversation starter than they are useful in themselves.

Choosing code and evaluating libraries

How do you choose between using an existing library and coding it yourself? How do you evaluate whether someone else's code is good or not?


→ Read more…

Rails Security: above and beyond the defaults

Rails Security: above and beyond the defaults

This is a blog post version of the Rails Security talk that I gave at Rubyfuza 2017 in Cape Town earlier this year.

I'll also be giving this talk (or an updated version of it) for Ruby Dev Summit, a free online conference, in October this year.


→ Read more…

Middleman on Heroku – 2017 edition

I’ve written about hosting Middleman apps a couple of times before. This article supersedes the advice given in those earlier blog posts.

This new approach uses Heroku’s official Ruby buildpack and uses its asset precompile behaviour to build the Middleman site.

The advantage of this approach is that the site gets built on deploy and doesn’t need to be rebuilt every time that the app reboots. This should result in faster and more reliable app boots.


→ Read more…

Piranhas: Now with Amazon.it support

Piranhas now has full support for Amazon.it in addition to Book Depository, Wordery, and the other five Amazon stores.

Piranhas screenshot

I’ve also checked and updated the shipping rates data for all the supported Amazon stores, so depending on your location you may see more accurate estimates of the shipping costs now.

Retrospective: Ilves IPA v2

Ilves IPA v2 bottle and glass

Ilves IPA v2 was the second iteration of the first beer I ever brewed. As I overwrote my original Ilves IPA recipe when I redesigned it, I’m not entirely certain what I changed for this second run at it, but I’m pretty sure it mostly consisted of changes to the hopping additions and schedule.

Now, almost two years later, it doesn’t really taste all that much like an IPA. Who would have guessed that storing hop heavy pale ales for years wouldn’t be a great idea?

It has a pleasant but very mild hop aroma on the nose. The flavour is still mildly hoppy, but dominated by the malt character. I think there might be a slight vague, unidentifiable off-flavour in there too, but that might just be a result of how long it’s been stored in somewhat nonoptimal conditions.

What to take away from this and my other retrospectives of pale ales? For one thing, I’ve learned firsthand that there isn’t much point in hoarding bottles of pale ales for years…

Retrospective: Little Rascal

Little Rascal bottle and glass

Brewed and bottled in March-April 2014, Little Rascal is an ESB based on one of my brother’s recipes.

I can’t remember what this beer was like in 2014 as I don’t have any real recollection or tasting notes about it, but today the best you can say is that it’s a light, drinkable beer.

Visually it’s surprisingly cloudy, especially considering how long it’s spent in the bottle (though not under ideal circumstances).

There isn’t any particularly wrong with it. No odd off flavours or major flaws, it’s just a fairly inoffensive beer. Not that it really matters since I’m drinking the last bottle in existence as I write this…

Retrospective: Ahma Ale

Ahma Ale bottle and glass

This was the second beer I brewed. Ever.

Back in 2014 this was an IPA, not so much anymore. All the hop bitterness and aroma seems to have disappeared and the flavour profile is very much on the malty side. Overall this is still a surprisingly drinkable beer, despite it’s age and my lack of experience back in 2014.

It’s definitely better than the Ilves IPA I cracked open at the beginning of last year… Come to think of it, there’s a fairly strong possibility that this last bottle of Ahma Ale has been sitting in my fridge for the best part of a year at this point since I’ve been really lazy about writing it up.

Lastly, I’d like to point out that my labels are better designed these days, or at least I like to think so…

My favourite books of 2015

In the vein of my 2013 and 2014 lists, here are a few of my favourite books of 2015 (in no particular order). That is, books that that I read in 2015, not books that were necessarily published in 2015.


Digital Apollo: Human and Machine in Spaceflight

Digital Apollo

Digital Apollo by David Mindell tells the story of the amazing technology behind the Apollo lunar missions. It also delves into the debate (or even fight) between engineers and astronauts at NASA at the dawn of the space age. The full books is definitely worth reading, but the gist of it is that the engineers wanted to automate as much as possible of the flights and the astronauts wanted as much control as possible.


A Man on the Moon

A Man on the Moon

Recommended to me on Reddit by Brady Haran, A Man on the Moon by Andrew Chaikin is possibly the single accounting of the Apollo lunar missions that you’ll find within a single set of covers. Based on interviews with 23 of the 24 Apollo astronauts.


The “Imperial Radch” series

The “Imperial Radch” series book covers

At the beginning of the year I stumbled across the first book of the Imperial Radch series, Ancillary Justice by Ann Leckie. Originally published all the way back in 2013, I found Ancillary Justice to be a totally engrossing take on a science fiction space opera.

The perspective of the protagonist, a not entirely human, kind of ex-spaceship, ex-soldier Breq is really interesting. Breq is also from a culture which doesn’t distinguish between gender which adds an interesting extra twist to the storytelling.

If you enjoy Ancillary Justice, you should definitely go on to read the next two novels in the series too (Ancillary Sword and Ancillary Mercy)


The Martian

The Martian

If you haven’t heard of The Martian (by Andy Weir) until now then I think that counts as a minor miracle of some kind. I’m pretty sure I devoured the entire book over three nights or so (usually reading until it was way too late for a work night). Even if you saw the movie, I think it might be worth reading the book (at least if you’re at all a geeky or nerdy type of person).


Double Cross: The True Story of the D-Day Spies

Double Cross: The True Story of the D-Day Spies

Ben Macintyre’s Double Cross is about the German and Allied spies of the second World War and about how the allies (and especially the British) managed to turn almost all German spies into double agents. It’s an amazing story and at times even hard to believe since the facts read a bit too much like a le Carré novel.

What What Wit v2

What What Wit v2 bottle and in glass

This is the second version of my What What Wit (originally based on a recipe in Randy Mosher’s Radical Brewing).

The biggest changes were to the boil additions and my choice of yeast. The first version my my recipe used White Labs WLP575 (Belgian Style Ale Yeast Blend), largely out of necessity as that was the only wit yeast in stock at my brewshop when I was ordering my ingredients for it. This version used Wyeast 3944 (Belgian Witbier) instead.

The recipe also gained some fresh grapefruit peel in addition to the fresh orange peel that I used originally. I ended up using a bit less orange peel than I intended to since I failed to buy enough oranges.

Impressions

The colour is a nice straw yellow and it has a nice bit of haze (as is expected in a Wit). Overall this is a very pleasant beer and rather good, even if I say so myself.

In future versions I think I’ll add even more orange or grapefruit peel as I don’t think it comes through quite enough yet, otherwise the other spices (coriander and chamomile) seem to be nicely balanced. I’m not sure if using dried orange peel would be better or worse than using the fresh orange peel I’ve used so far…

In any case, I’ll definitely make this beer again (or some slightly modified version of it)…

Building Apple TV apps with Middleman

At Kisko Labs we were lucky enough to receive an Apple TV developer kit from Apple (two actually, because I got one for my personal Apple developer account too). Motivated by the free hardware, I took some time to learn how to develop for the new Apple TV (one TVML app and one “native” app). In this post I’ll walkthrough creating a TVML app with Middleman.

Apple TV (4th generation)


→ Read more…