Blog-o! Notes from latte.ca

Wed, 30 Sep 2009
Cordelia is Four!

Cordelia is four! Her birthday was on Sunday, and we celebrated all day. In the morning, we had two kinds of pancakes (thin and fat), and then we went out to Word on the Street for some literary fun. We saw the TVOKids folks (again), got some (more) TVOKids swag, had lunch (chicken and hot dog), visited the This and Spacing magazine booths, bought some TTC station buttons from Spacing (Davisville, Museum, Dupont and Dundas), and listened to stories. Then we visited Daddy and his geeky friends at U of T. We all rode the TTC home, and then lots of people came over for Cordelia's birthday tea.

Instead of having a kid party for Cordelia, I invited family and friends: Baba and Zaida, Morgan and Erik, Douglas and Tanya and Ursa and Otis, Sara and Blair and (more importantly) Henry and Liam, and Kat. If you do that math you'll see I didn't do myself any favours; we ended up with thirteen people over, but everyone managed to get themselves tea or coffee or beer, and we didn't run out of cake, so I call that a win.

For her birthday, Cordelia got a Schylling balloon mobile and glow in the dark stars to decorate her bedroom, some cool markers and a sticker book, a book of foam shapes, and Lauren Child's creepy interpretation of Goldilocks and the Three Bears. Those were all from me (bought with money from my mum. Hooray Mum!) She also got a jewellery-making kit and a sticker book from Henry, and a very cute outfit from Kat, but the pièce de résistance was a homemade robot outfit from Tanya and Ursa. Cordelia loves to play robot: "I am a ro-obot!". I will post a picture.


Cordelia isn't as independent as I remember Delphine being at four. In fact, she's very needy: she doesn't like to do things for herself if she thinks there is any way she can get you to do them, and she often pretends something is too hard when I know she can manage it.

She's also clingy, but not in a fearful way. She doesn't cry when we're separated, but she's very happy to see me when we reunite. She seems to prefer my company to anything else. I said to another mom today, "No-one loves me as much as Cordelia does." I haven't re-read the Four book so I don't know if this is expected behaviour. As I said, I don't remember it with Delphine, but then we spent the four months after she turned four together, so maybe it simply didn't come up.


The other day Cordelia and I went to the school to pick Delphine up after school. Cordelia was very excited to see one of her classmates, Zoe, in the schoolyard. She ran after Zoe, but the other girl didn't see her. Cordelia came back to me, disappointed. "She didn't even see me!" I told her to try again, so she ran up again, and again Zoe was walking away as Cordelia approached and so didn't notice her. Once again I encouraged her to try again, so she ran up to Zoe and planted herself in front of her with a giant grin, kind of a "Boo!" move. Zoe just stared at her, and turned away. And my heart cracked.

That's the kind of approach that would work great on a Baba or Zaida or grown-up friend, so maybe she just needs to figure out some approaches for people her own age who aren't won over by extreme cuteness. We've been (mildly) concerned about Cordelia's social skills for a while—she didn't play with other kids much at nursery school, but was happy playing by herself. I'm not sure (again) what a four-year-old is expected to manage, socially. I will talk to her teacher about it in a few weeks after she's had a chance to get to know the kids better.


Cordelia is delightful. She is almost always happy (although sometimes she is very angry), she is agreeable, she is voluble, she is clever. She likes to make things, arrange things, draw and colour. She can run very fast. She knows the whole alphabet. She still says "f" for "th", and "naybe" for "maybe". She likes silly things: silly noises, silly pictures, silly stories. Cordelia is a ray of sunshine.


(Here's my post about Delphine's fourth birthday for fun. Cordelia chose lemon icing for her cake, too!)

[Posted at 14:44 by Amy Brown] link

I'm a writer. I can tell I'm a writer because I write. This blog, mainly; I've been blogging since before it was called blogging. But blogging doesn't pay the bills (except for some people) and if I am going to be a professional writer I have to improve. Fortunately the blog provides the perfect place for me to practice.

I won't be modest: I'm a pretty good writer. I can turn a sprightly phrase, I have a good vocabulary, I can make myself understood. To some extent that comes naturally, but not entirely: I work on word choice, and I excise cliches when I notice them, but it's easy, and fun. What I don't do is plan the structure of what I write, neither at the article (essay? post? paper?) level nor at the paragraph level. I also don't revise deeply: when I write a blog post my revision consists of reading it once or twice to smooth out any egregious bumps.

