I'm sure it'll get better.

Wow! This has started off as the worst day I've had in a very long time. On my ride to work, someone walking past me snagged my headphone cord with their purse, and yanked the cord out of both my ears, and my Clie. Damn did it ever hurt, and apparently broke my right headphone, since now no sound comes out of it. Then, I just missed the elevator, and no-one in it was nice enough to hold the door for me. Once I got to the office, I tried to make oatmeal, but it boiled over in the microwave after a minute, so I cleaned it up, and decided to cut my losses and just eat the slightly crunchy gruel it's ended up as, and on my way back to my desk, I spilled the cup of coffee I was carrying.

I'm sure it'll get better as the day goes on, but at this point, I'm just afraid of what'll happen next.


For the last couple of weeks I've been tired like a pregnant woman, I've been hungry like a pregnant woman, I've been cranky like a pregnant woman, and I practically fainted last week, like a pregnant woman.

What do you know? I am a pregnant woman.

I don't remember the symptoms kicking in this early last time -- I wonder if everything happens earlier with a second pregnancy because your body is travelling familiar territory.

Blake is very excited -- he's been having the baby lust lately. I am less excited because it's such a long time; summer will be over before this baby comes. But I am pleased.

The Bone Woman: A Forensic Anthropologist's Search for Truth in the Mass Graves of Rwanda, Bosnia, Croatia, and Kosovo by Clea Koff

The subtitle pretty much says it all (it would have to, being that long, really) -- this is a memoir by a forensic anthropologist who worked for the UN digging up mass graves of genocide victims in Rwanda and Central Europe to prove that they were, in fact, genocide victims. I read this book because I wanted another perspective on Rwanda, and because I'm interested in forensic anthropology.

