Conference Season

It’s May, and that means it’s the start of Conference season. I’m going to be speaking at OSCON this year, and this will be my third year officially speaking at OSCON, which is cool. I’ll also be attending the following events this year:

  • Google IO: May 15 to 17th – I’ll be hanging out nearby the Android Office Hours and checking out the Glass Sessions.
  • SF MakerFaire 2013: May 18th and 19th – I’ll be attending this and wandering around on Saturday only. After the direction that O’Reilly took last year with having large corporations get more floor space than people like AdaFruit and SparkFun, I’m not going to stay for both days.
  • JSConf 2013: May 29th to 31st – I’ll be attending this conference for the first time. I’ve heard that this conference is good, but I’ve never been able to attend until this year
  • PhoneGap Day 2013: July 19, 2013 – PhoneGap 3.0. I’ll be here.

There’s probably other events that I’ll be attending, but here are the next few coming up. It should be fun times!

Speaking at OSCON 2013

Once again I’m going to be speaking at OSCON in Portland this year. This will be my third time speaking officially, and my fourth year at OSCON. This year, I’m going to be talking about testing Hybrid Android Applications, and going through the basic techniques. Of course, I’ll already be down in Portland for PhoneGap Day 2013 the week before, and I do plan on being in the Portland area sooner.

Of course, as usual, I will be posting this year’s slides online. This will cover things like Selenium, and also how to use something other than selenium to do functional testing of mobile applications on Android. There will probably be a little bit of a refresher about pixels, and yes, I will probably use more icons from the Noun Project because they are truly awesome.

Overall, this should be fun times if everything works out as planned.

New Place, No Cash: Why I (probably) won’t be attending OHM 2013 or Burning Man

The issues with the neighbours and the landlord have recently come to a head.  I’m not going to go too heavy into details, but we’re moving to a newer, much larger place in the next few days.  While the new place is awesome, the rent is double what I am paying now, so my plans for heading off to OHM 2013 are on hold.

OHM2013 is the next in a series of Dutch Hacker Camps such as What The Hack and Hacking At Random.  HAR2009 is the one that I went to, and I remember camping on a hill next to the GSM tent, mixing Maple Syrup with Club Mate and realizing that this is a bad idea, and haggling with Julian Assange over the cost my white Wikileaks T-Shirt.  OHM2013 is a fun time and is similar to the Chaos Communications Camp and Toorcamp in the US.

The big downside of OHM2013 is that it is located in the Netherlands, which is expensive to go to.  Unlike Toorcamp, where I was able to just hop in my car, drive across the border and take a ferry, OHM is going to require plain, train and probably a strange car to get into, and will require some European Backpacking, which gets expensive very quickly.  Unlike in Germany, where things are relatively inexpensive, the only thing that seems cheap in the Netherlands is the 3G Data Plans (no showing a passport, and only 50 EUR for unilmited!)

I also won’t be going to Burning Man, mostly because it’s too expensive to rent an RV to head to Burning Man, and my lease expires in September, and I need to be back in town for that in case I have to move again.

The good news is that it frees up my vacation time.  So, I have to decide what to do with this vacation time.  It’s pretty clear that the vacation will probably have these constraints:

  • Camping > Hotel – Camping is cheaper and more fun than staying at a hotel.  I stay at hotels enough for work, so staying at a hotel isn’t a huge vacation.  Hotels are also more expensive.
  • No Flying – I have a kid, and she’s not old enough to go through airport security
  • Kid-Friendly – Most trips should be kid-friendly
  • Be somewhere where I won’t go during the weekend – So, anything on Highway 99 is out, because I will probably do weekend camping trips there

This basically limits me to how far I’m willing to drive.  This also were the constraints of my parents when they went on vacation.  The main difference here is that I’m willing to cross the border with my kid in the car.

So, right now the options are as follows:

  • Yukon trip: Go way up north because we can – This trip does have some serious highlights, such as Liard River Hot Springs, but there’s also a few major downsides to this trip as well, such as 8 hours plus in the car to get from campground to campground.  Of course, since this is the summer, there will be more hours of daylight the further north we go, which is a plus.
  • Drumheller: My kid loves Dinosaurs.  The Royal Tyrell Museum was awesome when I was a kid and it’d be interesting to go there.  The downside is that this would mean booking a hotel in Drumheller while we are there.
  • Kootenay trip: Go through the Kootenays and check out various hot springs, waterfalls and other things.  This is the winner so far, since the distance is the shortest, and there’s lots of camping opportunities
  • Yellowstone: Go through the US to Yellowstone Park.  Traditional US Road Trip, similar to the road trip I did on US 101 last year.  Gas is cheaper in the US, so this may be a real contender as well.