In the interest of writing better, I'm reading a handful of books about writing, and the first one is called Ideas and Details: A Guide to Writing for Canadians by M. Garret Bauman and Clifford Werier. It's targeted at a university audience, people who have to write papers on things, but it seems to me that their advice is valuable for any writer. What I am concentrating on at the moment is their advice on structure and revision.

What they say about structure is the same old stuff we learned in Grade Seven (and Eight, Nine, Ten,...): figure out what you're trying to say (your thesis) and make sure your whole paper supports that.

You've already seen my first Real Writing Project: it's that post about my dad I put up on Monday. I knew I wanted to write "something about my dad", but you and I both know that "something about my dad" is not a thesis. I charged ahead with writing it anyway, and what I got was a bunch of disjoint paragraphs: about how my dad and I are alike, about our relationship, about the relationship we didn't have, about seeing my dad in the nursing home, about how I felt the day he died. I couldn't make it make sense. In the past I would have just cleaned up the grammar and spelling and posted it like that, but this time I decided to work with it and try and make it into something less amorphous.

I wrote down a brief description of each paragraph, cut them up and shuffled them around to see if I could see some unifying idea. I brainstormed some thesis ideas and narrowed it down to two: 1) grieving for someone with dementia can start long before they die, or 2) I mourn more for the relationship I didn't have with my dad than that I did. Obviously I went with Door #2. I think Door #1 is interesting and worth writing about, but most of the stuff I had already written was about my (non-)relationship with Dad, and that was what has been on my mind (for the last, oh, five years).

I rearranged my little paragraph slips of paper until I liked the flow, and then I rearranged what I had written on the computer. I had to write some new stuff and throw out some of the stuff which didn't work with my new thesis (I was sorry to cut some of it because I was happy with the writing, so I saved it to a "snippets" folder for when I write more about my Dad).

Then I revised, more carefully than usual. Ideas and Details wants you to revise five times:

  1. For ideas. Make sure you thesis still fits the paper.
  2. For details. Add and sharpen details.
  3. For paragraph structure. Is each paragraph about one idea?
  4. For word use. Conciseness, vivid verbs, metaphors, precise word choice.
  5. For spelling and grammar.

Of those, 1 scares me the most. Once I come up with a thesis I'm very committed to it and I hate the idea of making a big left turn when I've already written something. But if your paper doesn't match your thesis or your thesis turns out to be rubbish, your whole paper is rubbish. (Hopefully you've already noticed that before you get to the end of the first draft, though.) Anyway, since I had already rearranged and rewritten my post with the thesis in mind, I didn't have any problem with this step or the next.

I have never paid attention to 3 before. I have pretty good instincts as a writer (from reading so much, I suppose) and my paragraphs are usually naturally well-structured, but now that I'm a Real Writer I can't rely on instincts and nature, so I went over the post to make sure each paragraph had one idea and some supporting details.

Obviously 4 is my favourite revision step, and I had to stop myself from fiddling with words in every other revision step. 5 I didn't do properly (as you can see—I missed a word and only noticed it today). I tend to rely on my natural grammar and spelling talents and very seldom look things up. Well, I look up spelling; I never look up grammar and punctuation, as you might have noticed.

And that post is what I ended up with. I found that after all that work on structure and paragraphs I was quite unhappy with the whole thing; I felt it was stiff and didn't flow. I posted it anyway, and on rereading it today it's not as bad as I thought it was. I think I'm just not used to working so hard on what I write. I suspect every writer hates everything they write at some point in the process.

So that was the post-mortem of my First Real Writing Project. Writing this post (which I didn't structure or revise, incidentally, so you won't have to read a post about how I wrote this post) has served as an excellent distraction from the business of working on a real, pitchable article or pursuing business writing leads. Result!

[Posted at 11:07 by Amy Brown] link
Mon, 28 Sep 2009
Requiem for a Missed Opportunity

