Get Conversations about InsaneCats    
May 01st, 2004 - I'm done my undergrad!!
No, hold the party, I'm lying. I'm not even done this year -- still one more exam to go. And then two more years of undergrad after that. I'm going to be goddamn dead by the time I've got a PhD. I'll be so sick of anything that is even remotely related to computer science, that I'll probably take off and go pick grapes in some huge field for a living.

I'm aware that I'm just bored with this discipline because it's the heart of exam season and what I really long for is a day of freedom. If I had 24 hours to myself, I'd sleep in late (unthinkable!), go for brunch with Mud, fLufFy and CPwr, then play videogames all afternoon, go rock climbing in the evening, come home and get some people over to order a huge pizza combo with some good movies, and then I'd fall asleep reading an awesome book. None of this studying and working from when my eyes open in the morning until when they close at night crap.

Nine years ago today I won an award at the Toronto-wide science fair for some math stuff I did on converting the Fibonacci sequence to various non-10 bases and then converting that into music notes. I was in Grade 7, feeling particularly proud that everyone else in the math category was in Grade 8.

Nine years later, today, I'm banging my head on my math textbook in hopes that maybe I'll bang hard enough, pass out, and not have to keep reading it.

Nine years from now I might be just finishing up my PhD if I do grad school at the same victory-lap pace that I did my undergrad. ....Damn, that's depressing...
 

May 03rd, 2004 - Present to me!
I bought myself a present but I'm not allowed to go anywhere near it until my life settles down a little bit (ie: when I die). I've left it at the lab. But I want to go grab it and play with it and customize it and install things on it and -- oops, I've said too much.

Yaaaaaaaaaaaaaaaaaaaaay
 

May 04th, 2004 - The day Mota learned CSC364
A few years ago I learned that I memorize concepts best when I'm explaining them to someone else. The process of inventing analogies and examples, and trying to simplify the topic to a level where it can be taught, seems to be the exact right combination for optimizing my memory retention. So, for example, two years ago I memorized insanely large amounts of Cognitive Science material by explaining it to a bot on the moo (MVS). It didn't matter that there was no one on the other end of the teaching action: the fact that I had to type it out and make my thoughts coherent enough that -- had he been able to learn -- he would have been able to understand what I was saying, seemed to work wonders.

So today, studying for CSC364 (Comp Comp & Comp), I decided that Mota was going to learn all about NP-completeness. She was curled up on my lap, purring quietly but annoyed by the fact that I kept moving very very slightly in order to do things like turn pages or breathe. "When we're converting search problems to decision problems, we have to use binary search in order to perform the conversion in polynomial time. Do you see why that is?" She stared back at me, unblinking. "Well," I continued, "what would happen if you did a linear search? What would the time complexity be?" The response was a quiet grunt. Interpret that as you will.

Anyway, it seems that cats don't appreciate the subtleties of computational complexity and computability. I was halfway through explaining what the 3SAT problem was, when she decided my lap was no longer an adequate napping location. She stood up, jumped off my lap, walked across the room, jumped onto my bed, and fell asleep nuzzled between the pillow and blankets. Dammit. I'm jealous.

One exam left. If I could just get my brain to focus for a few hours, I'd be all set. But of course I'm scheming and planning nine hundred things at once. And, though I once thought this content was pretty cool, I'm beginning to care about it approximately as much as Mota does.
 

May 10th, 2004 - I don't want to go in the cart!
I realize now that I left most of you hanging after the rising tension of exams-to-come and then a sudden gap of days passing with no entries to explain what I've been up to. Thus, though I'm exhausted and my energy would probably be better spent dragging my sorry corpse to bed, I'll write this entry.

Exams came and went. They passed much as I expected that they would: I'll do fine. Not well enough to swell with pride, but not poorly enough to be worried. I'm content to sit in this limbo of upper-mediocrity -- which was probably part of the problem in the first place. But I digress. "Hand in your papers," and it was over, with no fireworks or parade. Thank you for riding the third-year undergrad train, and please wait until it has come to a complete stop before exiting to your left, down the ramp, past the yellow line.

Since the instant that exams ended, I've been hard at work at the Open Source conference. Now there is a rant all to itself. A rant, unfortunately, that this blog is far too public to tell. But if I could go back to September, I'd volunteer to help out again, so I guess that says something.

