Soft Circuit Gift Guide

Friends have asked me for a wish-list / getting started type post on soft circuits and the LilyPad Arduino.  I’ve been a slacker about getting this posted (folks asked before the holiday season last year), but hopefully it’s not too late for this year – Sparkfun has speedy shipping, and Toronto-local friends can check out Creatron, who will also do phone orders.  Tell them you’re a friend of HackLab 🙂

This isn’t exactly a shopping list, but I’ve tried to lay out the supplies that one needs to get going.  To save me a bit of time, when there are multiple options I’m only going to link the one I recommend.  The others can be found by poking around Sparkfun.

  • Either of:
    • LilyPad Arduino and one power supply – coin cell, AAA, or the LilyPad LiPower.  If you’re just getting started, I’d recommend the AAA one.
    • LilyPad Mini and Li-Poly battery. (better for simple projects, the Mini has fewer pin-pads.)
  • Alligator clips for prototyping – the ones Sparkfun has are very expensive; your local hardware store should have cheaper ones, as does Creatron.  Conductive thread for the final sewn circuit – I linked to the 4-ply thread which I prefer, but there is 2-ply as well.  Medium-sized sewing needles, and plan on breaking a few.
  • Clear nail polish for sealing off ends of thread.
  • Programming cable.
  • A bit of folded-over duct tape or felt to make a LilyPad coaster.
  • one or more inputs: there are a wide variety of sensors available. Accelerometers are pretty nifty for controlling your project through movement; light and temperature sensors can be used to make clothing react to the ambient environment.  Switches and buttons let you turn features on and off or cycle through programs.
  • one or more outputs: buzzers make sounds; LEDs, in either single colours or RGB, light up your project; vibe boards give you haptic (physical) output.

If you’re feeling ambitious, the LilyPad XBee allows for cool wireless hijinx, and the Bluetooth Mate when combined with the open source Amarino Toolkit allows your wearable creation to talk to your Android phone or device. Another fun thing to play around with is conductive fabric, which can be used for all sorts of neat things such as capacitive-screen-compatible glove and mitten fingers, and soft buttons.  For the latter, you just make a felt gasket/O-ring and sew a piece of conductive fabric to each side.  The connection is made when you touch the two pieces of fabric together through the gasket.

Leah Buechley’s LilyPad intro is a good place to start.  If you get stuck, google for the error message; if you’re still stuck after that, feel free to ping me for help.

Opting out from naked scanning – Canadian edition

Short version of this post: you have the right to opt for a physical pat-down instead of scanning in Canadian airports.  Here’s the PDF you need to print out in case CATSA gives you a hard time about this.

Last February, on my way to PyCon in Atlanta, I had the displeasure of being bullied into going through one of the new naked scanners at Pearson International Airport.  I’ve filed a complaint with CATSA about this incident, as the screener should have given me correct information when I asked if I had the right to opt out.

Yesterday, I contacted CATSA’s media office in Ottawa and spoke with a fellow named Mathieu Larocque.  I asked where the specific policy was regarding opting out of the millimeter wave scanning.  He said that it was indeed the policy that one could opt for a physical search, and  pointed me at the same PDF flyer that Peter had pointed me at last week on Twitter.  As far as I’ve been able to tell, the language in that flyer about the scanners being an alternative to a physical search appears to be the only policy information on the entire CATSA website indicating that one can opt out.  Mathieu himself seemed surprised that there wasn’t an item in the FAQ to that effect.  If you’d like to see their policy clarified on the website, please leave a comment via their form.

The machines in use in Canada are ProVision Advanced Imaging Technology millimeter wave scanners.  As I understand it, these are different from the backscatter scanners being deployed in the US.  I looked over the product documentation and it indicates that recording or immediately deleting images is a customizable option.  When I brought this up with Mathieu, he said that he wasn’t sure of the technical details, but explained that there’s some additional piece of hardware which CATSA has not implemented, which is required for storing images.  One assumes it’s some kind of hard drive or flash-based storage setup.  I’m working on filing an Access to Information request to obtain the procurement information around CATSA’s order for these machines to confirm this as well as hopefully obtain more specific information about the implementation details of these machines.

That said – it doesn’t really matter how the storage stuff is implemented.  A malicious agent with a cameraphone will still be able to snap a photo of the screen,

So yes, scanning is here in Canada, and yes, you’re entitled to opt out and have a physical search instead, even if CATSA hasn’t bothered making that very public on their website.  If you opt for a private search, you have the right to ask for the search to be conducted in private, with an agent of the same gender as well as a second (same-gender) agent witnessing.  There are plenty of good reasons to opt out – radiation, religion, privacy, being creeped out by the process, or just not thinking it’s an effective method of doing security, as pointed out by a leading air security expert.

