White Out

Like this post.


Project Organisation

So I just wrote a post below on my AI project's code framework and here are some additional thoughts on general project organisation.

My group sends files back and forth in e-mail. It's awful. I was using a broken version of some of our own software for half a week because I was using the latest thing I received in e-mail. Also, we always run the danger of using old results. Yikes.

Things that would have been good:

  • Using a file repository, like git, so we could access the latest results and code
  • Having a group web page where my group mates could download the last generated results or start a new generation run. That is, one canonical place to access them from.
  • A group task list.
  • Blah

I suddenly grow tired of writing and will take a nap.

Frameworks for Science

My AI project uses software from different places on different platforms to do different things. Briefly,

  • software to calculate measures of entropy: JE, MI, an VI. Written in Java by a group mate.
  • software to split our datasets into 5 folds. Written in C# by another group mate.
  • software to generate association rules for our dataset. A binary provided by Christian Borgelt.
  • software to measure the performance (accuracy, precision, recall) of the class association rules. Written in C# by a group mate.
  • Excel to look at the data.

Most of those have GUIs that my group originally intended on using. Because I hate wasting time and using the mouse, I've since created a BASH script framework to automate it all.

Our Framework

First I went to each piece of software we owned and modified it to work in a headless manner. Instead of giving input through the GUI, we do it through command-line arguments. Instead of displaying the output in the GUI, it outputs it to a file or to stdout (to be piped into a file). For Borgelt's apriori software, there is a command-line binary already, so we figured out the parametres it would want to match the GUI we had planned to use.

Then, I wrote multiple small scripts, each handling one task, and then chained them together, so we can go from a single directory with CSV datasets, to generating entropy, generating rules, selecting only the rules we want, testing their classification ability, doing feature selection on the original datasets across over a dozen different proposed entropy thresholds, generating rules on those featured selected sets (over a dozen for each dataset and measure combination), and then testing classification performance for those reduced feature sets.

Then there's a script that averages and batches together all the performance results across those combinations of dataset-measure-threshold-fold (5 data sets x 3 measures x 16 thresholds (just checked) x 5 folds = 1200 records) and creates a single 240 record spreadsheet reporting fields dataset, measure, threshold, avg. accuracy, avg. precision, avg. recall, and time to generate the rules.

It completes the first four datasets in around ½ an hour. The fifth one is larger and takes a few hours, so I usually start working with the results from the first four first. :D

AI Project and the Evils of Group Work

Believe me, I understand the value in working in groups in school. You really learn how to work alongside others and how to handle all the added complexity and planning, and you might even make friends. I know there's much more to it than that, too. But regardless, I have sincerely disdained every group project I have yet to work on and wish to avoid doing it ever again.

Our project looks at the use of entropy in feature selection. Each of the group members has been flaky at one point or another. However, with our final paper due on Tuesday, one of our group members has not communicated since we last talked on Thursday in class, and also failed to do almost any of her work for the presentation the week before.

This means I'm going to lose the rest of my time until Tuesday to compensating for that. I have another class which has a project due in mid-December which I haven't started, and for which I have yet to submit my project proposal(!) despite it being almost three weeks late! This is ridiculous! And I just don't have the time to fix it. Back to toiling away in the misery that is group work.


First Semester

I feel like I've not been getting everything I should have out of this semester. It started well enough, but things have kind of fallen apart. A late assignment. Uninspiring group work. Missed trains. I'm trying to salvage it, and it stands to reason that some rescue should be possible, but it does affect my enthusiasm, feeling as though I'm missing out on a great opportunity for education.

I've been too tired to concentrate during or have plain missed too many of my Natural Language Processing courses. It's partly the consequence of having to take a 4:45AM train there, and getting back to London late on Tuesday night to begin with. It's hard to get to sleep before going to class, so sometimes I try to stay up or just sleep a little, and I end up sleeping through, or arriving sleep deprived. It's awful. And this is otherwise one of my favourite courses in my University career, and the last few lectures are just foggy in my mind.

I don't work well in groups. At least not in school. I have worked well in groups outside of school a lot. I've worked well in groups outside of Computer Science, too! There's too much conflict and unbalanced interest. I'm tired of fighting it, so now I just try to flow and make sure things stay on track. That doesn't work out well either.

I am complaining today, but I hope the last couple of weeks to come will be markedly better. :) Now to go present a week late on a case study.


TypeError: 'gdb.Value' object is not callable

I like writing code in Vala recently. I'm currently writing a little parser for Pidgin logs. However, when I try running it under gdb, I often get python tracebacks within my gdb backtrace that of the type TypeError: 'gdb.Value' object is not callable.

#4  0x08052d20 in pidgin_html_log_parser_parse (self=Traceback (most recent call last):
  File "/usr/share/glib-2.0/gdb/gobject.py", line 72, in to_string
    name = g_type_name_from_instance (self.val)
  File "/usr/share/glib-2.0/gdb/gobject.py", line 59, in g_type_name_from_instance
    name = g_type_to_name (gtype)
  File "/usr/share/glib-2.0/gdb/gobject.py", line 24, in g_type_to_name
    typenode = lookup_fundamental_type (typenode)
  File "/usr/share/glib-2.0/gdb/gobject.py", line 17, in lookup_fundamental_type
    return val[typenode >> 2].address()
TypeError: 'gdb.Value' object is not callable
, log_path=0x805deb8 "/home/user/file.html", protocol=
    0x8057448 [Protocol], my_account=0x80574c0 [Account], their_account=0x8057230 [Account], error=0xbfffef98)
    at /home/user/files/mine/development/projects/myproject/PidginLog.c:3009

After thinking about it for a little while, I realised that the issue must be that my class is somehow not a GObject. I was failing to extend from GLib.Object!

So, the affected classes have now changed from:

class Foo { ... }
class Foo : GLib.Object { ... }
and all is well with the world once more.

I'm surprised that there were few other questions about this online. Perhaps everyone else is more mindful than I or fewer people use Vala than I thought.


Another Busy Weekend?

Just when you think you're caught up, you aren't, at all, remotely.

School-wise, this weekend was full of Natural Language Processing work and squeezing in what AI I could. It didn't help that my group was able to produce the files I needed to work with at 5PM on Sunday, right when I was out for the evening. I then failed to communicate this when I checked them in the morning, so they're probably wondering "Where's Richard?", especially since I was unable to get to campus again. Ugh. It's humiliating being stranded every other week. An embarrassing first semester indeed.



I've been saving up my charm all week for this Sunday evening :)

Organising People

... into lists!

Just reorganised my IM (and consequently Facebook) contact list which for the last 7-8 years has been based on a colour scheme. Group white was the absolute best person, purple were my closest friends, blue were good friends, red acquaintances, orange schoolmates, yellow workmates, grey undesirables, and black: things I didn't look at. Now it's normal, with stuff like "Guelph", "New Zealand", "Work", etc. One of the original motives, masking what I thought of the contacts, so someone wouldn't go "Hey, why aren't I under Friends?!" doesn't seem important anymore.

A Great Yesterday: a dull tale indeed

And by Yesterday I don't mean Friday but Thursday.

I broke my computer. Well, its OS installation at least. I was upgrading to Fedora 14 (yay!) after testing the LiveCD and finding things were nice. However, I foolishly needed my computer to go and interrupted the upgrade when I thought it was safe. I was wrong. The package manager and my installation were left in an inconsistent state. D'oh.

Consequently, I didn't have access to my computer for a couple days. Rather than sleeping, I spent my time trying to fix it, and having failed that, I departed for the Thursday morning train at 3:30AM not with my laptop but with a borrowed PowerBook G4 and none of my work :)

The walk was wonderful. It was November chilly. It made me glad to feel cold. To see a starry night. To have an hour-long walk to catch a train. It was wonderful, though I panicked to my girlfriend with late night phone calls discussing my dread of this and the day to come. I even recovered a couple hours of sleep on the train and then in the CS building as I waited for class.