A frighteningly high number of people at this conference have recognized me by name, face or organization. My paper was quoted by one of the speakers, on a slide to itself. Yikes! I haven't quite figured out how to balance my instinct to run from the spotlight with my opportunistic side. I think that it's my strong feeling that this attention is undeserved (I haven't done anything) that's causing the problem. The embodiment of impostor's syndrome am I.

Tomorrow night, after the conference is [finally] over, I'm participating in calling a bunch of the top Grade 12 students who are interested in CS at UofT, in an attempt to try to woo them on behalf of the department. There will no doubt be stories to tell about this experience. Then I have dinner with fLufFy, Mud, Lao, and Cecil. But then I'm planning to have my first fully relaxed night of sleep since December. And the next morning, well-rested, conference over, exams over, term over, and ready to start anew, the summer shall begin.

I'm not full-timing at the Citizen Lab this summer. Have I said that yet? I don't think I have. I'm working on an NSERC with a pair of profs and a team of students to build a lightweight framework for undergraduate team programming projects (sound familiar?). It has the potential to be a lot of fun. Of course, I'm not fully dropping ties with the lab. I'll still be around to harass them on weekends, w00t excitedly at their projects (which, admittedly, I'm jealous about not being an active member of) and plan on getting some serious work done on Psiphon during my fictitious spare time.

Three years of undergrad down.
Two more to go.

If the remaining two years are even the slightest fraction as intense as the first two, I'll either come out dead or owning an island. Then again, if they weren't at least as intense, I'd probably just be disappointed.
 

May 14th, 2004 - More media
Since I'm not in it, I'm allowed to advertise it :) CBC Radio One today had a 20 minute bit about the Citizen Lab. Rafal, Deebs and Nart are all quoted. The important thing to note is that this is perhaps the very first media bit ever where they actually include what we say about the censorship technology being developed in the States. We've been saying this for over a year, but no one ever actually puts it into the story. So props to CBC for that one.

Anyway, there are some moments you don't want to miss, including us apparently getting funded "millions of dollars" (This is news to us. Can I buy a house?), the description of Deibert, and especially the description of the Citizen Lab (at the 7th minute -- btw, that's my fridge that they mention). Links to the audio of the show here. It's worth a listen.
 

May 15th, 2004 - And now a few words from our sponsors...
TheyRule. This website gets a mention for four reasons (with apologies if you've seen it already):

1) From a political standpoint, the information presented here is very cool. Josh On has created a neat way to browse the most powerful U.S. companies and the relationships between them through individuals who belong to both board of directors.

2) The guy who does the Consumption music flash video I like links to it.

3) This is one of the best FOAF displays I have ever seen. Very well done. From a technological standpoint: bravo!

4) Mota told me to.
 

May 16th, 2004 - I'm old
"That's going to take two or three years to completely heal," I was told then. Two or three years is a very long time to an impatient teen whose entire life seemed to have occurred within her previous three years. It would take what might as well be forever, I had decided.

Remember that skateboard wound on my knee that got all infected and gross? I believe I described it on insanecats as "a colourful, gushing mound of who the hell knows what". (Squirming again yet?) And I was complaining about the "two or three years" it would take to heal.

It's gone. There's a very tiny scar on my knee, but you can barely see it.

"It must have healed faster than expected," I thought to myself this morning, as I noticed how faded it had become. Then it occured to me: it's been "two or three years". Wow. It feels like there was a rock stuck in there only a year ago. But certainly not well over two years ago.

*sigh*. I'm old.
 

May 18th, 2004 - Zig-moving
"If you could get one wish, and it wasn't more wishes, what would it be?", a friend asked me earlier tonight.

"Can I ask for compound things?"
"What do you mean?"
"Like I want both A and B?"
He shook his head. "No. Only one thing."

I gave it some thought and then finally asked, "Can I invent new words?"
"Huh?"
"Well, I mean, if I can invent a new word C, then I can define C to be A and B, and wish for that."
"No. You can't invent new words. Just choose one thing to wish for."

"Can I add as many conditionals as I want?" I asked. "I want to specify all the exact details of my wish so that there's no room for it to be misinterpreted and bite me in the ass."
He rolled his eyes. "No, the wish granter is benevolent and not trying to trick you."
"And psychic? Cuz otherwise they might just accidentally give me the wrong thing."
"Yes, sure. Benevolent and psychic."
"Then why are they only giving me one, if they're so benevolent?"
"Because it's the rules. And if you don't stop asking questions, you get no wish."

That shut me up in a hurry. Okay, only one wish. One chance to change the world for the better, or get everything I've ever wanted, or --

