Profiling Ruby

Last Tuesday, I gave a talk at the Triangle.rb meetup on profiling Ruby applications. Would you like some slides? I thought so!1

  1. A few slides were added from the talk, in particular adding an extra flamegraph example. There may be more to come on this front… [return]

Snow Week 2 - Morse Edition. And Brutalism

Westgate Car Park

It’s pretty ugly and I don’t think too many people will be sorry to see it go – as far as I know there have certainly never been any requests for its preservation.

Well, thanks, Oxford Mail. Yes, I know, the car park isn’t all that important in the scheme of things, but you wouldn’t say that if the city was about to pull down one of the Elizabethan buildings. Or a Victorian one. Or even some of the inter-war houses. Of course, the council had already ripped the heart of the park out over a decade ago when it took out the ‘golf-ball’ (where the security team watched over all in a rather Prisoner-esque fashion) and covered up the gaps in an amateurish manner. I’ll miss Westgate, even though I realize that not every building can be saved and a city cannot be trapped in amber forever.

In other news, I have spent the week at home again. Snow and plummeting temperatures once more. As cabin fever set in, I took solace in Inspector Morse and my new friend Bob:


Bob says hello and that he’d like to meet you all. One by one until he’s finished. Forever.

Tomorrow, back in the office. Providing it’s still out there. Is there anything outside the house? I am suspicious.

Snow Week

Six days without leaving the house! Something of a record. It snowed. And it was cold. Very cold (and just to show I’m not just acclimated to North Carolina weather, it was -19˚C (-22˚C with windchill) on Thursday night. That’s cold even back home). But I had accidentally already stocked up with bread, water, and milk, so there was no reason to brave the black ice.

(I did feel a little bad during daily standup as the team in Boston talked about the hellish conditions they had to endure just to get to their cars)

And, then yesterday, possibly having gone a little crazy with remaining indoors all week, I made five different el Buili courses. Perhaps Parmesan ice-cream tastes better in Spain. And less like feet. Fried tempera potatoes, cocoa crackers with sweetcorn butter, and black sesame microwave cakes worked a little better, though.

Hoping to get back into the swing of things this week; February has ended up being a bit of a Lost Month so far.


bean to bar

It’s something you’ve seen on this blog tens, if not hundreds of times before; a small bar of chocolate fresh from its mold. Except this time, it’s not Callebaut or Valrhona chocolate that I’ve melted down, tempered, and reformed in the mold. On Friday, this bar was still just a pile of cocoa beans, which I roasted, pulverized, and turned into chocolate by grinding them down for just under 24 hours. For the first time, I’ve made a chocolate bar almost entirely from scratch, just in the way it was done in the 19th century.

Though I did have a VitaMix to help out. And the melangeur was mains-powered. But still.

A single origin, Venezuelan 60% dark chocolate bar created over a weekend. Tempered and cast.

I feel like I can call myself a chocolatier now.

Snow, Interrupted

This week was supposedly going to be full of wacky adventures whilst being up in Boston for a week. Mounds of snow preventing me from crossing roads, covering up with all the blankets in the hotel room as the temperature goes below 20˚C, and just why I keep on eating the flatbreads from the hotel restaurant next door when I really don’t like them (mainly, that’s because I can’t eat at the Copper House Tavern all week, which becomes more of a problem with the aforementioned snow).

Unfortunately for this blog entry, my flight got cancelled twice, and when it got delayed again on Tuesday morning, I decided that Boston probably wasn’t going to happen this week. So I went home and spent several days living on a self-imposed subsistence diet because I refused to go to the shops in the dark.

(look, I’m working on the driving thing a little still, okay? Plus by the time I get back from work, the thought of spending an hour to two hours doing something that isn’t sitting down and drinking tea is less than fun. I’ll probably be a little better when the evenings get lighter)

And then the fridge failed. Again.

But! This time, instead of me taking a hairdryer to it for two hours, I wanted to get somebody out to either fix it properly or pronounce it dead (as it dates from 2000, I was expecting the worst). While their website is just a stage above Geocities circa 1998, I can definitely recommend Durham Appliance Thrift; they came out the same day I called, fixed the issue, assured me that as it is a mostly-mechanical fridge it’s probably good for five more years at least, and left me with yet another thermometer (I will start losing count soon).

Next weekend: I have cocoa beans now. I have cocoa butter. So next weekend, I’m going to make my first bar of dark chocolate from scratch. There will be samples! Provided I don’t hate it and throw it away before anybody even looks at it, obviously…