I am like my dad—the older I get the more I see it. When I was a kid I thought I didn't have a sense of humour, because I didn't laugh at the same things my mum laughs at. It took me a long time to realize that my sense of humour is sarcastic and ironic, like my dad's. (My mum always said my dad didn't have a sense of humour, either.) I'm like him in other ways, too: we shared a love of singing, of writing. We shared our insecurity, our sociability, our interest in politics and civic engagement.

Despite our similarities, we never had a great relationship. My parents had an awkward marriage, and since I was closer to my mother, my childhood relationship with my father was strained by my knowledge of the hurt he caused her. After I left home, that distance persisted, even when we travelled together. There were glimmers of the connection we could have had. Occasionally we would get talking about politics or people, I would make a joke or sarcastic comment and the phone line would crackle with his rare laughter, stiff with disuse. But soon we would run out of things to say and the moment would pass. I never knew how to conjure up those moments, or I didn't try very hard to. Despite my best intentions, I could never shake off the childish embarassment and awkwardness I felt around him. When I got married my dad sent me an angry letter about having the wedding in Toronto rather than in Saskatchewan, and our relationship never recovered. As the years passed we talked less and less, and only the topic of choral singing animated our strained conversations.

My dad was fifty-four when I was born, and eighty-seven when he died. Maybe if our lives had overlapped more, I would grown up enough to connect with him as an adult. But before that happened, my dad's mind started to fade. A few years ago I was going through some old family pictures with him—he misidentified several children in pictures clearly taken in the seventies, as people born in the forties. That was my first hint that he was starting to lose his mind. Later he fell victim to numerous scams of the kind targeted at the elderly. He grew distant and vague. Lying awake one night I realized that he was only going to get worse, that I had missed my chance have a good relationship with him. We had passed the point of no return. That was the night I started grieving for my dad.

A couple of years later, my mum and my dad's doctors decided to move him into a nursing home—his forgetfulness and inability to take care of himself were taking a toll on my mum. A year after he moved into the home, almost to the day, he died. I got the call from my mum early in the morning of September 16, 2008.

My dad and I could have been great friends, but because of lack of time, lack of effort, fear of failure, youthful stupidity or elderly stubbornness, we never were. I will always regret not trying harder to nurture those glimmers of connection. I will always grieve the loss of my father, but more than that I will grieve for the relationship we could have had.

[Posted at 11:03 by Amy Brown] link
Sat, 26 Sep 2009
Building Thunderbird Faster

I’m always looking for ways to speed up my Mozilla build, since it allows me to test my changes even quicker. I was really excited when I found out about make -s tier_app, since it sped up my compiles by a huge amount.

make
real    10m22.630s
user    4m28.072s
sys     1m27.807s

vs.

make -s tier_app
real    0m14.426s
user    0m6.502s
sys     0m3.957s

But yesterday, on IRC, I heard about libs_tier_app, which is ever faster, if you haven’t changed any IDL files (which I usually don’t).

make -s libs_tier_app
real    0m9.407s
user    0m5.440s
sys     0m3.065s

Okay, it’s not nearly as good as going from 10 and a half minutes to 15 seconds, but a 30% (or is it 50%) speedup is still nothing to sneer at.

[Posted at 13:57 by Blake Winton] link
Wed, 23 Sep 2009
Thunderbird 3.0 beta 4!

I’ve been doing a lot of work recently, in preparation for the next (and last!) beta of Thunderbird 3, and I’m happy to announce that it was released yesterday!

Update now!

The reviews from LifeHacker and Ars Technica have been positive, which is always gratifying to see on something you’ve spent a lot of time on.

For more information, check out the Thunderbird 3 for Users page, or the Release Notes for beta 4.

[Posted at 15:21 by Blake Winton] link
Mon, 21 Sep 2009
More notes on Mercurial.

Recently, I made some changes to my work flow to get around some slight annoyances. Specifically, I switched from using mq to using pbranch. The features that pbranch gives me that mq didn’t basically boil down to two main things; sharing, and tracking.

With pbranch, it’s way easier for me to share my changes, both with other people, and with myself in a virtual machine. It is possible to share the patch with mq, by cloning the patch repo if I remembered to run qinit -C, but with pbranch all I have to do is clone the main repo, and my changes are right there, waiting for me.

