Thomas

Early Thursday morning our sweet Thomas died. He was twenty-one years old.

For the last day or so he'd been wheezing a little bit, and at about three in the morning he was making so much noise with every breath that he woke us both. He was curled up on the foot of the bed, his head bobbing up and down and his abdomen sucking in with with the effort of every breath. There was a puddle of urine on the floor; he had been too weak to go down to the basement, but was still sweet and well-mannered enough to get off the bed to pee.

I realized he would have to go to the vet right away, and I was pretty sure this was it for him. Blake woke up the girls to say goodbye while I got dressed and called a cab.

The receptionist at the vet called the triage nurse who took Thomas into the back straight away. I was asked to wait in a examining room. After a few minutes the vet came out -- she was short, pretty, youngish, a little plump, with a pierced lip.

She said Thomas had fluid around his lungs --- pleural effusion. It might be caused by heart disease, a tumour, or it might be idiopathic --- caused by nothing in particular. Heart disease, after being confirmed by a cardiologist, could be treated (with an unpredictable degree of success) with medicine. A tumour could only be treated with surgery, and the only treatment for idiopathic pleural effusion would be to drain it, keep Thomas in the clinic for twelve hours, and see how long the fluid took to come back.

Surgery was out of the question, and I didn't see much point in putting Thomas on yet more medicine. Draining and waiting would be torture. I asked for a minute to talk to Blake on the phone, and we decided it was time.

The vet agreed that this was a sensible course of action, and the nurses brought Thomas into the little examining room and gave me a few minutes to say goodbye. They brought a tank of oxygen so he wouldn't have to work so hard to breathe, which was wonderful except it made him seem like his old self again; he was breathing so easily, I didn't know if we had made the right choice. It wasn't until he had his face away from the oxygen for a few minutes that he started to wheeze again and I remembered how miserable he'd been.

I gave him lots of scratches, and whispered to him what a good cat he was, what a handsome boy, how much we loved him and how much we would miss him. At first he lay there, but soon he half-stood and start to nose around the examining table. The vet had put in an IV line in his left foreleg, taped with blue tape, and he shook his leg in irritation. I kept wanting to say "It's okay, it will be off soon," but I couldn't. He gently head-butted me one, two, three times. He was never very affectionate, but the awkward head-butt was his quiet way of showing love.

Finally, after a lot of tears, the vet came in and talked a little bit about what would happen. She let me stroke Thomas as she injected the drugs. He didn't die as quickly as Mimi had -- she was gone before the syringe was half-empty, but Thomas took a little longer. Not much, though; within seconds his head came to rest chin-down on the table and he was still. His eyes were open but empty, like the eyes of an Egyptian statue. He was still beautiful.

The vet let me have another moment alone with him; I kissed him on the head and told him again that I loved him, then started to go out the door. I was about to close it behind me but changed my mind and went back in for one more stroke, one more kiss, one more look at my beautiful grey boy.

Two Things About Time

I've finally admitted that most of my non-kid-related posts to this blog are about my struggle to use my time wisely, so I created a "time" category. However, I'm not going to move all my old "time" blog posts into it. I just don't have the time.

However, this post is a pleasant change from my usual moaning about not having enough time. I have actually learned two things about time.

Slack

A few years ago I read a review of Tom DeMarco's Slack. I'm not sure what the book is actually about (and I don't want to look it up right now lest I lose track of my thought) but what I took away from the review is that piling your employees with the absolute maximum amount of work they can handle is not effective. People and systems need enough available slack to deal with crises as they arise. (Also people, especially people doing creative work, do some of their best work when they have a chance to be idle, to chat with coworkers, to just think. I'm pretty sure that I learned that since, though.)

At the time I thought the slack theory sounded very credible, mostly because it validated my own work-related misery and exhaustion at the time. (In retrospect that's laughable; I hadn't had kids yet and had no idea what being too busy meant; I was miserable and exhausted at work for other reasons.) But it wasn't until a couple of weeks ago that it occurred to me that the principal of incorporating slack applies to individuals as much as it does to companies. When your everyday life is crammed to the brim, you have no recourse when a family member gets sick, a neighbour adopts a baby or a friend loses a parent; you have to either abandon something important or let someone down.

At the moment my schedule is crammed full; between household maintenance and childcare and child management and choir and school choir and friends and working out and, of course, work, I have no slack. And there's nothing I want to give up.

However, I'm trying to let things fall away and not replace them. I have stuck to my resolution to not take up the eco-committee chair position at school; I have stubbornly refused to take on any other major school volunteer jobs; I have even declined to arrange social events.

My plan, and I think it's rather clever, is to fill my slack time with a space-holder hobby: something worth doing but which I don't mind setting aside if I'm needed for something more important. I have a needlework project which my father started as he was beginning to sink into dementia; he abandoned it when he was moved into the nursing home, and I brought it home with this summer. I want to finish it but I don't mind how long it takes. That will be my time-space-holder. Just as soon as I find some time to hold.