Class itself was great. I fell asleep near the end, but the first half was all delicious as NLP usually is. Afterward, I went to attend the project demonstrations for the course I TA. Napoleonic naval battle simulations? DELICIOUS. It was nice seeing the work they had done, and seeing how it was shaped by their previous programming assignments. Also, because all the students have to interact across 5 teams that interact with each other on interfaces and functionality, there was a class-wide enthusiasm for what they were doing which I never got to experience in my undergrad. I am jealous! The latter half of the lab I spent regrading assignments and helping give grades to students whose assignments before didn't seem to do... anything. Most of the time, my marking was hindered by the process in which I tried to make it work. My reasonable protocol could not be handled by everyone, and while that deserves some deductions, it's good to be able to mark what can work and recognise the work done.

One group of students afterward invited me to join them for sushi. I figure it's not a conflict of interest as I'm still paying for myself and I don't remember student names anyway! HA. I didn't realise that we were going to go to Fuji sushi downtown, where I was already planning to go as part of OCUS Eats Out in the evening. However, I went and was glad. We discussed their project a bit, but ended up mostly eating. I will discuss the food later.

After this, I hurried back to campus to go to AI and meet my group. More Information Theory. The group work was well-divided and scheduled, hooray. Then I made my way to OCUS. At first I felt like a great outsider but our current OCUS president (?) is very inclusive, and I got a ride with PhD student who was even in OCUS during my undergraduate. It was a great car ride, and I learnt a lot, and a little gossip. We ended up having a large party arrive and got to sit in the fancy section with the long tables. Now for the food, though.

It was awful. At lunch, the green tea was served unsteeped so in the evening we just took the pot to pour it ourselves. The edamame was barely salted and we too young at lunch, so we didn't order any at supper. They forgot parts of our order and the stuff ordered first came last in the afternoon. In the evening, with our larger crowd, we were split into 4 sections, and my section waited 45 minutes for the bulk of our food while all the other sections had theirs arrive in a steady stream. I almost ate a Forest Roll because I was told it was vegetarian when it really had crab. Would recommend.

This was my first time eating All You Can Eat sushi, and I can see the appeal. You can order food gradually as you've a taste for it. You can get dessert. You can sit for a while and enjoy yourself (up to 1.5 hours, a limit to prevent you from living there). I have heard people describe it as a bad thing, as a waste of fish, with so much being eaten all at once. Since I don't eat fish, though, that one criticism doesn't apply to me, just the general overconsumption of food does, which seems somewhat reasonable if resources allow when there is cause for a feast. Feasts, I've noticed, are a big thing in human culture. Food. Nom.

While the restaurant's service wasn't great, and their vegetarian selection wasn't either, and some of their dishes were lacking in quality, the reason I went and would go again is entirely the social experience. When you want to eat with a large group, it seems like a great idea, especially since it's served almost like dim sum. Food for a group and you pick away at it. I think I'd like to have that experience with exclusively vegetarian food, though. I've had that once with my Vancouver landlady, my girlfriend, and a friend, but I'm more familiar with having to pick and choose what goes on the plate through work lunches and stuff.

The two groups were fun and funner. The first group had a vegetarian who ate fish and my evening group had another vegetarian who didn't. Since the latter and I were at different tables (the OCUS group took up TWO long tables with almost 16 people at each), we even offered pieces between tables as demand and supply allowed near the end. I remained disturbed at the difficult I have at remembering names of late. I credit it with being on campus only twice a week and dealing with so many people. In earnest, though, it's probably largely the result of passively learning their names rather than actively. At the latter, I got to talk to a PhD student who's been TAing for years and had his undergraduate in CS. Elsewise, there was a lot of humour, and once I missed my train, gossip. The gossip is somewhat strange since I have a faint idea of who a lot of the people concerned are from when I was there before, but I don't know them very well, or they're knew people who I don't know very well. My interest in gossip is benign and educational of course, and I eschew malice in it. :D

Afterward, I returned to the OCUS lounge to work but ended up finding that one of the girls had indeed bought a new comic from the Firefly universe, Serenity: The Shepherd's Tale, as had been threatened at supper. I ended up reading that and consequently was dragged along to OCUS's dodge ball game, where I loudly cheered "Sink their battleship!" and "Smash their skulls in!" and, when we had too many people on the sidelines of the enemy side "Good, you've got 'em surrounded, now blast 'em!" We ultimately lost 2-3, but our victories were truer, you know, as we won by clearing their court both times, while they only could win by having more units still on court after time.

An argument on the epicness of Scott Pilgrim vs the World occupied my double-walk back to the lounge where, in a fit of other people working, I pulled out my Ace: Dutch Blitz. 3 people quickly gave up any hope of productivity and joined me in 4 fun-filled and educational rounds before I had to depart to catch the last-possible-train-which-I-really-shouldn't-miss. I naturally left the addiction behind for them to better habituate themselves to my favourite way to play.

The bus ride down was a typical late Thursday night affair: rowdy students. My walk to the station was typical: a free muffin from the Salvation Army's late night table. My train ride home was the usual sleep-deprived fight to do something on a computer. My walk home was the usual "I just want to take a nap in these bushes" late-night affair. Once home, I talked to my girlfriend about her day and enjoyed useless speculation on life before finally sleeping for a hundred hours straight.

A couple weeks

Writing nirvana is nigh at hand! My dream of being able to write things locally in a managed way and then publish them wherever approaches. Streamlines approaches. I hope to have it in production use by January. (Winter break will be necessary to allocate time to it.) Until then, I'll continue writing the old fashioned way: one box, one location. Today's box is blogger.

School has been harsh recently. I have had an assignment that was incomplete by the due date, but the professor graciously allowed an extension. Then I felt ill (due to sleeping and eating habits I suspect) and had a bunch of grading to do for the course I TA. The marking went off well, but probably took too long to do. A number of students fared poorly, and some of it I thought was due to finickiness or transient errors. I had them come back yesterday for regrading, where anyone who didn't like their mark could argue it. Some people don't do better, some do.

Last Thursday I almost didn't want to go to school. I still wasn't feeling great, but I did, and it was a Good Thing. I went somewhat sleep deprived, as I had a lot of stuff to do like finishing preparations for a lab on Object-oriented programming (humans make great metaphors for objects, which was sort of backwards) and trying to finish that assignment, which I kept being too busy to do! Consequently, I got minimal sleep, having to get ready at 3:00AM for my 4:45AM train, filled with crippling fear of missing my stop again :| (Which happened a couple of weeks ago and retaught me that some suffering in life is a Good Thing.)

The lab I prepared went well, and even featured me spending too much money on a bake sale to get treats for the students that made it out. It was somewhat redundant, as they had just had to submit an assignment that involved discovering objects in a domain. SIGH. The lab had been delayed because I thought it would be important to do well and the week before I was too busy with a midterm and a presentation to attend to it well. I should have been more aware of their upcoming assignment though. Oh well, it turned fun.

In AI we started a set of lectures on Information Theory, which we already had in my Natural Language Processing course a couple weeks ago. Review is good. I sort of prefer NLP where explanations focus more on the mathematics of an issue, though.

Afterward, I visited multiple people, laughing with students in the lab, CIS students in the CS lounge, and dropping by OCUS briefly where I discovered new people before making a mad dash to the bus to the train to try and catch a bus to Windsor which I failed in doing.


Friday saw me catching a morning bus to Windsor to visit my girlfriend and work. There was some great fun, including carving pumpkins with friends of her, visiting Value Village, and buying a Pogoplug (not yet operational)! We also dressed funny and played games. On Halloween, we drove all the way to Guelph to do Trick or Eat. I barely saw anyone I know, especially since we incidentally signed up to go with FLASH, but the FLASHers were a fine folk and soon Princess Leia, a disgruntled Newsy, and two knights templar were canvassing the streets explicitly for foodstuffs and implicitly candy. A great haul was had, and a sidewalk attacked the princess.

More school

On Tuesday I missed my train into Guelph. It was either this week or last, as well, that I had discovered mildew on my futon frame and spent half a day cleaning as a consequence. I knew, if I would just embrace the mildew, I'd have fewer complaints. Yada, yada, yada, this Thursday in the next post.



It's strange to me how upgrading from my 2002 tablet to my 2007 tablet changed the way I consume media. Suddenly I had a computer that play back video, audio, or look at larges pictures without slowing to a crawl. Casual multimedia on the web became viable. Today, though, I still cannot play very high quality (or high definition) Flash videos. There's always something.