The Privacy Commissioner of Canada has weighed in on this and other issues of travel privacy in a lengthy, informative post, which Mathieu confirmed is an accurate assesment of current CATSA policy.

Thanks to Lisa for pointing me to the Privacy Commision report, and to Peter for pointing me at several of the CATSA links.

Oh, and if you’re thinking of commenting?  Please don’t post stuff about US TSA policy, it’s offtopic, and I’ve seen it already, trust me.  More importantly, I really don’t want to hear about how you think this is not a big deal, so don’t even bother with comments to that effect 🙂

Double Major

I’m back in school, as you’ve probably already gathered from my microblogging.  I’m finishing up a double major in Computer Science and Equity Studies at the University of Toronto, and if all goes according to plan I’ll be graduating in May 2011.

While this may sound like a strange combination, it makes perfect sense to me – I’m interested in equity issues within the STEM fields, especially computer science.

It turns out the combination of fields come in handy in unexpected ways some times.  After proofreading a paper I wrote for a Women and Gender Studies class for me my friend Valerie suggested that some quantitative data might be useful in supporting one of my assertions.  In my paper I argued that while early feminist scholarship on sexual harassment failed at intersectionality, more recent scholarship has embraced it.  To support this, I wanted to compare the number of citations for Catherine MacKinnon’s Sexual harassment of working women: a case of sex discrimination to Kimberle Crenshaw’s Demarginalizing the Intersection of Race and Sex: A Black Feminist Critique of Feminist Theory and Antiracist Politics.  These are both profoundly influential works, but I wanted to quantify how their relative influence on scholarly work.

So I did what any self-respecting CS student would do – I wrote a script to scrape Google Scholar for citation numbers over time and made a graph comparing the two 🙂

For your edification, here’s scholargraph.pl:

# (c) 2010 Leigh Honeywell
# Licensed under the Simplified BSD License, reuse as you will!

use strict;
use LWP::Simple;
use LWP;

# set up LWP user agent and cookies; pretend to be Firefox 4 just to be cheeky
my $lua = LWP::UserAgent->new(
    keep_alive => 1,
    timeout    => 180,
    agent =>
"Mozilla/5.0 (Windows NT 6.1; rv:2.0b7pre) Gecko/20100921 Firefox/4.0b7pre"
);

# edit in your citation numbers from google scholar and the appropriate
# date ranges for what you're trying to do
my $crenshaw = getCites( "10759548619514288444", "1977", "2010" );
my $mackinnon = getCites( "2195253368518808933", "1977", "2010" );

sub getCites {
   (my $cite, my $startyear, my $endyear) = @_;

    for my $year ($startyear .. $endyear) {

        #construct the query URL using the above data
        my $post =
          $lua->get( "http://scholar.google.com/scholar?cites="
              . $cite
              . "&as_ylo="
              . $year
              . "&as_yhi="
              . $year );

        # scrape the returned page for the number of results
        if ( $post->content =~ m#of (?:about )?(d*)</b># ) {
            print $cite. "," . $year . "," . $1 . "n";
        }
        elsif ( $post->content =~ m#did not match any articles# ) {
            print $cite. "," . $year . ",no resultsn";
        }
        else {
            # some kinda error happened, most likely google caught me!
            print $cite. "," . $year . "errorn";
        }
    # don't kill google's servers
    sleep(5);
    }
return 0;
}

Oh and if you’re curious, Crenshaw’s paper was cited far more than MacKinnon’s, pretty much as soon as it was published. Intersectionality FTW!

And as these things always go, of course I spend the evening working on this only to find that there’s a Perl module as well.

Travel tricks

I have a couple not terribly secret secrets to awesome travel deals.

Drumroll…

Ok, there are only really two:

ITA Software’s “Matrix” flight booking system, and Hotwire combined with betterbidding.com. Here’s how I use them.

Enter the Matrix

ITA Software, a recent Google acquisition, has the most amazing website for pricing out flights.  You can’t buy them on there, but you can spec out a fare and then re-create it on the airline site or your preferred multi-airline aggregator (Kayak, Travelocity, Orbitz, Expedia, etc.).

They have two versions of their site: the original and Matrix 2.  I had been using the original site up til now – for simple fare constructions, it’s quick.  I was looking for flights with a somewhat complex set of requirements this evening and had another look at the Matrix2 site and it’s improved a lot since I last tried it.  Any day after next Wednesday, 3 or 4 nights stay, one city to any of 3 different cities?  No problem.  I’m blown away.  And that’s not even looking at open jaw or multi-hop flights.