For tracking, when I’m nearing the end of a patch, and it mostly works, I get really nervous if I can’t check in my changes. With mq, I set up an alias to let me commit the patch queue, so that I could go back, but it was really hard to tell what I had changed between any two commits, since it was showing me the diff of my diffs. And so I didn’t use it as much as I would like to. With pbranch, I just commit the code, like I want to, and it keeps track of what the patch should look like.

So, my day-to-day workflow now looks more like this:
If I’m working on a bug that I’ve already got a patch started for, I cd to the appropriate branch, type hg pgraph to see where I am, and hq update branchname to get to the pbranch I want to work on. Then I make my changes, and when I’m happy with the results of hg diff, I type hg commit to put the changes into the pbranch. After that, I use hg pdiff > ../branch-name-bugnum-description.diff to get a patch that I can upload to bugzilla. At this point, I usually load the patch into Vim, and search for some of the mistakes I’ve made in the past. (/^+.*[[:space:]]+$, and /dump caught a lot of my initial mistakes. Now I’ve moved on to things that are tougher to check for, like putting open-parens on a new line instead of on the previous line.) I usually go through a couple of cycles of hg commit/hg pdiff … before I’m happy with the patch. Once I am, I don’t have to type anything before I upload it, since it’s already committed.

[Posted at 11:48 by Blake Winton] link
Books in July and August

I chose The Amazing Adventures of Kavalier and Clay by Michael Chabon (2000) as my pick for the book club, thinking it would be a sure thing. It's a great read, everyone loves it, and there will be lots to discuss. Right?

Wrong. Two book club members hated it ("Sentences too long! Words too big!") and two love/hated it ("Such beautiful writing! But I don't care about comics! And why the hell are we in Antarctica?!") Two more didn't finish it but were pretty sure they would love it after they did finish it, so that's good, I guess. I was completely thrown by that reaction—I honestly thought everyone would love it unreservedly. What's not to love?! They didn't seem particularly interested in my questions, either. (Maybe it's time to find a new book club? But we're reading Salman Rushdie next. I wonder what they will think.)

I loved Kavalier and Clay this time, too. (I read it and loved it once before.) The writing is gorgeous, the characters are beautifully wrought, the story is gripping. Okay, that bit in Antarctica was pointless as far as I can tell, but the rest of it was great.

Incidentally, my also-rans for book club picks were Doomsday Book by Connie Willis and Three Men In A Boat by Jerome K. Jerome. I have no idea how either of them would have gone over. Sigh.

Free-Range Kids: Giving Our Children The Freedom We Had Without Going Nuts by Lenore Skenazy. Lenore Skenazy has been all over the media lately; she was on Q with Jian Ghomeshi, she was on Penn and Teller's Bullshit. Even my mother knew who she was when she saw this book. Obviously what she has to say strikes a chord, and what she has to say is that today's children are dangerously overprotected. Sometime in the seventies or eighties we all decided that the world is terribly dangerous and that children can't be allowed out in it by themselves. This is in contradiction of the evidence, which shows that children are safer now than they have ever been (apart from when they are in or around cars). This book convinces, with statistics and anecdotes and passionate argument, that children need to have freedom more than they need to be protected from bogeymen.

Skenazy also puts forward her theory as to why we have all become so scared (television news and crime dramas) and gives plenty of concrete ideas as how we can give our children the freedom and responsibility they need without going crazy with worry.

Read Skenazy's blog for the latest crazy story about people calling the police because some kid is walking home from soccer alone.

Exit Music by Ian Rankin is Rankin's last Rebus book. I'm afraid I can't review it very effectively; I suppose I wasn't paying very close attention when I read it. I did enjoy it. If you like Rebus and Rankin you'll probably enjoy it too, apart from the bittersweetness of it being the last. I hear his new book is good too, though.

Some piece of crap by Tess Gerritsen. I picked up a book from my mother's side table and started reading it when I ran out of books while I was out in Sask, and boy was it rubbish. I tried to look up the title on Tess Gerritsen's website, but it looks like it's one of the books listed on the "Romance Novels" page. The link to the "Romance Novels" is hidden at the bottom of the "Real Books" page, and the "Romance Novels" don't merit pages of their own, so it's quite possible that Tess Gerritsen herself knows what a piece of crap this book is.

