Resounding Questions

There's so Much to Know

Tracking Github Upstream - Keeping Octopress Updated

When every new year rolls around, I promise myself this will be the year that I finally become a regular blogger. Instead, I end up with a dribble of posts around the start and end of each year that eventually peter out to nothing.

Well..it’s that time again! And since it’s that time again, hacking instincts to the fore – needless procrastination caused by updating my blogging set up. This site is statically generated – that is to say, it’s all HTML, CSS and Javascript, with no CMS and no database. I use Octopress for this, and since the software only runs on my desktop I at least don’t have to worry about updating my server.

Octopress is a project stored on Github, and my blog is also stored in git. So far so fine, I should just be able to do some tracking of upstream remotes and…

1
2
$ git remote
origin

Oh great. I always forget to set upstream properly. So, here’s how to do that (adapted from this StackOverflow article):

1
2
3
4
$ git remote add upstream https://github.com/imathis/octopress
$ git remote
origin
upstream

Not that there’s anything special about the upstream name, but it’s a useful convention to follow. This adds a new remote repository to track against my existing repo. Since that remote is the repository I originally forked from, we have a shared history. This means I’ll be able to pull in the latest stable changes. So, let’s do that

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ git pull upstream master
remote: Counting objects: 601, done.
remote: Compressing objects: 100% (348/348), done.
remote: Total 601 (delta 269), reused 512 (delta 211)
Receiving objects: 100% (601/601), 204.08 KiB | 280.00 KiB/s, done.
Resolving deltas: 100% (269/269), done.
From https://github.com/imathis/octopress
 * branch            master     -> FETCH_HEAD
 Removing source/images/icon-sdc231d6676.png
 Auto-merging _config.yml
 CONFLICT (content): Merge conflict in _config.yml
 Auto-merging Rakefile
 Auto-merging Gemfile.lock
 CONFLICT (content): Merge conflict in Gemfile.lock
 Removing .themes/classic/source/javascripts/libs/ender.js
 Removing .themes/classic/source/javascripts/ender.js
 Removing .themes/classic/source/_includes/asides/twitter.html
 Removing .themes/classic/sass/partials/sidebar/_twitter.scss
 Automatic merge failed; fix conflicts and then commit the result.

OK, good, solid progess.

After resolving the conflicts and a bundle install, I’ve got a freshly minted master version to work with. Nice.

Note on specifics

  1. As of this post (January 2014) Octopress maintains a stable release on master.
  2. Brandon Mathis (Octopress maintainer) is currently working on an Octopress 3.0, which will have entirely new themeing. But since I already have an Octopress blog, I’m not going to worry about that right now.

How Many Mobile Visitors Do You Have?

As commutes go, mine is pretty good. An hour door to door, including about 25 minutes of walking, but that does mean I get a solid 2 hours of podcasts in every day. Newish to me, but totally worth it is The Web Ahead, hosted by Jen Simmons. Jen is a rockstar designer/developer, and has on her shows lots of equally excellent folk like Jeremy Keith, Ethan Marcotte and Karen McGrane. If you’re interested in the web from a development (backend or frontend) or design point of view, you should do yourself a favour and trawl through some of the past shows to learn something new, or get a different take on what you’re already doing. I wanted to quickly share something with you that I got from the podcast last week.

Symfony 1.4’s Aging JQuery Form Widgets

A few weeks ago, I was working on one of our client’s sites, built on the Symfony 1.4 framework. We were having trouble with a page littered with asynchronous Javascript code, and seeing timing and data issues. After an hour of debugging, I tracked down the issue to a crucial behavioural tick that was fixed in a later release of JQuery. Updating was pretty painless, and testing on that page and the rest of the site seemed to have given us a touch of a speed up as well. Going from 1.4.2 to the latest patched 1.6 had been a smooth ride.

Memories Come Back to Help You

A small coda to my last blog post. I was at my folks’ house again this weekend, arriving late on Friday evening. No sooner was I in the house than my dad told me to close my eyes and walked me down to the garage. There, standing on its now slightly squiffy legs in the darkness, was my zebra.

It turns out my sister had passed on the blog post to my parents, and my dad (being an incredible softie like me), had gone back to the tip to pick up the zebra. Just so I could say goodbye to it.