"I want savepoints."
"What?"
"Savepoints. Places where I can save my life and return to that point if I don't like where it's headed."
He shook his head. "That's stupid."
"You're just jealous because you only get to try life once."
"Savepoints is like the lamest answer ever. You should wish to have less lame ideas," he snickered. "That'd be a good wish for you"

Insanecatsers: what would you wish for?
 

May 19th, 2004 - Unstable isotopes
"You know what a better name for our Helium project would be?", my co-worker this summer Jason (not to be confused with Dr. J) asked. "One of the unstable isotopes of helium. We should look those up," he giggled.

The project is named Helium because it's the second simplest element: it's what's next after you've learned the very basics. Then again, I didn't point out, "Helium" is probably a sufficiently bad choice to begin with. Despite its abundance (the second most common element on this planet), helium wasn't discovered until the 19th century, and it doesn't bind with any other elements to make compounds. Not exactly a good tag line for selling software. Our software isn't worthy of getting noticed, and isn't compatible with any other software.

Despite our giggles about Helium's possible failure, I'm slightly less cynical than I normally am with most projects, with this one. Smart people with a good idea have a lot of potential to make a good product. Plus, I believe strongly in what we're doing, which always helps. It's a needed tool on both the administrative level and the curriculum level. Now I just need to get my co-workers to start talking. They're all frighteningly silent types; especially compared to the troublemakers at the Lab whom I'm used to. Anyway, it's going to be the UI that makes or breaks us. Fortunately, it's geeks-designing-for-geeks, which geeks tend to be a lot better at. Naturally.

It's past midnight and I'm tired. Going to sleep, despite leaving much undone this evening that I promised myself that I'd get done. But after three hours of biking, that's to be expected. I suspect that Atomiks will have to tell you more about that, though...
 

May 20th, 2004 - The First Training Ride for the Becel Ride for Heart
Note: the below is a guest entry. Since I was too tired to type the experience up, I got someone else to do it ;) Enjoy!


After much arrangement, we all came together to see how far and how fast we could all go. Catspaw, Miks (me), Linuxbrad, Greg and James ventured forth into lands unknown within the great city of Toronto on our two wheeled steeds. Steeds of Doom, perhaps, but we'll leave that up to the readers' imaginations.

It started off simply enough. Meet at the Bahen Centre at 7:30. Then things got interesting. No doubt, the streetcar tracks combined with construction along College made for a death-defying combination. A traffic cone that doubted our group's intentions, fell against my warhorse.

Down Sherbourne, past the crazies, towards the lake shore. But not before my steed got nervous and left an enviable scrape down my left shin. Our battle against the roads had begun to spill blood. The riders and mounts could taste it in the air. Our victories would no longer be easily won.

At last, upon the shores of Lake Ontario, we set out eastward. Despite some horrific navigation by this humble scribe, we continued on our path. Across the metal lines bearing weighted hunks of steel, past ignorant rollerbladers, through parklands. Abruptly, our path ended, and we found ourselves at a loss as to how to continue. An excellent time to rest, and replenish ourselves.

We were witness to many strange things. A lone piper at the water's edge. Should I ever learn to play a didgeridoo, I agree with him that this would be an excellent place to practice. A well-fit gentleman cyclist that was performing push-ups with his feet well above his centre of gravity. It looked hard, to be sure.

Definitely the highlight of the evening was money, falling from the sky. More accurately, from an unobservant rollerblader. $20 will go a long way towards keeping the group fed on the next trip. And to think we were about to spend it but on ale and spirits.

Our return trip took us farther than our arrival. Down the end of Leslie Avenue, and into Tommy Thompson Park. The locked gates did not impede us, for there was an easy method to bypass them - but to walk around. Into the waning light we sped forth. Our wanderings through both marshland and wasteland came to an end, with a stunning view of the city skyline.

Catspaw pulled out her pretty 12" wonder. Not too surprisingly, no open wireless networks. Well, no networks, for that matter. What was surprising, however, was for once, our cell phones had clear reception.

The group could not come to a consensus as to whether or not to return from whence we came, and how to come about it. Back into the depths of the bicycle trails, until our group split. Those who would travel west, and those who would travel north. As a warning to all those planning to do the 50k up the DVP, getting to Bloor is a bitch. So I've heard from the second group.

Continuing across Queen's Quay, to a local Subway. James was in dire need of nourishment. I myself found it somewhat amazing that he kept up without any food, I know I usually can't. Off to the Exhibition grounds, where James made a mockery of the traffic lights. Not something I'd do personally, and I thank Catspaw for stepping in when the lights' timing became to onerous.