And Then The Warp Core Failed. With Hilarious Results

If you’ve heard my cries of anguish and terror that recur every Boxing Day, you’ll know I hate board games. Many years of Monopoly and Trivial Pursuit have taken their toll and at the mere suggestion of a board game, I wilt and attempt to run to the nearest exit.

(I exaggerate. A little. But only a little.)

However, I have so many friends that extol their virtues. Even talking of worlds beyond the hateful realms of Monopoly. And I have, off and on, been reading Shut Up & Sit Down, an entertaining blog hosted by Quinns (formerly of Rock, Paper, Shotgun), which is all about board games and their various forms. I was rather intrigued by Risk: Legacy, but I couldn’t drum up the interest needed for a continuous campaign that it called for. But, for Christmas, I bought one of my friends, Tammy, a board game. And last weekend, we played it.

Space Cadets is slightly different from the traditional board games we’ve known and hated with pure fury of beings beyond the veil, shot through with venom and insanityloved in that instead of working against each other to victory, it involves everybody working together to die in the endless void of spaceachieve success. The players control a starship and have to retrieve crystals and defeat xenos filthalien starships out to destroy us all.

Now, Space Cadets has a bit of a reputation of being a touch complicated. Each station on the ship has its own mini-game to play, and these mini-games (mostly) all take part at the same 30 second time period. There is chaos, confusion, and inevitably hilarious consequences, which almost always involve the death of the entire crew.

As I was the only person who had seen anybody play the game before, the task of Captain fell to me. The datacorders may judge my decision to place the fate of weapons and damage control in the hands of children, thus breaking all sorts of Federation child-labour laws, but I think they did quite well, all things considered. We even managed to pick up a crystal before the Nemesis blew out our shields, caused a warp core breach, and I explained the core breach repair game to a wide-eyed group of Cadets. Who then died in a torrent of warp-fire as we failed miserably, of course.

So yes, I had fun. Playing a board game. Shut up.

Meanwhile, in non-board game related news, I should be in Boston right now, but all flights to Logan seemed to end up cancelled by mid-afternoon. So I’m back here in Durham, waiting for the next flight out. Which might be Tuesday. On the bright side, I will miss the big snowstorm…


Quick release this week: dustbin_lorry - a small piece of Rack middleware that will dump changes in the method/constant caches after a request to the current logger (rack.logger or Rails.logger if you’re running it under Rails). Hopefully, it will be of some use when debugging MRI performance issues (needs Ruby 2.1 or above to work).

Please Stand By

I spent most of the week inside with a bad foot, so:

This Week In Chocolate — White


Grinding (repeat this picture for 10 hours)



Poured into mold)


Tempered, with a firm snap!

This weekend, then: ten hours of running the grinder, and my first batch of white chocolate. You’d be surprised about how hard it was to find whole milk powder in Durham instead of non-fat (and non-goat, though I’ve got some goat powder for later). It is not the best white chocolate I’ve ever had, I’ll admit, but it’s pretty good nonetheless, and now that I’ve done white, dark and milk will follow as soon as I source the beans…

This Year In Chocolate

Wet grinder

If you’ve ever heard me talk about making chocolates before, I’m normally at pains to point out that I don’t make the chocolate myself; I merely melt, temper, and refashion chocolate into other forms, whether it’s molded bonbons, truffles, or bars.

And there’s nothing wrong with that - the vast majority of chocolatiers operate in this fashion, buying chocolate from companies like Valrhona or Callebaut. But I won’t deny that I’ve always wanted to go a step further and make my own chocolate at some point.

Above is a wet grinder. It’s the last big piece of equipment for the chocolate room. It has large granite rollers which are used to grind down all sorts of things into pastes; grains, nuts, and cocoa beans. Using it, I can grind roasted beans, add cocoa butter and sugar, and 48 hours of grinding later, I will have made chocolate.

So that’s the plan for 2015: full bean-to-bar chocolate production. I’m going to be working up to that process rather than simply grinding beans from the off; firstly, I’m going to make white chocolate (and perhaps a goat’s milk variant, just for fun), then I’ll purchase 100% chocolate liquour to have a go and at and milk chocolate. Finally, I’ll get hold of some cocoa beans and grind them instead of using the pre-ground liquour.

2015, then: beans go in…chocolate comes out. Fully-artisan, all the time!