Here is me the next day, saying goodbye:

Old Friends Reunited

Parents are great.

Thanks dad.

We Are Made of Memories

I spent the weekend at my parents’ house, helping them to declutter their loft. It’s been sixteen years since we moved into that house, bringing with us the tumble-jumbled collection of our lives. Books by the kilo, Chinese and Thai dinner sets, Burmese bibles, African masks, Iranian carpets and rosewood tables. School reports written about us children, school reports written by us children, barely remembered attitudes to the world around us. Pictures of friends fondly remembered, trips made and Christmasses posed for.

Britain being Britain, the house we moved into was never going to have the floorspace that we had in Asia, and over the years sofas and carpets were sold and replaced, pictures faded, and books dispersed to the wider family, schools and charity shops. Some things ended up in the loft. Camping gear, not as frequently nor as harshly used as in the rainforests, still taken out yearly for festivals, and seasonal decorations making their migration from loft to ground floor during the cold winter months.

The house has never been cold, nor never entirely warm, and my folks are availing of the government’s laudable Green Deal to get the loft lagged. This means for the paltry sum of £15, they’re getting full insulation in the attic including the ventilation for existing lights. That’s not the full cost though; you need to go up and haul down all the squirreled items, and then take down the loft boards.

In my pockets right now are shards of wood left over from levering up the screwed down boards with a yellow crowbar, alongside my crumpled 9th grade school schedule fallen out of a box of schoolwork. I’ve gotten better at saying goodbye to these small items of my former life, although I’m still holding onto this one.

One of the first things taken down on Sunday was the paper mache tiger that had spent the first 10 years of its life in my sister’s room, having been bought from a roadside shop on Sathorn Road in Bangkok next to my dad’s office. He also brought me a zebra, a companion from another continent for the tiger, and of similar size: shoulder high to my 6 year old self, and as long as him lying down. My sister no longer wants the tiger, and so it ends up in the car, and then to the tip. My dad comes back chuckling, and with a picture. The jovial guys at the council tip have taken the tiger to the top of a hill, in the snow, where it is attacking: my zebra.

I didn’t know he had gone.

My companion for so many evenings, wearing a chinese hat stuffed full of collected pins, from birthday cards, jam jars and conferences. Quietly helping me through the transition to Malaysia and then England, smiling and proudly wearing lanyards from 10 Mean Fiddler weekend festivals and other gigs as I grew into a man. Just gone. I didn’t get to say goodbye and thank you.

It’s a silly feeling really – and the picture is great. It’s funny, a large tiger and zebra on top of a hill in the snow, duking it out. And for me it’s joyful. Those animals, carefully made by a Thai craftsperson over 20 years ago will end their lives as they started them: together. And they might even bring some more joy and happiness to the lives of others as they go to the tip, before being slushed down to paper for recycling. But as a person, I am made of memories. And because we have so many memories, the objects that help us hold onto the memories are part of us too. I’m a little sad.

Goodbye good friend, and ขอบคุณมากครับ.

Updating the Old Rails App - Part 2: Ruby

Previously

At work we have an old internal Rails application that was in need of some love. As I noted in that previous post, the Ruby version that is running through Passenger for this project is 1.8.6, which was end-of-lifed long ago, and I decided to update it one minor revision to 1.8.7. Although this version will soon hit its own end of life, it is largely backwards compatible with 1.8.6. To whit: A quick search around StackOverflow led to this question, which links to a list of incompatibilities between the two. Ah, documented differences! I wonder if anything else will show…

Updating the Old Rails App - Part 1: There’s Some Old Dependencies in Here

Of late, work has been super busy. This is traditional for us; for our bigger customers with e-commerce sites, we have big changes locked down by mid-September, leaving the build up to Christmas for them as one of minor tweaks and changes, dealing with last minute small change requests, development for the new year and occasional capacity issues. Our smaller clients, especially those that aren’t selling directly through the web, then pile up requests to get things done before they break for the year end.

However, January and February tend to be slightly quieter times, with the lull of Christmas leaning over to the constraints of budget until the new financial year. And that tends to leave us a period of time to work on our internal apps and products. Recently, I’ve been looking at one we use it everyday as it fulfils some important internal functions, that are currently in a state of change, so we’re doing a good chunk of development on it. This has caused me to have a closer peek at the software stack that underlies it. It’s old, and not externally facing, which gives me an excellent opportunity to work on that tricky being: seamlessly updating a regularly used application.

