I've been spray-painted, had water fights, film nights, a Pac-People wedding, and even Colin Firth by my side. But my time is short.— The Green Wall (@Greenwalldurham) January 29, 2015
Cheers to you all, and remember the good times. Bye, Durham. It was a blast.— The Green Wall (@Greenwalldurham) January 29, 2015
The Green Wall has felt like it has been part of Durham forever. Forever only stretches back to 2005 when Greenfire purchased the burnt-out remains of 120⁄122 W Main Street and painted it green in an act of hubris that come to haunt them in 2008, but still, ten years is plenty in a city that has transformed radically in that time.
It’s been home to many things, as detailed in the tweet above, but it was also just a lovely quiet space in the middle of the city where you could find a patch of grass, walk, have a pleasant lunch in the sunshine, or just have a sit-down. Something that I feel every city needs.
To be fair, the wall was rotting, the buildings it enclosed had been burnt out since 2001 and the whole thing could have collapsed in the face of a gale force wind. I’m not the hugest fan of the plans to build a massive 26-storey office/retail/condo block on the parkland and two storefronts deep into the block, but maybe it won’t be as bad as it sounds.
Not everything can be saved. We had ten years of the Green Wall which probably would have been three or four if not for the Great Crash of 2008. Let’s be sad about the event, but be thankful for the memories we made.
So, things are trundling along on your Rails project. You’re doing things properly and have lots of tests, which get kicked off by a Jenkins CI server every time a developer pushes to the repository. Then, it comes time to replace your SSL certificate on the domain you use for testing. Suddenly, your tests start breaking hard with this error when they try doing fun things with your SSL-enabled API:
OpenSSL::SSL::SSLError SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
And yet, when you open a pry or irb session, you can connect to the URL in question fine and dandy. What’s going on?
Welcome to the wonderful world of
OpenSSL::SSL::VERIFY_NONE. The Net/HTTP code in Ruby can be passed an SSLContext for setting up SSL connections. Unfortunately, the default verification step in a new SSLContext is OpenSSL::SSL::VERIFY_NONE, which as you can imagine from the name, does no checking whatsoever. So that explains why your pry or irb session is connecting fine.
But why is it failing in the tests? Well, chances are that you’re using something like HTTPClient for your REST calls, aren’t you? And these gems, being somewhat better behaved, set their SSL context to be OpenSSL::SSL::VERIFY_PEER, to at least check the chain of certificates. And that’s what’s failing - Ruby can’t complete the certificate chain.
Which leads to another question - you’ve paid out the money for the SSL cert, it comes from a reputable provider (ours was from RapidSSL), so why isn’t it verifying? Well, it turns out that as well as setting the default check to VERIFY_NONE, Ruby also doesn’t load any of the cert files in the OpenSSL gem; instead it just relies on the OS’s certs. Which is probably fine in most cases, but as it turns out, not if you’re running Ubuntu 12.04 and using a RapidSSL cert.
How do we fix this? Well, you could monkey patch either OpenSSL and/or Net/HTTP to ignore any options and always use OpenSSL::SSL::VERIFY_NONE. Please don’t do this. Ruby using it by default is a bad thing, leaving you open to MITM attack; HTTPClient is doing the right thing. What we really want to is tell Ruby to load its cert store up with with the certs both in the OS and the supplied OpenSSL gem (which includes the latest root GeoTrust cert for RapidSSL). Luckily, this is fairly simple once you know how:
http_client = HTTPClient.new http_client.ssl_config.clear_cert_store http_client.ssl_config.cert_store.set_default_paths
Magically, the RapidSSL cert now gets accepted and the Jenkins tests can go off and go their merry thing, hopefully preventing panic as the builds return to passing.
About a month ago, I spent all weekend making chocolates for sale over at Fallout Durham. As a result of this, I was somewhat burnt out on the whole confectioner thing for a little while, so I took Christmas off (okay, I did make a chocolate tart while I was at home, but come on, it took all of about ten minutes to make the ganache and pour it into the pâte sucrée base I had made the day before). And then when I got back, I got sucked into the Fortnight of Fun at work which sucked up my evenings as well as my days. This weekend was going to be my return to the realm of sweets and cocoa butter emulsions.
But chocolate is a fickle mistress, and seems to resent the fact that I abandoned her for a month. I planned to make something this morning, though I wasn’t really sure what until I lifted the temperer from its heavy moorings and took account of my current chocolate stocks. To ease myself in, what could be easier than a large bar of milk chocolate mixed with orange essential oils and passed through a cream whipper to create aero bubbles?
As it turns out, the answer to that question is: a lot. I’m still at a loss to what happened: maybe the new whipper I used wasn’t full enough, or the chocolate gods decided to get their revenge, but the chocolate came out of the whipper in pretty much the same way it went in, with no trace of the two nitrous oxide cartridges I fed into it. Bah. So I ended up with a small block of orange milk chocolate. Which is not the worst thing in the world, but not exactly what I planned.
Still, I ended up spending $300 on chocolate afterwards, so maybe that sacrifice will appease the chocolate masters? I need some inspiration for next weekend, too…
Apart from that, it’s been another quiet week. Well, that’s a bit of a lie; it’s been a similar week to the previous one, where I’ve only had a few moments at the end of the day to rest before getting up and starting all over again, but hopefully that shouldn’t be the case in this coming week. Which isn’t to say that I’ll be doing anything interesting, but I won’t be working all hours!
Failing at the blogging resolution. In fairness, I have been working this week to the point where the only time I wasn’t staring at a catalina.out window was when I was sleeping. Hopefully, next week will be somewhat less stressful.
And that’s about all I have to say this week. Sorry. Oh, but I’m booked for Hawaii!
While it’s not all confirmed yet, it looks like I’ll be spending at least some of February in Boston. It’s warm in Boston in Winter, right? Right?
I have bought a hat. The forecast for Boston next week is a nice and warm -8˚C during the day, and as low as -15˚C during the night. But don’t worry, because it warms up next weekend…just in time to create snow showers. Let’s just say that it could be interesting.
On that front, though, does anybody have any good ideas for places to eat and visit in Boston? It’s been over ten years since I went last - I plan on going to Newbury Comics, obviously (for those of you keeping track, which is not many, Boston was where I bought my first glitter pen. I blame Kenickie, obviously. And no, there are no photos. Thank goodness for a time before digital cameras), but I don’t really have much of a feel for the area besides that.
One downside to going away is that there won’t be any Fallout Durham Valentine’s Day chocolates this year. I was going to do something with pâte de fruit, but oh well, the ideas can keep until later in the year, I guess.
So! Send me Boston ideas! That aren’t ‘stand next to a heater for 24 hours’.
Well, I guess the year is off to a decent start. After the usual long, cramped, and sad journey flying across the Atlantic in a plane that taunts you with fancy seat controls but no actual seat-mounted displays to actually use them on 12 I had my first celebratory dinner at Toast, and then promptly fell asleep. Well, almost. First I had to open the contents of a UPS truck that had been delivered while I was in the UK. Might have got a little trigger happy in the sales, but who knows, I may need those dress shirts for work this year…
And then, on Friday, I took my driving test. Well, I tried, but instead spent the day trying to organize insurance and watching Die Hard. Yes, again. And then Chucks. Deliciously, wonderful Chucks. Even if they did short me out of my malt vinegar aioli but still charged me for it. I just can’t hold it against them.
Having failed miserably the day before, I was quite hesitant about trying again at the DMV. Especially as the person I spoke to on Friday told me that I’d have to take the theory test again, which I wasn’t prepared for. But I went. And eventually I was called, and eventually I followed the instructor to the car, drove off down the road, turned into a housing estate, did a three-point turn, drove backwards, then drove back to the DMV and parked. It was less than ten minutes. I can now drive anywhere in the US. Be afraid.
Having done that, I started putting together Saturday evening with my partner in crime for the day, Tammy (after complaining about how she’s been supplying my sister with hints and tips for removing my appendix). The plan? Chicken and waffles. Yes, all the fun of Dame’s, without having to queue for an hour. There will be more waffles and waffle-related things in the future, don’t worry. I also had to watch the last Matt Smith episode again. I don’t care what the Internet felt about it, I loved it.
And today, on my first weekend back in America? Ironing, tea, and Where Eagles Dare. I’m now drinking Lemsip and watching an old episode of Horizon. I’m easing back into America, it seems. Or not willing to slip back completely just yet.
Anyway, one week in, and I’ve already knocked off one resolution for 2014. Go me!
The last moments of 2013 are ticking away. It’s been an eventful year. I changed jobs (twice), bought a house (just the once, thankfully), wrote a book, made new friends and sadly said goodbye to a friend that left us. And here I am, back at the beginning, back in Bicester, sitting at the table and typing away.
Moving house was a little stressful, as the house that we were renting was becoming more and more dangerous to inhabit due to the black mold spreading like wildfire in the basement. I lost a lot of CDs, my birthday present from my family, suitcases, and even a Christmas tree to that basement. That and unacceptable behaviour from our landlord meant we really had to find somewhere else. And while we could have probably found a rental, I thought it was time to start looking for a place where we could change things, where we wouldn’t have to worry about what the landlord thinks about pets, and where I could wire up so many things to a twitter account. Thanks to the eagle eyes of my Mum, we found our house pretty quickly, and despite some last minute jitters over the roof and a few other bits and pieces, we’ve now been in there for almost half-a-year. We may have changed all the lights by the end of next year. Or figured out how to fix the shower head on the bath…
(and a big thank you to Tammy, who despite being in the process of moving from two homes (long story), still helped immensely during and after we moved from Trinity. And Luke for painting the door back to a non-dog scratched state!)
Work was busy. I started out quite happy at Rho, found myself at ReverbNation, where the Diet Cokes ran freely, and everything was Rails-y, and yet when I came back from the UK in May, I was contacted by OSI, and I was back there by mid-August. So two years in, and three jobs later, I’ve come full circle. And I haven’t been sent to California yet! Somewhere during this transitional period, I was emailed by Packt asking if I would like to write Instant Zepto.js. So I’m now listed on Amazon. Somewhat surprising, but hurrah!
2013 was supposed to be a year of making things. And I guess I did do some things - there was the SMS / Arduino game that I made back in February, chocolate molds I had laser-cut by Ponoko, and various sensors that I cobbled together to start the HouseOfPi twitter feed. I also explored the limits of Lulu and delved into the internals of iOS for a James Bridle-esque adventure of bringing the virtual world into the physical one (it ended up looking a bit like this). But still, I hope to do more next year.
Finally, we said goodbye to Melanie Cuplin this year. I think we probably talked more over email than we ever saw each other face-to-face (due to being in California and other events that occurred over the last couple of years), but she was a good friend with a lot of weird and wonderful stories. A life compressed, but very well lived.
And what about next year? I do have a few things I want to do. So, a list!
We’ll see what happens! Anyhow, hope everybody has a happy New Year, and will be back in the US in a couple of days…
It’s impressive how easy it is to slip back into the house; it’s been four days, and it’s like I never left. I’m stealing Bonnie’s chips, watching Neighbours, fixing computers, and putting a fez on top of the Christmas tree. And yes, Bonnie has threatened to kill me many many times. Only some of which were deserved, I swear.
Bonnie and Dad are now fighting over the cherries. It really is Christmas.
Anyway, a merry Christmas to all my readers. Will be back in Durham next week, but London on Monday!
and now the plug: My Zepto.js book is apparently on sale for during the holidays, if you fancy it - just $5 at http://bit.ly/1jdCr2W! Hey, I have to get it in where I can…