James' workplace is sweeeeeeeet. Something about educational movies at the Ex. Storyboards! They do exist, not just as an extra on a DVD! And the theatre. Let me tell you, if it is as well equipped as he says, I'm so bringing "The Lion King" down, just so I can watch it on the 60x20 foot screen. I need to see the stampede scene with full 5.1 sound.

This was the end of our first trip. It was a success, despite the many wrong turns and leaving each other behind. I personally commend Catspaw for completing the entire trip with her iBook in her bag.

Statistics:

-5 riders
-4 liters of water consumed
- ~45 kilometers ridden
-2 mentions of "Serial Experiments Lain", with the wires freaking us out
-3 hours
-0 cops
-$20
-1 bag piper

Atomiks - Der Fahrradritter
 

May 24th, 2004 - Brazil: insert your jealousy here.
It's a bright, rainy Monday afternoon -- just the way I like it -- and I'm sitting on my bed, getting a bizarre amount of enjoyment out of typing away on my laptop, having great music playing, a bowl of stirfried veggies [1] and rice sitting next to me, and Mud talking to Mota in the hallway. I'm using the extra holiday day today to get some work done: papers to write, programming to do, e-mails to be answered, etc. That being said, I've promised myself that I'll play some videogames tonight to make up for working during the day.

Current windows open on laptop:
- This one
- PulpFiction Lite (the OSX RSS aggregator I'm favouring)
- E-mail
- Various IM windows
- My hacktivism paper
- IRC chat with Robert about going to Brazil next week
- Pyre backu---wait, what was that last one??

Now that it's been made as official as it's getting (assuming that nothing goes horribly wrong), allow me to say it on here: next week I'm heading to Brazil for a week, specifically to Porto Alegre. There's a meeting happenning there to "gather people who work for FOSS and NGO and try to map the issues and possible common projects". My trip there is being paid by CIDA who apparently were deceived into thinking it would be worth their money to send me down there. ;)

Nart, being an ever-practical kind of d00d, advised that I figure out beforehand what I plan on getting out of this. Just coasting along isn't an option, and hiding in the background like in the Toronto OSConf would make me a waste of everyone's time.

I've settled on three goals for this trip:

1) Determine NGO OSS needs - Above most else, this is a great opportunity for hearing exactly what other participants' needs are for open source software in the NGO world. Here at home I'm continuously advocating certain principles based on what I believe open source software needs in order to accomodate these users [2]. But this is a chance to hear from them directly. What do they want to see? What do they need?

2) Play Citizen Lab representative - There are no doubt a lot of useful connections that could be made between some of the people attending this meeting, and the labbers back home. The more ties that we have to the people "out there", the better our research direction, ideas, and usefulness, will be. We have lots to offer each other, so I'd like to make sure that these connections happen.

3) Reflect on where I fit - I have a sneaking suspicion I'm going to be playing in this field for a very long time to come. As with most else, I like sitting in the background for a time, to watch and learn, and then creeping above the stage and doing the puppetmaster thing. I've heard many of the great OSS minds at the Toronto OSConf now, and will soon be hearing the NGO side of it. So where's it going to go and where should I slip in? What's my role going to be in 10, 20, 40 years from now? Is this all going to work out on its own, or does it need some shoves from me to get it to where I want it to go?

I'm feeling anxious about leaving Helium for a week (yes, I know it won't catch fire in just one week), and feeling just a tad wussy about travelling alone to a country that doesn't speak English (though it'll be Good For Me), and two tads guilty about going when I'm sure there are a gazillion people who could be a more valuable benefit to the meeting than I. But all those anxieties aside, I'm looking forward to it. It's an awesome opportunity.


[1]: I visited my parents yesterday to celebrate a very late Mothers Day. Why? Because I'm a horrible daughter who didn't have time to visit until yesterday (I was right in the middle of Open Source conference mayhem during the actual Mothers Day). Anyway, before heading back home after my visit, I invaded their fridge and grabbed all of their I'm-not-an-undergrad fresh veggies. Thanks for the food guys.

[2]: One of the things I also would like to try to make clear is the idea of software's target audience. Not all software is meant for everyone, nor should it be. I don't think there should be an NMap that is easy enough to use, that someone using a computer for the first time should understand what it does; that just wouldn't make sense. So I'm not trying to advocate making all software accessible to all groups. What I am trying to push for is to connect the target audience with the real audience. There are many projects out there who have a target audience in their mind but don't actually ask that audience what they'd like to see, so they end up building something that no one uses. That's what I'm trying to fix.
 

