Monday, February 25, 2008

Since Ravelry ate my blog, I'm going to see if I can't restart this with a different idea. I originally started a blog to try to say clever (and subtly snarky) things about news, particularly science news. Then this turned into a lame knitting blog. Now I feel like I don't know what to post here. So how about I post what I like, eh?

I am trying to learn how to use a camera and a flash better. I bought a Canon Speedlite 480ex so that I could point my flash in different directions, dial up or down the light intensity, and use a diffuser. I also tried to buy a hot shoe adapter and cord so that I can use the flash at a distance from the camera, but it looks like I might have bought the wrong model of something. The cord has a little plug just like a single earphone plug, and there's a dock space on the Speedlite, but it's empty. Behind the hole there's no socket, just plastic.

Still, the Speedlite is better than nothing. I used the diffuser for some of the shots taken of people in a big, poorly lit conference room at the Ravelry meetup.


I think it turned out better than with a standard Rebel built-in flash. I had fun anyway.

At work, I'm immersing myself in Django and oh-my-god real setup of Web, database and other server software. This intimidates me. When I get something working (like an index.html page with working stylesheet and logo links in Django) I take a little "success" break to let the feeling last.

I hate how easily this kind of work can go wrong. There have got to be common ways of doing things that just work. But I don't know what those are, and software for developers errs on the side of flexibility and power, rather than on the side of making choices for you so that it just works. And some choices work but are awkward. Where do I install Apache? Where do I locate the static files served by Apache? Where do I install MySql so that it can be used by MovableType as well as Django? Do I upgrade to Python 2.5 inplace or have it co-exist with Python 2.3? Invariably on the Mac there are permissions issues: do I change the permission of the file so I can do what I'm trying to do with my login account or do I switch to 'sudo' the command? I normally get things working eventually but it's sooo slow.

Sunday, January 27, 2008


What pictures of curious and fast-crawling babies often look like.

Thursday, January 24, 2008

Clearly my lack of posting is explained by the fact that I have died in a knitting accident. It was the size 1 lace Addi turbos I've been knitting the cellular automaton shawl with, those are some sharp needles.

Maybe it's just a metaphor for this blog: I haven't been posting much since I joined Ravelry, so the blog was what died in the knitting accident.

Have I anything else to say? I've been thinking about email software, and I concluded that a really great email-focused program would include GUI design contributions from a game designer. Email management needs to have the same smoothness and responsiveness that a good console game does. I deal with hundreds of emails a day; dealing with them should be so smoothly software-assisted that I'm eager to click to kill the next one. I mean file it. Instead my flow gets interrupted constantly by tasks that draw me away from getting through my email.

Sunday, November 25, 2007

I've been pretty busy but just had time to learn a bit of JavaScript and the canvas element. Since I'd been playing with cellular automata ideas in knitting, I put together one of those. Pretty!

Tuesday, October 02, 2007

Blogging here is going to continue to be light for the foreseeable future. I am now a member of Ravelry, so that's a more obvious place for me to post knitted projects -- the whole point of doing that was so that other knitters could find my projects as they research what project to do next, as I do. Ravelry was built for that purpose and makes it easier for knitters to post their own projects, and to find other projects done with a certain yarn, or with a certan pattern, etc.

But I did want to post a link to this Telegraph article by Liz Hunt, and that doesn't fit naturally either on Ravelry or on the CommerceNet blog. The article bitterly critiques a book called The Gentle Art of Domesticity (not available in US yet), by Jane Brocket. I wish I could figure out what has Liz Hunt so bitter, because I can't see anything intrinsic in the work of this enthusiastic cook and craftster to inspire the tone. The comments on the Telegraph article vary from wondering how Jane Brocket could be so "perfect" to angry reactions to the article's tone and criticism of a domestic lifestyle.

I've been following Jane's blog since she started it in early 2005, staying as she progressed her writing style and particularly her photographic abilities (from this to this, for example) even as her posts on knitting became more and more infrequent. Most of what she documents and extols I have no desire to imitate. I'd rather bake oatmeal squares and butter tarts than elaborately decorated cakes and "fairy buns". I hate gardening and do not want to live in a remote town or in the country. I do knit and sew but I've been knitting for five times as long as her blog has been up so I already have my own style and inspirations. But it's a gentle, beautiful picture she paints, and it's like visiting an English village house and garden for a quiet moment when I read a new post on Jane's blog.

The only way I can reconcile this with the Telegraph article is the tension over feminism vs. domesticity again. Liz Hunt brings up careers and Shirley Conran in opposition to the domestic values. I haven't got a copy of Jane's book yet but I suppose Jane even started the argument by extolling domesticity as an antidote to ambition and stress. But I'm pretty sure that if a woman wrote a book extolling jogging, swimming, line dancing, playing cello, online gaming, sculpture, reading, bird-watching, photography or dirt-biking as an antidote to ambition or stress, it would be seen as trite at worst rather than threatening.

Tuesday, August 07, 2007

I frequently try Web applications out just for the sake of seeing what they can do, and usually abandon using them. But I like keeping up with the field, particularly for email, calendaring and task-related applications.