Time Panic

In the October 5 issue of New Scientist Debora MacKenzie reviews three books about pursuing happiness. Part of her review is about how scarcity inspires obsession:

...the brain focuses ferociously on what it feels is lacking. This reflex evolved to help us find what we need. The team's real insight is that it applies to all scarcities, not just of money, but of time and even social contact. We "tunnel" in on the scarcity and ignore anything outside.

All that scarcity messes with how we manage the resource in question.

The future looks less menacing than the scarcity we face now. So we borrow money, then borrow more, disregarding future costs as interest mounts, until we are deeply in debt.

This is exactly what I do when I feel overwhelmed with things to do. Instead of taking the time to figure out how to best spend my time, I panic and either avoid everything or just do the first thing I put my hands on, which is sometimes helpful, and often not. At the end of the day I'm exhausted, anxious, and no further ahead.

Uuh, I'm not sure what the takeaway is from this particular clue, apart from that I need to notice when I'm flailing and take a deep breath. It might seem like I don't have time to take a deep breath, but really I don't have time not to.

Angular JS Directives by Alex Vanston.

I’ve recently been playing a lot of Fez, a 2-D (kinda) platforming/puzzle video game. Many of the puzzles use a series of symbols in squares as a code language. I really liked the way the language looked, and so I decided to write a small single page app in Angular to transliterate English into the Fezish alphabet. The first implementation was written as a filter, and it seemed to work okay, but emitting a bunch of HTML and then forcing the user of the filter to use a sanitizer to get it to render as HTML was kinda strange. That very same day, in an odd twist of fate, I got some email from Packt Publishing asking if I would be interested in featuring their new Angular JS book on my blog. Long story short, I agreed to post a review of it here in exchange for a free copy of the eBook. So on to the review…

The first thing that struck me about Angular JS Directives was the writing. I’ve read a lot of extremely dry technical books which were hard to get through, and I’m happy to say that this is not one of them. I found the writing both engaging and amusing. There are a few times where the author even pokes fun at himself for repeating the same points, which was wonderful to see. The examples were clear to read, and ably demonstrated the points that the accompanying text was making. The overall flow of the book mostly made sense, with simpler concepts leading to more complicated concepts. My only suggestion is that the chapter on Testing could have been introduced sooner, and then used in the rest of the examples to prove things were working the way that the author claimed.

I don’t like to only say positive things about something I’m reviewing, both because I believe that there’s always something that could be done better, and because I don’t want to look like a corporate shill. At least not for $17. ;) So, on to the bad things I’ve run into. It took me a lot longer to read than I would have hoped. This was partially because of a bunch of work stuff taking up all my spare time, but also because after every few pages I wanted to go back and re-write large parts of the projects I’ve done. :) My other concern is that $17 for 87 pages of content might not not be worth it to you. I found the content very useful, and I’ve certainly gotten $17 worth of knowledge out of it, but at my previous job, where I didn’t use any JavaScript much less Angular, it wouldn’t have been money well spent.

Having said all that, after the fourth chapter, I re-wrote the Fezish Filter as a Directive, and the code became far cleaner. And now that I’m done reading the ninth chapter, I think I might spend the rest of this weekend adding some unit and end-to-end tests. So in the end, would I recommend this book? Yes. Yes I would.

(Monday October 14th edit: I’ve also just been informed that Packt is running a Columbus Day sale, and if you use the discount code "COL50" in the next four days, you’ll get 50% off this, and any other eBook or video, so if you’re thinking of buying it, today would be a great day to do so!)

Eight is Great

Today was Cordelia's eight birthday party. Blake's away and Tanya, who usually backs me up at birthday parties, was busy with many things, so I was faced with managing by myself. It didn't take much thought to realize that that wasn't going to go well, so I threw up the bat signal to our babysitter from last year, Emma. Against all odds she was available, so I had a helper.