I know that I could just stay home, but that would be boring.  Ideally, I’m looking for a family vacation where I can get the biggest bang for my buck, but also go on an adventure.  The big thing about road trips is that nobody really does this anymore, and you get to find some really weird and interesting things on the highway.  Also, not being bound to a conference or an event schedule like with festivals is a nice touch as well.  I’ll have to narrow it down and figure out when to go, but this should be interesting.

Self-Respect Matters

Yesterday, I had the misfortune of entering a discussion with Asher Wolf right before she quit CryptoParty.  Here’s the backstory that I was operating with when I checked in on something on Twitter.

A few days ago, Asher was tweeting about how she was unable to attend #29c3 because her talk was rejected.  I heard claims that the CCC was sexist, and having known people who are female, feminists, and parents who have talked at past congresses and camps, I knew that this couldn’t be the case unless things went way off the rails.  I posted an open tweet because this just seemed bizzare, and I got some feedback.  I came to the conclusion that there was something else wrong with the submission, and that things were lost in translation and forgot about it.  I’m fiercely loyal to the CCC, since they flew me to Camp back in 2011 and allowed me to talk about the RCMP and State Surveillance, and since they have a history of doing extremely important work.

Then, earlier today, I saw yet another tweet by Asher about CCC being sexist.  She shared a link to the blog, which seems to be documentation of the sexism that happens at CCC.  I feel that this is disingenuous since it just shows that sexism happened.  Even though I’m a white male, I still believe that sexism happens everywhere, and that the world and even the CCC isn’t a vacuum.  The question should be how does the CCC handle the sexism, namely how is the policy enforced.  The CCC has an Anti-Harassment Policy, and this Anti-Harassment Policy can also extend to the web by sending an e-mail to CCC.  This isn’t the be all and end all, but given that people have fought for that Anti-Harassment Policy, it’s important to actually give the conference a fighting chance to enforce this policy to see if it’s not just bullshit, otherwise what is the point of having this policy to begin with.

At any rate, I suggested these solutions, and of course I was then told by Asher that it wasn’t her problem.  I personally believe that it’s everyone’s department to deal with harassment, especially if you’re the party that is offended.  I’m irritated that some of the attendees of #29c3 sunk to the level that DEFCON. However, to just throw mud at the CCC instead of actually sending a e-mail that takes a minute so that the administrators could lock a wiki article is stupid.  If they do nothing, than by all means.

Of course, since I didn’t know the massive backstory about how shitty the CryptoParty organizers were to Asher, and how bullying and bullshit were what really caused Asher to not make it to #29c3, not the strength of the presentation.  The thing is that if I knew this earlier, I wouldn’t have called Asher petty for what I thought was just someone smearing the CCC because their talk wasn’t accepted.  It’s very easy for something to sound like sour grapes without knowing all of the facts, and I apologize for calling that out when that wasn’t the case.  However, I still stand behind my statement that harassment should be reported.

Now, as for my thoughts on Asher Wolf leaving Cryptoparty, I think it’s a good thing.  The reason I believe it’s a good thing is because it’s a wake up call as to who is being served by having these CryptoParties.  I’ve been at two CryptoParties so far, and it so often feels like preaching to the converted.  I don’t like teaching GPG/PGP because it sucks and is hard for people to use, and often the talks diverge to non-practical solutions, such as BitCoin.

My main motivation to host CryptoParty comes from the what got me spied on by the RCMP, which is teaching activists cryptographic tools to allow them to resist the state.  These activists recently do things like participate in #IdleNoMore, fight the Enbridge Pipeline, or engage in other actions that directly confront the state.  However, I personally don’t think that I’ve helped anyone in these causes by sitting in the Vancouver Hack Space and talking about Wikileaks or Anonymous or BitCoin.  The fact is that there are real people on the ground who need these tools, and they don’t have them, and based on this, I consider CryptoParty a failed model for these people to get these tools, because they have to want to go to CryptoParty and have to deal with people who care more about Silk Road than about what happens when the cops come knocking on the door.  I may be wrong and the next CryptoParty may be better, but so far from my experience this isn’t the case.

But the reason I think it’s good that Asher is leaving is that she’s finally standing up to all the bullies.  While I disagree with her being in control of something decentralized, I still think that it’s shitty that she was bullied out of going to #29c3 by people who helped write a talk and that people don’t think that she is qualified to talk about CryptoParty, since they seemed to have missed the point as to what CryptoParty was supposed to be about in the first place.  I just wish I knew who more of these people were, but I can understand the reluctance to name names.