Today I tried one that does all three, that I heard about originally from Rael Dornfest (back when I worked at OSAF; it wasn't available then and it is now). I might abandon this online app too because I like to manage my time offline better than online, but there was one point when testing the application sent a frisson of pleasure down my spine. Usually that reaction is reserved for either more private pleasures, or when fondling yarn.

The site is stikkit.com, launched last year. The site is very smart at telling what kind of note you're creating, detecting todos and events from linguistic cues. For example, it detects Quiltathon on September 30 as an event and puts it on the correct date on the calendar.

The 'frisson' moment was when I created a task to email somebody. It was recognized as a task by the phrase do send mail to So Andso. Then I noticed that the new task had a linked stikkit for a person: "So Andso". When I clicked on that, the automatically-created stikkit had a line reading name: So Andso. I intuited that if I added another line to the stikkit with email: soandso@example.com would make the new stikkit into a contact, and voilĂ , it did!

It was a little disappointing to find that while Quiltathon on September 30 was detected seamlessly as an event, September 30: Quiltathon was not. Also when I had a space between the "name: ..." and the "email: ...." lines in my second attempt at creating a contact stikkit, it didn't work until I removed the empty line.

Oh, and I love, love love applications with hotkeys so that I don't have to mouse around. Even better when they can be discovered.

Sunday, July 08, 2007


These cute kid items were knit by Uta Hayward for her son. I'm completely tickled to see the blanket because it's the pattern I published on For the Love of Yarn. It looks very different in the multicoloured yarn chosen by Uta's son, but it looks terrific. I like the way the colour pooling forms little arcs because of the decreases, and that the little arcs are separated by the yarn-over columns. Maybe I'll knit the pattern again myself in multicoloured yarn!

Wednesday, July 04, 2007

Happy Independence day. Then again, I'm working today -- I've got IETF stuff scheduled tomorrow with people who aren't in the US and they'll be prepared.

I would have said Happy Canada Day three days ago, but I was travelling home from Canada on that day. There were nice people on the plane with maple leaf body paint or temporary tattoos or something. Even nicer, the man who switched seats to give me more room for the baby, and his wife who held the baby while we switched.

I am having fun despite the work (hey, work's fun too). I just discovered the FireFox plugin Tab Mix PLus, which I have used to set it up so that each new tab opens to my local home page which has quick links to stuff I use a lot. Yay smoother work processes!

I was also sucked into Facebook last week by my cousins and siblings. I initially felt too old but then a bunch of people in my class in grade school and high school contacted me immediately so I already feel like I belong a little. We were making fun of Facebook at work recently. One jibe was that it's a classic force multiplier: it allows you to form cliques and shun people at great efficiency! Before you could only shun people in sight, while out socially -- but now you can shun people anywhere, anytime!

Tuesday, June 12, 2007

Reading Tukey's Exploratory Data Analysis:

If we want to see what our plots ought to tell us, there is no substitute for the use of tracing paper (or acetate). If we slip a well-printed sheet of graph paper just below the top sheet of a pad of tracing paper, we can plot on the top sheet of tracing paper almost as easily as if it were itself ruled. Then, when we have the points plotted, some boundary or reference lines drawn, and a few scale points ticked, we can take away the graph sheet and look at the points undisturbed by a grid. We often gain noticeably in insight by doing this. (And we have had to pay for a sheet of tracing paper rather than for a sheet of graph paper.) [...]

An alternative that:
  • can be even mre effective,

  • is no more expensive,

  • takes a little more trouble to prepare for,

replaces the tracing paper by the thin sheets of transparent plastic (acetate) made for use in overhead projectors. Two cautions are important:
  1. You can only use markers specially made for the purpose. [...]

  2. It is important to keep one's fingers off the plastic until the picture is completed. (A piece of thin graph paper, placed upside down, works very well as a hand shield.)


Much of this classic textbook is obsolete tips and tricks -- e.g. for collecting data on paper and checking that you've copied it accurately to another piece of paper. The notes on cost of tracing paper vs. graph paper vs. acetate strikes me as quite funny now!

I think I learned to graph by hand in school but never had to except as an academic exercise -- I was using graphing software before entering University (summer job in a water testing lab). I wonder what kids today do in school, if they even bother with the academic exercise. I hope so, because it was kind of fun playing with numbers on paper. For some values of fun :)

Thursday, May 31, 2007

Random Stuff

If you know me, you know I've been pretty busy and no surprise that I've been neglecting my blog! Rather than let the blog languish for even longer waiting for the perfect post, I'll just be random today.

1. The Atom Publishing Protocol (APP) is up for approval by the IESG this week and I'm the sponsoring Area Director. I'm excited about APP because it will serve as a model or basis for much future work in accessing and editing structured content on the Web. (Will the IETF APP area one day be assumed to stand for Atom Publishing Protocol rather than APPlications?) I observed some of the Atom Interop event last month (summarized by Tim Bray here) and it was great.

2. I am apparently a sucker for some kinds of advertising copy, not necessarily what one would call good copy. Witness: here is the entire Product Description for the ice cube trays I bought online when my freezer was mysteriously not making ice cubes automatically, before it mysteriously started to again.

Ice Cold Fun! These wild and wacky Flexible Ice Trays are just plain crazy. The flexible designs allow ice to just pop out! Its quick and easy. And fun! Better still are the nutty shapes the ice forms into Stars or Hearts! Wild! Fun! Each tray container contains twelve individual molds perfect for all the fun ice youll be making. Blue star tray and pink heart tray. Made of high quality rubber.

Nutty shapes! Wild and wacky! Oh the fun we'll have with ice cubes!

3. I continue to knit stuff. I just don't have time to post about it any more. Here's a shot of me with other knitters at a meetup at Nine Rubies, and the project at my feet is now a completed scarf (with an estimated 40,000 stitches, which is why I normally don't calculate stitch counts).

4. I also made a mei-tai baby carrier. Again, this photo is obviously not taken by me, otherwise I probably wouldn't have a photo of the carrier at all. I don't even have photos of the sweater or bag I finished a while back.

5. Looks like IETF Chicago will be exciting: the Apps area will have BOF meetings on HTTP, notifications from email stores, and personal address book access.

Wednesday, April 11, 2007

"For the Love of Yarn", an online knitting magazine, has now published my Cielo baby blanket pattern in their spring '07 issue. Oh the fame!

Seriously I did get a query already about yarn substitutions. I knit this with Elann.com "Den-m-nit" but that appears to be discontinued. There are two special effects inherent in this yarn: one is that it will fade like blue jeans over time as it's washed and used, and another is that it will shrink %10 to %20 the first time it's washed. Rowan Denim yarn behaves the same way and is widely available, thus it's a perfect substitution -- but expensive. Another less-well-known option is Twilleys Freedom Denim Yarn. I found a couple online vendors for this:

  • Texere in the UK
    sells this for 2£/50g, which is currently about $3 US. Even with the shipping, for 13 balls (what the pattern suggests) this is cheaper than US sources.

  • Erica's Yarn sells and ships in the US for $5/50g.

It should be easy to substitute other worsted weight yarns to get other colours besides indigo, although of course the faded jeans effect won't happen. Note that there are two main kinds of 100% cotton yarns, mercerized and unmercerized. Mercerized cotton yarns do not shrink, therefore behave differently than the denim yarns. Still, some of these can be wonderfully cheap and colourful, like Elann.com Sonata, which has great stitch definition and sheen and is $1.98/50g. It's also possible to use cotton blend or non-cotton worsted weight yarn for another kind of look. To substitute a yarn that doesn't shrink, the knitter just has to stop knitting the main body when the blanket is big enough, and knit the edging on as written.

Some unmercerized cotton yarns do shrink and others don't. Worse, unmercerized cotton yarn isn't always advertised as such. For example, I've used Mission Falls 1824 cotton and Blue Sky Organic cotton without any noticeable shrinking (and they're both great yarns though with the Blue Sky you have to live with some pilling and fuzzing). Knitter's Review confirms that Mission Falls 1824 cotton is unmercerized and various blogs say that the Blue Sky cotton is unmercerized. So just getting an unmercerized yarn doesn't guarantee that it will or won't shrink.

Tuesday, April 10, 2007

I hadn't yet seen the talk by Hans Rosling, last year at Ted 2006. It's fascinating from a technology perspective but even more so from a political or social welfare perspective.

I browsed a little further into other Gapminder presentations, including one given by Ola Rosling at Google a year ago, where he talks about the significant differences made by left vs. right politics in achieving health advances vs. wealth advances -- a point which didn't appear in Hans' talk.

What is news is that Google bought the Trendanalyser software and hired its team from Gapminder, announced last month. The Gapminder foundation continues its mission separately although I'm not entirely clear what that is now.

Wednesday, April 04, 2007

Needed: Web 2.0 Hackers

CommerceNet (my employer) would like to start a bunch of Web 2.0 projects in the areas of calendaring, security, schemas/standards and health information. We're looking for some hot Web 2.0 developers to help us prototype some of these sites. The job descriptions and address to apply to are here but you can ask me directly for information if you'd like -- I'm a hiring manager.

Saturday, March 03, 2007

I am part of a panel hosted and organized by Scott Rosenberg on why Software is Hard at the Hillside Club tomorrow evening. Scott's got more exposure to this than any other journalist I can think of, perhaps you've seen his book Dreaming in Code. Eric Allman and Chad Dickerson will be part of the panel too.

Friday, February 23, 2007

How to shop at Ikea with a Prius:

Prius packed with Ikea purchases

This is packed with $860 worth of furniture and storage boxes from Ikea. The big-ticket items were a full height and width Bonde shelf unit with doors, and a four-unit-tall Effectiv unit with doors. Even bulkier, however, were the two storage baskets and various plastic bins. The amazing thing was that we still fit two adults and a baby in his carseat in the car, too. The adult passenger had to hold plastic boxes on her lap for that to work.

Other pictures: another view of the packed car, and the purchases spread out on the driveway.

Monday, February 19, 2007


Just posted pictures from yet another baby project -- a lace angora/silk handspun baby hat -- to my current knitting page.

Tuesday, January 16, 2007

Perogies from Lisa's Test Kitchen!

I was inspired by the America's Test Kitchen approach from the Cook's Illustrated folks, which results in the full-disclosure style of "The New Best Recipe", and from there, my newly-reliable baking skills. So for my yearly Ukrainian 12-meatless-dishes feast, since I scaled down to making only perogies and kutya this year and my lovely friends brought the rest of the food, I decided to do some testing. Like Cook's Illustrated, I began by collecting a range of perogy dough recipes that differed significantly, and tried three of them. Here are the results of testing three different base recipes, with the main criteria being handling (rolling out dough and sealing the filling in side is hard to do properly with my mom's recipe) and tenderness.

1. Growing Alberta's recipe: in one of the many, MANY ways of combining just oil, flour, water, salt and eggs, this recipe is very simple and similar to many pasta recipes (e.g. ravioli dough). Most other perogy dough recipes I found online had the same basic ingredients in only slightly different quantities. Results: the dough itself is easy to make up, and then sufficiently easy to work. However, when boiled, this ended up making mutant-looking perogies: oddly lumpy, with a surface texture that looked a little more shiny and bubbly. The texture, more importantly, was a little more rubbery than ideal, and was not anybody's favourite in taste-testing.

2. Epicurean's recipe: this had a cup of sour cream instead of any water, and it also adds some baking soda (the rest is flour, egg, salt). This seemed sufficiently different to be worth trying. Result: this made a fine dough that rolled out reasonably well and sealed well. This was the most robust and even dough: every single perogy made using this dough looked like a perfect, even, golden half-moon, even after boiling and frying. At least one person decided this also produced the best texture or tooth.