Chat Protocols and reliable delivery

I am slightly disturbed by software's inability to deal with frequent disconnections.  Pidgin and other software should do a better job of resyncing after the fact.  Anyway, my girlfriend and I have implemented failure detection overtop our conversations by manually numbering our messages so we can detect gaps now.  Yay!

Horrifying Tales from the Academicrypt.

Over the last week, I

  • did Lots Of Marking
  • created a lab I didn't give (the students deserved better)
  • studied and attended a midterm (which I arrived late for because I wasn't paying attention to my alarm!)
  • gave a presentation on a case study on a paper
  • worked tireless on a largish assignment for 3 days
  • failed to submit the assignment
  • did Lots More Marking and Remarking

I don't feel so good anymore, but that probably has more to do with my chaotic eating habits (I haven't had time to get groceries), and walking in the wet on Sunday for 2 hours carrying heavy baggage (Guelph buses don't run on Sunday evenings, and London's don't at 1:30AM). That's what I get for taking a train.


New Perspectives

I now do not think of fish as living underwater, but rather, as flying above their land in a superthick atmosphere! If I could fly, I wouldn't bother with technology much either!

School, not Fur

Up working late, walking in the wet, carrying heavy stuff. School is murder? I feel sick :|



I now eat full meals at my dad's place. For the past few years, I just snacked. I am wary of maturing into a 3-meal-a-day adult :|



Hooray! I can now save $10/month! Vonage's price has dropped! The promised land is here!

Clustering, Classification, Categorisation

I've divided my blog into 3 main categories that use tags to distinguish between them. There is now

#General contains my main posts, #Microblog contains what I formerly would have put on identi.ca (I plan on having it syndicated there) and #School is my attempt to keep track of my time (which all belongs to school anyway). I might create a #Photos too eventually.

I never liked writing really short blog posts, but I also dislike having my thoughts spread over the Internet in different places. I want to have One voice, which I might syndicate elsewhere. So, I'm letting blogger through Kosmokaryote be my interface to the world. Hello there.

I hope this leads to more postings here on my blog :) Sadly, I don't think I can yet create separate Atom/RSS feeds on a "category"/per-label basis. Sigh!


The camera you wear over your ear, all day, recording your life.



Aren't "Amazon Singles" just novellas and novelettes?  That doesn't seem so controversial.

Brain Cuttings

It's awkwardly a protected ebook.  I can view such books on my phone, at least.


Eaters gonna eat.   Voracious eaters gonna eat a lot.



I think every office should have an Office Cat.  I like to imagine http://www.engadget.com/2010/10/13/chumby-sprouts-legs-walks-fails-at-feline-amusement-video/ really occurred in a professional office and that is their cat.


What's that in a name?

There's a podcast called "I Should Be Writing" by author Mur Lafferty.  So obliging a title, I find it difficult to resist.


That was arduous.  I just sent off my grading review of an assignment for the course I TA.  Each time I grade one, I start off really slow and then accelerate, but perhaps not fast enough, especially with other work getting in between me and completion.  Next to mark their third assignment- oh, wait, I'm almost done that too!  I was using marking their third assignment as a procrastination mechanism when I couldn't read any more of the 2nd assignment intelligently, mwahaha!  Constructive procrastination!

It was Thanksgiving weekend, and that gave me time to finish my Natural Language Processing assignment.  A simple scanner/lexer that required use of regular expressions, JFlex, and some thought.  Parsed a simple .sgml file. The trickiest part was discovering the "/" look-ahead operator for handling apostrophized work.  That said, having all this work would have been a greater hindrance to the holiday if it was not for my amazing girlfriend who did all the driving and even prepared none-feast meals for me as I sat in front of my laptop for hours and hours and hours at a table of food or in a moving car careening down the highway.  I'm lucky :D

Left to do?  Sort out this AI group assignment which is in trouble, I dare say, and try to manage to make some progress on my actual research :|  Need to firm in stealing time for things.


Fundamental Bugs

Sometimes the nicest solution to a problem, where your software was written just fine but it crashes anyway, is to upgrade the compiler.  Oh Vala.

Another Busy Week

CIS*3750: the course I TA.

I was struggling to get Assignment 2 marked when it turned out I would need to hold a lab this past Thursday on networking, which I had expected/hoped to hold next week.  The professor was great and offered to handle creating the assignment.  (I sort of munged the last one, with too vague instructions on some points; I hope I get to create another one.)

The lab went off fairly well for my part.  It was perhaps the best lab I've created yet, with the clearest example and clearest tutorial to accompany it.  However, it probably went off worse overall as few people did their component, creating their own chat application.  Sigh!  I see the value in grading people on lab participation or lab quizzes :)  Good luck to them on their next assignment?

Anyway, yesterday I went through and reviewed all the assignment 3 submissions, which is somewhat awkward, as I haven't gotten around to finishing assignment 2.  (Work load has reached the saturation point.)

CIS*6650: Natural Language Processing

We have an assignment, which I have half-done but which is due tomorrow.  I suppose that's my task for today.  A classmate has been asking questions, sometimes largely in relation to Java, but which also cause me to think of new things on the assignment.  Yay.  I usually prefer to work independently, at least for the purity of my own thoughts, but I suppose new thoughts resulting from discussion can be useful :)

CIS*6020: Artificial Intelligence

This is beginning to feel like a small catastrophe :D  I joined a group that intended on studying one thing, but then after discussion with the professor will probably now study something different and less interesting.  Unfortunately, we can't seem to agree on what it was the professor was recommending, and our individual understandings directly contradict each other.  Are we explicitly NOT measuring the performance of these characteristics, but rather using statistical measures (which?) to understanding why they make good features, or are we measuring the features' interdependence to determine their performance?  It's been over a week and we're still not clear, and we have 5 days to prepare for a poster presentation.  It gets worse in that our group seems to find it impossible to meet.  I'm only on campus on Tuesdays and Thursdays, one group member was gone for the first week and the other one just went to Calgary.  Yikes indeed.  Wish us luck?


Given the poster presentation, the NLP assignment, the lab preparation and assignment marking, I haven't had much time to make any progress on this, which is frustrating.  I'd rather spend half of my total time on this each week, rather than near-zero.


My days on campus are almost always completely full, with any time in the long day between classes filled with meetings and administrative stuff (like OSAP and keys and forms).  Also, all my other days are full too.  I am intent on carving out something like a weekend for myself somehow.  I think it might be easier next semester if I live near campus, so I can go and hide in a library on non-class weekdays?  There isn't any nearby working spaces in London distinct from my leisurely home environment, not that I've had any time for leisure here.  It might just mean I'd have to be more efficient with eating and cleaning in a day.

Happy Thanksgiving!


Masters of the Universe

I am sure that is a tired title.  I am now attending the University of Guelph in a Masters in Computer Science.  I have four tracks of work right now.

CIS*6020: Artificial Intelligence

Lectures on Tuesday and Thursday.  Focussed around a group project.  I initially tried to work with an acquaintance, but who ended up leaving the course.  Then I tried to join a group with a linguistic focus, but it seems their interest has been swayed.  Ah well.  We have a poster presentation to prepare and perform in just over two weeks.

CIS*6650: Special Topics: Natural Language Processing

Fascinating.  I even purchased the textbook.  Lectures in the early morning of Thursday.  We have an assignment coming up soon that involves ((j)f)lex.

Teaching assistanceship for CIS*3750: System Analysis and Design in Applications

In some ways, this is the most fun course.  I conduct a lab once or nonce a week and have gotten to prepare an assignment so far, as well as comment on their first assignment.  It's the most fun so far because it's had the most work, and the class's project is a fun one.  They get to program an 18th century naval battle simulation/game.

I don't think I've been a great TA so far.  I feel like my instructions have been too vague.  I need to specify better, but I don't want to restrict their freedom.  There have also been some hiccoughs.  The first lab, I did not have the projector password.  That didn't matter much, though, as the projector console was broken anyway.  The second lab, we were the first group in a new computer lab in Reynolds, and there were hiccoughs with the students' accounts, like not having their home directories mounted.