tldr; everyone needs to step up and say that this behaviour isn’t acceptable.  We’re  adults, and we should all act like it.

Makerbot: Open Source or Closed, don’t insult your customers

There’s been a lot of noise and drama surrounding the release of the MakerBot Replicator 2.  I honestly think that the Replicator 2 will be a success regardless of whether it’s Open Source or not, and I think that many people who don’t give a shit about Open Source but want an affordable printer with affordable printable material will buy this.  Hell, I was going to buy this thing.  I’ve wanted a 3D printer of my own for a while, but the problem is that RepRaps and Makerbots had a ton of problems, and while I helped with the build for the Thing-O-Matic at VHS, I honestly didn’t use the 3D printer much.  The main reason was the fact that I couldn’t find modelling software that I liked, and I didn’t trust Skeinforge when it said that 1 cm was really 1 cm.

There’s also the fact that the 3D printer had a ton of problems.  Bearings would keep falling off, and it pretty much always required repair.  The fact that you couldn’t leave the Makerbot unattended was the dealbreaker for building anything complex.

So, while I’m sure the RepRap Prusa is a much better machine than the Thing-O-Matic, I decided that 3D Printing wasn’t my thing.  Then I saw the Replicator 2, and I thought that it would be cool to pick up.  I didn’t initially care that it wasn’t open source.  However, I did care when I saw this blog post, and this in particular:

To those who are saying we are illegally hijacking open source or building something on “the backs of others,” we are not abandoning the RepRap community. In fact we believe everyone involved should be very proud of what we (the community) and Makerbot have accomplished. Now MakerBot is growing up.

Seriously, as someone who makes a living on Open Source software which is an Open Source Basis for a Proprietary Product, I take offense to the concept that Open Source is for children.  If being entirely proprietary is being “grown up” then I don’t ever want to grow up.  I like the fact that I work on Open Source every day, and I don’t mind that my employer uses it in a proprietary product.  What I don’t like is to have someone think they’re better than me because they make a proprietary product, which is exactly why I won’t give Bre and Co any money.  It’s a shame, because I really like this Replicator 2 product and it does fit my needs, but I would rather not buy from a company which appears to have contempt for its own community.

Burning Man Failures

Last week, I spent approximately three and a half days down in Burning Man with my wife. There were fun parts, such as chilling in Summer Lake Hot Springs pre-burn, and rolling around in an Art Car, but there were also some serious problems, some problems so serious that we had to leave the playa on Thursday morning, which seriously put a damper on the vacation.  This post is to talk about those failures as a cautionary tale to anyone who is going to Burning Man so they don’t make the same n00b mistakes.


The Black Rock Desert is at an elevation of 3907 ft.  I grew up at an elevation of about 2000 ft, but I currently live at Sea Level.  My wife, who I will refer to as E, however, has only lived at Sea Level.  The first day we went to some camps which offered free alcohol.  The elevation change caused us both to get drunker than we normally would, and to get more dehydrated.  Since I grew up at a higher elevation, all this meant was to drink more water and to get through it.  However, E ended up getting a severe case of dehydration and ended up at Rampart, the medical tent at Burning Man, and got two bags of saline solution delivered to her by IV.  We were also told the importance of electrolites, which I clearly underestimated.


At the end of Tuesday, I noticed that I was getting numerous blisters and callouses.  This was obviously from my shoes which were going to be replaced after Burning Man.  I kept my feet clean the best way I knew how, which was to use Baby Wipes each morning, and to wear fresh socks that were thick enough to keep most of the playa away from my feet.  E did the same thing, but her sneakers got super hard and created a nasty blister that severely reduced her mobility.  I tried bandaging it up, but it looked infected, so we decided to make another trip to Rampart.  There, they re-bandaged it and gave us anti-bacterial wipes.

Stomach Bug and Exodus

Late Wednesday, E and I walked from Center Camp to a friend’s camp, and E noticed that she had a stomach bug.  I will spare you most of the details, but this resulted in a visit to the 9:00 Medical Tent, and after that another trip to Rampart.  This time it was determined that E had a stomach flu which caused an extreme loss of fluids.  Rampart asked if she had access to a real toilet, which she said no, since we were tenting and didn’t know anyone who would let us violate their toilets, and that’s when we decided to call it and to leave the playa.  After another three saline bags, we packed up the car and headed back to the border, missing the CORE Burn, Burn Wall Street Burn and the Man Burn.  (We already planned to skip the Temple Burn).

Lessons Learned