This is the first in a series of posts about it – I need to learn what I’ve done right?

A Scout Is…

A week ago and a half ago, I came back from a trip to the States. It’s been close to ten years since I was last there, and a few friends have moved over to various coasts in the meantime so it was great to catch up. Since I was in the country, it was also a good opportunity to finish something I’d started a month earlier.

Eagle Scout Resignation

Some back story: The Boys Scouts of America (BSA) is the organisation that represents the oldest Scouting group for boys in the United States, and seeing as my first ten years of education were at an American curriculum school, it was the BSA that set out the Scouting I did in Malaysia and Thailand.

After many years of camping out, tying knots, learning swimming survival techniques from Navy S.E.A.Ls and working within the community, I was incredibly fortunate to be able to achieve the pinnacle of youth scouting: in January of 1997, I was made an Eagle Scout. I could not have gotten there alone, and it was only with the aid of other Scouts, Scout Leaders and my family that I crossed the line the day before we moved ‘back home’ from Asia to the UK. It was a long path to get there, involving a rounded selection of Merit Badges (physical ones like swimming, survival and first aid, citizenship ones as in the community and of the world and many others), demonstrable leadership over time and importantly arranging and completing a project for the community.

In my case, the Catholic church in Kuala Lumpur has a home for women who were orphaned with physical or mental handicaps. A previous Eagle project had transformed an internal courtyard into a garden, and during that work I had seen their shared social living room. It was fine, but could have done with some TLC, and there were certainly other improvements we could make given funding. So in consultation with the Sister in charge, I asked for donations of paint and cleaned out the aquarium and found new seats and we redecorated the place. The best part of that experience was spending time with the women who lived in the home, and seeing them smile regularly of a weekend. Completing this was one of the proudest moments of my life.

I am incredibly proud to be an Eagle Scout. I have put it on my CV since before leaving school because it means so much to me, even though it doesn’t count for anything like as much here in the UK as it would the the States.

So I was ashamed and surprised to discover in late June that an internal committee of the BSA had reviewed the Scouting group’s opposition to openly gay members and leaders and voted to maintain the status quo. I wasn’t even aware that the organisation had had such a stance, but the fact that they had an opportunity to reverse it and chose not to stood against what I understood Scouting to be about.

Out in Malaysia we were certainly more cut off from the BSA, but the handbook and other materials from them had always encouraged equality and inclusivity (if you exclude the Boy/Girl dichotomy). This is the same group that in the 60s had advocated for black families and members to have equal status, a stance they continued to hold, although they backed off outright advocacy of this issue in Southern states.

Given all of this, and despite my current lack of active leadership within the BSA, I felt as a lifetime member of the National Eagle Scout Association that I had to speak out. We Eagle Scouts are valued as important graduates of the program, future leaders of our community and a great resource and role model for younger Scouts. After short consideration, and a good deal of emotion, I wrote my first letter in 10 years and handed in my badge and lifetime membership. As we had a trip to the US planned anyway and a Scout is pragmatic as well as morally straight, I posted the badge back to Texas from a post office in Oakland, CA.

There’s a copy of the letter below, and I’ve also passed a copy on to Eagle Badges on Tumblr. If you’re interested in Scouting, and feel like you want to make a difference, you could head along to Scouting for All, who have been beating the drum for equality in the BSA for years. In addition, if you’re thinking of getting your kid involved with scouting in the US now, there are ways to go about it. One is Campfire USA, and another is to check the position of your local Council. Although it doesn’t change the message coming out of Irving, the Northern Star Council in Minnesota is reported to have a sane, inclusive policy towards its membership and there are local troops that do the same.

A Once and Former Eagle Scout

Dear Bob Mazzuca, Wayne Brock, and the National Executive Board of the Boy Scouts of America:

This is the hardest letter I remember having to write. Fifteen years ago, I stood in front of an audience of peers, family, community leaders and the orphaned, physically disabled women that I had helped, and proudly received my Eagle Scout award. You know that we Eagle Scouts hardly ever wear our physical awards in regular life, and as a British citizen now living in the UK, I have even less opportunity to do so. However the lessons we learned and continue to learn throughout the course of our path to Eagle stay with us. I have even continued to put Eagle Scout on my resume here, although the award carries far less weight.

It was with a good deal of surprise that I had read that the BSA had decided to continue with its policy of excluding homosexuals from the organisation. The surprise was two-fold: first, that there was such a policy to begin with, and second that an organisation that prides itself on independence and inclusiveness would have decided to continue with such a policy.

Scouting has given me so much in my life. When my family moved to Thailand, I worked my way up through the Cub Scout movement, enjoying Pinewood Derbys with my dad and watching my friends and their dads celebrate their (in some cases air tunnel tested) derbies rocket down the slope. As a Webelos, we went camping in the heart of the country, eating s’mores made with graham crackers from the American commissary. When, 5 years later, we moved to Malaysia, some of those friendships travelled with me. As a Boy Scout, camping in primary rainforest and going from a wet behind the ears kid to Assistant Patrol Leader then upwards to Senior Patrol Leader, I learned about leadership, and about how to do right by and with people that come from different backgrounds. My troop, 1-818, has a proud history of getting a huge proportion of Scouts through to the Eagle Award, far in excess of the national 1% average. Being based in an American International School, we had Scouts from the Netherlands, the UK, Malaysia, Australia, and the US with a hugely differing variety of backgrounds, cultures, races and religions. I learned so much from all of those Scouts, and continued to do so right up until the time we left the country (the day after I earned my Eagle Scout award).

I would be remiss not to mention all I learned from parents, Scout Leaders and community members: survival skills, sailing, knot tying, climbing, citizenship, finance, engineering, amongst a host of other skills. If I had been denied some of that knowledge because one or more of those teachers and leaders was homosexual, my experience as a Scout would have been far poorer. Likewise, the numbers on homosexuality in the population is such that it would be surprising if some of my friends and fellow Troop members did not now identify as gay. I would be the poorer for not having them around, as would the Scouting community as a whole.

A scout is mentally awake, but I had clearly fallen short in not recognizing the existing policy on homosexuality within the BSA. A scout is also morally straight, and so I cannot in good conscience continue to be associated with the organisation that gave me friends and courage and a strong outlook on what is right and wrong. It would be impossible to unmake me an Eagle Scout – I am what I am because of the values and memories that I learned on the trail to Eagle. I hereby return the Eagle Scout badge that I and my family worked so hard towards. Also enclosed is my lifetime NESA membership card. The BSA is on the wrong side of this issue.

Yours,

James Allan Bell
ex-Eagle Scout Troop 1-818
ex-Order of the Arrow Vigil Member

London Ruby Dojo: Week 2 - Miscounting

A Dojo – Learning Through Doing

On a snowy Thursday evening last week, I attended my first Coding Dojo at the offices of Sidekick Studios on Old Street. A coding dojo is a geekly gathering, coders of all abilities and backgrounds gathering together around a set of small problems (and usually lit by laptops), with the intention of pushing the boundries of what you know.

London Dojos

The London Python community has had a well regarded Coding Dojo on the first Thursday of every month for a while now, carefully nurtured by a top gentleman by the name of @ntoll. I met him at a hack day last year, where he and a friend explained the concept to me. Just over a month ago, that same friend had changed jobs, and was using Ruby in anger for the first time. He was eager to setup a Ruby Dojo for a) fun and b) to try and learn as much as he could.

Ruby Dojo

Since he’s a doing kinda guy, and his new company are into social good and like setting such things up, they went and set it up. The first thing I’ll say is that the DoJunior part isn’t in place yet. It’s a great approach to teaching and learning, and I’m interested in what will happen when it gets off the ground. The second thing I’ll say is that when you’re standing around a ping pong table, in an office decorated like a wooden playhouse from a 50’s American children’s show, and you only know the guy who is busy letting people in to the office, the easiest way to introduce yourself to people is to just butt into conversations.

“Hi, do you mind if I interrupt your conversation? Yeah? Too late now though isn’t it?”

Incidentally, if you want to run your own you might want to read the sage words of @ntoll, whom I mentioned during the intro.