May 25th, 2004 - Making OSX aqua icons
After spending most of the last few days thinking about software useability -- whether it be Helium, Psiphon, OSX, or general OSS -- I've decided that the "purty" factor plays a larger part in useability than it is typically given credit for. Users are more willing to be patient with software if the interface is aesthetically pleasing.

Once I came to this realization, I grudgingly decided that if I planned on playing the successful software game, I was going to need to mend some of my astoundingly poor artistic skills.

I opened up Photoshop and decided to try my hand at making an Aqua icon. Aqua is the theme used by OSX that makes everyone go "oooo" and "that's pretty" and all those sorts of noises. As expected, creating the 3D-looking glass reflective surface of Aqua icons is certainly not an easy task. On the right is what I finally produced, after a dozen tries. Just a boring blue circle, but I think that I did a fairly decent job at making it look like an Aqua blue circle. Yay me.

My next task was to try a slightly more difficult object than just a sphere. So I stole the design for the MSN little man icon, and decided to Aquafy it. The result, after a few attempts, is shown on the left. Again, not bad. I'm especially proud of his head -- all the practice for the circle above apparently paid off.

Feeling satisfied with my art du jour, I'm also feeling a little more confident about aesthetic design in general. Though interface design and icon doodling aren't exactly the same task, the attention to artistic detail is similar, and it was the part of interface design that I lacked most.

Another problem solved and new skill learned. Time for bed.
 

May 26th, 2004 - Federal Elections
"Hi," said the guy on the phone, "this is John on behalf of Paul Martin of the Liberal Party. May I ask how many members of this household are over the age of 18?"

I grin slightly into the phone and use my well-rehearsed response: "Sorry, there's no one living here between those ages. We're a household of 14-year-olds."

There's a slight pause on the other end of the phone and then, "Alright, thank you very much for your time. *click*"

It's campaign time for the Canadian federal elections. If it weren't for the phonecalls to give it away, the bright red signs (two on each lawn) lining my street certainly would. This neighbourhood, traditional Portugese in downtown Toronto, is a Liberal neighbourhood through and through. But I'm not voting in this riding; I'm voting where my parents live, where a whole range of brightly coloured signs line the streets.

It occurred to me that this is actually the first federal election where I'm old enough to vote; I missed the last one by a few days (dammit). So I waltzed over to the NDP website and officially joined the party. "As a youth under 25, our fee is only $5." Ahh, the advantages of belonging to the apathetic age group.

About an hour later there's another phone call. "Hello there, this is Jennifer on behalf of Paul Martin of the Liberal Party. May I ask how many members of this household are over the age of 18?"

Amusing myself perhaps a little too much, I deliver my line again. It provides me with the same entertainment value that it did the first time. I'm simple like that.
 

May 28th, 2004 - Non English Programming Languages?
It was on Japanese webpage that I found the solution I found to a Python problem [1] I was having. I couldn't read the comments in the code, nor the explanations around the code, but the code snippit was all that I needed to fix my problem. "It's convenient that programming languages aren't language-specific," I thought to myself, but then immediately caught my error.