Crashspace

Leigh’s lazy way to get awesome hotel rooms without guessing much or waiting:  it’s pretty simple.  Shop on hotwire.com (link uses the betterbidding affiliate code), and use the hotel lists on betterbidding.com to check which hotel you’re getting into.  I prefer Hotwire to Priceline because it’s quicker (even if they don’t have William Shatner as a spokesperson!).  And it reminds me of dodgy ancient filesharing networks.  But anyway… One trick I saw on one of the forums: vary whether you add kids or not to the booking and you’ll get a different selection of hotels.

One more thing…

Airline miles and loyalty programs can be pretty awesome.  Air Canada currently has the lowest Star Alliance Gold redemption level in the Star Alliance system at 35,000 miles.  This gets you lounge access for a whole year.  Sweet, but also potentially money- and hassle-saving as there is free food 🙂

I haven’t really optimized my dealings with non-Star Alliance airlines yet, but the other two main airline networks are Skyteam (Delta, Alaskan, KLM…) and Oneworld (American, British, Quantas…)

Good resources on these topics are flyertalk and for the Canucks, canflyer and Red Flag Deals.

On software patents

From Robert O’Callahan, via Brenda, one of the most insightful things I’ve ever read on the subject of software patents:

In software, especially cutting-edge software like Firefox, every developer is an inventor; coming up with new ways of doing things is not exceptional, it’s what our developers do every single day. Invention created at such a rate does not deserve or benefit from years of monopoly protection. Indeed, it will be crippled if we are forced to play the patent system “to the hilt”, to acquire vast numbers of our own software patents and to navigate the minefield of other people’s patents.

This echoes my instinctual feelings about software patents – where do you even start?  So much innovation happens so constantly in software development (ok, and so much reinvention of various wheels not invented here, but that’s another story…) that the patent system as is just doesn’t make sense.

Magnetic fingernails

Background

A few weeks ago I went and got my nails done to try to rid myself of a life-long habit of biting my nails.  Some time later, I realized that the goop they put on my nails would be plenty to hold a small magnet and give me a sixth sense, as several others have done via subdermal magnetic implants.

ObDisclaimer before I go into the technical details: consult with a doctor/lawyer before doing this.  Consider carrying some kind of documentation (and a nail file) in case you have a medical emergency and need to be stuck in an MRI.  You may break things / lose data / get contact dermatitis from nail goo / kill kittens with your new magnet superpowers.  Don’t blame me :p

The basics of nail enhancements (the industry term; they are better known as fake nails 🙂 ) are as follows: your natural nails get filed down, and acrylic or gel is applied in a multi-stage process.  With gel, the nails need less filing, and each layer gets cured under a UV light.  If the technician uses a combination of powder and liquid, you’re getting acrylics.  Even if there’s a UV light involved – powder means acrylics.  Some crappy salons will just put a UV topcoat on and call it “gel” – be warned.  Also, many nail techs are used to working with biters, so even if you have sad stubby nails, don’t despair – they have a whole bag of tricks involving plastic forms, more substantial gel, etc. to make your fingertips looks unbitten.

Implementation

Pablos, [redacted] and I had our magnetic manicures done by Aiden at the Gene Juarez salon in downtown Seattle. You can reach them at 206.326.6000, and ask for her specifically.  She did a fantastic job and didn’t even blink at our weird request.  Expect to spend just under $100 with tip – it’s a fancy salon.  Bring your own magnets – we used the ones Nate recommended, tiny parylene-encases magnetic stirrers from here.  They are a buck a piece and come in a minimum quantity of 100, so find some friends who want to do this too.  Pablos’ and [redacted]’s are clear gel with white tips; mine are all clear gel, with pink polish over top, because I like pink.  One of the benefits of the gel we used – as acetone doesn’t dissolve it, I can take the polish off and change it.  It was fairly thick, with a noticeable bump, seen here in profile.  The gel is lightweight though, and overall my nails feel less heavy than when I had acrylics (with no magnets) on.  The magnets in mine are visible through two layers of polish; I expect another layer or a darker colour would address that, if you care.

During Saturday evening’s [redacted], a bunch of folks also had them stuck on with acrylics, using one of the cheap kits (made by Kiss Nails, I think)  one can get at the local pharmacy / big box / beauty supply etc.  Clamoring and Willow from Jigsaw Renaissance lead the way on that part of the project.

Results

