Get Conversations about InsaneCats    
Mar 01st, 2004 - Planning the week
It's a scary thing when in your schedule of how you're going to get everything done this week, the words "magic" and "miracle" appear as often as there are days of the week. The words "double chocolate brownies" don't appear anywhere on the schedule, though I'm convinced that they work just as well at getting work done as waiting for magical powers. (It's been many, many years, and I still can't move that pop-can just by thinking about it. (Obviously I'm just not thinking hard enough.))

Add into the normal schedule of balancing work and school (ie: this doesn't include my problem sets and midterms this week): helping a masters student, and two PhD students, with questions they have about hacktivism, the documentary, and third world technology respectively; answering some media person's questions about being female in CS ("it's just like being male in CS, only minus being male"); trying to conquer the growing pile of dishes done in the kitchen; preparing for a giving a tutorial on Tuesday, and a presentation on Thursday; playing with Mota so she doesn't get cranky and go live in Mud's room; an undergrad committee meeting, and a student-rep meeting thereafter; and dealing with a computer that decided last night it was no longer going to load a number of applications, specifically the ones that I always need.

"It's possible to get all this done," I said to myself, "if I find some magic way to clone fully-grown versions of myself. And then convince them not to rebel and kill me."

It seemed like such a great plan. How could a plan like that go wrong? Turns out that clones are soooo cranky. They also seem relatively upset about my plan that they all get obliterated when the weekend comes around. "Look, you can complain about your imminent death after you're done preparing the presentation on dynamic type representation." They just got crankier. Sheesh: clones not solving all your problems. Who'da thought?
 

Mar 02nd, 2004 - Five random thoughts and a non-random one
Random thought: FOAFOAF lives seven houses away from my parents, but they've never heard of him. Is this a case of the world being small or the world being large?

Random thought: My project course has caused a large investment of my brain's real estate to be dedicated to the contemplation of groupware, user interface, knowledge databases, information transfer protocols, and the inadequacy of tools currently trying to provide all of them. The result? I'm finding myself becoming the Jerry Fodor of groupware.

Random thought: When I was 10 years old, I decided I solved the P = NP problem that people hanging around my house were always talking about. P had to be 0, or N had to be 1.

Random thought: from __future__ import finalExams
SyntaxError: future feature finalExams is not defined
.... damn!

Random thought: Prof Stein hugged my head and kissed the top of it today. It goes high on the weirdest moments ever list.

Non-random thought: I'm sorry, Mario, but our princess is in another castle.

Bonus random thought: Iiiii'm saaaailin' awaaaaaay...
 

Mar 03rd, 2004 - Wanted: arch-nemesis
Seeking lifelong enemy. Job description includes foiling my plans, having yours foiled by me, and fostering my permanent ambition and motivation for success by a desire to bring you to ruin. Must be extremely clever and charismatic; can be on side of good or evil (I'm flexible). Creativity and dramaticisms an absolute must.

Interested applicants should have extensive experience in creating flexible long-term plans that involve extremely complicated manipulations of world powers to achieve ultimately simple ends. Applicants who wish to play the role of evil should be interested in pursuing a cause that motivates me to fight for good (helping the coca-cola corporation to take over the world is an example of an unacceptable "evil" pursuit). Applicants who wish to play the role of good should look into acquiring a tragic history that instantly wins the hearts and minds of the public, and simultaneously provides an explanation for future sacrifices made in the name of a greater good.

The position is only open to those who are my equal on all levels, and can provide an adequate challenge. It is acceptable for applicants to have sidekicks and romantic interests, under the non-negotiable condition that they are swiftly killed in a tragic scene of violence and/or betrayal. The title of "arch-nemesis" will be revoked at any time if the chosen applicant is found to be an unworthy opponent.

Ever feel like your life would be so much more cool if you had an arch-nemesis? Or is that just me?
 

Mar 04th, 2004 - Follow not the linear path
This evening I was discussing with Jason his favourite topic for several years now: how could moos be redesigned so as to fix all the mistakes that were made the first time? (I have several PhD-theses worth of stuff to say about this topic; don't get me started. (The discussion led itself to Jason's class, where Greg was giving a presentation that night. Giggled with some of the KMDI students and somehow decided to stick around and listen (which turns out to have been a good arbitrary decision))).

The University of Westminster Hypermedia Studies masters program has asked if I can give an online lecture about moos. Another grad-level lecture. And UofT still is giving away their TA positions to those more "qualified". *sigh*. cred cred cred. It always comes back to cred.

Have an idea for an undergrad course that would greatly improve the curriculum? Sure, we'll listen. Just be the undergrad, then be the masters student, then be the PhD student, then do the postdoc, make sure there's some industry experience in there, as well as several impressive publications, and then come back and get a job with us, and after a few years we'll be happy to listen to your suggestions.

I don't like doing things in the "right" order. So let's see how many steps I can skip, shall we?
 

Mar 05th, 2004 - wiki whacking
As the Jerry Fodor [1] of internet groupware, I seem to have developed a talent for instantly finding problems with the fundamental design of 99% of the groupware handed to me, and yet I have no offerings of a better alternative, nor do I have the time to fix the existing software myself.

Today's example of this is the search for wiki software. For those of you fortunate enough to be leagues away from the internet groupware world, a wiki is a webpage whose content contains a link to a form where you can edit the content of that page. Those who think that wikis are the coolest thing since rubbing dirt on cave walls will tell you differently, because wikis contain "web words" (read: "html links") and "formatting rules" (read: "html tags") and "automagically crystallize collaborative composition in a meta-editorial discourse" (read: "people sometimes post stuff, and then others agree and post 'Me too!' or disagree and erase the first guy's stuff"), which obviously somehow makes them special.

But let's say (not as hypothetically as I'd like) I'm looking for wiki software that can allow me to do remote updates using a versioning system, instead of using the wiki editing form, and I want the versioning system to be able to establish a secure connection. Searched through Twiki, JSPWiki, Subwiki, Swiki and Quickiwiki, and didn't find what I wanted. Zwiki holds some promise, but the documentation is bad and it requires a Zope installation just to find out. Oh come the fuck on, wikis are all about versioning and none of them allow secure versioning access? What the hell is wrong with this world? [2]

The search for decent groupware continues. Though I'm beginning to recognize the fact that it's not out there. Guess I'll have to do the best of the worst thing. Hey, and all of you coders who read this and are always telling me "I'm bored...gimme something to do", have I ever got the activity for you! :)


[1]: Jerry Fodor is a cognitive scientist who comes up with absolutely brilliant philosophical arguments to rebuke people's theories of how the mind works. Fodor's attacks tend to be extraordinarily solid and just rip the theories to shreds. Unfortunately, he doesn't have very many theories of his own to offer as an alternative, and of those that he does, they tend to not be bullet-proof in the way that his attacks are. So Fodor is awesome for removing the clutter in cognitive science, but just leaves a gaping void in his wake.

[2]: I don't know what's wrong with the world, but earlier this year I figured out what's wrong with the internet.
 

Mar 06th, 2004 - CSC104
I want it. Until today, I didn't know that I wanted it -- in fact I'd hardly even bothered to glance at it at all -- but now that I have, I want it. It fits so ideally and would be such a perfect stone from which to leap, and it drives me crazy that I know that I can't have it.

CSC104. The title of the course, "The How and Why of Computing", sounds so boring that I nearly fell asleep just typing it out right now. In first year I'd been so eager to jump into real, non-self-taught programming (finally!), that I'd skipped the description of that lame-sounding course entirely to get onto the "Introduction to Computer Programming" train (which turns out to have been more like a dog sled pulled by dying monkeys than a "train", but I digress).

It wasn't until over two years later, when a call for summer instructors hit my desk (thump), that I bothered to glance at the description for this course and some of the past course websites. This course is intended primarily for students in the Humanities and Social Sciences. Social implications of the technology, an essay assignment, AI, computer security, how computers actually work, what computer science is, etc. Previous years' programming languages has been either VisualBasic, Turing or Java. "Python would be sooo perfect for this," I thought to myself. "They don't have enough time to learn what public static void main(String[] args) { means, but Python...it would be so perfect." Ideas were popping into my head faster than I was eating Mud's freshly baked brownies. (And that's a big deal!)

Intro to computers for humanities and social scientists? I am so all over that. Let me teach it. Can I volunteer and do it not for money? Can I lick anyone's shoes? Who's ass do I have to kiss to let them forget that I'm a little insignificant undergrad and be allowed to teach this course? One or two terms of teaching this, and I'd so be ready to tackle the big fish.

I'm simultaneously inspired and frustrated.
 

Mar 07th, 2004 - All grown up (sniff!)
Went to buy groceries today. When I got home and unpacked it, I realized that there was no frozen pizza, kraft dinner, french fries, ramen noodles, or any other sign that I still preferred university-style food to real, "grown up" foods. My grocery cart consisted of:

- bulla cake
- green beans
- frozen corn
- wonton wrappers
- whole mushrooms
- bean sprouts
- green onions
- leeks
- crab pieces
- steak
- peppercorn sauce
- chicken breast
- long-grain rice
- wild rice
- bowtie pasta
- cat food
- tulip plant
Gah! I think it's probably just a phase, and I'll be back to choosing between frozen pizza or chicken fingers and fries, in no time.

On a completely different note, I'm having dinner this evening with the Dean of Information Sciences at UofT. He's a totally awesome guy -- stunningly brilliant -- and though I only met him this year, he knew me when I was juuuust born and could do little more than lie down all day, eat, drool, and sometimes scream loudly. (Some things never change.) Anyway, I'm all hyped about this, because I feel like I could just stand in his vicinity and would absorb his wisdom and knowledge by osmosis. Last term at the KMDI Staff Retreat (which I somehow got invited to -- thanks Dr J), he impressed everyone who I talked to. And I getta have dinner with his family, w00t w00t w00t. Okay, I'm done now.
 

Mar 08th, 2004 - Chromatron lost its edge?
Looking for a new way to kill all your spare time? Though a very different genre from Chromatron, but an addictive puzzle game nonetheless, MOTAS reminds me a lot of the King's Quest or Island of Dr. Brain games (remember those?)

You can click here to play MOTAS, but I warn you that I will not be held accountable if you waste the next 48 hours playing: Mystery of Time and Space Adventure
 

Mar 09th, 2004 - How could I not be qualified for that?!
Okay, this is a pretty funny or sad story (I'm not sure which), so I have to share it: I'm sitting in class, making a little tree of the 14 half-courses that I have to take between now and graduation in order to get my soft eng degree. The reason why this is so complicated is that I'm doing my degree in five years and at the same time they're trying to change the curriculum, so courses I need for the old curriculum are disappearing before I can take them, and the new courses require courses that appeared after me. Plus the fact that I severely screwed myself over by taking classes in a billion different departments so now ever single class from here on in has to be computer science. Yes, it's fun being me.

Anyway, I decided to glance at a course called Programming on the Web, despite the fact that it would be a waste of a term for me to take it, since it would be more accurately named "GForge: Lite Edition", and I'd learn absolutely nothing new from it. But it turns out I couldn't have taken this class anyway.

Programming on the Web has a pre-requisite that I don't have yet: Introduction to Databases. That's okay, I have to take that class at some point (even though I'm slightly bitter about having to.) But wait! I can't take Introduction to Databases yet. Because I don't have all the pre-requisites. Before I can take Introduction to Databases, I have to take Data Structures and Algorithm Analysis. It gets better. I can't even take Data Structures and Algorithm Analysis yet! Before I'm allowed to take that, I have to take the Statistics for Computer Scientists course that I missed last year.

Let's go through that dependency tree again: I have to take stats before I can take data structures which I have to take before I can take databases, which I have to take before I can take programming on the web, which contains very very basic web programming content that I could do in my sleep.

Doesn't anyone see anything wrong with this picture??

Anyway, for those of you who care, here's what I'll be doing over the next two years, keeping in mind that very few of these were choices (doesn't mean I won't like 'em, just means I didn't choose 'em):

4th year:
Statistics for Computer Scientists (1st term)
The Design of Interactive Computational Media
Numerical Methods
Microprocessor Systems (Steve's course)
another Project Course
Computer Networks (2nd term)
Data Structures and Algorithm Analysis (2nd term)

5th year:
Introduction to Databases (1st term)
Information System Analysis and Design (1st term)
Software Architecture and Design
Introduction to AI (or Hinton's neural networks course that he wants me to take)
Formal Methods of Software Design
Compilers and Interpreters
Software Engineering (2nd term)

Happiness or sorrow will be entirely about distributing the stupid courses evenly among the cool ones, and trying to leave enough wiggle room that I get the good profs. Any of you feel like helping me convince certain undergrad associate chairs that I can skip some of these? :P
 

Mar 10th, 2004 - We like lists
I came home this evening to find an open box of Lucky Charms cereal on Mud's desk. "Alright!!", I exclaimed -- grabbing several handfuls -- and went running into my room to sort by marshmallow versus non-marshmallow (eating the boring cereal first), and then by marshmallow type according to colour. Growing up in a household where even Honey Nut Cheerios were considered to be unreasonably junky cereal (cue the Ender/fLufFy/Mud childhood sob stories), there's something that still feels forbidden about eating this stuff. That was my happy moment of the day. In contrast:

Ten things that pissed me off today...
  • py2exe. One day I'm no longer going to have to use that piece of crap software that never works with any python program longer than "hello world". And that day will be a good day and there will be much rejoicing.
  • Students who are trying to get elected on campus, for various student government bodies, with horrendously stupid platforms, but no one seems to care or question them.
  • When I got a working script that could demonstrate the concept of proxy cache poisoning...and there was no one around who would appreciate this super cool concept. :(
  • People who vote for a government that increases tuition fees, and then complain about raised tuition fees. Even if some rates go down in the future, I hope yours stay up, moron.
  • Streaming media formats that require unproportional amounts of work to save to disk.
  • Having to be polite to sexist/racist/homophobic/ableist jerks, just because they're "important" and one day it might come in handy for them to like you. It may have seemed like a good idea at the time, but it's never worth it.
  • Knowing I'm going to have to take a 2nd year course in the second term of my 4th year and there's a very good chance I'll be in my brother's class.
  • Getting asked out by someone who I think is awesome but don't want to get asked out by.
  • Biking along College where they've closed off all but one lane so you have to bike in the 5 inches between pylons and the streetcar tracks and if you go too far right you hit pylons and fall into new tar, and if you go too far left you hit streetcar track and die, but the cars behind you are impatient about being behind a biker in a single lane, so you're biking at full racing-car speeds so that you're caught up with the car in-front of you, but you're going this fast on just 5 inches and will probably end up dead just because you're allowing yourself be peer-pressured by the damn cars.
  • GForge GForge GForge. Need I say more?
 

Mar 11th, 2004 - Adders: black or 8-bit
I think I'm catching the flu again. It's my body giving me the finger and telling me to get some fucking sleep. (You can tell I'm feeling fluish when I start getting crass for no good reason.) So I won't go in to work today (I sat in my work chair for 12 hours straight yesterday), will skip a seminar I wanted to attend, and that'll give me extra time to do school stuff, and I'll be happily back on track and maybe get some sleep tonight.

Yesterday I went to go meet with UofT's accessibility technology group, to see if I could help them out in any way. Got to learn about lots of the cool stuff they do, but it's been a while since my help has felt so unwelcomed. We left it on the terms of "well, let me know if I can do anything to help in the future then" and this morning I got an e-mail with some research the lead said I could do. However it feels more like he's handing me busy-work to shut me up than actually wanting volunteered help. So now I'm stuck. The last thing I feel like doing is adding another thing to my plate if it's going to go unappreciated and unwanted (I'm not some little useless student with just too much time on her hands, jerk), but at the same I feel like it's a worthy cause that I wish I could help out with. *mutter*...

Also skipped all my classes yesterday, though I had every intention of going (I think), when a recently graduated CS student from UofT connected to the Citizen Lab chat from China. That's too big of an opportunity to give up. I found him a working proxy that China hasn't blocked yet, so he could use it to access BBC news, and he said he'd be willing to run some censor-checking software. The past year of my work is put to the test: how fast can I use the various tools I've made to whip up a China-specific censor-checking software package where all he has to do is click 'begin'? Answer: 8 minutes. As Graeme'd say, if my tools were people I'd be makin' out with them right now. Very, very pleased with how smoothly that went. 8 minutes instead of months of work.

And then at the end of the day I was supposed to attend the filming of Going Global (political TV show) as an audience member. Instead, I decided to play the VIP card (Stein counter: I've now been kissed on the head twice by Prof Stein) and went downstairs to watch the crew of a dozen people put the footage together live. Now that was cool. Learned far more watching them than I would have learned by watching half a dozen politicians argue about accountability.

Later today my group has to give a demo of what progress we've made with GForge. I feel like it's going to be a demonstration of Murphy's-Law-on-crack. Apparently the laptop we're presenting on sometimes simultaneously decides that it's going to act as its own DHCP server, then break, and then not allow connections to localhost, which is where our demo is going to be hosted. Oh goodie.

Today I'm giving life a solid B+ with a comment in the margins: "You didn't show that all the events you discussed really amount to a systematic, consistent and structured effect on anything beyond the scope of your paper."
 

Mar 12th, 2004 - Day in the life
By the time 2pm hits, I've had three cups of coffee and a can of coke, and nothing to eat; I've got the giggles, bad, and find it extraordinarily funny that my hands are shaking. It's a fairly normal day at the Citizen Lab.

Today's primary task involves designing a way to record the mounds of complicated, interconnected data that our various programs are going to start getting back. The debate is between storing them in a database and storing them in XML files, and neither seems to be perfect: there are simply too many complicated little relations. Eventually we map out a database layout and design how a bunch of scripts are going to figure out how to insert data into this twisted maze. I pity the person who is going to have to extend or change this format in a few years (probably me ;)).

Then I decide it's about time to reformat the Windows box I use for development: somehow it's also become the "public" computer when guests visit, so it's cluttered with shit and probably rolling in trojans. Backup everything and wipe the drive clean. Of course (of course!) somehow the backups failed and the filesystem got corrupted. But all the files are there, so next comes the fun of manually extracting them one by one and storing them on G's box. A few installations later, WinXP was up and happy with all of its original programs and files, but only after I shouted "G! Help!" a few times. I felt like such a wuss. Of course then I pulled together a python script to save his ass later in the day, so now we're even.

Work next week is gonna be cool: lots of programs to write to talk to our new database format and a brand new shiny OS to work with. But I promised myself that I wouldn't skip any classes next week: this week I only attended half my classes on Monday, none Tuesday, none Wednesday, half Thursday, none Friday. Bad habit, bad Catsy. But apparently I'm still doing well in my courses, so I'm not too flipped out about it.

8 pm rolls around and I'm still at work on a Friday night. I should go home and start my essay that's due on Monday. Or maybe I should go home and take the evening off: Mud's promised movies to watch and indian food for dinner. But I'm already planning to take Saturday night off for dinner with Megan Boler (whom Jason recently told I was the "most dangerous person in this university" -- so I wouldn't want to disprove my new reputation and not show up), Julia, Jason, Yuka and Hossein (of hoder fame). Maybe I'll take both nights off though. And then curse myself the next week when I have to pull three all-nighters.

Current music: the background music of Graeme playing Halo next to me (it's actually really good music! And except for the loud gunshot noises as he blows enemies to smithereens, it's quite appropriate to program to.)

Current book: GGK's latest. I blame Ender entirely.

Current drink: Another cup of coffee. Less shaking now though, after I ate lunch.

Current windows open: CDF e-mail, #citizenlab chat, Cygwin setup (still installing), ICQ to flaps, MSN to Lao, this window, IDLE Python editor window and shell, phpMyAdmin, and Nmap.

Current health: Slept for 10 hours last night (see, Mud?! I'm trying!!) but still woke up with a splitting headache. All the caffeine today made it go away though.
 

Mar 13th, 2004 - Essay day
There's something fundamentally different between waking up in the morning and knowing that you're going to spend the day writing, and waking up in the morning and knowing that it's a programming day. Though I love the programming days (don't get me wrong; I'll drool over the chance to write a sweet piece of code as much as the next geek), the writing days are so few and far between recently, that I can't help but appreciate them when they roll around.

This politics paper is worth about as much as my half-year courses' exams, so it gets two full days of attention. (This is when jayne starts laughing at me, since she's been done her paper for over a week now.) I've got books on my floor to flip through, a stack of paper to scribble on, a nice pen to write with, an Open Office document open and ready to go, and a large mug of tea to sip on. Writing days get tea; programming days get coke; work days get coffee (unless they're programming-heavy work days, in which case they get both coffee and coke). To consume the inappropriate beverage would be disastrous.

Flipping through the iTunes radio stations, trying to find something suitably inspirational, something suddenly occurs to me: this may be the last essay that I ever write for a class. The rest of my university courses have to be Computer Science ones (no choice about it). "I'll just have to make them let me take some humanities in grad school", I chuckle to myself. Problem solved.

Back to the essay day.
 

Mar 14th, 2004 - Too loud, too early
I hate being a crew member on a sinking ship and not being allowed to point out that we're drowning. The Open Source conference that I'm on the planning committee of (amused that my affiliation is listed as the Citizen Lab with Deebs, rather than Comp Sci with the CS profs) is such a ship.

When I say that it's sinking, let me clarify what I mean: we have a pretty good list of speakers, from a fairly wide assortment of disciplines. There's at least half a dozen people on the list who I would describe as someone who I'd really like to meet. So neither speaker quality nor quantity is a problem.

The problem is the fact that right now we have less than half as many people signed up to attend, as we have speakers. That means more than two speakers for every attendee. At first, I found this astoundingly amusing. Then my amusement turned into concern. Now it's back to grim amusement.

The committee is convinced that if they just wait long enough, all of a sudden a few hundred people will sign up. There are multiple reasons why so few people have signed up: they don't know what audience they're targeting so instead they're targeting no-one; it's too costly to attend; it's a bad time of year, conflicting with a dozen other events; they're not doing the right kind of advertising; etc. There is no few-hundred people just waiting to sign up at the last minute: the committee is deluding itself.

But I sit there silently. This is not the time to be "too loud, too early". The little insignificant undergrad, who technically shouldn't even be on the committee, will offer lots of suggestions, but only ones that everyone will agree with: "Instead of paying $10,000 for an online credit card processing service, why not just use Paypal?" I won't voice all the other stuff going through my head: You said you wanted the target audience to be policy makers, so why haven't you invited any? It's too early to be that loud. Observe only; manipulating can come in future years.

I can be silent and patient and learning, storing all the mistakes I observe in a large index in the back of my mind...but it annoys me nonetheless.
 

Mar 15th, 2004 - The TA from hell returns
I absolutely froze when I saw him. He was sitting on a bench, waiting for the same streetcar that I wanted to wait for, watching the traffic go by. He hadn't changed at all in two years, not even a bit, but I looked very different; wasn't sure if he'd recognize me.

He did.

"Hey.....[Catspaw], right?"
"Uh, yeah. Hi."

What do you say to an ex-TA? What do you say when it's an ex-TA and the last time you saw him, you and he were having a yelling match? And the last you'd heard of him, he was being disciplined for trying to fail you and another guy in the class because he didn't like you both? When you can still remember him saying "Who is going to believe a random first year student?", and you were laughing because he had no idea that of all the CS students in the department, he'd picked exactly the wrong one to challenge. What do you say, two years later? You say nothing and let him do the talking.

"You were in my 148 class, what? Three years ago?"
"Two."
"Oh, so you're in third year now?"
"Yep."
"Doing well?"
"Yep."

At this point I was still just stunned that it was actually him. There are some people who you assume disappear into oblivion and you'll never hear from again. But we both remembered how the term ended. His friendly questions didn't last long.

"So, I hear that they remarked your project."
(So, I hear they fired you.) "Yes."
"Mind if I ask how you did?"
"A+"

He was quiet for a few minutes, digesting that. We watched the traffic go by. I was wondering what sort of noise it would make if I pushed him into the road in front of the speeding cars. Probably more of a thump than a splat.

"What was it that I'd given you?"
"I don't remember. Something in the 40s. 42%?"
"Hrm. I guess the 90s is better than 40s."
"Yeah, just slightly."

I was curious what he was doing with his life. He was a third year student when he was my TA. Was he a grad student somewhere now? I wasn't about to ask though: the first-year me would never forgive third-year me for acting like I even remotely cared if he was dead or alive.

So we waited in silence. When the streetcar finally arrived, there were two of them, one right behind the other. He got up and got on the first one, and I waited until the second one. We didn't say anything else.

The entire ride home, all I could think about were all the cruel things that I should have said. I should have made him squirm. I let him off far too easy.

I wonder if he's thinking the same thing.
 

Mar 17th, 2004 - tir3d
t00 b3 p3rf3c7ly h0n357, 3y3 t1hnk th4t 3y3 4m 5imp1y t00 tir3d t00 ri73 0u7 a prop3r 3n7try 4 j00 411 t00 r34d. 3y3 h4v3 m4ny 7h0u9h75 r04min9 4r0und in th4t w3ird 1i7713 h34d 0f min3: 50m3 53lfi5h, 50m3 4c4d3mic, 50m3 73knik4l,...bu7 3y3 d0n7 t1hnk t4ht 3y3 h4v3 t3h 3n3r9y t00 pu7 t3hm 1n a f0rm4t t4ht c0u1d pr0vid3 4ny in73r3s7 t00 j00 wh47503v3r.

3y3 c0n5id3r3d ju57 5kippin9 70d4y'5 3n7ry, bu7 t4ht'5 wh47 h4pp3n3d y35t3rd4y, 4nd 3y3 f34r i7 m4y c4u52 a b4d 7r3nd if i7 h4pp3nd5 t00 fr3qu3n71y. 1337-5p34k i5 4 g00d 35k4p3 fr0m h4vn9 t00 b3 s3ri0us. wh3n 411 t3h "bi9 qu357i0n5" 4r3 90in9 7hr0u9h y3r h34d, bu7 y0ur b109 (t4ht, btw, c3l3br4t3d i75 fiv3 hundr3d7h 3n7ry l457 7im3 3y3 wr073) i5 7ypic411y fu11 0f 0n1y j0vi41 s4rk45m, 50m37im35 t3h 0nly 7hin9 t00 d0 i5 ri73 in 1337.

h3nc3 t0d4y.

n0 m4773r h0w b0rin9 t3h und3r1yn9 m355493 i5, i7 wi11 4lw4y5 b3 m0r3 4b0u7 t3h 14n9u4g3 t4ht j00 54y i7 in wh3n j00 54y i7 in 1337. "3y3 0wnz j00!"

(By the way, I get quite a laugh from my DVD player that displays "r00t" on the screen whenever it shows the root menu of a DVD. I'm not sure why it should amuse me so much, but it does.)
 

Mar 18th, 2004 - I'm a waste of space
Around 7 pm last night I opened up a Flash window and started playing around. Five hours later I was still working on my latest movie. Goddamn it! I so did not have an evening to kill. Now I have to set my alarm for 6 am tomorrow in order to finish work on an assignment that's due at 11 am. *sigh*.

At least I was productive with respect to the movie. Over two minutes of footage and I'm happy with where it's going. Unlike last month's project (which got moved to the "Abandoned-Flash" folder), this one might make it past the impossibly harsh critic who is me.


Tomorrow's (today's? -- Thursday's) schedule:

6 am: Alarm goes off and I wake up horribly confused. Zombie-walk over to the coffee pot and hit 'start'. Sit down on my chair and stare at the screen for about 20 mins before I remember that I'm alive. Then I somehow fumble together a poor excuse for an operating system assignment.

10:30 am: Head off to campus to drop off this assignment.

11 am: Go into the lab. Fix up the scripts I was almost done on Tuesday, and get started on the new batch.

2 pm: Skip class because work is going so well.

3 pm: Meeting with a grad student to discuss (suspense music!) being female in computer science. I'm feeling sooooo typecast right about now. Everyone wants a female CSer to interview. I'm no longer an individual, I'm just the representative for my gender in my department [1]. I think this should become my full-time job. Plus, every time I object and say "you don't want to interview me, I'm an atypical female so you'll get bad data" they just want it even more. I think I'm gonna start telling people that I'm a dude in really bad drag.

5:30 pm: Meeting with my group to ensure that they'll be able to produce for me what they say they can produce by Monday. I'm cautiously optimistic.

6 pm: Class for two hours.

8 pm: Walkin' home and then crawling into bed and getting some sleep for once.

[1]: It's been pointed out to me that I'm not doing this for me, I should be doing it for all the potential-CS females out there. Alright, fair enough. I sincerely doubt that recounting the story of my relationship with technology is going to help this at all, but if someone out there can somehow transform my narrative into useful data that will actually work towards this cause, then I shall be compliant and provide all the little stories that they could possibly want. It's not that I don't think that this is a worthy cause, I simply don't think that studying me is going to get anyone anywhere. I mean, c'mon, we all know how weird I am... ;)


What does your day entail? (See, this is the interactive part, where I ask a question at the bottom of my entry, and you can all answer in the little comments section, and fool yourselves into believing that we're a happy, loving community.)
 

Mar 19th, 2004 - Sounds needed
One of the thing google still needs to provide me with, before I hand my soul over to it in a pretty little envelope [1], is a mechanism for searching for sounds. Those of you who have been insanecatsers for long enough remember my search for the legendary banjo song (yes, I know I keep talking about it, but let's face it: that was a pretty damn amazing feat).

Whenever I'm in the middle of a good flash movie, I find that I spend a crazy amount of time searching for just the right sound effects. I'm sure if I were a proper professional I'd be making my own, but c'mon -- I make stick-people movies and can barely record my own voice without tons of crackle from the microphone. Cut me some slack.

Here are the sounds I'm currently looking for, feel free to do my work for me:
- the sound of a very heavy object swinging past slowly (the 'whooooooooooomph' noise)
- the sound of the thump of a heavy stamp falling, possibly on a stack of papers
- the subtle noise of elevator doors opening (not the bing, the mechanical noise)
- various skateboard-in-motion noises (stopping, starting, falling, slow, fast, etc.)
- a llama trying to use a crowbar but having trouble gripping it

...well, no, I'm not really looking for the last one. But don't you wish I were?

[1]: Speaking of giving google my soul (though it has nothing to do with sound-searching), I saw yet another google ad of them searching for a python programmer. "Yes! I'll leave everything behind! Take me!" But although I would luuuhve to work for the company I fawn over, it just wouldn't suit my path to world domination. Shame.
 

Mar 20th, 2004 - welcome to zombo com
Question I was asked today: Use five words to describe yourself.
My answer: I need more words to

My sense of humour wasn't appreciated.

Oh, and for those who are confused by the title, I highly recommend leaving this running overnight. It'll do wonders for your sense of sanity. I feel better already. (I can do anything!)
 

Mar 21st, 2004 - the unattainable is unknown
Gah, had my first exam dream of the year. You know the ones: for some inexplicable reason, an exam you're writing goes extremely wrong. Rumours have it that these don't go away after you stop being a student.

In this case, I was writing some Python program on paper with pen, and suddenly I look down and...uh oh! I haven't been writing code to handle CPU scheduling like I'm supposed to (I guess this is my Operating System exam, despite the Python), I've spent the last two hours writing code to use Google to scan for CPanel websites and unload an SQL injection on them, then e-mail me every hour with a list of sites that it was successful on.

I was trying to explain the situation to the TA, but he kept repeating "well maybe if you'd been to one -- and I mean just a single one -- of our tutorial classes, this wouldn't have been a problem."

Pah, and people say I don't have guilt about skipping those.

Anyway, by the end of the dream I'd decided that the only way I was going to be able to pass this exam was to write code that deleted random lines from all the programs in the directory, and then rewrote its own code to look like it wasn't malicious. That way if a TA typed up all our programs and executed them, everyone else's program would break, mine wouldn't look like the guilty party, and they'd have to grade curve the exam. (The fact that these were stored in hardcopy format apparently hadn't occurred to me.)

Isn't it kind of early for exam dreams to be starting already?
 

Mar 22nd, 2004 - Monday
I think Mondays get a bad rep. Personally, I don't see how Mondays are different from any other day of the week: either I'm sitting at home programming and doing homework, or I'm sitting at work programming, or I'm sitting in class getting assigned homework. They all have the same sort of theme to it.

Tuesdays and Thursdays have traditionally been good days for me: they tended to have the least "someone please kill me" curriculum when I was younger. Wednesdays and Fridays have the same schedule this year: a small amount of class, hanging out at work the rest of the time, often skipping that class.

But the weekends? Where did "time off" go? Do I have to wait until after my postdoc before I start getting some of that? I suppose this summer I could not pack my schedule so tightly that I never see a free weekend and could actually hang out with some of those friends I never get to see....

......Nah.

Too much to do! Life is short! I'm already so far behind: wasn't I supposed to have taken over the world over two years ago? sigh. I'm falling behind...

I need a themesong to follow me around. Maybe that'd help.
 

Mar 23rd, 2004 - MacEnvy
"Hey, where'd you get the FireFox MacOSX theme?", I asked Graeme, leaning over to get a better look at his monitor. All of the tabs and forms looked exactly like he was opening a browser on our G5, not his trusty XP computer.

"It's not FireFox," he responded, minimizing his browser and revealing a very OSX-looking Notepad document underneath. "Everything's like that."

Sure enough, it was. From the fonts to the blue-bubble-buttons, it was only the standard Windows documents that he had open that convinced me that he hadn't hooked his monitor up to the latest version of OSX.

I took the screenshot on the left from my WinXP box.

The program's called StyleXP and a crack is available at your favourite warez site (which probably also has free versions of the software that you're trying to make a living from selling). Or, if you have some sort of issue with stealing, you can purchase it at tgtsoft for $20 US. Or, if you refuse to support non-free software, you can code your own and if you could get it working on Linux, you'd probably win over both KDE and Gnome's market.

Important: It should be noted that they have two versions of the software: one for each gender. You think that I'm kidding, but I'm not. For females, they have a lovely pink flavour of desktop theme. I seem to have "accidentally" downloaded the really cool OSX Panther theme from the "Men" package, instead of the lameo pink crap from the "Ladies" software package. Oops, how careless of me. This has nothing to do with my article, it just made me laugh.

Anyway, for those of you who like XP (like Graeme) or are forced to spend all your time on XP because you develop Windows-friendly applications (like me), I highly recommend giving this theme a try. It really feels like you're working on a Mac, but without a solid Unix backend, or that happy "nothing is going to crash on me" feeling.
 

Mar 24th, 2004 - Easy to please
(09:14:21) fLufFy: i feel very catspaw this morning
(09:14:27) Catspaw: giggle
(09:14:31) fLufFy: i'm here. i gots my muffin, i gots my juice. i'm happy.

I've found that the secret to happiness when you're the sort of person who's always busy doing stuff, is by being easy to self-satisfy.

Want to impress me? My expectations are very, very high. Want to challenge me? I don't mind working as hard as it takes to drive you into the ground. Want to criticize me? Better watch your back, cuz I'm liable to return fire.

But want to make me happy? Now that...that is simple.

This morning I've got a pair of HappyFeet slippers up on my desk, a mug of tea in hand (writing day) -- I'm munching on some good cereal, planning through tasks for my teammates for the next few weeks, a cat on the lap, and the sun's just starting to peek over the neighbouring buildings.

For a few moments, until I think of something that pisses me off, happy.
 

Mar 25th, 2004 - Upcoming events
Teaser: 75km to death or 50km to semi-death? And, workshop on inverse surveillance. And, Pyzzle. And, OSConf update. All this and more, tonight on 60 minutes. [ticktickticktickticktick...]

Commercial break: "I like to destroy property: drink beer!", "Your hair is frizzy: buy our shampoo!", "My kids have scurvy: buy orange juice!", "You hate your life: use tylenol!"

First story: Charles, a guy who is in one of my classes every day of the week, is helping to bring a bike event for the Heart and Stroke foundation to CSers. I've already given him the "I'm on board!" two thumbs up -- it's for a good cause, and they're closing the big Toronto highways for us to bike on; coooool! -- but some important questions remain. Namely, what quantity of killing myself am I going for here? (Bet you didn't know that death could be quantified.) The total and complete annihilation, or simply the fall over dead in pain? The options are a 50km or a 75km bike ride. (There's also a 25km, but that's for wusses). I'm strongly tempted by the 75km, except for the fact that my bike is old and rusty (to prevent further thieving) and it takes a great deal of effort just to get it in motion, never mind 75km of motion. Anyway, we'll have to see. Everyone can go sponsor those of us doing it by putting money in the jar in the CSSU. Those who don't live in Toronto can sponsor us by sending me cookies.

Second story: Jason brought me up, Steve Mann contacted me: the upcoming "major audience" (Dr J quote) event this spring is: the International Workshop on Inverse Surveillance. So of course I'm going to put in a proposal. Still don't know whether I'm gonna trick Dr J into submitting one with me, or see if anyone at the lab is interested in doing it as a lab thing, or if I'll just go solo. Probably one of the first two, just cuz it's more fun to do it with someone else. I, no doubt, will be letting you all know. :)

Commercial break: "Need friends?: Drink soft-drinks", "Stains can't come out?: Use stronger cleaner!", "Husband hate to eat healthy foods?: trick him with our product that doesn't taste healthy!"

Third story: When I first saw it, I thought to myself "okay, this sounds too neat to be true, or I would have heard about it somewhere else first". So I decided to download it. Pyzzle is a Python interface to a Myst/Riven game engine. After playing around with it for an hour or two, let me tell you: it's easy to make your own Myst-like game now. It only took me about 90 minutes and stealing a few photos off of images.google.com to put together a very, very tiny demo of a forest where you could walk back and forth between three rooms, and focus closer on a log. Small steps, yes, but remember that I'm programming all of this in Python, which means it's extremely easy to add in extra stuff. If I had a lot of time to kill, Pyzzle would certainly be on the list of things to play around with. I think someone should make a Pyzzle out of the Bahen building. Anyone got a digital camera I can steal?

Fourth story: About the OSConf, more people are (slowly) starting to sign up. They still haven't targeted the undergrad audience yet, so I think I may have to take this into my own hands in a little while and bug Flo (nudgenudge) to get the now-old CSSU to put something up on ut.cdf.general. If they got a bunch of interested students, I may even be able to get them a discount. Daniel also joined the committee, which is cool cuz now I can meet him and say "stop teaching CSC104 so much, so one of us can have a chance" ;) I have a feeling that the idea of only a dozen audience members scared everyone enough to do a better job telling all their colleagues to attend. Good.

Final statements: I'm Catspaw, I'm Catspaw, and I'm also Catspaw, and this was 60 minutes. [tickticktickticktick...]
 

Mar 26th, 2004 - Bad news: I appear to be insane
"RAAAAAAAAAAAAAR!" I shout upon waking. "Dinosaur woke up!"
"Watch out," Mud humours me back from the hallway. "Better feed him."
"He dreamt he was a fish," I explain.

I have no idea what I'm talking about.
 

Mar 28th, 2004 - Catspaw: 1 vs TA: 0
Got an assignment back with a failing mark slapped on the front. Flipped through it. Rolled my eyes. It was gonna be another one of these assignments: dealing with the prof or TA because I decided to do something different (read: use a little bit of creativity) and it didn't fit with their answer page, so zeroes were given instead of spending six seconds to try to figure out what I was doing.

Within 24 hours I'd managed to get the grade boosted twice, now sitting comfortably at an A (so much nicer than F), with promise of perhaps boosting it even further if I successfully plead my case on one of the other questions. I don't mind, since this year was better than most in terms of this problem, and I'm almost done the term. Frighteningly close to being done.

Countdown:

Two weeks of class.
Three assignments.
One test.
One large report.
Three exams.
Two presentations.

I already bought myself a package of chocolate-covered coffee beans to save for the cramming sessions which will be shortly occupying my days and nights. A very eventful time of year, it is soon to become.
 

Mar 29th, 2004 - Whoa, the system works...
Last week, if you lived in Saudi Arabia, you wouldn't have been able to visit a large number of LGBT websites. I don't mean just porn: I mean human rights type stuff. metac0m put together this bulletin about it, using our enumeration scripts. (Note: green means the webpage was good, yellow is network error -- usually timeout though sometimes the timeouts aren't "accidental", red is a block page. For those of you always asking what it is that I do all day, there you have it. Oh, and the "opennet initiative" is the official title of the collaboration between ourselves at the Citizen Lab, Harvard, and Caimbridge.)

Anyway, one week later, we get an e-mail saying that this category of blocking has been lifted (verification by us pending) as told to us by a dude at Reporters Without Borders: "Thanks for your work about gay websites in Saudi arabia. It shows that pressures sometimes work!"

There weren't fireworks that soared into the sky, and there weren't parades in the streets. In fact, I doubt more than a handful of people noticed. And I almost deleted the message without a second glance, my itchy trigger-finger hovering above the 'd' key as it waded through the swamp of spam. But the fact that it was 7 am and I was moving rather slowly forced me to stop and think about it for a few seconds.

This is the purpose of what you do, I mused. "Enumerate internet censorship to inform and educate those who are in a position to change policy." This is the whole point.

It's easy to forget that when you're writing the code, focusing on making it fast, sleek, beautiful, flawless, easy to use, easy to understand -- a true work of art.

But its real purpose is revealed when you run it: no one saw how elegantly the data was transformed by one function to the next, yet the chain of those scripts was able to create some tables for metac0m to wrap with explanatory text, and to release out into the world. And they served their purpose: the blocking is gone.

Small victory. No more than a pin-drop in the grand scheme of internet censorship taking place. But proof, for me at least, that the system works.
 

Mar 30th, 2004 - Internet security
Background: over the past year, I've spent a lot of time struggling to find a way to describe internet security moderately: cautions, without promoting irrational fear, but without perpetuating ignorance.

I've given the "internet security" talk to a dozen audiences: from describing insufficient input validation in cgi scripts to a group of Linux hackers in Guatemala; to listing the political implications of unregulated ISP surveillance to a group of technologically-inept students; to trying to discuss certificate forging with reporters, fearing at every turn that I may say a phrase that is misquoteable.

I think that every time I'm getting slightly better at it. With so many rumours circulating this topic, I find that it's extremely difficult to balance people's perceptions with facts. Sometimes I come across too strongly on the "you're too insignificant for crackers to care about you" end of the spectrum, and the audience leaves without a grasp of why internet security education is important. On other occasions, I come across too strongly on the "your communications are far less secure than you suspect" end, and the audience leaves concerned and paranoid. I'm getting better at this delicate balance, but I still find it difficult.

Today I got e-mail from a grad student who wanted to know if he could add a quote or two about me in his eSecurity paper since I'm "a professional expert." (heehee -- I wonder if that's someone who's an expert professionally, or someone who's an expert at being professional? Either way, I like this title. Could I get it on a business card or something?)

The question to answer was In your opinion, are my bank transactions secure? Here's the answer that I came up with -- I'm so happy with how it turned out, that I feel the need to share it:

Probably as secure as crossing the street is safe: there's a small chance that something might happen, but that's no reason to never cross the street. It would be silly to always stay on the west side of Yonge because you're scared of getting hit by a car if you try to reach the east side.

On the other hand, we teach children from a very young age about the dangers of crossing the street: that they should only cross with an adult, that they should look both ways, that cars are dangerous, etc.

We don't teach them this because we, as adults, are afraid of crossing the street. We teach them this so that they are aware of what the dangers are, and can take measures to avoid them.

It's the same sort of thing with your bank transactions: you should be aware of what the dangers are, and that they exist, so that you're not trying to cross the street in ignorance of the fact that cars exist.

I'm very satisfied with this response: it states my position much more clearly than I've been able to convey up until now. Maybe with a bit more work I'll be able to get the whole "internet security" talk up to this level. We "professional expert"s value polished presentations ;-)
 

Mar 31st, 2004 - Perspective
Sometimes when I sit in class it feels like I'm just in my alter-ego role of being a meek and mild-mannered student (except 49x, where I play neither meek nor mild-mannered), but my "real life" is out there: whether gradually, calculatedly, following through years of plotting and planning of how to take over the world one day, or sitting at work doing "real world" problem solving and research, or accumulating contacts and experience and cred.

Othertimes I'm being interviewed for some crappy newspaper article, or sitting on some committee, or breaking into some Iranian national router (cough), and it feels like all that stuff is just play. My "real life" is going to school, getting a degree (then the next, then the next), and preparing a good job for thereafter. I'm just a typical, insignificant third year undergrad, who happens to enjoy pretending to be one of the grownups.

I know that it's a silly intuition. Naturally they're both my "real life"; it's just a matter of perspective. But that doesn't make it feel any less weird.
 

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]