Don't get me wrong, I'm sure it's fairly hard to write even a bad novel—this one in particular seemed to call for a lot of research—and further if I could get paid good money to churn out bad books, don't think I wouldn't. I don't blame her in the least for writing whatever book it was I read (it was about prisoners of war in Asia), but I sort of regret the time I spent reading it. Although it didn't take long to read, and it's probably just as instructive to read a book that's awful (and figure out why it's awful) as it is to read one that's wonderful. Maybe more so. All in all I guess I'll call this a wash.

Dead Men Do Tell Tales: The Strange and Fascinating Cases of a Forensic Anthropologist by William R. Maples and Michael Browning recounts some of Maples' most interesting cases, from the historic (he studied the supposed remains of the Romanovs) to the gruesome (plenty of those—he works in Florida). I am fascinated by all manner of gore, injuries and death, so the subject matter of this book was right up my alley. I learned, among other things, about how people dismember corpses, about autoerotic asphyxiation, and about weird ways to commit suicide. (Table saw? Really?)

Maples and Browning write eloquently and beautifully—I'm not sure which of the authors is responsible for the richness of the prose, but it made the book a delight to read far beyond the inherent appeal of the subject matter. Here:

Dreadful as all these processes [of decomposition] may seem, they are only the resolution of certain carbon-based compounds into certain other carbon-based compounds. Carbon is the element of life and death. We share it with diamonds and dandelions, with kerosene and kelp. While we may wrinkle our noses at some of its manifestations, we ought also to remember that this element comes to us from the stars, which wheel over us forever in silent, glittering array, pure fires obeying celestial laws.

As you can see, the authors don't shy from matters of philosophy, and also morality and the challenges of the profession of forensic anthropology: shortage of skeletons for training, lack of funding, lack of jobs despite the clear need for more forensic anthropologist.

Dead Men Do Tell Tales was an unexpected pleasure.

The No-Asshole Rule: Building a Civilized Workplace and Surviving One That Isn't by Robert I. Sutton. This is a book Blake took out of the library but looked interesting, so I gave it a read. It's pretty much what the title states: a book about how (and why) to create a workplace where people are civil to each other. It seems so obvious when you just type it out like that, but plenty of managers claim that conflict and nastiness is crucial to their success. Sutton has plenty of evidence to show that rudeness is expensive and unnecessary, and he provides lots of tips on how to go about acheiving an asshole-free environment. There's also a chapter with survival advice for people stuck working with or for an asshole. Worth a read if you work with other people, especially if you are part of the hiring process.

[Posted at 11:01 by Amy Brown] link
Mon, 14 Sep 2009

A lot of the code I write for Thunderbird has to work on all the platforms it supports. Since I don’t own a Linux or Windows box, and don’t really want to waste the hard drive space on my MacBook Pro with a dual- or triple-boot setup, I’ve decided to install the other operating systems on virtual machines. (I’ve chosen VirtualBox, because it’s free, and I’m cheap. As an added bonus, it works quite well, too.)

If I was forced to use a centralized version control system, this would lead to a bunch of pain, since I wouldn’t want to check in a half-finished patch, but I would still really want to see what changes I made for one OS, to try and figure out what changes I need to make for the others. And I would want to be able to keep a record of what I did, step by step, so that I could undo stuff if it turned out to be a bad idea. (Hey, that sounds like a perfect task for a version control system! ;)

Since Mozilla uses Mercurial, I didn’t have to deal with any of that. I had my repository on the host machine, which I had cloned from the main repo, and I just cloned it into each of the virtual machines. Whenever I started a VM, I pulled the latest set of changes from the host machine; As I fixed stuff on that platform, I committed to the repository on the virtual machine; And before I shut down the VM, I pushed my changes back to the host machine. When I wanted to see which changes I made to get things working for the platform, it was easy, and propagating those changes to the other virtual machines was also easy.

When people talk about the advantages of distributed version control, a lot of the time they mention being able to still commit your changes when you’re on an airplane, and sharing in-progress changes with other people, but for people like me who do mainly self-contained stuff and don’t fly anywhere, supporting multi-platforms with virtual machines and still being able to track my changes might just be the killer feature.

[Posted at 12:12 by Blake Winton] link
Fri, 04 Sep 2009
Pictures!

I posted pictures! Including pictures from Saskatchewan. Enjoy!

[Posted at 20:33 by Amy Brown] link