It’s super tempting to say that E should never be on the playa, but I think that this is probably more of a failure of seriously reading and understanding the Burning Man Survival Guide on both our parts for most of it.  It also states the importants of having a camper trailer or an RV over doing a tent.  It’s in theory possible to tent at Burning Man, my first burn done with a simple MEC Explorer 2 tent, which is very similar to the Tarn.  That being said, it’s nice to not have to share a toilet with the rest of the attendees.  I don’t think I will be heading back to Burning Man without the following:

  • Giant Cans of Gatorade Powdered Mix
  • Leather Shoes with less mesh so less playa dust gets in
  • Bicycles
  • An RV or a Camper Trailer that has its own bathroom

The big downside of all this is that my current residence doesn’t have parking for a trailer, so I’m going to have to look at RV rental for the next burn, which is kinda irritating.  I used to think that RVs are cheating, but after this burn, having your own toilet is kinda required.

Key Event issues with Android Devices

Occasionally people try and do interesting things with the Android Platform, and sometimes they work out well, and sometimes they work out poorly.  An example of this is the Sony Xperia Play, and another example is the failing Google TV platform.  Both of which have really weird keys in their UI that need to be supported, but don’t lend themselves well to regular development.

The main issue with Android and the KeyEvent is that the KeyCode mapping is entirely arbitrary and does not correspond to JavaScript key mapping.  For example, 0 corresponds to 7 on Android, but is 48 in Javascript.  This would normally be consumed by the WebView and web developers working on PhoneGap applications would normally not have to worry about this issue.  However, there’s issues such as the keys not being consumed, such as the UP, DOWN, LEFT and RIGHT events on Google TV.  In this case, users would have to use hacky Java work-arounds to fire custom events, which may or may not work properly on Android.

Of course, we don’t have a good answer to this yet.  One is to keep a mapping between JS and the Android keys, and another is to fire a custom event for these custom keys, since they only exist on Android.  We’re still discussing this now on the Cordova list, and I’m not sure what the right answer is because they have their pros and cons.  I am definitely on the custom event, since you should really only be using these platform-specific keys on that platform.

Update on Projects

I haven’t been posting here nearly as much as I should have been.  I’ve been slacking a bit on the writing part, mostly because I’m getting ready to make stuff.  I’m hoping to be able to get a vehicle shortly so that my summer plans can come to fruition, and to get my Vancouver Mini Maker Faire project to happen.

I’m also doing some messing around with some code, as well as Arduino, ELWire, RGB LEDs and other things, but nothing that’s become super solid as of yet.  It’s amazing how non-productive one becomes when they have a toddler running around threatening to destroy everything.  At any rate, I haven’t forgotten about this blog, and there will be more information up soon.

Pet Peeve: Private E-mails about Open Source questions

This happens a lot. When I first started trying to contribute to an OpenSource project years ago, what I would do on IRC is message the main developer. Then the main developer would say “Why is this conversation private?”, then it would move into the channel. This makes sense. The same thing is true for e-mail. I often get e-mails about the project from someone who is working on something, and they’ll have an opinion. Sometimes the opinion is one that I agree with, but most of the time it’s one that I don’t.

Now, since someone e-mailed me personally about a question regarding what I’m doing on an open source project, I’m more than happy to ignore them, and to not fix their problem because I work for either myself or my employer on the project, not for them. Decisions made in private on a project are ones that I won’t easily entertain unless it benefits me. Now, if they were to actually post to the list their problem, while I may disagree with what they want, the other contributors may not, and there may be some other committer who is willing to champion their change, and I may be convinced. I will also have to respond to it because there are other people watching the list keeping me honest. Finally, it allows for more project transparency, and doesn’t come off as insulting or rude when I check my inbox first thing in the morning.

So, please, if you have a question about code that I’m working on for an Open Source project, PLEASE post it to the public mailing list. That way, it’s less likely to be ignored, and you sound like less of a jerk. I think this is an importnat piece of netiquette that is too often overlooked.

Resurrecting the old blog

This blog was created initially because I was told at Nitobi that the old Nitobi work blog had to be moved to another host. I had this old hosting account that I wasn’t using so I decided to park the blog here. However, as I progressed with my more serious writing projects at and, which deal with the Canadian surveillance state, a quirky and underestimated system, I didn’t have a place to write about hardware hacks, annoyances with bug tracking systems, or actually anything that didn’t fall into the category of how the state is going to get you, so I’m bringing this back up.

This blog will talk about Arduino, Android, Javascript, and other things that are interesting. It’ll be full of rants about technology, parenting and other crap that interests me outside of the big scary surveillance state, because I’m getting tired of blogging about the depressing surveillance state, and I need to write about something else for a bit, or at least document some hacks better.

Also, I cleared out the spam. This was just getting downright nasty!