They seem to be taking it well.  We might have a mascot, Ozzy.

Oh, yes, my research!

Initially I felt a bit frustrated, as having arrived at Guelph, I didn't really know what was going on or what I needed to do for this. After the first couple of weeks, I finally got an idea, and have even made progress toward it.

We're looking at P53 (who isn't? :D)  I am going to work on trying to determine which sites on the gene are most important to its function by comparing them to other genes which have different function.   I think :)


I am too haphazard in the tools and services I opt to use and those I don't.  It just occurred to me that all the options on the format bar in Blogger's rich text editor are here to make my life easier, and yet I often skip using many of them.  Once, I had a good excuse: they were once clumsy and stupid, like an embarrassing relative you ignore at a reunion.  Now, though, they are less so.  They are more worthy of consideration, and yet I lazily continue ignoring them, doing things the slow and stupid way.


Here is another instance of my receiving a gift I forgot I requested.  Liv's mother returned from her trip from Ireland with a wealth in modern treasure!  As Liv pointed out, Ireland has the harp on the back of their Euro coins. I also enjoy the English pence, but why does the 2 pence use almost as much metal as the 50 pence?!

Coins from Ireland and the UK

So Sew Me

I have mended my material ways as well as my materials. Hooray for renewed pants!

Hint: Very

No one knows just how excited I am to have our company joined by another fish.


During this summer while working in Toronto I was somewhat uncomfortable. I uncomfortable with my days, with how I could spend my free time, with where I was, or rather, where I wasn't, with whom I was not, with what I was not. No offence to my coworkers or to the place at which I stayed, but I was rather temporarily suspended from my normal life. At first that was alarming, but in the end it was just fine. I couldn't have been comfortable unless I also opted for permanence, which I did not.

Consequently, I was dosing myself on materialism. Yes, materialism. I used a new phone, my Nexus One, a new battery for my laptop, and the website Engadget (reporters of consumer devices) to distract myself.

Now I am back in London, I am back with Liv, I am back with friends, I am back to my room, to my space, to a lot of my habits. I am also back to Guelph, back to school, back to the atmosphere.

The distractions are now less necessary. I now get to live in an environment comfortable and happy enough to liberate me from my focus on materials. Good night Engadget.


Thursday Morning Schedule

3:40 leave house
3:50 shortly after reaching Riverside
3:55 by train overpass
4:00 by cemetery
4:15 approaching bridges
4:20 crossed bridges, about to cut through park
4:25 through park, walking streets to VIA station
4:35 at VIA Rail

Tip: do not run, and walk carefully, to avoid skunks at all turns.


Tidbits concerning Scott Pilgrim

All of this information was learned via the Wikipedia.

  • Wallace Wells is played by Kieran Culkin, Macauley's brother.
  • Alison Pill who played Kim Pine in Scott Pilgrim vs the World was also in Dear Wendy, which I saw in Toronto in 2006 in the theatre nearest where I just lived.
  • Mae Whitman, who played Roxie, voiced Katara in the animated Avatar: The Last Airbender.
  • Brie Larson, who played Envy Adams, actually is a singer/song-writer, as well as an actor.
  • Chris Evans, who played Lucas Lee, will portray Captain America soon. Brandon Routh, who played Todd, is Superman.
  • The film, which started filming before the 6th book was finished, initially intended to have Knives and Scott end up together. Thank goodness the film was adaptive enough to take the course the books ended up following.
  • Beck is the sound of Sex Bob-omb, Broken Social Scene is the sound of Crash and the Boys. Metric are the sound of Clash at Demonhead. Chris Murphy of Sloan was the guitar coach for the actors. I am under the impression that the actor's themselves at least sang the songs even if they didn't perform all of them.
  • The director obtained permission for Nintendo music by writing a letter to Nintendo describing their music as "nursery rhymes to a generation."
  • Finally, magazines who reviewed the film are all incredibly stupid and should have their staffs fired for being out of it.

Autumn Cold

I have a new monitor. I got it a couple weeks ago, but in my need to have it NOW, I bought it while in Grey County... where it then had to stay with me afar, unable to treat it how it should, like a new best friend.

It's cold. Flesherton is almost always cold. It can be sweltering in Toronto, Guelph, or London, and when I come home, I have to wear a sweater if the sun's hiding from me.

Consequently, I have a lot of fav memories (yah, I wrote "fav") of me and the cold, chilling together. I consequently grew up in sweaters and have lots of sweet memories with them. "Richard, why are you wearing a sweater? It's 27°C out!" "Go die Monica." That's an example of a sweet sweater memory. It's also a rare event, I think.

Anyway, the other day I went to play tennis and it was chilly and I had to jog a little to survive before we got to the courts, and then it was overcast and the air was rife with the aroma of freshly decayed tree rot. That was good. That was quite nostalgic. Later in the evening I was out with Liv and couldn't find an opportunity to express to her how awesome I thought the atmosphere around us was, as it grew cooler and bitterer. I think I did articulate parts of it eventually, when I was dangling of a gym set. She probably doesn't realise how much I enjoyed being out there with her at that moment, as the context might be misleading. I like calling her Olive. It seems strange now, but forget that. I will call her what I want when I want. So sayeth me, master of my mind.

So yah, the cold. My house must be devoid of anything a reasonable person could name "insulation" too. As my knowledge of thermal dynamics increases (marginally), I have improved my coping mechanisms. Rather than shivering all night until I pass out, I now cocoon myself (cocoons are amazing). It's amazing, tightly enwrapping yourself and conserving the heat your body generates, enough to get you comfortably through the night, and to prompt you to remain still for hours upon waking, for fear of re-entering the well refrigerated house of my youth. That might be why I have fewer problems with exposed food expiring outside of the fridge: there's no temperature difference.

But that time, bundled away, is great for reflection. I still do it these days a bit when I wake up and am incredibly cozy, waiting for the world to start around me. The more time I have to Think and the fewer distractions I have from it (e.g. sitting on a bus without anything but my imagination to while away (not wile, apparently[1]) the rolling minutes), the better lived my life feels. I think I remember more (or at least I am told I should) and I have more moments of quiet smiling to myself. I appreciate the people around me more and my situation: a great reduction in discontent.

So, hooray for the chilly autumn air that defined my youth, often coinciding easily with the start of new school years, precipitating the frozen, reclusive winters and echoed during the reversing spring, forgotten by summer. I am going to buy a pumpkin.

1. http://languagelog.ldc.upenn.edu/nll/?p=466


Google Talk's Voice and Video plugin available on Linux

If you go to GMail Chat and try to do a Voice and Video chat, you should be prompted to install the plugin. Sadly, it gives you a .deb (Debian (and thus Ubuntu)) package to install with. If you're using Fedora, you can follow these handy instructions.

I ran into an issue with SELinux,

[3695:3695:2615825547:ERROR:base/native_library_linux.cc(28)] dlopen failed when trying to open /opt/google/talkplugin/libnpgoogletalk.so: /opt/google/talkplugin/libnpgoogletalk.so: cannot restore segment prot after reloc: Permission denied
[3695:3695:2615892549:ERROR:base/native_library_linux.cc(28)] dlopen failed when trying to open /opt/google/talkplugin/libnpgtpo3dautoplugin.so: /opt/google/talkplugin/libnpgtpo3dautoplugin.so: cannot restore segment prot after reloc: Permission denied

As I posted in a comment at the link above, I overcame it with this:

$ chcon -t texrel_shlib_t /opt/google/talkplugin/*


I have only used it for voice so far, as I don't have a webcam with me. I used it with Google Voice's new free calling to the US and Canada. Something I didn't realise, though, was that it doesn't yet have an option for a dial-in number if you do not have a Google Voice account, in which case you can still call out and you'll show as the number 1 760 705 8888 or something like it. ( is also the IP address for one of Google's two public DNS servers.) I am eagre to have a Google Voice number, once availability exists in Canada.


Coding and Enjoying It

I haven't allocated time for pleasure programming recently, but today I did. GThumb and F-Spot don't import from my Nexus One as I'd like them to. I previously wrote a programme that would take a directory's contents and then split them across folders by the day they were created. I turned that into a small library today and wrote a very small programme that imports my photos and video from my Nexus One and splits them and deposits them on my desktop. Yay.

Oh, and I'm also writing a Top Sekret project with codename OG right now. Mwahaha.



Nightmares.  They really wake you up.  Especially when you then dwell on them.

Protective case for the Nexus One

Are you too seeking out a protective, rubber plastic case for your Google Nexus One phone somewhere in Toronto?  After questing about around the downtown for a bit, I eventually found a store that sold a bunch of different colours out near Eglinton and Yonge.  (There be a subway stop, avast.)  The store is called Sim Wireless.  It cost me $12 and came in my girlfriend's favourite colour :)

I took their card, so here's there info if you wanted to check:

Sim Wireless
1 647 344 4SIM
1 647 344 4746
220 Eglinton Ave. E, Toronto, ON

They also handle cellphone repairs and that sort of stuff.

Yay for finally finding a case!


Waves crashing against the shore

That's annoying.  Google has opted to discontinue Google Wave, amusingly due to a lack of user interest.  Really?  You might think they'd get it into a usable state before balking at the lack of user interest.

I know some people have had more luck than I with it.  However,  I was really looking forward to it reaching a state where
  • it wouldn't consume all my systems' resources if I left it open in a tab for half an hour
  • it would stop crashing when I tried to post messages, causing me to lose my hard work
  • it would stop failing to sync interminably without my realising it wasn't syncing for the last 20 minutes (causing me to lose all my work; data loss Is Evil)
  • they'd abandon that annoying, clumsy vertical scroll method
  • my user icon would stop getting lost, along with my friends
  • I could actually manage basic user functionality like removing someone from a wave
  • they'd actually notify me of updates to waves in real time rather than 2 hours later
  • advertised functionality like inserting images and videos would actually work
  • it goes on
I mean, Google Wave has encompassed many good ideas.   Yes, Google Wave itself is somewhat directionless and lacks identity, but that is a separate problem.  I am annoyed at their giving up because people like me weren't using it while it was in a state where it was unusable to people like me.  Argh.


Crispy breakfast

I just had a bag of crisps for breakfast on a bus. Yes, I distinctly dislike these early mornings, even if they herald the end of uncouth night terrors.



I just foolishly ate my second fancy buttertart in a week that has disappointed me.  Now I am poorer and have a headache. I miss Frank's store bought breed. 


Incidental exercise

I enjoy running for buses.  I enjoy running, but having something that is truly hard to be late for is always good motivation.  It's also interesting watching how others get to their just.  Some days I feel like the lone runner.


I have a lot to say

I may have a lot to recently but it either goes into a private log or private emails.  I mean to excerpt stuff from the log but until I write Streamlines, that might not happen.  Hmm.

Precious Google

I am always really reluctant to pass my Google credentials off to a web service, like Facebook. For some reason I am also uncomfortable with the idea of sharing them with some proprietary software or stuff like mobile apps.  I mean, Google deservedly knows a lot about me and I don't trust just any third party the same.   That mean it's annoying when some nice feature touching my Google account is only available through a third party.  I'll note that I generally trust local open source software though.


Sending music to an Airport Express from Linux

Where I am living, there is an Apple Airport Express with a nice set of speakers connected to it. I am running Fedora Linux, though, and am not interested in running iTunes in Wine to use its AirTunes. I looked around and found the seemingly inactive raop-play software to send my music from within Linux to the Airport Express. However, that didn't work for me.

Today I did some googling and found PulseAudio ticket 69 for adding support for setting an Airport Express as an audio sink. This feature isn't available by default in Fedora, though. After some poking around, I figured out what package I needed by doing

yum whatprovides /usr/lib/pulse-0.9.21/modules/module-raop-discover.so
to find out that I needed the pulseaudio-module-zeroconf package.

So, after doing a quick

yum install pulseaudio-module-zeroconf
and restarting pulseaudio with
pulseaudio -k
I discovered that the module still wasn't loaded, requiring me to do a quick
pactl load-module module-raop-discover
After which I checked my audio preferences again (right clicked on the slider to find them) and found under Output a new AirPort sink to feed my audio into. Hooray! Now to find out how to have it automatically loaded, preferably without a bash configuration.


3D acceleration on a G4 Mac Mini with Fedora 12

So, I'm using Fedora 12 on a G4 Power PC Mac Mini. I got the right PPC install disk, and installed it, and things went well. However, the DRI failed to start, so I couldn't use Desktop Effects, Compiz, or anything involving 3D acceleration.

I check the log at /var/log/Xorg.0.log and found "(EE) Static buffer allocation failed. Disabling DRI". It mentioned below that that I need almost 42MB of memory for this depth and resolution. The screen I'm using it on has a resolution of 1360x768.

I tried simply lowering the resolution, but this didn't help, so I googled a bit more. Eventually, I found this thread which featured the following comment:

The error below:

(EE) RADEON(0): Static buffer allocation failed. Disabling DRI.
(EE) RADEON(0): At least 9000 kB of video memory needed at this resolution and depth.

Is caused because the new xrandr module doesn't detect the
weird 1280x600 dimensions: here's what Alex said plus the solution:

Alex Deucher wrote:
> > Add the following line to the display subsection of the screen section
> > of your config:
> >
> > Virtual 1280 600
> >
> > With the new randr code we pre-allocate a framebuffer until we get ttm support.

So now I have glxgears running at a hair raising 400fps instead
of an underwhelming 30fps.



Of course, my resolution is different, but still, I generated an xorg.conf (since Fedora's X doesn't generate one itself; this was done by going to a terminal without GDM up, typing "Xorg -configure" which creates /root/xorg.conf.new, which I copied to /etc/X11/xorg.conf) and added the line like this:


Section "Screen"
  SubSection "Display"
    Viewport 0 0
    Depth    24
    Virtual  1360 768

I've omitted most of the file above. I added the Virtual line to each 'SubSection "Display"' I had, so for each depth.

Upon restarting my X server, Desktop Effects were available. Hurrah!


Just a test

This is a test.

A great test.

A test of valour!


24fps as authentic.

We're also stuck with blurry, juddery, slow-panning 24fps movies forever because (thanks to 60fps home video) people associate high framerates with camcorders and cheap sitcoms, and thus think good framerates look 'fake'.
xkcd: HDTV

Aha! I cannot recall which, but I've recently seen a film in 60fps which had that effect. Hehe. I will try to do better.


Fun research

More on the GM Electric Networked Vehicle.

Blogger: so mature after a decade

I'm not sure that it's really more mature, but it is more annoying. My last few posts were large, single paragraphs. Why? I don't know: there are newlines in the compose view in Blogger. If I check the HTML, though, they don't translate into line breaks or new paragraphs. Awesome.

Enhanced History: not as bad as Trac

So, the other day I determined that the Enhanced History plugin for Pidgin was responsible for my girlfriend's instant messenger freezing when new conversations were initiated as it spent multiple seconds reading a large archive of log files.

I went to Pidgin Plugins' website today to report it, and had to recover my password via e-mail. I now have over 200 new passwords in my inbox with verification URLs. Each time I click one, I get another 30 or so new passwords. Sigh.


I have finally converted my template for this blog from a bunch of HTML and CSS and Javascript (which was fine) but peppered with old Blogger variables to one that can interact with Blogger's new template system. It's not a complete conversion, as most of the Blogger style variables were just commented out in favour of my own, consistent style.

I am optimistic that Google will one day provide one of the best platforms for publishing online. I like Blogger, but the rest is a bit lacking still :)

Green and Clean

Yay! I needed a cleaner for a soap-scummy bath tub and shower, so I opted to go with Clorox Green Works bathroom cleaner. In part because I wanted something that didn't generate hazardous fumes (since I distrust the ventilation in this bathroom), but also because I wanted something that would biodegrade easily. Anyway, I will say that a harsher substance might have helped remove the soap scum more easily or with less cleaner, but that purported environmental benefit and the minimal threat to my own health, as well as the fact that it was effective in achieving the total removal of the soap scum, delights me and leads me to recommend it to you, who are most likely a search engine bot, rather than one of my 3 readers.

Also, Drano has an enzymatic build-up remover now called Drano Prevention. It's supposed to not be sufficient to eat through a full clog. Our drain was draining incredibly slowly and was approaching clog status, though, and it was able to handle that. The water flows freely once more. So yes, another "green" product to recommend.

Also, baking soda does wonders on making sinks shiny again. Just saying.

Let us party

Victory at last. (See the fourth slide at IEEE Spectrum)

Yes, self-navigating vehicles have long been a dream of mine, as any sort of vehicle was for some a century ago.  I wonder how well this Electric Networked Vehicle operates with non-networked vehicles driven by humans, or with deer jumping ahead of you.

Thank you General Motors for the photo.


Presume to feel about technology

I think I'd like to read more about the Theory of Unix, the Theory of Linux, the Theory of Open Source, of the Web, etc.  I want to read more about the technologies I love.  They have character, personality, goals.  I want to see more of that.  It's why I love reading Planet GNOME.  It comes out in that.  But when I go to look for books on such, there is very few.  Technical manuals will sometimes discuss the spirit and history of some technology.  The Wikipedia articles do a slightly better job, but there's very little Computer Philosophy I can find.

I'd offer to write some, but that would be incredibly presumptuous of me at this point.

Pidgin freezes when opening conversations for new incoming messages

(Short version: the Enhanced History history plugin can cause all your log files to be read and result in the UI being blocked for, in our case, up to 10 seconds, when new conversations start)

This is a problem my girlfriend has had for months.  Pidgin freezes on her when a new window (or tab) opens up for a new conversation that someone is starting with her.  She has consequently used Empathy a bit more lately. 

I decided to investigate.  I'm not too great with strace, but first I did an "strace -c" to find which functions it spent most of its time in when it was frozen.  In this case, it was "read".  Doing IO, eh?  I then did a plain "strace" during a freeze, and saw flying by dozens of reads to the chat's log files.  Why doesn't my freeze then?  I figured it might be some random problem with how the files got layed out on disk.  Before testing that, though, I asked to hear what plugins she was using.

Comparing our plugins, we quickly identified Enhanced History as the likely culprit.  Indeed, disabling that plugin resulted in the freezing ceasing.  Hurrah


Google Wave not working for over a week

I'm not sure what's wrong, but it just keeps telling me that there are Unsynced Waves. I can add a bunch of new content to a wave, but if I refresh, it disappears. Stupid Google Wave.

Neat, avatars across Google

I updated my chat avatar in Pidgin, which updates all my accounts' avatars, and which has for once succeeded in updating most of my Google avatars. I used to find that those avatars wouldn't all update together. I haven't found one that failed to update to my new avatar. Neat!

Interlocutor is working!  Well, its prototype is anyway.  I created a quick command-line Instant Messaging client using the Smack XMPP library and am using google-api-translate-java to translate incoming messages from A to B and outgoing from B to A.  Right now, I'm holding a conversation with myself, with one window entirely in English and the other entirely in German.

My goal is to write a plugin for Pidgin to do the translation for me there.  The translation library I'm using, though, is in Java, and I'd rather use a C library.

One defect so far is that I have to set both their language and the local language.  Ideally, their language could be autodetected.  I know Google Translate allows that through their web interface, but I'm not sure that anything else really does.

I think I might be able to use seed or gjs from Pidgin to connect to their Translate API via JavaScript.  Ah well.  It's fun for now.



I've been speculating over what sort of interface I would like to my computer, particularly for writing, and I think I have it.  A very thin and minimal personal log, which creates entries with titles.  The idea is that this common writing interface will give me options to send my bits and pieces to different places.  I can choose to send one to Facebook as a note, as a wall post, to identi.ca as a quick note or status update, to one of my blogs as an update, to an e-mail address, to a file, to a PDF, etc.

I think I dislike having all these different forms and textareas and text editors to work on.  I think the variety is distracting and creates mental resistance.  It probably wouldn't be so bad if I could still be using the same interfaces I was using 5 or even 3 years ago, but software and websites keep changing.

A lot of my web activities, though, are in response to other people's writing.  So, should my ideal interface pull in threads from Facebook, from GMail, from Google Reader, and let me see them there and reply to them?  Or should I pop up my interface when I click on a textarea or form in a browser and type it in my interface which will send it to the textarea or form when I'm done? 

I've often wondered why so many websites re-implement rich text editing.  Don't most computers come with relatively simple rich-text editors?  Why can't browsers just embed that, or feature their own implementation of a rich-text editor that websites can pull up?

I'll have to think about it some more.


Spell checking with multiple languages

I do most of my writing in English but I am learning German. Consequently, I try to keep my computer's user interface in German. GNOME applications often have spell-checking built in, though, and since my user's locale is set to German, so is the spell-checking.

I have long intended to write a patch for the spell checking library, enchant, to be able to automatically detect which language you're typing in based on n-grams. However, ever busy and lazy, I have instead decided to copy my English word list to be my German custom words dictionary.

So, on Fedora 12, I installed the package "words" and then copied the file at /usr/share/dict/words to $HOME/.config/enchant/de_DE.dic. Tada. It now thinks that 479829 English words are custom German dictionary entries.


HP Pavilion tx2500 overheating

So, we have an HP Pavilion tx2617 (tx2500 series) tablet computer. A while ago, it started to reach critically high temperatures and shut down. The fan is running all the time at high speeds, making it a very noisy fan. I tried a few things, including reducing the processor speed of each core to 1GHz (rated up to 2GHz). This helped a little, but as you may guess, the correct solution was to clear the vents of dust. A can of compressed air used in the corner vents returned a normal air flow and thus sane temperatures to the laptop. Hurrah.

Relevant Hewlett-Packard support details. This marks the first time that dust collection has actually resulted in heat issues for me. Neat.


Test post

I am diligently testing a new release of GNOME Blog :)


Testing patches after committing

Whoops. A patch I applied to GNOME Blog once was missing a file. (Not in the patch, just when it was applied.) I need to remember to test fresh clones of repositories after a patch was added to make sure nothing went awry. Sigh.


Replacing Linksys PAP2's AC adapter

With Vonage, I have a little phone router called the PAP2 from Linksys. It uses a 5V 2A AC adapter whose tip's polarity is positive. Through the tragedy of moving internationally, I have lost the original adapter. I have sought high and low for a replacement. To make a long story short, in Canada, I can go to The Source (formerly Radioshack) and if you go to the digital camera section instead of the AC adapter section, you can find the one adapter that will fit your needs. 2000mA, with voltages at 3, 5, 6, 6.4, 7 and 7.5V DC. I'll note that none of the plugs are the right fit, so you might have to spend another 3CAD on a K-type plug tip.


Evo Aqua


Now joining the ranks of IMAqua and DJAqua as unused but awesome plugins comes EvoAqua. A plugin for the Evolution mail client that announces aloud an incoming message's sender and subject.

It uses Speech Dispatcher, as always, to speak.

GNOME Bug 607610 has the patch to Evolution to add the plugin. I'll try to separate it out at sometime, but it will require at least Evolution 2.29.2, since it relies on functionality that wasn't around until then. So, most people will want to wait until 2.30?

Good night.

Use Gmail to handle mailto: e-mail links

My girlfriend isn't fond of her desktop e-mail client starting up to handle mailto: links to people's e-mails. I am not sure why, but even I once used an extension to make Gmail's compose window open for e-mail addresses. Well, now no extension is needed.

Go to your options window (Linux: Edit -> Preferences, Windows: Tools -> Options, I think), then go to the Applications section, and then filter on "mailto". Then, you can click the handler on the right (Evolution, Outlook, whatever), and change it to Gmail! (Or, Yahoo!, whatever.)



#General #Microblog friends #Technology life gnome music google iaido guelph fedora vegan bugs food school #GNOME linux technology #School jodo blogger gxml #Budo #Photos work web nature happy vala firefox android art Flesherton anime internet travel home open source stress kendo kosmokaryote writing animals birthday dad science security canada computers environment future cookies development german language photos programming reading sick sleep snow video winter GUADEC cell phones css fun learning love me movies people phone picasaweb ta time christmas evolution vancouver vegetarianism #Vegan Toronto ai git gsoc identity new zealand society speech vlogbrothers adventure birds communication dreams facebook google+ gseta happiness libgdata netflix night responsibility skedge stars tea tv video games wind mobile Nintendo baking cake consumerism design fedora 17 javascript memories nlp organisation photography quote tablet uoguelph Josh Ritter animalia blogging books bug encryption family humanity magic meaning memory money pidgin rain recipes speechdispatcher sushi weather #Reading Spain TAing The Frames cat chocolate cold cycling death emusic film flight genderguesser gitorious halloween health knowledge languages liv mail new years nightmares politics productivity psychology software swords the legend of zelda ubuntu web development xml xorg youtube Thanksgiving acer bc busy change conversation cooking duolingo emacs fedora 18 galaxy nexus gay rights gmail japan libxml2 martial arts materialism mozilla nerdfighteria nostalgia privacy rhythmbox sound space university upgrade valentines wahoo walking water web design Con-G Europe John Green Scott Pilgrim age animal welfare apple autumn bash blog brain brave breath of fire II calm camera canada day clothing comments confidence conservation creativity culture dance dataloss djaqua duplicity e-mail emotion english errors feminism gdom germany goals google reader gtk humour intelligence japanese laundry law light math morning moving ottawa peterborough pets philosophy pie quality research sei do kai shopping spring style summer value village vday vonage website x11 #Life New York alone anime north anxiety argument backup budo buffy business cats computer science concert copyright data loss diy eating economy education energy exercise failure fedora 19 feelings file systems flowers freedom french friend games gdata greyhound growth habits heat history house html ice cream im information java joy koryu laptop living lost microsoft mood moon muffins mystery news nz pain photo php physics pirates pizza play poverty preupgrade progress purple python rae spoon reality reflection religion rss self serialisation sharing skating social sun synergy tachi uchi testing themes thesis thinking thought thoughts transit turtles veggie challenge velociraptors violin weekend weird yum zellers API Air Canada Empathy Grimes Hank Green Hugo Jane Austen Lord of the Rings Nexus One OCUS Sudbury Trick or Eat arboretum audible autonomous automobiles beauty bike blogs browsers camping cancer canoeing celebration charity chrome cleaning colour community content corporations crafts decay decor depression depth disaster drawing epic equality experience faery fest farmer's market fedora 12 fedora 16 fedora 20 fedora 22 fedup fireworks gender ghetto ghosts glib gnome blog gnome shell google talk green hair hobocore hungry icarus instant messaging interest introspection jobs last exile luks macbook mail-notification mario meat in vitro mind mom moon festival motivation mtp ninjas oh the humanity pagans pants papers past performance perl phones picnics pitivi plastic pride pumpkin pumpkin pie quiet thrill receipts rogers rpm seminar sewing simple simplicity sleep deprivation smells soy milk speech dispatcher sports stories story telling strange streamlines swimming telephone temperature texting thrift stores time management time travel tragedy truth understanding united states urban ecosystems usability usb veganism voice volunteering webschwerver wild wireless working world yojimbo zoology Avatar: The Last Airbender Blassreiter CIS*2750 CIS*6890 Czech Republic Diablo Dresden Codak Dunedin Dutch Blitz Electric Networked Vehicle Elliott Brood Ender's Game France Fringe GNOME 3 HTC Hayao Miyazaki Mario Kart Montréal Network Manager Newfoundland Nintendo Switch Ontario Ouran Host Club Richard SVC Samsung Samurai Champloo Santa Claus Studio Ghibli TCAF US academics adb advertising aeroport algonquin amusing animal agriculture apartment ask automation awkward bad movies banana bats battery beard belladonna beta bicycle book branding breakfast brno bus buses buy nothing day cabin calgary candy cards cars catastrophe celebrate celtic chat cheap cheese childhood china chinese calendar cities clarity clean clock comics compassion compiler computer conspiracy theorists consumption context convention cookie cool cornerstone cosplay cottage country court creation cthulhu cupcakes curiosity cute dancing dark themes dbus definition deja-dup democracy despair detachment dinosaurs discomfort dns dodgeball dragon dress dust dystopia earth earth day efficiency eggs elections email enhanced history ethics evil exhausted expectations exploring ext3 ext4 fail fair trade fall fashion favourite feedly ferry focus fonts formal free friendship fruit fudge full moon furniture gaelic game boards garden gardening gee generosity genetics gimp gir gobject good google hangouts google wave government grading gratitude green roofs groups gsec guerilla gardening haircut hakama help homosexuality honesty howl hp human rights humanitarianism humility hypocrisy ice images imaqua instagram integration intellectual property internet explorer jabber jazz jelly bean jokes kernel keyboard knife labs last exile: fam the silver wing laurena lazy letters library libxml livejournal lizzie bennet loneliness loss lovely lyrics maps maturity meditation melancholy metadata microbes microfinancing microwaves moon cake morality mother music concert muso jikiden eishin ryu myth namespaces nasa nautilus nerdfighter neural networks nintendo 3ds normal normality notes obsolescence oceans open open souce open standards panasonic paper parties patches peanut butter perception personal perspectives philanthropy plants pleasant poem politeness potluck preparation problems ptp pulseaudio quidditch racism recreate redundancy relationships relax repairs resizing richard's room roomba roses rsync running sad sadness salsa samurai sanity scary schwarting seasons self-esteem self-navigating car selinux semiformal senility sensitivity sentimental sheep ships silicon motion sleeping in sms social justice software engineering solitude solutions songs soup speed spelling ssh star wars strangers stupid success sunset surreality survival skills suspense sustainability sweet sympathy symphony tardigrades tasks teaching technical communication and research methods test tests thrift tim tams time and space tired tools tracker tradition tranquillity transience trees trust tumblr twitter update user experience utopia via vihart vlog waffles warmth waste waterloo wave web comic webfonts webkit wii wiki winter is coming wizard wonder woods words xmpp yoga youth zoo #Gaming #Wishlist #anime #general 1. is anyone reading this? 1602 1984 2. you win a prize! 2008 2014 24fps 3. gimme a call to collect 404 A Short Hike All My Children Andy Griffith Argentina Armstrong House Avatar: The Legend of Korra BarTab Beach House Boston Boston Summit British Columbia Businesses C CIS*6050 Cambridge Christopher Plummer Claymore Creatures Darker than Black David Attenborough Dear Wendy Docking Station Dollhouse Earthbound England Excalibur FOMO February Fergus Final Fantasy IX Fire Emblem GError GNOME Files GSA Go Google Play Music Hunger Games I am not okay with this I believe in a thing called love I'm a wizard IRC Ikea Ireland JRR Tolkien King Arthur Lost Lagoon MIT Mac OS X Madrid March Massachusetts Matlock McGuinty Melodies of Life Merlin Michael Cera Mother Mother Mr. Tumnus Narnia Neil Gaiman New York Philharmonic Nick and Norah's Infinite Playlist Nintendorks Norns North Korea NotesFromNewYork Olympic OpenShot Orphen Orson Scott Card Oscars PEAP Pauline Johnson Pete Peterson Planet Fedora Porco Rosso Questionable Content R ROM Rent S SIM Wireless Sauble Beach Sega Sega Genesis Selenium Shakespeare She-Ra Snakes and Lattes Splatoon Star Trek Steve Grand Stranger Things ThanksLiving The Darkness The Devil is a Part-Timer The Fifth Estate The Guild The Hobbit The Stand Tianjin Tim Hortons Tolkien UI UK UX VPN Will Grayson Will Grayson Wolves in the Wall WordPerfect Xiki [General] abrt absolutism abuse academia accessibility active activism activity addiction adreama adrift adulthood advertisement air airport express airship ajax al gore alarm clock albums aldiko alice in wonderland alien alistair summerlee amateur amazon ambience ambition amy winfrey anaconda and imperfection angle angry birds anhosting animal cognition animation anon anonymity ant apache apology appearances appreciation aqualab arcade architecture arduino arrogance assassins assignments association analysis astrid asus eee top asynchronous ati attachment attitude attribution audio aural abuse authentication authenticity automake automarker avatars awesome b43 backpain backtrack3 backyard bounty bad bagel bandwidth banjo banks barbarians barefoot baseball bathroom beaches beautiful bed bees beetles being belief bellaqua benedict cumberbatch berlin bertrand russell bill gates biofabrication biology biometrics bit rot bitcoin black and white blame blockbuster bloomberg blue board games bohemian bold bon thé place bonds border boredom botany boxing day boy brain scoop brickworks broadcom broccoli browsing bubbles bubbly buildings bunnies burn bus stops butterflies buttons c# c++ cafe calendaring calligraphy camel camera obscura cameras canadian english canopy capitalism captivity careless caring cast causality cbc cedar row cello censorship certainty cgi chalk challenger changing locks chaos theory charm cherry blossoms chickadee chickens chivalry choir chopsticks chores christchurch christianity chudan church cijf cinnamon classes clif clorox clorox green works cloud cloud atlas clubs cname coca cola codeine codeviz cognition coincidence coins color comfort commons communism competence competition competitive coughing complaints completeness compliments conference configuration conflicted confusion consciousness consent conservatives conservativism console construction constructive criticism contagion contest contributing convenience corpses cough suppressants coughing coupons courageous crashes crates crayons crazy creative commons criminals crisps criticism crosscanada crowd crtc cry crying cryptic cryptozoology csh cuddles cult currency current tv curse customer service customisation cuttlefish cvs daily grind data data mining databases dating david bowie dconf debate debug symbols debugging delicious design patterns desktop desktop summit destiny dftba diet difficult digimon digital receipts disabilities disappointment discordianism discourse discoverability dispute dissection kit distraction diyode dnf doctor who doctors documentation dokuwiki doubt doughnut dpkg drab drano drano prevention dream dreaming drinking drm drowning dryers drying dtwydt ducks dvds dying dynamic typing ease easter easy ebony jewelwing ebooks ecards economics editors eeetop el paso elder neglect electronic receipts elements elitism ellen page embarrassment emily graslie emptiness empty enchant end of enterprising environmental science symposium eog epiphany eplugin equipment essentialism ether euphoria evoaqua experiment experimenting expertise extensions extortion facades faith falafel familiarity fan fancy fantasy fascism faun favicon fears fedora 11 feed me feedback festival fibonacci fiction fiddler crab field guide field identification figment figures of speech file formats finances fire fish fitness fixing flac flash light flesherton fling flexibility flour flow flying footprints forceps forgottotagit fork fortunate fortune found fragaria frameworks fraud fred penner free time freezing french fries fresh friday friend's wedding frog fspot funding funerals funny fury fuse gargoyles gdb geek geeks gf3 gi gifts gio gitlab gjs glass globalnewtgames glory gloves glue gluten gm gmo gnome keyring gnome software gnome-control-center go ninja go go transit goat gods goodbye goodfella's google assistant google books google calendar google chrome google wallet gp2x gqe grad graffiti grammar graphing graphviz grass green beaver grey county groceries growing up gtest gtg guts gvfs gvfs metadata gypsies habit hal halls hard hard drive hard drives hardship hardware harry potter hdtv heart heart break heaven 17 hemlock grove hewlett packard hijinx hiking hoaxes hobbies holidays homelessness homework honey badgers honour horatio hornblower horror hostels hosting hot house of cards hp lovecraft hugs humblebundle humbleness hunting hyperlinking hyrule i am a carpet ibm thinkpad x41 icalendar ice cream sandwich ice rain icthyology ignorant ill image image editing imagination impermanence inadequacy inaturalist inconvenience independence india individuals industry infinity ingrid michaelson inhumanity injuries ink innovation insects installation intel interactivity interlocutor internet tv invertabrates io irish irony isolation it it is indigo james bond java 13 jedi jikiden joke journalism journey judgement julian assange julie thiel justice kata kayak keys ki-ai killme kim taylor kinder kindness kirby kitchen kitzl kiva knights knots kodak koodo kung fu labels landau sacamoto late laundromat led legend lending lenovo lessons letsencrypt letstrace letter writing liberalism liberals libnotify libreoffice librpm lifehacker lilo limericks limits linksys liquid lists live wallpapers livecd liveusb loans local local food local install login london losher lots of hugs mac mini machine learning machine vision madness mae magic school bus magical maintainership majesty malaria malls mantis shrimp marine life marketing marking massages matrices maturation may seminar meat media medicine mel's diner memory leaks mental health meow mercy messaging metacity metaphor methodology mezzo forte micropayments mild mild weather military milk mindhacks minimalism misanthropy miscellany misery misfortune missed the boat missing mlp modelling moisture mold molly parker monitors monologue more cats mosquitoes moss mother's day mounting mouse moxies muffin muffinfilms mundane murder museum mushishi mushroom soup mushrooms musicals mutual funds my slumbering heart mysql nameservers nanowrimo national treasure natural language processing naturalism nausicaa navigating necessity neighbours nervous netgear network new new users newspaper hat next year ninja turtles nodelist nointernet noise noisy nominate non-root norse noses not really dying notebooks notification-daemon novels november fair nuclear war numbers numix obama obligation obliviousness obscure ocz ogg oggenc olap olive omote open formats open music openness openoffice optimisation optimism orcas orchestra oreo oreos org-mode origami oscar otr overheat owen sound package management packagekit packing paint shedding pan pancakes panda parallelism paranoia passport patents patience pattern recognition pdo peace peaceful pen pence pender penguins penmanship perfection pet rocks physical piano pickman's model picnik pidgin plugins pikmin pintsize pipelight pirate festival pizza hut plagiarism planning plans playground playlists plumbing plushies podcast poetry points pokemon polls pomplamoose positions posse post posters postmodernism potatoes potlucks power ppc practise prejudice premier pressure pretty pride and prejudice priorities private processes professionalism progressive web apps projects promise protest proud purchases pwa qt quarantine rad radeon railroad randall munroe raop rats reagan recursion recycling redhat reductionism refactoring refrigerators regret relativism release renew renfrew repetition report resolutions resolve resumes reuse reuters reviews revolution rhino rhps ricola risk road trips roar robots rockwood rot rover rtm ruby day ryu safety sanctuary sand satisfaction savages scary movies scheduling schneier scholarships scooters scp screenshots script seals search secret world of arrietty secrets seitei self-interest self-respect self-sufficiency self-worth semesters senescence sessions setbuilder settlers of catan sftp shame sheepo pistachio sheila patek shell shells sherlock holmes shipping shogun shotwell shoulder bag sigh signal sim city simafort simpsons sincerity singing sjr skill skunks sky slackware slashdot sliver small smartphones smiling snails sneezing snowboarding soccer social dance social media socis soft solemn someonesmotherwantstoadoptme song sony sophistication sorbet sorrow sparklers speed river spell spellchecking spies spilt milk splendid splendor splinter spoilers sponges sql squaresville sr ssd sshd stanley park starry night starving steampunk storage strawberries strength structured information struggle stuff stylus suburi sucks sugar super mario super mario land 3d superiority superstition surprise surprises surreal sushi surrender swings systemd systems tabs tachi uchi no kurai tail coats tameshigiri tarot taxes tears technocracy teddy bears tedtalk term termcap terror the duke the fault in our stars the hulk the human league the irregular at magic high school the onion theatre theory thingsidon'twanttodo tim berners-lee tim mcgraw timber timbre timeliness tin tin toaster todo toilets tolerance tonight toomuch touch screen touchpack tour tourniquet towels toys trac trailer translation travel buddy treestyle view trex triumf triumph trivia trouble tweak twist tx2500 tx2617 typing ugly logos umbrellas un dinaru underwold unemployment universe unlimited blade works updates upgrades uploading urban agriculture urban ecology urchins vagrancy vagrant vague but exciting valadoc validation values vampires vanilla ice variety vegetables velvet burger verb version control vi vinegar violence voip vpnc vulnerable waf wandering wanting war warm wayland weapons web hosting webcomic webcomics werewolves whales what a wonderful town whatsbetter whic are also lazer powered white spot wifi wii u wikisource will williams wings wisdom wishes wizardry wolf wonderland wordplay world cup world water day writing voice xenophobia xephyr xinput xkcd xpath yahoo yay yyz z-index

Blog Archive