The party was loosely candy themed (because who doesn't like candy?) so we started by making candy sushi. I wasn't sure how it would go, with the stickiness and general potential for chaos, but everyone managed fine and made pretty credible rolls. And didn't even get incredibly sticky.

Next on the agenda was Pin the Cherry on the Ice Cream. It soon became apparent why no-one plays this game any more, because everyone just used their hands to figure out where the cherry went and it wasn't much of a contest. We made a rule that you could only use one hand, but it still wasn't that challenging. The most fun player was the youngest, who got all silly and giggly and fell over a lot, so Emma and I decide that maybe the peak age for "Pin the X on the Y" is a little younger than eight.

Next up was Pass the Parcel. We added a rule that if you already have a prize and the music stops when you have the parcel, you can decide whether to keep what you have, or pass it on to the next person who doesn't have a prize and open the next layer of the parcel. It was a pretty good solution to the problem of matching n prizes to n kids, but of course some of the prizes became inexplicably more valued than others, and there was fighting and unsuccessful attempts at trading. It was quite acrimonious and also rather annoying.

The last planned activity was Cordelia's idea: a few rousing rounds of Murder Handshake. It was okay, but the littlest kids didn't really manage the part where you have to shake two more people's hands; they would just collapse straight away. And when Otis was murderer he shook hands with such vigor that it was pretty clear what he was up to. So it seems the best age for Murder Handshake is a little older than eight.

Lunch was KFC (which seems like an obvious choice for party food but which I've never seen at another kid party) and then we finished with cake and more candy.

It was a pretty good party, but I really hope I'm done with kid parties. I like throwing the kind of parties where I actually get to have fun, not just co-ordinate other people's fun and listen to them whine. But next year Cordelia is nine, and surely that's too old for a games-and-cake party. Maybe we'll go to the Science Center or something. That would be nice.


Cordelia is Eight

So Cordelia is eight. She's not too excited about growing up; in fact she's downright against it. But it's happening anyway. She says she doesn't like school, but she seems to have fun when she's there. She loves ballet and jazz dance and Brownies. She has a couple of good friends and gets along well with most of the kids in her class. And she can manage the rest of them.

The other day we were chatting about her friends and relationships, and she said "I don't tell grown-ups about problems because they don't really help. They say they're going to help but they don't do anything." Last year she had some trouble with a girl who was her best friend a couple of years ago, and who got caught up with a third girl and started excluding her. She didn't come to me for help, and this year (so far) they are all three getting along together. She's also done well managing a couple of difficult boys in her class.

Grown-ups love Cordelia — at least, grown-ups who love kids love Cordelia. Grown-ups who don't love kids love Delphine because she's like a grown-up, but Cordelia's such a kid. She's enthusiastic and noisy and uninhibited. She loves talking to grown-ups and she still has that habit of telling long, involved stories without giving enough context, which is fascinating and occasionally surreal.

She's kind of getting too old for me to blog about her. When the kids were younger I treated them like extensions of myself, and of course it was okay to blog about them. But there's a lot of talk about Internet privacy lately, and what you're entitled to post about other people with or without their consent, and I'm starting to realize (a little belatedly) that even if I don't mind my whole life being online, that's not a decision I should make for the girls. But I guess that's another blog post...

Birthday 38: Another Post About Time

It's time for another birthday post. I'm not sure if I manage to write one every year, although I always feel I should. It seems as good an opportunity as any to catch up on everything, sitting here on my back deck on a cool summer day, enjoying the dappled shade of the silver maple.

I should be hanging a load of laundry that Blake washed.

I should be working. I think. Should I be working? It's Sunday, but then I don't work full time the rest of the week, so maybe Sunday is a good time to catch up? I worked a couple of hours today already, but there's still plenty to do, and if I don't do it today I will only have to do it tomorrow while facing an onrush of new work as everyone gets to the office.

So, I don't know if I should be working.

Time dismays me. This blog knows that, for one thing because I hardly ever post — I just don't have time — and for another because when I do post it's often about time. I have so much that I have to do, and so much that I'd like to do, and I don't know where to find the time.

This is what I do now:

I work. I have a regular job with an organization now (as opposed to a freelance publishing gig), although only part time. It's supposed to be two hours a day, but my boss keeps casually referring to it as half-time, which it really should be because I have so much to do. This summer, especially, I'm having a hard time keeping up. At least once a week I get a worried email from a workshop host or instructor asking if I've had a chance to put up that website or set up that registration page or process those receipts. Right now I have eleven emails which I have flagged to remind me that they're Urgent and should be Attended To With Haste. Then there are the other forty-four emails which can wait, although if I leave them long enough they may well become the other kind.

I parent. This means that I spend time with the girls, of course. It's summer and they have only been in one two-week day camp, so we've gone on a few adventures and worked on a big jigsaw puzzle. (Conclusion: "I don't really like jigsaw puzzles, Mummy.") They're still good fun, although they're having a fractious summer in each other's company. Neither of them seems to have the social skills to tolerate the other's foibles, or to de-escalate disagreements. Sibling rivalry is supposed to teach this kind of thing, but so far it doesn't seem to be working. Maybe they need to be older. But when they're not fighting they're good friends, and they love each other even if they wouldn't admit it.

The other side of parenting is management. I never realized how much management there is to being a modern parent — I don't think it came up in any of the books or magazine articles I read. Spending hours researching extra-curricular activities and school programs, filling in registration forms, buying clothes and equipment, organizing calendars, emailing babysitters, scheduling playdates — none of that was part of mothering as I understood it.

You may think: But you've been a mother for over ten years, why is this bothering you now? The thing is, the paperwork side of mothering only seems to grow as the children's needs and challenges become more complicated (and expensive). As the nitty-gritty side of diapers and snacks and bloody knees diminishes the administrative side inflates.

But I was relieved to come across a passage in Rumer Godden's Home is the Sailor about the children setting up the mother doll at a desk with piles of paper, where she would spend most of her days ordering things and organizing the children's lives. Even in 1964, apparently, mothers had lots of paperwork to do.


I also look after the house and the finances and the cat.

The house needs the usual upkeep (although I am supported in that by a biweekly house cleaner) as well as identification and resolution of various old-house problems. We're still dealing with the leaky bathroom situation; also a chunk fell off the outside dining room windowsill; also the paint is peeling on the window frames outside. There are problems with chattels, too: the dryer is broken, the couch is ready for the landfill, and the cushions for the deck furniture need new covers. It's true that the more you own, the more it costs, in time and money.


I also do things for myself, a little bit. I read, not as much as I'd like to. I go to the gym most mornings, which isn't fun per se, but it's the only time I let myself read New Scientist, so that part is fun. Also fun is how flexible and energetic and, I admit, smug I feel after the workout is over.

Lately I've been amusing myself with nail colour. My friend Karen D, who used to be into quilting, is now into nail polish, and her thoughtful posts and juicy pictures made me want to paint my nails too. It seems like a fairly harmless pleasure: it's not expensive, it doesn't take much time (okay, I do manicures while I'm working — I can type without smudging wet polish) and it gives me inordinate pleasure.

And I indulge myself with plenty of social time. I don't go on many organized outings with friends, apart from book club and the odd lunch, but I don't begrudge myself a nice chat when I bump into a friend on the street or at the start or end of a playdate. Apart from how good it makes me feel (I'm an extrovert), I know that having rich social connections is as healthy as working out.


I don't think I waste a lot of time. I have a somewhat, I think, precocious sense of my own mortality. It came upon me a couple of years ago when I realized that my to-be-read list was getting longer at a greater rate than I was reading books, leading to the obvious conclusion that I would die before I was done reading. (A slight digression: I don't understand people who "don't know what to read next". Do they not have hundreds of books waiting for them in lists or piles? Why don't they?) This awareness leads me to a somewhat panicked fear of wasting time. I've come to realize that some things which might seem like a waste of time, like walking places or hanging out with friends or just sitting thinking, are not a waste of time but rather essential to happiness and long life. But I'm constantly on guard against time misspent.

I'm somewhat heartened by the fact that life seems to go on for a long time. I'm often surprised to realize that people who were grown-up and doing things when I was a kid are still active and doing things now. The books of Judy Blume were already dated when I read them (Sanitary pads with belts? Wha?) but she's now active on Twitter and overseeing movie versions of her books. Hal Johnson and Joanne McLeod made my childhood miserable with their shame-inducing Body Break segments, and now they're on Amazing Race Canada, still fit and chipper as ever. (I suppose I can be thankful that Slim Goodbody isn't on Survivor.)

What I'm saying is, even though it may seem that being almost-forty and having done basically nothing useful with my life is an unrecoverable failure, the fact is I probably have at least another forty years ahead of me, and I don't have to waste twenty-two of this batch in growing up and going to school.

And now I'd better go hang that laundry while there's still enough daytime for it to dry in.

Everything That Happened Since Last Time I Posted

(Probably Not Actually Everything)

Boston

This week I went to Boston for a two-day work thing, which I will not discuss at length lest this gets linked as some kind of relevant post and too many work people start reading it, which I don't mind but makes me feel weird about posting boring crap about my kids and my hair. Anyway, yeah, Boston. I didn't get to do much interesting touristy stuff but I had fun and would visit again.

(I should point out that I wasn't ever in Boston, except when I was at the airport — I was in Cambridge.)

I got there on Sunday afternoon and right away went to BJ's with my infinitely patient Boston friends to get snacks for the boot camp. After we unloaded the snacks at the B&B we went for dinner at Cambridge Brewing Company, which my friends kept confusingly referring to as CBC. I had the cheese plate (cheeeeese) and I want to say a salad but I don't recognize any of the salads on the menu. It was tasty and satisfying. I also had the HefeWeizen (which I now realize I was pronouncing wrong, for shame, haven't I sung enough Bach?) which hit the spot.

We walked over to Toscanini's Ice Cream where I had Ovaltine, and Peanut Butter and Honey. Ovaltine ice cream is a wonderful and necessary thing. The Tosci's ice cream was good, but I have to say it's no better than the good ice cream places in Toronto. Sorry, I know that's kind of a jerky thing to say.

Then I said goodbye and many thanks to my friends, and oddly enough went back to CBC, where I met up with some boot camp instructors and helpers, and drank more beer (a Saisonniere, which I did pronounce properly).

I worked the next two days. On Monday night we had a catered dinner at the boot camp, so I didn't even eat out. (Catered dinner is good too! Such a treat to have someone turn up and make everything right, with wine!) Tuesday morning I had to go to a supermarket and buy another cartload of snacks because apparently people are way hungrier than I thought.

The boot camp ended on Tuesday afternoon and I went for a drink at Catalyst with a couple of instructors and helpers. The bathrooms were fancy! Then I went walking around Harvard with a new friend before a late dinner at The Kebab Factory (goat curry! gulab jamun!). We talked about the supposed advantages of name-brand universities, and national identity, and immigrant identity, and walkable neighbourhoods. It was one of those great conversations.

The B&B was fabulous — clean and beautiful, and the proprietors and staff were delightful company. If I ever go back to Cambridge I will definitely stay there.

First Day of Summer Vacation Didn't Go Well

Friday — yesterday — was the first day of summer vacation. Well, as a friend kindly pointed out, yesterday was technically a PA day, and Monday is a statutory holiday, so the first day of summer vacation is Tuesday. This is good because it gives me a chance to not foreshadow a terrible summer.

I woke up with a hideous headache and a mild but nagging nausea. Like a hangover without the fun. I took some ibuprofen and drank some tea, but it didn't get better so I gave up and went back to bed while the children did I-don't-know-what. When I woke up at 11:30 I felt mostly okay and what was left of the headache seemed vanquishable by drugs, so I took some and dragged the girls downtown to the office; I needed to talk to Greg about the boot camp and some other stuff.

The office was the best part of the day. We had lunch there and saw some people, and the girls got to play with Post-it notes and the white board.

As we left the office it started raining, and after we went to Winners for a failed attempt to buy socks for the girls everything was quite soggy. On the way into the subway at St Andrew I warned the girls to be very careful because the stairs were slippery. And then I fell down them.

You know the part in Lord of the Rings where Legolas slides down the stairs at Helm's Deep on a shield? It was like that, but instead of a shield, my butt. Apart from that it was the same, with the rain and the orcs. Or maybe those were commuters.

Somehow I righted myself at the bottom of the stairs, accepted sympathy from friendly orcs and limped on. No serious damage, I think, but some nasty bruises, and new pains every time I move. I seem to have done something clever with my left arm on my way down, although I'm not sure what. I was trying very hard to stop falling and apparently my left arm wanted to help. And failed.

The exciting news is that my back is not busted up. So far.

School

As pointed out above, school's out for summer. I guess we had a pretty good year. C's teacher was fantastic and just right for her: sweet and gentle but insistent and with high standards. C's reading has improved and so has her stick-to-it-iveness and focus, and most importantly she enjoyed school despite her moaning.

D's year was harder, although not catastrophic. Not even terrible. I've already blogged about the problems she had, and the good news is there's a change coming: she's been offered a place at a new gifted program. Well, kind of — she was offered an opportunity to express interest in being offered a place at the new gifted program, supposing that there are enough other kids expressing interest to make it worth starting up said program.

We were only given one evening to decide (though really we had had weeks to think about the idea of going to a gifted program, I didn't want to dwell on it too much until we had a more concrete offer, so we hadn't made a decision yet). D didn't know how to decide, so she sat on the kitchen garbage can with a sheet of paper and we listed the pros and cons of each decision while I made dinner. And finally, tearfully, she said she would go to the program so long as she could have two playdates with her best friend from her old school every week.

I'm pretty excited to be joining a new program. For some reason there has been a surge of applicants to the gifted program this year, and I'm hoping that that means that a) the new program will be mostly filled with new applicants, and b) the new applicants will have a better proportion of girls than the existing gifted population. That's kind of an optimistic assumption, because I have no idea why there have been so many applicants this year. I suppose it could be that there has been a surge in insufferable gifted boys and the teachers want to get rid of them all. Either way, it will be nice to be there for the first year of a new program — at the very least D won't be joining a crowd of kids who already know each other.

I'm a bit sad that she won't be able to walk to school and back with C next year, and that she won't be able to be in the school choir that I volunteer with. Okay, I'm very sad about that. But it didn't seem like enough reason to keep her from this opportunity.

I'm bad at wrapping up blog posts. The End.

Using Persona in Angular apps.

In my previous blog post, I mentioned a tool I’m writing to make it easy for designers to link mockups to live bugs. But I didn’t mention that I had a reasonably-working version of the tool written in Backbone which I’ve decided to port to Angular. The reasons why are largely beside the point of this blog post, but I’ll try to sum them up by saying that I reached a point where Backbone seemed to be confusing me more than helping me, and Angular got a lot of good press at FluentConf this year.

So this morning’s task in the re-write was to re-hook up the Persona integration. I had read recently that when you had a lot of dom-manipulation functions, you should probably put that code in a directive, and since I hadn’t written an Angular directive yet, I figured this would be a great time to learn how. Writing the html was pretty easy, of course, and most of the code from the existing implementation (which was largely based on the code from the express-persona readme) could be ported over fairly quickly. The only tricky part I ran into was figuring out that I needed to include restrict: 'E' in the Directive Definition Object. After I was done, I noticed that there really wasn’t that much in the code that had anything to do with the tool I’m writing, and thus I pulled it out into a separate repo so that other people can use it.

And with that, I announce Angular-Tools, a repo containing one or more tools which you might find useful if you build Angular apps. As always, pull requests and bug reports welcome!

Drawing lines with CSS.

One of the things I’m working on as part of my job1 at Mozilla is a tool to make it easy for designers to create mockups that are linked to live bugs, similar to the ones at Are We Pretty Yet. Now, I’ve got the background showing up, and the bugs overlayed on top of it, but as it stands, I’m requiring the designers to draw the lines connecting the bugs to the various areas in the mockup right on the mockup itself! This is obviously a fairly terrible idea, since it makes it much harder than it should to move stuff around after the fact, and requires a ton of up-front planning when creating the initial image. But what are my other options?

I thought for a while about layering a canvas element over the mockup; it would let me draw whatever shapes I wanted to, but passing the click events through to the mockup seemed like it would be fairly annoying, and I don’t think the connecting lines should appear in front of the boxes showing the bug details, which adds another wrinkle. Then, over lunch, I started to wonder what it would look like if a 1px by 1px black square got stretched and rotated with CSS… So I took some time after lunch, and played around a little, and it seems like it just might work! Give it a try, let me know if you have any ideas to make it better, and feel free to take the idea anywhere you think it might be useful!

Update: In the comments, Andrew points out that I could use a 1px by 1px span instead, which would make it much easier to change the colour of the line, so I’ve linked to his jsfiddle instead. :)


  1. Sometimes I still can’t believe how lucky I am to get to do this stuff all day, and get paid for it! 

Amy Goes to Portland

In order to go to the Write the Docs conference that I wrote about in my last post, you might suppose, correctly, that I had to go to Portland, Oregon. My last adventure was my trip to Japan in 2011, so I was ready to get away.

There are lots of ways to get from Toronto to Portland; I chose to go via Vancouver on Air Canada because I heard from Twitter that, while Air Canada is bad, the American airlines are worse. As usual, I didn't have any trouble with Air Canada and arrived in Vancouver only slightly cramped and squashed.

We flew into a storm on the way from Vancouver to Portland, and when we were almost there the plane got hit by lightning. I wasn't terribly happy about that; I couldn't think of a time I had heard about planes being hit by lightning and it ending well. The pilot didn't seem bothered, though, and apart from some turbulence and the people behind me panicking, we landed without a problem.

Portland was warm and moist and smelled wonderful. I got a ride to the Hotel deLuxe from an Internet friend, and we had a chance to gossip and talk to her little guy about Superman and the fact that he couldn't reach his bits of paper with "S" on them.

The Hotel deLuxe was built in 1912 and recently restored with a vintage movie theme. It's a luxurious old-timey hotel like a smaller King Eddy. My room had floor-to-ceiling velvet drapes, crystal deco-style light fixtures, and white subway tile in the bathroom. The bed was furnished with thick, heavy sheets and more pillows than I knew what to do with. (So, more than two.) There was also a pillow menu, so you could order an even better pillow than the umpteen already there, and a holy book menu so you could request any one of about twelve holy books. I approve of the breaking of the Gideon hegemony.

After I got settled in I decided to go for a walk to wind down after travelling all day. Powell's Book Store was nearby, labelled as an attraction on the hotel map, and open late, so that was my destination.

The area around the hotel was dead at that time of night; there are some offices, a church, a theatre with nothing going on. Obviously I wasn't familiar with the neighbourhood so I didn't know how nervous to be, but there were a few women walking around and biking alone, so I decided not to be nervous. After a couple of blocks I came to Burnside Street, which was a little livelier.

Powells is astonishing. It's a multi-storey used book store which covers an entire block; it's a shrine to books. I could have spent the whole weekend there, but I managed to escape after about an hour and a half with only a few books and a couple of gifts for the girls.

The next day was the conference, which I already talked about over here. I woke up early (still being on EST, three hours earlier than local time), worked out in the hotel's small-but-effective gym, then had a proper cooked breakfast in the hotel restaurant. (I don't know why, but hotel breakfasts are the height of luxury and self-indulgence to me.)

I walked to the conference site in plenty of time, so when I got there the doors weren't open yet. There was a short line of grumpy-looking people waiting to get in (and one person who looked pleased to be there). I was happy and well-rested so I didn't want to stand in a grumpy line, but I wasn't feeling outgoing enough to talk to the one happy person, so I went for a walk around the block instead.

By the time I got back the doors to the Mission Theater were open. It's another old building (Portland doesn't seem to have Toronto's love of knocking old buildings down): a theatre with a balcony and a bar.

As I said in the other post, the conference was great. We were served lunch and there was an open bar (!). The line for lunch was really long, so to pass the time I had a beer; the first day I asked for something "not too bitter" (because I know Americans love really bitter ales); the drink the bartender served me was delicious and indeed not too bitter, so I asked what it was: a Nebraska Bitter. Good thing I let him choose.

I took a break from the conference and walked down a few blocks to get a coffee from Barista — some of the people at the conference suggested it as the best local coffee place. (It was delicious and, after three days I'm officially spoiled for non-awesome coffee.) I also stumbled on Oblation Papers, a paper and print shop with beautiful, quirky handmade cards. Like so many places in Portland, the store is just the front desk for a tiny factory — they actually make the paper right on site. There's also a budgie.

I really like Portland. I don't really understand how the economy of Portland works because there seem to be lots of businesses which employ people to make things by hand, and sell the things for reasonable price. You can get vegan food everywhere, and wherever you can buy coffee, you can also buy beer.

Monday night the conference organizers had some events planned; a night at a video game arcade (with infinite quarters), and a couple of informal gatherings nearby, at a beer place and a coffee place. The video game arcade had dozens, if not hundreds, of video games and pinball games, but nothing that appealed to me (unsurprisingly — I have never liked video games). They had DDR but no-one was playing. I ended up going around the corner to the coffee place — not only coffee, but beer and computers you could rent time on — but there was no-one from the conference there. I was tired and hungry anyway, so I had a plate of nachos, read Twitter and went back to the hotel.

On Tuesday I tried World Cup Coffee, which was better than Starbucks but not as good as good Portland coffee (told you I'm spoiled). They were experiencing a small fire in one of their coffee roaster, but they managed to make me a coffee anyway.

Wednesday morning I woke up even earlier, packed, and had another fancy hotel breakfast. Then I caught the Max train (just around the corner from the hotel) and rode all the way to the airport without a single transfer. So awesome! I wish I lived in a non-world-class city that had decent transit to the airport.

I entirely failed to get any good gifts for my cat-sitters, so I hoped I would be able to get something at the airport. I was lucky; turns out the Portland airport has awesome retail, including a store called Made in Oregon which has a great selection of interesting, actually-local food and gifts. I got hazelnuts, tea, chocolate and saltwater taffy for the folks back home.

Write the Docs: Portland, Oregon, April 8–9

This week I went to the first-ever Write the Docs conference. Write the Docs, as I understand it, intends to create a community of the people who write documentation for open source projects. There are plenty of professional groups for technical writers, and plenty of communities online and off for open source developers, but open source documentarians (a made-up word) exist in an awkward nether-world, neither corporate and well-trained like professional tech writers nor, well, reluctant to write documentation like open source developers.

That awkward nether-world was embodied in Portland last Monday and Tuesday. The geniuses who put the conference together booked an old theatre, gathered a diverse group of speakers of various levels of seasonedness (another made-up word), sold 220 tickets to a yet-more diverse* group of people and put us all together in a room for two days to soak up each other's stories, ideas and passion.

(* Diverse in interests, experience, and gender, but not race; the group in the Mission Theatre was almost as white as Portland itself.)

In a stroke of inspiration, the organizers managed to get enough sponsorship to not only feed us but provide an open bar — that's right, I said an open bar — every afternoon. Which is nice, but I'm sorry to say I can now never go to another conference unless there is free booze every day starting at noon.

There were twenty-seven talks altogether, as well as some ad hoc lightning talks. They will all be available on YouTube but so far they are not sorted or tagged, just listed under the account of the company that did the videoing.

Here is my list of standout talks from the conference:

Matthew Butterick's Typography for Docs (NSFW: swearing) didn't teach me a whole lot (which is good considering typography is one of the many things I charge money for) but Matthew is charismatic, funny, and opinionated. And I love that he didn't have a slideshow, he just clicked around some tabs in a browser window.

Matthew outlined four important decisions in typography:

  1. Font choice (he likes Charis, Charter, and Adobe Source Sans for the web)
  2. Font size (smaller than you think for print; bigger than you think for the web)
  3. Line length (between two and three lowercase alphabets per line)
  4. Line spacing (between 120% and 145% of font height)

(I know, this blog fails terribly at at least two of those. Cmd-shift-=!) Among other things, he warned us to be careful of misuse of emphasis; anything dark catches the eye, so you don't want a lot of darkness in your navigation — save it for headers and other clues to document structure.

Matthew Butterick wrote a book called Typography for Lawyers which I will probably buy.

Kevin Hale's Getting Developers and Engineers to Write the Docs is misleadingly titled; it is really more about customer support and retention than documentation, although documentation plays a part in both those things. The punchline is that at Wufoo they got developers (and everyone else in the company) to answer the tech support phone. My favourite line: "After the second or third ring of that phone, with the exact same problem, the engineer will stop what they're doing, fix the problem, and you don't get phone calls for it anymore." (That's a paraphrase of a Paul English line.)

Marcia Johnston's Write Tight(er) — (no video yet) was about how to write concisely, with the right number of words and no more. She argues that wordiness is bad when paying for translation and when people are reading on small screens, but editors everywhere know that concise writing is easier to read and comprehend.

Marcia provided a list of ways to write tighter. Get rid of:

  • variations on "to be"
  • -ly words and other flabby adjectives
  • "very", "just", "such", "so", and "really"
  • negative constructions
  • "begin to" and "start to"
  • (or be suspicious of) "of"-phrases: "in light of", "in spite of"
  • "proverbial"
  • "different" in "many different" or "three different"-type constructs
  • the passive voice

And of course, with all these guidelines the rule is to apply them, unless it's better that you don't. Oh, English.

Marcia's book, Word Up!, will be available on April 27; I'll probably buy it, too.

Nóirín Plunkett (or Pluincéid on Twitter, but I guess that's just too open to mangling) did a talk called Text Lacks Empathy (also not posted yet). It's about how to put the emotion back into casual written communication.

Nóirín had some lovely metaphors. Being social is, for introverts like her, like working in a virtual machine; she can still do all the usual things, but it takes a little more processing time. Tact is like a filter: some people apply it on their output; some people apply it on input from others. If it's not applied on either end (i.e., if someone assumes the listener will apply tact on input and so doesn't apply it on output), offense can result. Similarly, if tact is applied on output and input, content can be lost.

She also pointed out that in an emotional void we tend to assume negative emotion. That is, if you haven't heard anything specific about someone's emotional state for a while, you tend to assume that they're angry or annoyed at you.

Nóirín had some suggestions:

  • Understand expectations: where is the tact filter generally expected to be applied in your organization or relationship?
  • Zero is not negative: don't assume that no emotional communication implies negative feelings. If in doubt, ask, and always assume good intent.
  • They don't know how you feel: you have add emotional content to your writing in a way you don't have to add it to face-to-face communication. Express your emotional state with words, use emoticons, or change to a more emotion-rich communication channel: email < IRC < voice < video < real life.
  • Perception is reality: if someone feels attacked, it doesn't matter what your intent was, they will react as if they have been attacked. You have to deal with their emotional state first, before you can return to the content of your conversation.
  • Active isn't always better than passive: take advantage of English's passive voice: "You broke the build" is aggressive and causes those emotions that you then have to deal with; "The build broke" allows everyone to save face and get on with fixing the problem.
  • If it doesn't matter, do it their way.

Unfortunately Nóirín ran out of time and didn't get to talk about the last points in her slide show — I'd like to see the whole talk sometime.

It struck me that many of Nóirín's points apply to parenting. When you're dealing with an upset child, you do have to manage their emotions before you can teach, discipline or advise; they literally cannot take in any information while they're upset. (As my nanny told my mother once, "They can't hear you when you shout at them.")

Assuming good intent is vital; it's one of Alfie Kohn's 10 Principles of Unconditional Parenting. And finally, "if it doesn't matter, do it their way" is another way of putting one of parenting's most important mantras, "pick your battles wisely".

I have no idea if Nóirín has written a book, but I'm sure she will eventually.

Finally (for this post, not for the conference), Daniya Kamran's Translating science into poetry was beautiful and thought-provoking. She didn't offer examples or concrete tips, but a series of ideas to consider when writing:

  • Constant vigilance; remember you are writing to impress the reader and earn their continued attention.
  • Immortality: write as if your writing is immortal; write to transcend time.
  • Dilemma: poetry is about conflict and questions; introduce them into your writing.
  • Bias: have a point of view; be the expert.
  • Error: poetry is about things that have gone wrong; treat crises as part of the cycle, not as a negative consequence.
  • Reiteration: poetry uses it liberally; after each complexity, bring your document back to its purpose.
  • Metaphors allow the reader to participate in creating meaning, and so they connect to your writing more deeply.
  • Elegance is important.

Tim Daly's talk on Literate Programming was entertaining; Jennifer Hartnett Hender's talk about sketchnotes was thought-provoking. Heidi Waterhouse did a talk about writing search-first documentation to make your documents findable. Ana Nelson's talk about Dexy was thrilling (even though I was exhausted and understood about 14% of it). There were a couple of good talks about the importance of documentation, and another couple about how to convince your company and colleagues to take documentation seriously, and even to write it themselves.

There were plenty of interesting talks and lots of great people at Write the Docs. I don't know if I will go next year, what with not being a tech writer and all, but I'm glad I went this year and I would recommend it to anyone who creates documentation and works with developers.

Write the Docs is on Twitter, where they have posted links to some write-ups of the talks and will hopefully link to videos when they are up.