3. My usual recipe, from my mom, given to her by a Polish friend in Edmonton who was a fabulous cook. This dough is my standard to compare to because I've made it before: it's very tender and everybody loves it, but it's a pain to roll out and use for perogies as it's so fragile. There are usually a few casualties during boiling, where the dough opens and water gets inside the perogy even if the filling doesn't spill out. It's also unreliable: it uses 1/2 cup of mashed potatos, which is hard to standardize (varies by type of potato, size, how long boiled, how carefully mashed, and how long left to stand to accumulate or release moisture after boiling/mashing). I couldn't find any recipes on the Web that had mashed potato in the dough, so it appears to be a unique recipe. Taste-testing results: most people found this was the best texture.

Here's that "heirloom" recipe for comparison:

1 and 3/4 cup flour2 egg yolks
1/2 cup mashed potatos2 tablespoons shortening
1 teaspoon cream of tartar1/2 cup warm water
1 teaspoon salt

Mix flour, cream of tartar and salt together. In separate bowl, mix mashed potatoes, egg yolks, shortening and water together. Now mix wet and dry ingredients together, adding flour as necessary for a workable dough [this always comes up too wet, I need to adjust that]. Let sit 10 minutes before rolling dough. Roll a portion of the dough to a couple millimeters thick. Cut circles [I use a water glass inverted]. Put a spoonful of filling on each circle. Fold over circle and seal with water.
The next step in this testing process appears to be to start varying the best recipe found so far, to see if its most important advantages can be improved, its drawbacks minimized, or its technique simplified. This is helped along by hypotheses about what makes this the best (or by what makes it difficult). These are the variations on my usual recipe that I've tried so far.

  • Try omitting the cream of tartar as its role is not apparent in the absence of egg whites. Result: the exact same dough made with and without cream of tartar had apparently the same texture, but turned quite grey while standing, as the potato starch interacted with air. The grey blotchy dough was so unappealing that I threw it out without attempting to roll it out, cook it, etc. Conclusion: keep using cream of tartar as long as the recipe contains potato.

  • Try using a beater on wet ingredients, both to save labour and to improve consistency and robustness of dough by making sure the potatos are well-mashed. My regular dough always has a few visible bits of potato once I roll it thin, and sometimes this creates a weak spot as I form or cook a perogy. Results: using the beater made the dough turn out too gluey and it stuck to everything, making the rolling/folding even harder than normal and without making the dough any more robust. This result could have been guessed if you knew not to over-mash potatoes.

  • If letting it sit 10 minutes is good, is letting it sit longer even better? I tried a couple variations here. Results: Overnight wasn't good (though the results may be conflated with having used a beater on that batch). I also didn't see any difference waiting 10 minutes or an hour when the recipe was otherwise done the same way.


That was enough experimenting for one person for one year. What are the promising avenues for testing next year?

  • Sometimes the Cook's Illustrated people form a hypothesis about what makes a recipe good, and try to achieve the same goodness with a different approach. My hypothesis here is that the point of adding mashed potato to the dough is probably to increase the amount of starch relative to the amount of gluten. This should make the dough a little less rubbery or more tender. This hypothesis suggests there might be a more reliable way of reducing gluten ratios than using mashed potatos -- for example, using more cake flour and less all-purpose flour. Thus, I should look into how to reduce gluten ratio without using mashed potatoes (or using less of them). How much all-purpose flour should be replaced with cake flour?

  • Try to simplify technique and increase reliability by using instant mashed potatos. This approach would not suffer from variability in the starch content or waxiness of the potatoes, or from changes in the details of cooking and mashing.

  • Try the sour cream dough again. It was definitely easier to work with and people were not unhappy with the result. I want a bit more direct comparison (with the exact same filling, side by side) and evaluation to be confident that this is as tender, or just about as tender, to see if it's worthwhile switching from my traditional recipe.

  • Combine the two most successful recipes: what about using the mashed potato recipe with sour cream instead of water?