Like all of the other languages I know, Python is written in English [2]. This makes it particularly easy to teach it to English-speaking students. I can hand a snippit of Python to someone who has never written a line of code in their life and chances are that they can guess somewhat accurately what it does. print "Hello, world" "Hmm, does it print hello world?". I'm not claiming that any English speaker can read any programming language within a matter of minutes. What I'm claiming is that you have to admit that the word "print" is a lot more obvious about what it's doing than if the keyword had been a little squiggley line with a cross through it. Even something less intuitive, like Java's public static void main(String[] args) { is fairly easy to remember once you learn what it means, because the keyword "public" being used has some relationship to your notion of "public" in the real world, etc.

So here's my question of the day: why aren't there any non-English programming languages?

Am I just missing them but they exist out there? I did some looking around but could only find two: a Hebrew programming language project, and a Forth system with an optional Korean wordset. That's it.

Why aren't all programming languages supporting as many languages as they can get their hands on? Why aren't there plug-ins for people to write aliases for the keywords and modules and functions and documentation in your language of choice? All IDEs should come with the ability to translate between someone's German Java source code to a Japanese Java that you can read. Having to teach English words to those learning Python in other languages seems, to me at least, like you're wasting one of the best features of the language: readability.

Why is no one on this? What are the problems that I certainly must be overlooking?

[1]: Yes, sometimes even I don't know the answer to everything without looking it up. It shocked me too.

[2]: You can insert an anti-Perl joke here if you'd like, but I'm trying to be serious. Even Perl is, illegible or not, written in English.

 

May 29th, 2004 - How do you aggregate?
RSS feeds have rapidly become an essential part of many people's daily web surfing. I no longer have to consciously remember to check up on what's happening in the world, because everything from the news, to my favourite comic strips, to the blogged thoughts of many of you, sit in my little RSS aggregator Inbox for when I have a few moments to glance at them.

When I compose insanecats entries, I'm very aware of the fact that my first sentence and a half is all that the RSS viewers are going to see when they decide whether to read the whole entry or not. Ever since I wrote the RSS feed, the number of odd, abstract starting sentences in my entries have decreased dramatically and been replaced by something a lot more like the start of a news article.

Curious how many of you get your insanecats fix by an RSS aggregator, I decided to take a peek at the access logs. Between rss.py and rss_comments.py, the following are top RSS aggregators that visit my site and the number of hits they've recently made.

Python-urllib31447
Mozilla29302
gnome-vfs11400
NetNewsWire10779
TrillianPRO/2.08159
Bloglines6761
<No user agent>6467
FeedOnFeeds1386
SharpReader1331
Feedreader1261
Other9274

It's interesting that Python-urllib is so high up. The first RSS aggregator I used was a homegrown Python script (I later switched to FeedOnFeeds, and on my iBook I now use the very pretty PulpFiction) and it seems that many others are also using Python to do their aggregation. Anyway, interpret those stats as you'd like.

Between RSS aggregators, GoogleAlert and the growing preference for e-mail, I can't help but wonder if there's an increasing trend towards Push online communications (having the information sent to you, as opposed to you having to go and actively seek the information) and what this is going to mean for websites. Hmm, maybe I'll add google ads to my RSS entries and start a new trend of evil ;-)
 

May 30th, 2004 - Ill equipped
A little under a year ago, I sat across from a row of old Guatemalan men who, one by one, told us the stories of how their families and villages were murdered during the genocide. We heard about the people who were chased into the fields and hunted, and entire groups who were locked into a church that was burned to the ground. Though their words were spoken in Spanish, and we had to wait for the translation every few minutes to understand what they were saying, the tears in their eyes often said enough.

After we'd heard these stories, Graeme and I went upstairs to where we were supposed to be installing a webcam security system for the NGO we were visiting. We encountered an extraordinarily large number of technical difficulties while we attempting to do so, and I laughed probably the hardest that I've laughed in the entire year. We simply got the giggles, the two of us, and couldn't stop laughing. Even then I was aware that my laughter was simply a defense mechanism. How else can you deal with being asked to solve DHCP problems with broken hardware, after hearing people tell you how they lost their wives, parents, neighbours and children? It was too paradoxical of a situation for me to parse at the time. Laughter was as good of an emotional release as anything else would have been.

These brief minutes in time were on my mind tonight. It's 4 am. The rest of the city is asleep. I should be too.
 

insanecats.com



CC License
Creative Commons License
Shameless hypocrisy
This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.


Archives
2009:
[Jan] [Feb] [Mar] [Apr] [May] [Jun] [Jul] [Aug] [Sep]

2008:
[Jan] [Feb] [Mar] [Apr] [May] [Jun] [Jul] [Aug] [Sep] [Oct] [Nov] [Dec]

2007:
[Jan] [Feb] [Mar] [Apr] [May] [Jun] [Jul] [Aug] [Sep] [Oct] [Nov] [Dec]

2006:
[Jan] [Feb] [Mar] [Apr] [May] [Jun] [Jul] [Aug] [Sep] [Oct] [Nov] [Dec]

2005:
[Jan] [Feb] [Mar] [Apr] [May] [Jun] [Jul] [Aug] [Sep] [Oct] [Nov] [Dec]

2004:
[Jan] [Feb] [Mar] [Apr] [May] [Jun] [Jul] [Aug] [Sep] [Oct] [Nov] [Dec]

2003:
[Jan] [Feb] [Mar] [Apr] [May] [Jun] [Jul] [Aug] [Sep] [Oct] [Nov] [Dec]

2002:
[Jan] [Feb] [Mar] [Apr] [May] [Jun] [Jul] [Aug] [Sep] [Oct] [Nov] [Dec]

2001:
[Aug] [Sep] [Oct] [Nov] [Dec]