It wasn't as sciency as I thought it might be, although there was enough detail to get the job done. The book was more about the author's (I was going to say "Clea's", that's how personal it was) journey through the various missions. She writes about how she feels when she's working and when she isn't, how she deals with the unique stress of digging up people, often children, who have been murdered. She writes about how the work she does changes her view of the world. She's very honest and forthcoming about her feelings and about her mistakes and about how her outlook changes.

She also talks bluntly about the work environments, the management, the teams, the bureaucracy. It made me realize, once again, that no matter how much you love your work, you're going to have to put up with some bullshit from somebody at some point -- no job is great all the time, not even digging rotting bodies out of soggy graves in the burning sun.

Beating Back the Devil: On The Front Lines with the Disease Detectives of the Epidemic Intelligence Service by Maryn McKenna

This book is about the CDC's Epidemic Intelligence Service, which goes out and investigates epidemics wherever they occur in the world. It's structured one-epidemic-per-chapter and pretty much every chapter is interesting. There's a chapter on anthrax, on AIDS, West Nile, smallpox, cholera in a refugee camp in Zaire, TB among a transgender community in Baltimore, and of course, SARS.

McKenna is a good writer and this is a page-turner. I hope she writes more books.

Girls' Own: An Anthology of Canadian Fiction for Young Readers by Sarah Ellis

I thought this was a collection of short stories, but it's actually mostly excerpts from young adult novels with female teenage protagonists. They were all good and made me vaguely interested in reading the full books (but not actually enough to go ahead and read them). The only thing I particularly noticed was that the stories seemed grimmer than the stuff I read when I was a kid; there was one about the Holocaust, one about smallpox in a native family, one about living in Afghanistan during the rule of the Taliban... Maybe I read stuff like that when I was a kid and it just didn't make an impact -- I was pretty shallow.

How We Can Save The Planet by Mayer Hillman

Mayer Hillman is a smart guy, and he wrote this book about global warming. He starts by explaining global warming, and why it's a real and major problem facing the world. He presents it as a moral concern, that it is up to us to make major changes to our lifestyle in order the save the planet for the next generation. That we must.

He proposes a method by which this would be done, basically that we determine an acceptable amount of carbon monoxide we can allow into the atmosphere, divide that by the number of people on the planet, and then through one means or another enforce that limit, equally on every citizen of the globe. No special exceptions for countries and very few for individuals.

Hillman earnestly declares that the only solution to the problem of global warming is to limit the amount of carbon people are entitled to generate (he goes through numerous alternatives, and explains why he believes they are insufficient). Several times in the book he says that there is no choice in the matter, the only other alternatives are to prevent the developing world from developing or to just allow global warming to happen, and those are not acceptable alternatives.

Perhaps I'm cynical, but I'm pretty sure that last is exactly what is going to happen; time and again in history humans have seen shit coming down the pipe and done nothing. People are too selfish, too lazy, and too obsessed with economic "progress" and with status to make the huge and immediate changes that would be needed to prevent the coming disaster. I would love to be wrong.

My lifestyle is pretty low-impact (we don't have a car and I do most of my daily living on foot, we live in a multi-family dwelling, and we don't consume a great deal of stuff, relatively speaking) but Hillman's book has driven it home to me that the exorbitant number of flights I take pretty much blows that all away. Since Delphine was born we have been to Saskatchewan, New York, Florida, Las Vegas, and Saskatchewan again, and we're going to Florida again in February. That's twelve flights in less than two years: fucking ridiculous. I have to cut down, which gives me this horrible fear that I will only ever be going to Saskatchewan from now on. Argh.

Approaching 2005

It's New Year's Eve. Blake and I invited a few people over, casual-like, but for one reason or another no-one is coming, so it's just the two of us. Delphine went to bed at 6:30 and we tidied up (I hate to start the new year with a messy house) and now we're watching Firefly and eating party food leftover from Christmas: stilton and crackers, chips and dip, peanuts, soda and gingerbread. I hope to be able to stay awake until midnight, although I don't expect I'll have a drink since I am once again in post-ovulatory limbo.

2004 was good to me, I must say. Nothing much happened; a trip to Florida, a trip to Las Vegas, a trip to Saskatchewan (I travel too much) and not really much else other than day-to-day life, with choir and visits to and from Morgan and Baba and Zaide, and baby things.

In 2005 I am going to:

  • have a baby
  • work (for money)
  • go back to eating healthy, and maybe even healthier than that
  • paint the kitchen
  • do some yoga
  • knit
  • pollute less
  • take Delphine swimming more

I'm looking forward to it; I think 2005 will be good to me too.


Today, Delphine spun around and around to the music of her 30-song musical duck, and then she staggered around drunkenly and giggled and giggled.

Today, Delphine separated a mandarin orange into segments. (She tried to peel it herself but that didn't go so well.)

Today, I cleaned up Delphine's high chair and put it away; she sits on a booster at the dining table now.

Today Delphine walked across the street to Starbucks with us without being carried once.

Every day is like this, full of little big things.

Nineteen Months

Delphine is not a baby any more. She is a full-on little girl. It happened over the last couple of weeks, but we just realized it today at breakfast when we were sitting at the dining table. Delphine was sitting on a booster on one of the dining chairs, eating her eggs and bacon and waffles with a fork, and drinking water out of a huge 20 oz glass. She's no baby. Blake and I were a little sad.

Good thing we're working on another one.

She is linking words together now; she started couple of weeks ago with "Baba hot tea" and now she's all about the sentence fragments. She says "Hello Thomas" (ah-no Momis) and "Daddy book" (all books are Daddy's book, I don't know how that works) and "boobie nap" (a boobie nap is when she nurses and naps at the same time) and lots of other things. Today she added a possessive "s", "Morgan's boots". And she's being doing plural s's for a couple of days. When we put her down to bed she says "two man-kents" (blankets); I must have said that one day and it stuck with her.

We got her a pair of Sorel winter boots, the classic winter boot (unfortunately not Canadian) and a new navy blue snowsuit, so she is all kitted out for the winter. Later this week if it warms up we're going to go to the park and play in the snow.

I finally got her into a daycare starting in mid-January; I'm sharing a full-time spot with a friend so we'll each have two days a week plus alternate Wednesdays, or whatever we decide. I'm pretty excited about it; I think it's a really good time for her. I think she'll enjoy all the people and activities and stimulation, and hopefully it will take some of the pressure off me to provide Activities and Crafts* and Edifying Experiences, and let me just hang out with my girl in the time we have together.

* I've read a few different "activities to do with your toddler"-type books and articles, and all of them included a multiple-page list of crafting supplies you will "need" in order to raise your child effectively. I have a two-bedroom condo, I barely have room to store pens. Give me a break.

The more I learn about daycares the more comfortable I am sending Delphine to one. There really isn't anything scary or horrible about the kinds of daycares we have in Ontario, which are basically pre-pre-schools run and staffed by degreed Early Childhood Educators. They have planned activities which cover all kinds of different development and all kinds of subject matters. I think Delphine will thrive in that environment; she's so smart and curious and loves new experiences.

I do wonder how she will deal with the other kids. Of the two other toddlers she hangs out with she is by far the most passive; if she gets into a tug-of-war over a toy she will always give in first and cry. I am curious to see what kind of tactics she will develop to deal with the other children.

Why is Python slow?

I tried replying to this post from Peter Bowyer, but the comment submit form was behind an httpd-authenticated wall, so I figured I'ld post the reply here instead.

Have you tried posting to the Python Tutor list (tutor@python.org), and asking them why your code is so slow? You'll probably get some interesting responses. A couple of things I've noticed off the top: You could replace this x = 0
bins = []
for x in range(MAXSTEPS): bins.append(0)
with this bins = [0 for x in xrange(MAXSTEPS)] which should be faster for a couple of reasons. First, list comprehensions are faster than repeated calls to append (I believe). Second, xrange should be faster than range, because it just returns the numbers one at a time instead of creating the whole list at once.

Here's some code showing how much faster that one change is: >>> t1="""x=0
... bins=[]
... for x in xrange(20): bins.append(0)"""
>>> t2 = """bins = [0 for x in xrange(20)]"""
>>> time1 = timeit.Timer(t1)
>>> time2 = timeit.Timer(t2)
>>> time1.timeit()
>>> time2.timeit()

As a side note, I ran: >>> t3 = """bins = [0] * 300"""
>>> time1 = timeit.Timer(t1)
>>> time3.timeit()
which takes half the time of t2 to do 15 times as many entries... Interesting. I'll update this with the results of the other tests as they finish running...

Okay, another thought. You calculate the distance every time through the inner loop, which seems really slow. Perhaps you could keep track of the distance, and update it in the call to walk?

Here are the results from running all of them for 300 iterations. >>> t1="""x=0
... bins=[]
... for x in xrange(300): bins.append(0)"""
>>> t2 = """bins = [0 for x in xrange(300)]"""
>>> t3 = """bins = [0] * 300"""
>>> time1 = timeit.Timer(t1)
>>> time2 = timeit.Timer(t2)
>>> time3 = timeit.Timer(t3)
>>> time1.timeit()
>>> time2.timeit()
>>> time3.timeit()