Also, next year I need to take pictures. As I write this blog post two days later, it's too late: they're all gone. Very popular, I tell you. My guests take home leftovers if there are any (last year there weren't) although I insist they leave leftovers for me too.

Wednesday, January 10, 2007

I guess the new year is a good time for me to finish projects. I finished a sweater that I've had on the needles for months, as well as a period baby hat (a rare non-knitting project). I'm almost done a Noro Kureyon felted purse, too.

Sunday, December 31, 2006

A few pairs of socks posted on my Knitting gallery for completeness. Thus ends 2006. Happy New Year!

Saturday, December 23, 2006


A new "Objet tricoté" on my gallery, complete with pattern.

This happens to be for me, but if you knit, you *could* still make this in time for a Christmas gift. Jo-ann is open until 9pm on Saturdays and may even be open tomorrow.
I just found the KnitWiki. I'd been thinking for a while about creating a Wiki for knitting, because I frequently look through the Web for advice or ideas on how to use a particular yarn that I bought because it felt so great in the store. Of course, most of the search hits you get are yarn stores selling the yarn, not knitters telling you how it worked up and what problems they encountered. So I didn't learn until too late that Karabella Aurora widens dramatically when it's first washed, or that using a silk (drapey, less elastic) yarn in a side-to-side pattern would pull a neckline competely out of shape. I don't know if knitters are sufficiently interested in contributing their experience but judging by the number of knitting blogs that exist and are being created every day, they might.

Tuesday, December 19, 2006

Just how predictable am I? I've been enjoying the first season of Boston Legal on DVD, and particularly the James Spader character, Allan Shore. On thinking why, I realize he's a Bad Boy who's really a Good Guy (just like Dr. House). He's petty, grand, nasty, gentle, happy to help a colleague and has an enormous ego. As a TV series must, the show keeps his character's tension going, episode after episode -- no easy redemption or complete conversion as one can find in movies sometimes.

Here's some classics of the archetype, whether charming or aloof. See if you can figure out which movie BBwraGG I'm thinking of, described from the point of view of the heroine.
  • He's cynical, brusque and appears selfish, claiming to be helping you only for the money. Yet he turns out to be idealistic too, and shows up in the final battle to save the young hero just in time for the defeat of the bad guys.

  • He gambles and womanizes and definitely runs with the wrong crowd. Yet he knows how to be charming and gentlemanly and certainly how to have fun. When he helps recruit for your holy cause, is it just because he wants to win a bet, or does he really care?

  • He's haughty, aloof and seems conceited and cold. He appears to have hurt people just to maintain social class distinction. Happily it turns out the full story was secret to preserve a lady's reputation, and his actions really were quite correct. Plus, he has a really great house.

  • He's a low-class rebel, part of the summer staff. He's dreamy but when you get closer, he's also hot-tempered, impatient and people believe him to have abandoned his lover and illegitimate unborn child. He didn't though, he was really just helping her.

  • He's a beast, literally. But he can turn back into a man if only you truly love him...

In the tragic romances, the bad boy doesn't quite make it either to conversion or to redemption. Rhett Butler continues to mix bad behavior in even after the appearance of good behavior, and ultimately rejects Scarlet due to her own flaws. Rick Blaine is a charming egotist who proves himself not entirely selfish by saving Ilsa and Laszlo, whereas Laszlo is a dull idealist whom Ilsa ultimately chooses.

Saturday, December 09, 2006

It was at an OSAF picnic more than a year ago that somebody (not from OSAF) asserted baldly that Open Source and Open Standards were entirely complementary. I must have been in a perverse mood or found him disagreeable, because I immediately looked for reasons to disagree with him. It's taken me a while to work them into a blog post but it's interesting that I remember the exact moment this theme began.

Tuesday, December 05, 2006

Scott Mace is so right:

With a standard, one can have a standard server running independent of the Internet that one can test against.

Scott was inspired by Spanning Synch:

Building an application on top of Google Calendar (which is itself still in beta) [...] "building a house during an earthquake".

I'd broaden Scott's stability principle to any well-defined, stable API. It's easier to build an application on top of a stable (public, or standard, or external) database API than one you're developing as you go. I'm not sure whether it's better or worse when the developer making the API churn is on the same team or a different team as the developers using the churning API but it's bad either way. There are lots of techniques to try to enforce stability so that you're not building your application on quicksand and one of them is certainly to use a standard for an important interface -- it's a way of enforcing discipline one might not otherwise have.

Friday, December 01, 2006

If cheesy alternative lyrics turn you off, stop now. I deeply regret it if the season inspires excess cheese chez moi, but I cannot help it.

To be sung to the obvious seasonal tune...
On the first day of Christmas, I caught my cat as she...
Was eating needles off of the tree.

On the second day of Christmas, I caught my cat as she...
Was barfing on the floor,
And eating needles off of the tree.

On the third day of Christmas, I caught my cat as she...
Was peeing on the bed,
Barfing on the floor,
And eating needles off of the tree.
[skipping ahead]
On the twelfth day of Christmas, I caught my cat as she...
Was climbing on the curtains,
Chewing power cables,
Scratching up the sofa,
Coughing up a hairball,
Jumping on the counter,
Pushing things off tables,
Drinking from the toilet,
Meowing at my door! ...
Tangling my yarn,
Peeing on the bed,
Barfing on the floor,
And eating needles off of the tree.

Now I just need these guys to perform this for me!

Thursday, November 30, 2006

Today my post on CommerceNet's blog: email standards waves. A capsule summary:
  • Internet-scale delivery, addressing and use of domains.

  • Standards to access email on the server, and to use multimedia and non-ASCII characters within the body of the email.

  • Security

  • Internationalization, mobile access, and more security.

Monday, November 27, 2006

New on my knitting page today, a poncho designed by a 7-year-old girl, which I knit (and crocheted) out of the yarns she and her mom provided. It was fun filling in the necessary details within the strict design parameters she provided.
Peacock kid's poncho.
So much fun knitting for girls -- frills and waves and sparkles and fuzzy fringes!

Friday, November 17, 2006

Yesterday on the CommerceNet blog I ranted about the concept of "HTTP compliance", one way in which that's a very weak concept, and how worrying too much about compliance can limit a protocol design team from making needing improvements.

Tuesday, November 14, 2006


I finished another baby blanket a couple months ago, but I didn't want to post it until I'd given it away. It's my own simple lace design and was fun to make -- much of it got done during a long-weekend visit to my parents'.

Next up on the needles: lace socks, lace poncho commissioned by young friend, and lace reproduction 1920s baby bonnet. So much lace!

Monday, November 13, 2006

A while back I posted about whether "feminist" was a dirty word, asking who considered themselves not to be a feminist because of the connotations of the word. I was sort of thinking at the time that surely most people I knew approved of the advances made so far under the name of feminism so why reject the label? Since then, I polled a few friends and colleagues informally (not as many as I intended; I've been busy).

I didn't ask men this question directly -- I don't think there's much downside when a man to call himself a feminist. Nonetheless I appreciate the input I got, and that all the men who commented here or in-person describe themselves as feminists. Thanks guys! Of course this isn't a universal, but probably an artifact of who volunteered this opinion. I didn't mention it in my original post but it was a male family member who (despite having very liberal, equality-oriented views himself) strongly objected when I said my views might be feminist! He likes me personally and was distressed when I labelled my views -- which he agreed with -- with this nasty word.

Of the women I polled, several said they do indeed consider themselves feminist (I can't remember them telling me this before though I've known many of them for years), and a couple said so quite strongly. Perhaps defensively re-appropriating the label? It's hard to tell. Of course they had good reasons for calling themselves feminist and some interesting discussions ensued.

Finally, three female friends did *not* call themselves feminists. I found their answers the most interesting.

M: "I don't know. I never really thought about it."

L: "I don't think it describes my positions well. I think of myself as somebody who believes all people should be treated equally, rather than that women in particular need different treatment."

S: "The people I know who call themselves feminist talk about issues all the time, and are obsessed with little things like who cooks dinner each night."


All these women have active tech careers, I think they're all pro-choice, and I think maybe S. does cook dinner each night. Anyway, I appreciated their answers and didn't have anything to particularly convince them of but it sure led to a few interesting conversations around the water cooler and in friends' living rooms.

Sunday, November 12, 2006

How do you wash grapes?

I got food poisoning a couple weeks ago, during an otherwise lovely trip to Portugal. While it's probably pointless to try to figure out how, I do wonder about a bunch of things.
  • Generally, how long before food poisoning takes effect? Must the cause have been the same day I got sick? The day before? Within a couple hours? The meal I was eating when I started feeling sick was a hotel buffet. Nobody else got sick.
  • I drank local water, because locals do; I drink a lot of water and it's not always easy to buy a new bottle while it is often easy to refill. How likely is it that local water is fine for locals but not for visitors who may not be adapted to the local endemic bacteria? Is it possible that the rainstorms and small floods during my week in Portugal (apparently the only week of rain the whole year) may have worsened the water supply during my visit? I had been drinking local water for a week before I got sick.
  • I shared from a plate of steamed clams a day or two before getting sick, and the first one I bit into clearly had ice crystals. How did one "steamed" clam stay half frozen? Did they toss it on at the end? Nobody else who shared the clams got sick.
  • I bought some grapes from a small fruit stand. I washed them all and kept them in my hotel room for a few days. I certainly didn't get sick on the first bunch of grapes I ate. Is it possible that I didn't wash them well enough and the bacteria grew over time? How do you wash grapes?
Somehow it's that last question which bugs me, seeming so simple. How do you wash grapes? They're fragile and nearly impossible to scrub or even rub individually. Should one soak them? Spray them from several angles with a decent pressure spray? Put them in a colander and allow water to run over for a longish period of time? Most search hits for "how to wash grapes" say simply to "wash carefully" just before eating (rather than before storing), but a few food sites mention "cold running water" or "gentle spray". Is this any good at all besides rinsing out a bit of grit?

Tuesday, October 17, 2006

Today's post on the CommerceNet blog is a brief overview of my ApacheCon talk last week: "Beyond Passwords", promises and policies of Identity 2.0. Although it was the very last talk of the last day of ApacheCon, I enjoyed that venue as I always do, and appreciated every one of the dozen people in the audience who hadn't yet flown home :)

Monday, October 09, 2006

Since CalDAV was approved last week and will become an RFC in the fulness of time, I thought I'd post a bit of the history of CalDAV (so far!) over on the CommerceNet blog.

Tuesday, October 03, 2006

I've started a new job recently, as a Fellow at Commerce Net, continuing my IETF Area Director work with their support. I wrote an introduction to my self and my work, as my first post on the Commerce Net blog. I'll try to remember to post a pointer here when I blog there.

Best part of new job (well, other than getting paid to do absolutely cool stuff): biking to work! I'm not much of a biker so I toodle off on my ten-year-old squeaky fifteen-speed, leisurely pedalling down Channing and Bryant to the office on University Ave. Most often I'll bike in whatever I happen to be wearing to work that day, whether it be a skirt or work pants, blazer or sweater. I do wear a helmet. I don't stop for most stop signs -- cars should stop for me!

Wednesday, September 06, 2006

Am I a feminist? Are you? I've been reading about Mary Wollstonecraft, who wrote A Vindication of the Rights of Women, and it's obvious that if one of us were to time-travel to visit the other, and she were to question me about what I felt women were fit to do, she would consider me a radical feminist. Probably you, too, if you believe that:
  • Women ought to be able to own property, instead of having a man (husband, father, brother, son) own and dispose of all property.

  • Women can decently write books and be paid for it.

  • Girls should go to school, not just to learn to sew but also to think and reason.

  • Girls should be allowed some modest exercise to keep their bodies healthy.

  • A grown woman is responsible for her own moral behavior.
Ok, maybe 1792 is too easy to compare to. Do you believe women should vote? Then according to the mores of UK, US and Canada in 1906, just a hundred years ago, you're a suffragist and feminist.

How about comparing to a time less than 50 years ago, then. In 1963, the Kennedy administration published the findings of a moderate commission on the status of women, and in 1964 came the Civil Rights Act which covered sex as well as race discrimination. Do you agree that:
  • It's unfair discrimination if a qualified woman is turned down for a job, and a less-qualified man hired instead, particularly in government and government-funded jobs.

  • Women should be allowed to use contraceptives.
Even though I know nobody, personally, who strongly disagrees with any of these points, I also know nobody who calls themselves a feminist, and thinking back 25 years can't remember knowing any self-declared feminists. Yet of course I know many women who wear pants (heh) and have technically-demanding careers, some of them also raising children. I also know many husbands and boyfriends who support demanding careers, help with housework, and have spoken in favour of equal pay and equal access to promotions and high-status jobs. There's some social differentiation around sexual acts -- it's better for your reputation to be sexually promiscuous if you're male than if you're female -- but I still have trouble of thinking of many people who would seriously discriminate on that basis (e.g. refusing to associate with an adulteress or reproving her while approving the company and behavior of adulterers).

What turned "feminist" into a nasty epithet? Was it the introduction of issues around sexual promiscuity and pornography? Was it the opposition of domesticity to feminist belief, making a woman who enjoyed cooking, sewing or having a clean house feel like she couldn't be a legitimate feminist? Was it fictional portrayals of feminists?

I can't decide if it's a good thing that we don't have as deep a need to be feminists any more, or a bad thing that the word is still so tarred after 30 years. I'd be interested in hearing opinions on that and whether you, male or female, consider yourself a feminist.

Thursday, August 24, 2006

We just got the second season of House, MD on DVD, and I'm enjoying it although it may be slightly darker than the first season, so far. The show continues to focus on ethics with a great twist: most episodes seems to demonstrate, one way or another, that nice isn't always ethical, and ethical isn't always nice. Or as the creator David Shore puts it, "What's more important --Kindness or Truth?"

The show is entirely driven by the acerbic, blunt character of Dr. House, played masterfully by Hugh Laurie. He's one of my favourite actors with a huge range of talent (including humour: notably Blackadder and Jeeves and Wooster where he plays an utter fop ) and the ability to melt into a role like this. IMDB says:
During Hugh Laurie's audition, David Shore says that Bryan Singer, one of the executive producers, said, "See, this is what I want: an American guy." Singer was completely unaware of the fact that Laurie is English.
Also, Robert Sean Leonard is still cute. Awww, those puppy-dog eyes.

Image from 'http://www.housemd-guide.com/'

Wednesday, August 23, 2006

I have another finished, knitted item to show off. It's from a shawl pattern called "Frost Flowers" in A Gathering of Lace. The goal of the project was a baby blanket, not a shawl, so I used superwash wool in fingering weight instead of laceweight. That choice would probably have worked out perfectly if I'd used slightly larger needles, but since I didn't, the square is more than a square -- the stitches were not quite as long as they needed to be for the overall blanket to come out flat, so instead it's got wavy edges. I blocked it by stretching it out very big on the spare bed, which definitely helped.

Frost flowers lace baby blanket

I love it anyway. I love the colour, which is called "Celadon", custom-dyed by Lisa Souza using her wonderful, soft superfine Merino superwash sock yarn. Celadon isn't shown as a standard colour but if you compare, it's a lighter shade of sage. Mmm.

A few more pics of the objet: center detail, edge detail, and Ophelia modeling it as a shawl at Knitter's Studio.

Thursday, July 06, 2006

A new finished knitting project is up on top at my knitting page. It's a pair of crazy, wavy lacy socks for a friend. Yay gift-making and gift-giving! Especially as a total suprise.

Friday, June 23, 2006




I am giving a talk on Cosmo and CalDAV at ApacheCon next week. There'll also be a BoF (which at ApacheCon is a very informal thing) on HTTP Authentication and other standards work. It's my first trip to Dublin so I expect to enjoy the week quite a bit.

Friday, May 26, 2006

I borrowed my neighbour's pressure washer today, and it was fun! First, it's a water toy. Second, it's a power tool. These are two great things that go great together. It's a gas engine, thus loudish, and the spray nozzle is long so both hands have to hold on (one holding down the handle the whole time, which can get fatiguing but that's the worst thing about the job).

My red patio paving tiles were covered in scum prior to this afternoon. Scum came particularly from the eaves of our house, which drain dirty rainwater right on to the patio and then across the tiles to the azaleas. But even away from the path of the scummy rainwater, it was still dirty and black because the drainage is terrible and it rains a fair bit here in winter. I curse the previous owner of the house who designed the eaves and patio this way -- it looks good but isn't as functional as you'd think.

Using the power washer on this blackened, scummy patio is like spray-painting in reverse. With each stroke of the DirtBlaster® rotating nozzle it was as if I painted the tile its original colour. I discovered if I moved the spray nozzle quickly enough over scummy tiles I could see a spiral pattern, proving to myself that this nozzle indeed rotated somehow, although it circled so fast that the water output looked like the surface of a cone. It was like having in my hands a magical staff that fires a cone of cleaning.

After the red tiles, I moved on to the blacktop driveway, the concrete front sidewalk walk, and the back walk. Things got a little messy there, in the tight corner between two sturdy wooden fences, the ground was dirty and the power washer sprayed mud right back out of this corner and onto me. As I finished up I considered turning the power washer on myself, but concluded that a real shower would probably be more satisfying. I looked around for other things to clean, considered whether bushes and trees and wooden sidings needed power washing, and regretfully turned it off and returned it to the neighbour. Until next time.

Saturday, May 20, 2006

You won't find me talking about cooking or touting cookbooks much, so pay attention. Cook's Illustrated The New Best Recipe is a different kind of cookbook. You think you know how to make basic french toast? I thought I did. As it turns out, I had only a dim clue, and I needed to use less eggs, much more milk, some flour, vanilla and sugar. I haven't had this book for very long, I don't cook often, and I only cook for myself, as the man around the house prefers not to eat my cooking (probably for justifiable historical reasons). But every few weeks since getting this cookbook I've tried a simple recipe. Here are my results so far:

  • The french toast: amazing. Getting the inside custardy, and the outside not to taste like fried eggs, is a total win. Their way is not noticeably harder than doing it my old way. I even cheated by using the wrong bread (nowhere in the recipe did they even admit to the possibility of using wheat-and-7-grain bread) and it was still terrific.

  • Pasta tossed with oil (and a little garlic, parsley, etc): Very good and relatively easy, a solid recipe though perhaps not mind-blowing. I don't have much to compare to because I wasn't in the habit of making pasta without a sauce before.

  • Chicken cutlets: amazing. Brining chicken naturally takes longer, as does preparing the liquid, flour mix and bread crumbs to dip in. But holy fowl, does this make the most tender piece of chicken I have ever eaten, inside or out of a restaurant. Ever. I was worried because the breast meat seemed too moist when I started to eat, but the liquid was clear and the meat was cooked -- it was just that juicy. Again, I got this result even with a little cheating: I used frozen meat, mostly thawed by the time I turned it into cutlets. I only ate one piece fresh out of the frying pan and that was the one that caused the religious experience, but the cold or reheated leftover cutlets were also highly worth eating.



I guess the deal is that this cookbook explains so much -- not just explaining exactly what to do but why, for example what effect omitting some ingredient or step had in their tests -- makes up for me being the kind of cook who may sometimes take a few shortcuts. I have better guidance about what kind of shortcut really matters.

Monday, May 15, 2006

Colby Cosh points to this article on making more roads in Dhaka off-limits to rickshaws. Opponents of the proposal point out that rickshaws carry 54% of the city traffic using less space than private transport does, and that when more roads are put off-limits to rickshaws, their drivers' incomes dip significantly downwards. Overall, I have to say that it's nice to see reasoned debate on the topic of public transport including not only government-managed public transport but also privately-organized public transport. In most North American cities, it's easy to forget that there are many other kinds of public transport beyond the city buses and subway systems.

For a few years I worked downtown, on the close edge of the shopping and financial districts and right near a subway stop. But for various reasons the subway didn't work for me and I took the train. The problem with the train was that the train terminus was a long walk from the office (25 or 30 minutes) and I didn't like biking downtown. City buses were slower than walking! Sometimes I'd wait for a city bus for twice as long as the supposed period between buses, and then of course the next thing I'd see would be a packed full city bus with one or two empty buses stuck behind it (quite stuck, as these buses used overhead wires for power, and couldn't pass one another). Even after catching a bus on-time it was a toss-up whether it would actually move faster than a pedestrian. One day I noticed the jitney.

The jitney is easy miss despite the fact that it's an unusual vehicle, an ancient royal blue shuttle bus with big white amateur lettering. It goes from the train to various points downtown and back to the train. It only operates during prime commute hours and its schedule is carefully tailored to the train schedule. And it goes fast, taking alternate routes when necessary, changing lanes and sometimers letting passengers off on the left of a one-way street if the right side is too clogged. It took 5-10 minutes to take the jitney from the train to the office, was never late, and it cost the same as the city bus.

The problem? It was illegal. It's illegal to offer a jitney service to multiple passengers in most North American cities. That system allows public buses/subways and taxis to monopolize in-city public transport under limiting rules. It would also be illegal for somebody to run a private commuter bus service up and down the major highway here, and the public systems haven't integrated their services enough to do so (or perhaps have decided not to offer a more attractive option, so as to push people towards public commuter trains). It would be hard to change the status quo although some people are thinking about it.

I hope countries that still have creativity and open competition in public transport are wiser than North Americans. Keep those rickshaws on the road!

Thursday, May 11, 2006

Finally I can prove that this is still a knitting blog, too. I lost a hard drive and I lost the data cord to my camera (separate events). These together made me have to do a bit more work than usual to post pictures and edit pages. But finally I've posted a couple pictures of stuff finished in March on my knitting page.

Also in my Flickr set, there's a related picture of my cat. Related to knitting. Well, she always helps me when I take photos of my knitting. This time I helped her take an even closer role, that's all.

Tuesday, May 09, 2006

Jackrabbit is now a full Apache project, and Jackrabbit 1.0 is released. Jackrabbit is a reference implementation of Java API called the Java Content Repository (JCR). A repository that stores JCR can be used to store arbitrary data, just like a database can, but it's more flexible. Instead of storing data in tables, a JCR repository stores data in a hierarchy of nodes and properties. JCR can replace JDBC in many applications that require a structured repository.

Cosmo uses JCR to store shares, calendars, events and other resources. The reason we use JCR instead of a database is because JCR has a more flexible data model, and because a hiearchical data model is closer to the data models of iCalendar and the Web. There are lots of applications today that use databases when hierarchical storage would be a more appropriate model, but databases are so standard that it's still going to take a while for this alternative to gain ground. It's important to have a standard API for accessing this new kind of repository, so that a server implementation doesn't get locked into one back-end.

As with all new technologies, the reality still falls slightly short of the promise.
  • Cosmo has had to compensate for performance issues, particularly if a node has many child nodes. Flexibility has a cost, though I expect this will be improved over time.

  • JCR implementations are still rather new and I'm not aware of much interoperability testing, so we don't expect we would actually be easy to replace Jackrabbit with another JCR implementation and just have Cosmo work. Still, it wouldn't be terrible either.

  • According to BCM, both the XPath and the SQL query syntaxes that JCR provides didn't quite suffice for doing the kind of date queries we do, so BCM had to work around JCR to do time-range queries for calendaring. This kind of trick, bypassing the standard API to use the repository's own non-standard API, obviously makes the replacement issue more difficult.

Monday, April 24, 2006

I've been looking for a better understanding of what a trade deficit is, and why it's supposed to be bad, and whether it really is bad. The conventional wisdom as I've always heard it, is that the US has a large ongoing trade deficit causing job loss, debt servicing costs, and possibly currency instabilities if the foreign owners of American dollars suddenly get uneasy. Wikipedia has a discussion of the points of view of those who believe it's harmful, those who believe it's not, and those who believe it's meaningless. Whether the Wikipedia article is balanced, I can't tell. But clearly, just because a "skyrocketing trade deficit" is a great scare news article headline, and fun to accuse Republicans of, or perversely blame China for, doesn't naturally make it a bad thing. .

I can see two possible sources of gut-level unease, the kind of feelings which make people assume a trade deficit must be bad, bad, bad: fear of debt (guilt over not saving), and guilt over consumerism. The debt question comes up if the trade deficit consists of goods for debt: foreign countries exchange their goods for a promise to pay later, including interest. A trade deficit is associated with low rates of saving, again obviously bad. The consumerism guilt comes up because it makes Americans seem greedy that they import so much oil from the Middle East and so many consumer goods from Asia: it's probably felt to be evidence that Americans must be greedier than others if Americans consume so much that they have this nasty trade deficit as a result. Take these bad feelings together, and you have the question of whether it's wise to be going into so much debt just to consume more than anybody else does. When you put it that way most people are going to think it's a bad idea of course.

But it's not that simple. Japan was troubled for years by maintaining a trade surplus, where it sold desirable goods to the US but had little to use those US dollars for. The dollars fueled some purchasing of US investment properties (companies and real estate) at excessive prices. It may also be possible to maintain a trade deficit without going into debt but it's not clear to me whether a debt-free trade deficit would really make people who oppose trade deficits that much happier.

Today Colby Cosh pointed to an article in which, ironically, a Chinese economist may explain why the US trade deficit, in particular, may be calculated as much larger than it actually is. Products that are less than tangible are the problem when tallying up the numbers, of course. It makes me start to fall on the side of those who think it's meaningless. Maybe it's mostly a fictional problem, an arbitrary equation wherein we put one kind of desirable things on the left side of the equation, and another kind of desirable things on the right side, but leave a few terms out because they're too hard to add up, and finish by trying to make the numbers come out even so that it seems tidier.

Friday, March 10, 2006

Getting Things Done

Almost a year ago, I read David Allen's book Getting Things Done (GTD), and decided to apply a couple principles. I already tried to review incoming email once only, but that just wasn't quite working consistently for me, and I regularly had from 40 to 80 emails sitting in my Inbox, unfiled, because I hadn't dealt with them or decided whether or how to deal with them. At 100 emails I would usually feel overwhelmed and go back to some earlier emails and just decide, finally, not to do anything with them, and clear back out down to 40 or so.

I had also tried keeping track of tasks in a separate list from my Inbox but that also hadn't worked for me. One problem was that the list grew too big, easily to 60 items or so within a couple weeks of starting it. I needed to break it down somewhat. Breaking it down by project seemed obvious but then I had several lists and no way to see what was most important. And still there were tasks that I just didn't tackle.

The biggest value trick I got from GTD, above all the other good advice, was to organize my task list by context, rather than by project. My contexts have been:
  • At the computer (offline)
  • Online
  • At home
  • At work
  • Agendas
  • Errands
  • Phone calls
  • Waiting
  • Later/maybe
  • Done
The 'agendas' list made me look particularly organized because as soon as I had a chance to talk to somebody like my manager or somebody else I work with a lot, I could look really smart and prepared even if I hadn't actually prepared for that specific meeting. I made meetings more productive and didn't forget to cover issues that I'd previously noted I needed to cover. Naturally, the "at home" and "at work" categories kept me from sifting through tasks at an inappropriate moment, so at any moment there seems to be less pressure, less possible things to do, easier to focus. All good stuff.

But there's even more to the system than that, and I believe it's hooked into another classic piece of advice, also covered in GTD: that of identifying the next action.

It's actually very hard to identify the next action in many projects. Back when one of my projects was to get my eyes fixed up, I futzed around for maybe a year before actually setting up an eye doctor. Aside from indecision and being busy, part of the reason was because I hadn't correctly identified the first step -- without thinking too hard about it, I had only the fuzzy idea that I needed to setup an appointment with an eye surgeon. But before I could actually do that step I needed the phone number of an eye surgeon. Before that, I needed to know which eye surgeon. Before that, I needed to get some kind of recommendation. And before that, I needed to know who to ask for a recommendation. Finally, I asked a cataract eye surgeon for a recommendation, and the rest followed more easily (for the record, it was Dr. Volpicelli at Peninsula Laser Eye Medical Group).

So how does organizing tasks by context help? Because in order to decide whether the next task is one I can do at work, at home or on the phone, I need to have a concrete idea what the next task is. It makes me break down each project earlier.

Following this discipline, together with weekly reviews to see which tasks are stale and which projects don't have tasks currently in the active list, may have made me up to 20% more productive at times. It's hard to say. I don't always follow the discipline but I'm getting better.

The tool I use for the lists of tasks is called iOrganize. It's not optimized for this task, but it's sufficient. It's good at taking quick notes, giving them titles, and moving them from one category to another. I wish it could assign reminders to tasks, or optional due dates, but that's OK, it's not actually required for the way I work. I put a ** in front of the title of important tasks, trying to have from two to five tasks with "**" at any time. This allows me to search for important tasks very quickly and sort them to the top of each context list. There's a priority field too, but that doesn't allow me to search, and it didn't exist in the previous version of iOrganize so I'm already used to having "**".



I know there's many ways people follow GTD, there are blogs and near-cults out there and I'm certain there are more specialized tools, maybe I'll use one of them someday. This is just what works for me.

Monday, February 27, 2006

RFC 4331 is now up: Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections. It's my first RFC as author.

Tuesday, February 21, 2006

Scott Mace interviewed me for IT Conversations, and the podcast is now available, on the topic of calendars and calendar interoperability standards. Is it wierd listening to yourself or what?

Wednesday, February 01, 2006

You know you're working on standards too much when...

I saw a traffic sign today on University Ave. that said "Bicycles may use sidewalk". My very first reaction was that the text should be "Bicycles MAY use sidewalk"[1]. It was followed by the thought that it should also read "... thus, pedestrians MUST be prepared to encounter bicycles on the sidewalk."

[1] IETF standards have to use capitalized MAY, MUST and SHOULD to be absolutely clear when the specification is prescriptive, i.e. making a requirement, and not just being descriptive.

Monday, January 09, 2006

Ukrainian Christmas may be a Canadian prairie province tradition, according to Colby Cosh. I'm from the prairie provinces myself and love the tradition. My mother grew up in Manitoba and we celebrated Ukrainian Christmas each year in January. Often we opened Christmas presents that day, too. We'd usually travel two days to our grandparents' house for Dec 25 Christmas, with four kids, two parents, winter gear and all the presents we had to give away to aunts, uncles, cousins and grandparents, stuffed to within a foot of the ceiling of our full-sized van. After that, there just wasn't room for the stack of presents my parents bought for us kids, or that we'd bought for each other. So we'd leave those presents at home and delay gratification until early January with Ukrainian Christmas.

Of course the day also provided an opportunity for my mother to become a Ukrainian babushka, to cook the dishes she'd had as a child and serve them as a special treat for her own children: lovely yummy perogies, delicious sweet kutia, hearty holubtsi and the rest of the traditional twelve meatless dishes. The odd thing? We're not Ukrainian. Not at all. On my mother's side, English and Scottish Canadians. Nor did she take this tradition on for my father's family, who are almost all French-Canadian with a couple Scots and possibly Indian ancestors thrown in. No, she just picked up this Ukrainian tradition from proximity in rural Manitoba.

One year, living in Ontario when I was fifteen or sixteen, we nearly missed Ukrainian Christmas. My mom was travelling home the day before, but her trip was delayed somehow. When she called, my father and sister and I looked at each other in dismay, unable to imagine missing the traditional feast. No pyrogies? No kutia? How would we survive winter without? We talked each other into doing this ourselves even though my father's better with ad-hoc cooking than with established recipes, and my sister (younger) and I hadn't had much experience. But we dove in, hunting down Mom's recipes written on stained index cards, and even making stuff up when we got stuck. The kutia was great (almost impossible to mess up), I seem to recall the holubtsi was tricky to roll up in neat bundles but it was quite edible as messy piles of flavored rice somewhat contained in cabbage wrappings. The pyrogies were the toughest and many fell apart during boiling (later we discovered that they weren't supposed to have butter in the dough). But it all tasted OK, and we tallied up twelve dishes by liberally counting bread and buns and different kinds of pickles (including the necessary beet pickles) each as separate dishes. I felt so grown-up when my mother came home just in time for dinner and we enjoyed our feast.

Today I still do this, even now that I'm in California with no family nearby. For one, it gives me the chance to serve a distinctive meal for some vegetarian/kosher friends. It's also, naturally, a chance to reminisce as I cook and taste the flavours. In those years when I travel back to Canada during Christmas and Hannukah, it's my one chance to do a family holiday evening with my closest California friends. When I'm lucky, some years I manage to have a Christmas, a Hannukah and a Ukrainian Christmas dinner too. Each year I remember that one year I asked my mother why we do Ukrainian Christmas when we aren't Ukrainian. She answered that it was her belief that everybody should be able to adopt the culture of their choice, without limitations due to actual genetic descent. Three mid-winter feasts a year? That's my kind of multi-culturalism.

Friday, January 06, 2006

Another Outlook connector link related to yesterday's post: caldavxp is Mark Slater's project to develop a CalDAV plugin (technically, a message store provider) for Outlook. I learned today some of the many, many ways one can extend Outlook, it gets pretty complicated I take it.

Thursday, January 05, 2006

At next week's CalConnect meeting in Utah (brrrr... but thanks Novell for hosting), I suspect one of the topics will be whether it's possible to write some kind of plugin for Outlook so that it can talk to calendar servers other than Exchange. Naturally one obvious approach is to write a generic CalDAV plugin for Outlook, and this kind of thing would make it much easier for many organizations to migrate to a standards-based approach.

The technical barriers are daunting. Outlook doesn't seem to have been designed for this kind of plugin at all. Such a plugin might have to use undocumented APIs even to work at all, and then naturally have lots of code to handle changes in those APIs from release to release. Some embryonic work is in progress at OpenConnector if anybody wants to jump right in, or I can put people in touch with each other so email me. At this point, amongst the group of people I've been talking to, we're not even convinced we have a decent approach outlined (so input from MAPI experts is particularly welcome) let alone how much work it would be. But we're starting to talk.

Monday, December 26, 2005

We're getting very, very close with CalDAV. Draft version 09 is submitted and I'm sure it will be posted soon. There's not a lot of open issues remaining (one is how to use ETags, which is the topic of lively discussions in both the CalDAV and the WebDAV mailing lists). Interoperability is pretty good already -- I got a great reception at ApacheCon when I demo'ed Chandler publishing a new event to a calendar shared on Cosmo, and then used Sunbird to refresh the shared calendar and see the new event (note that Chandler 0.6 was just released so you can do this too). We'll have one more interoperability event in January before likely finishing the draft and submitting it. We plan to do pseudo-last-calls in WebDAV and CALSIFY WGs but if you've been waiting to read the draft, it's great to get comments even before last-calls.

Friday, December 23, 2005

Tom Evslin posts with several reasons why Web sites don't provide APIs -- and yet predicts that many more will provide APIs in the future. I can add one more reason, and that's the risk that with an API, somebody would build an application that presented the data through an alternative UI, and the site would lose eyeballs. For example, if Yahoo Group calendars could be sucked down in iCalendar format, people would probably visit the site less often and receive fewer ad impressions.

Still, I agree with Tom that despite all these forces against opening up APIs,
there are even stronger forces for having APIs -- competitive advantage. Some company hoping to compete at lower cost will provide the API and try to make up the revenue in other ways or simply survive with less ad revenue. If the service is more valuable with the API people will move to that service. I hope that in a year or few, people won't stand for a calendar Web site that doesn't let them use a standard API to have direct access to their own calendar data.

Wednesday, December 21, 2005

Favorite Songs of Stalkers

6. "I Will Follow You", by Ricky Nelson
"I will follow you
Follow you wherever you may go
There isn't an ocean too deep
A mountain so high it can keep me away"
5. "I will Follow", by U2
If you walkaway, walkaway
I walkaway, walkaway...I will follow
4. "The Power of Love", by Air Supply
Even though there may be times
It seems I'm far away
Never wonder where I am
'Cause I am always by your side
3. "I'll Drive All night" by Celine Dion
So just remember -
I'm gonna make you mine
I'm gonna drive all night
till the morning light
I'm gonna roll till dawn
with the windows down
and the radio on
You know I'd drive all night
just to hold you tight
2. "Nothing Can Keep Me From You" by Kiss
Wherever you are, that's where I'm gonna be
No matter how far, you'll never be that far from me
Some how I would find you, move heaven and earth to be by your side
Oh, I'd walk, this world to walk, beside you
1. "I'll Be Watching You" by Sting
Every breath you take
And every move you make
Every bond you break
Every step you take
I'll be watching you
0. Christmas Bonus Stalker Song:
He sees you when you're sleeping
He knows when you're awake
He knows if you've been bad or good
So be good for goodness sake!
O! You better watch out!
You better not cry.
Better not pout, I'm telling you why.
Santa Claus is coming to town.

Tuesday, December 13, 2005

I posted to a couple IETF lists about yubnub.org, a nice productivity hack -- a command-line for the Web. Since I'm always looking up IETF WG charters, internet-drafts and RFCs, I found the existing 'rfc' command and added two more.

To jump to an RFC: rfc xxxx
e.g. 'rfc 2822' (don't forget space)

Internet-Draft Database Search: (shows list with filename substring match): ids keyword
e.g. 'ids dusseault' to find draft-dusseault-caldav-08, but not draft-ietf-webdav-rfc2518bis because 'dusseault' isn't in the title of that one
To jump to a WG charter: wg wgname
e.g. 'wg imapext'
Now Dan Gurney has extended the 'rfc' command so you can use text as well as numbers. You don't have to remember that iTIP is RFC2447, just type 'rfc itip' in the yubnub.org interface, and see results. Thanks Dan!

BTW I personally setup yubnub to work on the address line or search box in Firefox so I don't even go to yubnub before typing my command. One less step on the way to what I need!

Sunday, November 27, 2005

For those who follow my crafty pursuits, I've just posted pictures in the gallery of the mini-quilt I finished this weekend. Well it's more of a wall hanging made with quilting (no piecing).

Also if you saw the Butterfly Quilt for Ally, posted earlier on the gallery, well everybody loves it and wants to be my niece too. I don't have an opinion from my real niece (she's only one year old, after all, and extraordinarily easily bored) but her parents love the quilt. Whoo hoo!

Saturday, November 26, 2005

It's been a busy few weeks, which is why I'm only now posting about another IETF meeting although it happened Nov 7. The meeting was the XML-PATCH-OPS BOF, and here are the official minutes.

The SIMPLE WG has been working on some HTTP extensions and using XML in order to allow instant messaging clients to interoperably edit buddy lists (stored on the IM server) and other configuration data. Special functionality to modify/retrieve XML stored on an HTTP server is rampant these days, so it seemed like a good idea to consider general mechanisms, rather than only design mechanisms limited to SIMPLE use cases. So Jari Urpalainen has been working on a general XML diff, or patch algorithm -- like Unix diff files, only specialized for XML (operations that can add or remove branches from the XML tree structure, rather than operations on lines as in text diffs).

Once the SIMPLE WG was potentially working on such general mechanisms, it seemed like a good idea to hold a BOF (Birds Of a Feather) meeting to see if there were general use cases and find or identify other potential IETF participants. Some places where we thought we'd see interest:
  • WebDAV allows authors to collaborate on documents stored on HTTP servers. Sometimes these documents are quite large and it would be useful to be able to upload changes without sending the entire file again. In fact, Adobe engineers have talked to me about this -- some of their WebDAV functionality is intentionally designed to limit the number of times large files are exchanged between client and server, so that the user isn't constantly waiting for slow uploads or downloads. Obviously an XML patch format only works if the document is in XML, but some Adobe tools do support XML formats (e.g. InDesign). Another piece to this puzzle is the HTTP PATCH operation I've proposed, an idea I intend to come back to shortly particularly if I get any help (hint, hint).
  • The NETCONF WG is pursuing ways to interoperably configure network devices and has also settled on using XML and HTTP. They've got very similar problems of wanting to make small changes to large data sets.
  • Large Web pages in XHTML could be edited using an XML diff format to upload only changes.
  • Large Web pages in XHTML could be downloaded faster using RFC3229 and an XML diff format. A text diff is used today but an XML diff format could be even more efficient, particularly for...
  • Blog feeds. Today, a blog feed can be a large XML file, in Atom or RSS format. Today, if the ETag or Last-Modified timestamp of the blog feed changes, the newsreader client downloads the entire file. Similarly, to add a single new post to the feed, blog editing tools may have to upload a new feed file (unless the server does this magically somehow). This is really just a special case of the general "large files being shared" case, but since blogging generates so much traffic it seemed worth mentioning.
Anyway, even with all these potential use cases, the only people who came to the BOF meeting with definite interest were SIMPLE WG participants. There wasn't even enough interest from outside SIMPLE to merit a separate mailing list, let alone to add non-SIMPLE requirements or
to form a separate effort. So the work proceeds on the SIMPLE mailing list. Still, I plan to keep up with Jari's work and possibly help him generalize it further -- for example, we may add the ability to make changes to text values of XML elements without replacing the entire text value.

Note that there exist other XML diff formats, but none of them are standardized. Microsoft's got one, the W3C has tackled this both for rdf and more generally (though the W3C didn't have any guidance for the IETF when we asked about this BOF), and it's been the subject of several theses: treepatch, diffxml and a survey.

Tuesday, November 15, 2005

In the past the IETF tried to discuss in a green-field manner how to internationalize email addresses and other email headers. None of the many options seemed really low-risk, however, and those discussions didn't get very far -- rat-holes being very frequent, and people having very different notions about what a solution could look like and what the outcomes and side effects might be.

The BOF I attended last week, however, was much more focused: it was about whether or not the IETF should charter a group to work on a specific experimental solution for internationalizing email addresses as outlined in several draft documents. That solution focuses on SMTP, so that "consenting adults" in an environment that wants to do i18n addresses may do so, and SMTP agents have a reasonable way to deal with these addresses when communicating to the wider world. It's a somewhat transitional approach, acknowledging that existing Mail User Agents (MUAs) and Mail Transport Agents (MTAs) won't immediately be able to handle these.

The discussion was mostly abour risks and unknowns. Some of the risks:
  • It's not known how (and when, and by whom) IMAP would be updated to handle i18n addresses, and how clean that could be.
  • It's not known how POP would be updated to handle i18n addresses (Chris Newman stepped into the line of fire here)
  • It could be difficult to manage VCards, iCalendar objects, and Web pages where mailto URLs and email addresses appear. Some of these support i18n, some don't; even ones that do may have incompatible representations.
  • Although i18n addresses are supposed to remain within these groups of consenting adults and be transformed before transmission to non-i18n MTAs, it's not known to what extent these would actually leak out.
  • When these do leak out, the user experience of email users with non-i18n MUAs could be unsatisfactory.
  • There will probably be serious difficulties when non-i18n MUAs are used to try address mail with i18n addresses -- it's possible that sometimes only an i18n address is known and the user can't figure out how to enter it or isn't allowed to by their software.

Normally the IETF is rather risk averse when there are so many unknowns, particularly when 'Net fragmentation might occur. In the past the IETF has gone around and around trying to get more certainty before even chartering a working group. This time, however, since there have been so many discussions and stalled related efforts before, the attendees took a leap into the unknown and approved the working group -- unanimously, I believe. Imagine Admiral Farragut's sailors taking a "hum" and deciding together to damn the torpedoes.

Tuesday, November 01, 2005

"Eye of Newt" Jello shots

Although it's been pointed out to me that doing jello shots at parties is more of a twenty-something activity than thirty-something, I don't care. I never did jello shots before so dammit, at our party this past weekend, I was determined to do jello shots.

The ostensible excuse was the Hallowe'en theme: orange jello shots with black "eye of newt" in the bottom. I used black tapioca pearls, the kind that are served in "pearl tea" which I love. I found packages of dried black pearls in an Asian grocery store and this worked well.
1 large package orange jello
2 c. boiling water
1 c. mandarin vodka (or other clear liquor)
1 c. cold water
1 pkg tapioca pearls (five servings)

Boil tapioca pearls -- I found it took longer than the advertised 5 minutes. Drain and rinse and distribute into little paper Dixie cups (I used about 20 but these were smallish shots). Mix boiling water and jello powder to dissolve then add liquor and cold water. Pour mixture into cups and put into the fridge for about an hour.

The paper cups are important because you have to squish the jello shot out into your mouth. Leaving the jello solid too long before serving means that the pearls get harder so don't prepare too far in advance.

Friday, October 14, 2005

Calendaring News: I haven't blogged about this in a while, so here's what's up.

  • The CALSIFY WG met at the last IETF for the first time. We found authors to revise the iCalendar suite of standards (RFC2445, 2446 and 2447). We're meeting in November in Vancouver to discuss progress and open issues on these.
  • The CalDAV proposal for standardizing calendar access (personal, group or public calendars) is going very well. We're very close to a draft we can last-call at the IETF. I'm proud to say that OSAF's Chandler and Cosmo both do some CalDAV and can test basic interoperability with other clients and servers like Sunbird and Oracle's server. I'm demoing some of this at Educause next week.
  • We're starting to think about what extra metadata is needed to do public event calendars well -- for example, good location information. There's a technical committee within CalConnect talking about this, including EVDB/Eventful people.
  • Another new CalConnect committee is discussing the application (and perhaps in some cases, adaptation) of these standards for use on mobile devices.

Sunday, October 09, 2005

I can't write as humourously as Stitchy McYarnPants of the Museum of Kitschy Stitches (Vols. I, II, III, IV and V). I'm not as up-to-date as knittykitty of the the You Knit What blog. And even (or especially) my husband thinks I'm the last person to be an authority on this subject. However, I scanned some choice pattern pics from my small collection of "antique" (meaning, completely out of style) knitting and crafting books to give you: What Not to Knit.

Thursday, September 15, 2005

Reasonable people adapt themselves to the world. Unreasonable people attempt to adapt the world to themselves. All progress, therefore, depends on unreasonable people.

George Bernard Shaw

Blog Archive

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.