I can feel ferrous materials strongly and easily with the backs of my fingers.  It’s a very gentle pull, and is totally fascinating.  I can’t feel much of anything through the pads of my fingers.  I feel a very light buzz near things with strong magnetic fields, but it’s really subtle to the point where I’m not yet convinced it’s real – I expect I’ll get more attuned to it in the next little bit.  For now it just tickles.zomg magnetfingers

I can pick up pretty substantial objects, like the magnet from inside an old hard drive.  I’m bad with weights but it’s probably 50 grams.

Aiden was a pro at getting the polarities all lined up, but you’ll want to think about how to arrange them.  Fingers sticking together or repelling?  I went with sticking together.  Hours of entertainment, I tell you.

So far I haven’t managed to erase any credit cards or hard drives with them, and I’ve been told by others that these magnets just don’t have enough power to do either.

Oh and as for nailbiting – while I haven’t gone back to natural nails yet, the enhancements I’ve tried – gels without magnets, acrylics without magnets, and now gels with magnets – have all made my fingers completely incompatible with my teeth.  I simply have no desire to bite on them due to the foreign texture, and the general neatness of the nails.  I don’t know for sure that I’ve broken the habit, but it seems to be a damn effective temporary measure.

After-care

Nails with enhancements need to be “filled” about every 2-3 weeks as they grow out from the cuticle, and breaks need to be fixed promptly or they will get worse and you may end up in pain.  You’ll pay about 1/2 to 2/3 the cost to have a fill done compared to the original work, and a few bucks per nail if they break.  I do not yet know how these will grow out.  I expect to be filing them down until the magnet is a half millimetre from the “free edge” (outward edge), then letting them grow out a bit so I can clip the magnets off.  I’ll probably have a fill done right at week 2, and add a second set of magnets at week 4.  YMMV depending on the size of your fingernails and how fast they grow.

Product reference

Aiden used CND‘s Brisa gel system on us.  If you’re into colours, look for a salon that does Calgel’s coloured gels, or Opi Axxium.  Those come in both file-off and soak-off varieties – the latter soak off with acetone, but are a bit softer from what I’ve read.  CND has a new product called Shellac which is more like a UV cured polish, but which may also be strong enough to retain the magnets.  YMMV; please let me know what works for you!  There are also plenty of products I didn’t list – these are the brands that seemed to have decent reputations on the intertubes and Amazon reviews.

New Ubuntu = awesome!

I just rebooted my work desktop into Karmic Koala, the new release of Ubuntu, my preferred distribution of GNU/Linux.  I don’t have much substantive to say, but the qualitative experience has so far been pretty amazing.

Not only did I get to work all day while the upgrade was downloading, only having to reboot at the very end, but everything worked as I expected when I rebooted – which is to say that the only thing which didn’t work was VMWare, which I expected to not work as with every kernel upgrade.  I might even take this as an opportunity to give Virtualbox a proper try (it was less than amazing last time I did).

Let me make that really clear – I only had about twenty minutes of downtime for the entire upgrade, and it would have been less if the installer had left upgrading Firefox until the end, as that was the only thing which broke (and even then, only partly – no new urls, but clicking through links was fine) while the upgrade was going on.  Try that with Windows 🙂

Things feel just a little snappier, just a little shinier.  I’m really impressed so far.  The new theme and icon set is lovely.

If you’ve been putting off trying out Ubuntu or Linux in general, now’s a great time to start!

Recipe from my Mum

My Mum is English by ancestry, and has for a number of years been making one of her family’s traditional recipes to go with Thanksgiving and Christmas dinner. I think it’s really yummy, so I asked her if I could share it.  Here it is, mostly verbatim – I just separated out a list of ingredients for easier shopping.

English Bread Sauce

Ingredients

  • 10-15 cloves
  • 1 medium onion
  • 3 cups milk
  • 1 tsp salt
  • 1-2 cups bread crumbs (the ones you can get pre-made at the grocery store work, but bakery ones are better 🙂 )
  • butter

A pot on a stove containing milk and a onion with cloves stuck in the onion
Simmering the milk and cloves
 

Directions

  • Stick the cloves in the onion.
  • Add onion to milk in a saucepan.
  • Simmer for about one hour on low heat, so that milk is infused with the onion-clove flavour. Do not boil.
  • Remove onion and discard.
  • Add salt and about 1 cup bread crumbs, and simmer over low heat.  Again, do not  boil.
  • The crumbs will swell up, and the sauce should have a thick consistency. If it is too runny after simmering for a few minutes, add some more bread crumbs.

Serve with turkey, ideally with more bread crumbs, these ones fried in butter.  About a half cup should be enough – use whatever you have left.