Acer TravelMate C100 in Fedora: Stylus and Tablet, more

I'm going to document a bit more my trials in getting the Acer TravelMate C100 working tablet working in Fedora. I'll break it up by sections and update just this One post.


X changed how they handle PCI and now the Silicon Motion driver is broken for this tablet's Lynx 3DM SM712 card. For this you will need an updated Silicon Motion driver! Here is the source for 1.7.0 which fixes whether to use the BIOS, some initialisation, and acceleration issues. Yay 1.7.0. Francisco Jerez was wonderfully helpful. Bug documenting the issue is on Freedesktop bug 18816.

If you do not feel comfortable building the new driver and its few dependencies, you might want to wait until Fedora releases an updated one! Or, you can bug me and I will package it.


The new X tries to use HAL to autoconfigure your devices. It tries to make do without an /etc/X11/xorg.conf configuration file. It did not autoconfigure my tablet. So, as root I let it create a base xorg.conf (once I had X working at all from the step above) using

# X -configure

which created a new xorg.conf in /root/ which I copied to /etc/X11/xorg.conf and added:

Section "InputDevice"
        Driver          "wacom"
        Identifier      "Stylus0" 
        Option          "Device"        "/dev/ttyS0"
        Option          "Type"          "stylus"
        Option          "ForceDevice"   "ISDV4"
#       Option          "Button2"       "3"  # makes side-button right click instead of middle

Section "InputDevice"
        Driver          "wacom"
        Identifier      "Eraser0"
        Option          "Device"        "/dev/ttyS0"
        Option          "Type"          "eraser"
        Option          "ForceDevice"   "ISDV4"

Section "InputDevice"
        Driver          "wacom"
        Identifier      "Cursor0"
        Option          "Device"        "/dev/ttyS0"
        Option          "Type"          "cursor"
        Option          "ForceDevice"   "ISDV4"

I also made this changed the X Server layout section to this:

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Stylus0" "SendCoreEvents"
        InputDevice    "Cursor0" "SendCoreEvents"
        InputDevice    "Eraser0" "SendCoreEvents"

        InputDevice    "Keyboard0" "CoreKeyboard"

The next time I started X, the stylus worked :)

Suspend and Sleep

Hibernate worked automatically for me. However, the Acer TravelMate C100 would not come out of suspend to RAM for me. Well, it came out, the video would just be blank and slowly bleed across the screen :( To fix this for me, I have to enable the vbe_post quirk for HAL. To do this for the system, I made two changes to

which defines the quirks for Acer's video.

First, I changed the 4th line (vendor) from this:

    <match key="system.hardware.vendor" prefix="Acer">
to this
    <match key="system.hardware.vendor" prefix_ncase="Acer">
because this Acer model is reported is lshal as being ACER instead of Acer, and the change lets it match case insensitively.

The second change I made was to enable the vbe_post quirk for the C100 as well as the 6460. So, I changed line 24 (the one that matches 6460) from this:

        <match key="system.hardware.product" contains="6460">
to this
        <match key="system.hardware.product" contains_outof="C100;6460">

This issue with patch is at Redhat bug 478369


I have to use the

$ alsaunmute
command from the command-line to get the audio correctly initialised often. I haven't really pursued this much as I think my soundcard is having hardware issues anyway.


The built-in wireless works out of the box for me. The sad part is, though, the button to switch between the wireless card and the wired ethernet seems to only work at boot (like, when GRUB is up). So, I have to reboot if I want to switch modes.

I'll note that the Acer Hotkeys system (acerhk) mentions code for enabling the wlan_button from Christian Roessner but their link appears to be dead.


Building and compiling Acer Hotkeys (acerhk) still works for me for enabling volume and suspend Fn keys :)


There are other things that I may have forgotten or not bothered about if they weren't important to me. If you want me to try something or have any questions, please comment or e-mail me. My e-mail address is on the front page.


Acer TravelMate C100, a sleeping beauty

I own an Acer TravelMate C100 tablet PC. I recently installed Fedora 10 on it. While resuming from suspend worked under Ubuntu, it did not under Fedora 10. Following Richard Hughes' quirks, I discovered that I could resume from suspend when suspending with the vbe_post quirk.

So, from the command-line:

$ pm-suspend --quirk-vbe-post

And from HAL:

hal-set-property --udi /org/freedesktop/Hal/devices/computer --key power_management.quirk.vbe_post --bool true

While I should be able to add an entry to /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-acer.fdi to make this quirk permanent for HAL, that does not appear to be working. Hmm.


So, the casing was wrong. My laptop claims its vendor to be ACER while the section in the HAL file was matching on "Acer". I changed it to match case insensitively, as well as adding the entry for C100 on vbe_post.

I'll mention that I didn't discover this by suddenly clueing in, but by running:

$ pm-suspend --quirk-vbe-post --store-quirks-as-fdi

And viewing the output at /etc/hal/fdi/information/99local-pm-utils-quirks.fdi.

Now HAL reads the quirk entry from the fdi. Yay.


Fedora and Masochism

So I installed Fedora 10 on my laptop the other day and: what a mess! My first issue was that X wasn't working. I actually helped resolve that the other day with an X developer in Ubuntu, so I applied the same fix, and voila.

Second, I couldn't log in! I would go to GDM, login, and then it would wait interminably. I eventually tried reinstalling GDM and rebooting. That ended up working, somewhat. However, all I got was a blank panel and a few icons. I have now populated that panel. Did something fail to copy over the items? Did they fail to load? This was caused by one of two issues:

  • dbus-1.2.6. What utter fail. Yes, it is a security risk, but the solution is not to update a fundamental package that will break the desktops of all your users who bother to diligently install security fixes. Yikes. It's still not totally resolved. A relevant Fedora/Redhat bug: 475068; freedesktop bug: 18229
  • A gstreamer issue. My new user account had ~/.gstreamer-0.10 with permissions that prevented the creation of the file registry.i386.bin, without which gstreamer segfaults. Yikes!

I'll note that the gstreamer issue also took away:

  • my sound, and
  • my power management! I don't really understand how that worked, but I didn't have suspend or hibernate, or the battery applet while that gstreamer file couldn't be made. Relevant bug: 475125

The errors I received due to the gstreamer (as reported in /var/log/messages and ~/.xsession-errors) include:

  • gnome-settings-[8894]: segfault at 4 ip 00fef0f5 sp bffb8020 error 4 in libgstreamer-0.10.so.0.18.0[f6b000+bc000]
  • gnome-power-man[8893]: segfault at 4 ip 06e320f5 sp bfe37190 error 4 in libgstreamer-0.10.so.0.18.0[6dae000+bc000]
  • mixer-applet2[9015]: segfault at 4 ip 06e320f5 sp bfd86bd0 error in 4 in libgstreamer-0.10.so.0.18.0[6dae000+bc000]

Finally, my stylus does not work. My configuration expects /dev/input/wacom which is apparently wrong on Fedora. I need to find out which device file it becomes associated with, and then all will be well once more...


If it ain't broke, no one has tried to fix it yet!

I own an Acer Travelmate C100 tablet PC with the Silicon Motion SM720 Lynx3DM card that came with it. It is currently running Ubuntu 8.10. Or trying to, at least. I had once tried to run Fedora 9 on it, but it experienced issues with its X server. I didn't have time at the moment to sort that out, so I tried Ubuntu 8.04 again and things worked.

Now I've upgraded to Ubuntu 8.10 and I am experiencing the same issues. A laptop that used to work just fine now encounters the following error, and X refuses to start.

AddScreen/ScreenInit failed for driver 0

I initially tried a variety of difference changes to my Xorg.conf file which did not help my situation. So, I did some investigation, some toying with source code, filed bug 18816 at FreeDesktop.org and wrote to the Xorg mailing list. Franscisco Jerez took interest, indicating that the issue with my driver in Ubuntu 8.10 was probably fixed in git. It seems to have been, but other issues continued to exist. I also have to add the following to my /etc/X11/xorg.conf file:

Option "UseBIOS" "off"

After this, my screen displayed, but was out of centre and flickered. He provided another patch for that. Afterward, I could start X after a fresh power cycle or resume and have a fully functional X server again. Yay!

However, now that I'm using 8.10, I notice a bunch of lag. It seems that when some dialogues open, the screen freezes for 3 or 4 seconds and the content of the dialogue frequently remains just white. I tried disabling acceleration in my xorg.conf (using 'Option "NoAccel"') and in a brief session after this, I didn't get the pauses any more (but acceleration was missing in obvious situations, such as moving a translucent terminal window). I'll try to better test whether XAA acceleration is causing the slownes. Hopefully Francisco or another developer might take an interest in that problem too, if XAA seems the likely culprit :D

So, my upgrade to Ubuntu 8.10 has been fairly painful. My tablet's portable CD-ROM isn't very reliable for reading CDs for installation, and the tablet doesn't boot from USB, so I usually install Linux on it over the network. This makes it difficult to try a different distro. Oh, and my wireless doesn't work anymore. I historically use a Netgear prism2 USB wireless adapter. Try to figure that one out to. So, the moral of the story? Don't upgrade ;)

Francisco Jerez is awesome and I (and others) should totally buy him as much non-alcoholic beverage of his choice as he ever wants.

X.org badness

I own an Acer Travelmate C100 tablet PC with the Silicon Motion SM720 Lynx3DM card that came with it. It is currently running Ubuntu 8.10. Or trying to, at least. I had once tried to run Fedora 9 on it, but it experienced issues with its X server. I didn't have time at the moment to sort that out, so I tried Ubuntu 8.04 again and things worked.

Now I've upgraded to Ubuntu 8.10 and I am experiencing the same issues. A laptop that used to work just fine now encounters the following error, and X refuses to start.

AddScreen/ScreenInit failed for driver 0

I initially tried a variety of difference changes to my Xorg.conf file which did not help my situation.


Reading the Internet

Disclaimer: What I read and my comments on them (as well as my posts on this blog) are not particularly interesting.

There are a number of websites that I like to read. Thanks to the advent of RSS and Atom feeds, I can subscribe to a feed of their latest posts and read them in a single location: an RSS Aggregator of some sort, like Google Reader. You may be reading my blog via such a medium yourself.

A very sad thing about such aggregators is that they usually do not preserve the pretty theme of the page from which the posts are coming from. I really enjoy the aesthetic I've designed for Kosmokaryote, but if you read it from Google Reader, your concept of Kosmokaryote is probably somewhat dissociated from the simple design I've laboured for so long on.

ANYWAY, the point of this post is to note that, for efficiency reasons, I now do all my Internet reading on Friday night/Saturday morning/Saturday afternoon. I usually have accumulated about 600 items to read and it takes several hours to go through them all. At the top of my blog (which you would not see via an RSS Reader!), there is a list of the last 6 items that I have read. At the bottom of the 6-item list is a Read More link which takes you to my actual Shared Items page of mine from Google Reader. It has the actual value, as it features the comments I sometimes put on the things I read. While the things I read might be insignificant to you, sometimes the comments might be :) I generally read technical and open source blogs, a linguistic and a psychology blog, webcomics, a professor at a small Christian college's blog, and some Green propaganda.

In the future, I think I will try to rig up something that takes the shared items and converts the comments into blog posts with a link to their original item. Since my comments are usually short, I'll probably aggregate them into single Weekend Reading entries that have a list of comments with their links. Mwahaha.

So, if you're interested in what I read or my comments on them; go forth. You may also subscribe to a feed of my shared items, and then avoid seeing the pretty theme I selected for the Shared Items page, boo hoo hoo

Self-sufficient Me

Here is a cut video from the Ministry of Agriculture, Forestries and Fisheries of Japan advocating self-sufficiency in their food industry to increase their food security. Apparently, about 60% of the food they consume is imported, with the oils and meat that has been introduced into their diet increasing in price because of the increased demand on feeds like corn by the biofuel industry. The economics of resources is interesting. Anyway, it looks like the Sims and Sim City a little.

Ultimately, I think I expect higher efficiency food production through genetic engineering of plant crops :) I am also hoping in vitro meat largely displaces meat from live animals. I was linked to the video via a page that I think would take it as advocating buying local as being more environmentally friendly. I think I enjoy exotic, non-local foods too much to practise that all the time, though. Also, I think it's generally believed becoming a vegetarian who doesn't eat local has a much more significant impact than eating local :D, so I'm ahead of the curve.


Learning All Around

I do not write enough about my Kendo. I am practising with the UBC Kendo Club in Vancouver twice a week. Despite having done approximately 2 years of Kendo during high school, I am indeed a beginner again. I specifically need to remember to keep my grip on my shinai when I raise it and to keep my left arm straight strike. I more or less learnt my first kata to-day. I think it is one I had actually learned during high school, but I didn't learn it very well then. That was also shortly before I stopped attending. (Work and University, you know.) On Thursdays, practise for beginners is shorter, and the more senior students practise after us. So, I usually remain behind and watch the seniors. Many of them are quite good. Since a few are to be graded next week, Harding-sensei spent the end of the lesson working on kata, so I mimicked the one being introduced to a few near where I observed. Kendo is easier to follow now. I remember when Underwood-sensei took us to a tournament in Etobicoke and I had difficulty seeing, or understanding, which kendoka scored a point. I felt more confident about my judgement when I last got to observe keiko, though.

A friend of a friend talks to me about computer science questions occasionally. He is my junior in that regard. It's very nice to find someone interested to the degree that he is, as few of my peers ever seemed to be. To-day, he had a calculus question which I couldn't immediately help him with beyond suggesting that he was wrong. I think I found out why. While I'm glad that my "intuition" helped protected me from error, I am quite alarmed at my initial inability to comprehend the details involved or to recognise the error. Perhaps I should practise some mathematics every day?

I'd say I'd start practising calculus, but I have a few other initiatives underway:

  • Good Boyfriendliness (apparently, I still warrant poems on birch found on keyboard :D)
  • Japanese (presently, Hiragana)
  • German (presently, Irish folk tales in German)
  • Personal software development (presently, Gender Guesser)
  • Open Source software development (stalled, mostly, but to some degree my X.org bug solving right now)
  • Kendo (:D)

I hope to add the violin to that. I own one, but I am awful at it. I require lessons and it requires restringing.


Gotta Cut Something

So, I have at last finished reading a prominent novel: 1984. By finished reading, however, I do not mean that I have read the thing to its end. No, I have read it to a few pages into Part II when the protagonist and another character establish a new connection. That's it for me. Its themes have been repeated so often since its publication that I am not overly concerned about missing out on them or the messages they can convey. I think I only stand to miss out on the specific details that can help characterise those themes in the minds of others. My girlfriend likes to make apropos references via events in the book. It was one of the reasons that I began reading it. However, I have limited time and many projects to fill it with. Being depressed by a book whose ending I partly know and whose valuable themes are not totally foreign to me does not seem like a great expenditure of my time.

It is satisfying to be able to accept that I do not want to nor do I need to continue doing certain things. Reading books are great examples. I've started on many a terribly boring book before and felt as though, having started something, I ought to finish it. If I had a problem where I started a dozen things and finished not one, then I'd be concerned. But seeing as I seem to be fairly productive with my time, I think it is not dangerous but rather just great! to give up on something that seems so fruitless. Previously, if I laboured away at a book that I did not enjoy, I might not read anything else for months (or a year!) at a time, as I laboured painfully through it. I wish I'd discovered this ability sooner. Less time misspent.

My time is of great value to me. I'm saturated with things I want to do. It's good no longer feeling bored. :) One concern of my mine is my work. I enjoy the work itself (at least when I agree with the project I'm working on, which was once not the case :|), but it makes me sad, the feeling that the time is being invested into a blackhole. The work we do is not very universally applicable, which software frequently isn't, and it's not universally accessible (and I don't mean for the differently abled) nor available. I have to focus on the benefit that my work confers onto the relative few individuals that get to use it, and how my efforts can improve their daily life. In the future, I hope to be able to contribute to the world in a greater fashion. Affect more people and in as timeless as manner as possible.

I've been glad to work on my project Gender Guesser recently. Really, I end up working on it almost exclusively on the bus. However, it's still turned into something quite useful. I'll be uploading it once I retrieve it from my laptop that I tried to upgrade to Ubuntu 8.10. (As could be expected, upgrading a Ubuntu installation ends in the fiery death of X - what else is new?)

Anyway, my girlfriend and I finished carving a pumpkin about 2 hours ago. It is belated, but if you have a pumpkin and a knife, what else are ya gonna do? Gotta cut something!


Time To Justify Your Words

I have finally instituted a bunch of changes I had wanted to make to KosmoKaryote. One of them is the path breakup in the header. I wonder whether I can get a more KosmoKaryote-ish directory page set up.

Also, there was far too much colour on this page already, so I have fixed that, too. Links and headers are now grey like the highlands. I hope it won't be too hard to identify links for what they are now.

For quotations, I now have a nice left border, and the quotee has their own div class. Fun.

Everything is also wider now. That seemed to fix a problem I was having with commenting, but not for a friend. I can now see captchas again- hurrah. It also allows me to now justify my text without it looking so terribly deformed. Comments aren't aligned, and I don't know that I will do that.

It's very rewarding having had/found/made the time to finally do work so long in waiting. Yay.

Hail Google

Google makes my life materially better. It is fundamentally more enjoyable for having it on-line. To-day, I discovered the greatly expanded profile service: me. You ask, why bother? Don't you already have a Facebook profile? Yes, and I dislike it. It is locked within Facebook. It's also not quite as simple :) Facebook changes a bit more and more away from the profile aspect, and more towards communication. I'd prefer it if that were more public, too. I know people enjoy their privacy, and privacy is necessary for many things. I fear that someone will be able to answer those painfully simple "Reset your password" questions now :) I hope they all only send the answer back to my alternate e-mail :D

Google's profile page was originally much simpler and was mostly accessible via Google Reader. As you may have noted, I now have a Google Reader feed at the top of my blog. Clicking "Read more..." (which I intend on trying to change to "Excerpts and Comments") reveals my Google Reader Shared Items page, along with comments I've made on some of them. (Traditionally, short comments.)

I'm not sure if I've ever noted it here, but I use a Twitter-like service called identi.ca. I prefer it because of its open source foundation.

I will next try to get a stream of my public PicasaWeb photos here. I have been remiss in uploading recently, though.

Cheers, Internets.


Comments away?

Where have my comments go? I have a friend who reports not having their comments go through. Just now when I looked, I didn't even see the comment box. This post is merely for testing commenting.

More things which I have done

Hello. Here comes another brief posting in list form!

  • Met Nausicaa. She was feeding gulls doritos off a ferry. Imagine being a few metres above sea level, moving steadily forward, with a flock of gulls flying parallel to to your course, a couple metres away, alternately swooping in to grab a dorito from your hand. Watch out for feces and sharp beaks.
  • Had another delicious eating at Pizza Hut, meeting a member of the Kingdom of Simafort en route who gave us directions was intimidated by my masculinity.
  • Upgraded to Ubuntu 8.10 on my Acer Travelmate C100 only to have X fail to come up. I am trying to debug the issue now.
  • Retrieved Belladonna (my Acer Aspire 5100 with the ... motherboard issues? It fails to detect the hard drive, but it's not the hard drive's fault: I can try a known good working one and still have the problem!) I'm running it off of a USB Live installation of Fedora 9. It's working better than I fear and a bit worse than I could have dreamed of. It boots really quickly; in under 20 seconds perhaps. However, when I accidentally filled up the overlay (which is misreported to Fedora as being almost 4 times larger than it is), the installation was ruined, and I had to re-make it.
  • I saw the Rocky Horror Picture Show (film) in a theatre on Halloween with my girlfriend and a ferry friend. It was also tricky getting home, somewhat, as we were on the verge of not having running buses, or bus passes. That was rectified by a 7/11, which also fed us an Egg Salad sandwich. My girlfriend also made a variety of noises with a fellow there.
  • Earlier on Halloween night, I went Trick or Eat'ing with a pair of grapes and Wenda. My French Maid Magenta joined us later in the evening. I'm not used to fireworks on Halloween, but there were plenty of hooligans to introduce us to whizzy crack-bangs.
  • Acquired a 15" LCD screen from a work auction. I had also bid a ridiculous amount on a tablet PC that ended up going for still more. Sadly, I cannot seem to get Ubuntu to do more than mirror its screen to this alternative laptop. Sigh. I'll see if a coworker wants it after all.
  • My hands are greasy from taping stars to the sky.
  • It will be another bus ride home. I can't underrecommend Greyhounding across the country. It's terribly uncomfortable and the sights are blurred by filthy windows: it's awesome. I'm being sincere and not sarcastic. It's a lot of fun, stopping off at random places that you'd never consider visiting, driving between mountains, along Saskatchen planes of wheat, boring through the northern forests of Ontario (well, relatively northern), hugging the great lakes, and feeling chilled in Winnipeg. (Last May, there was still snow and ice in Winnipeg, and now we'll be going in December!)
  • I work too much. If I was better at "managing people's expectations" and not promising more than is reasonable, I'd probably be more comfortable in this regard.
  • Saw a James Bond double features: Casino Royale on Thursday at 9:30PM followed by Quantum of Solace on Friday at 12:00AM. It helps remind me to be a bit more confident about myself. It cost us a total of $4 for the seats: we had free passes from when we saw Batman's sequel earlier this year at the same theatre, and we used those for Quantum of Solace. Casino Royale only cost $2 per person. Consequently, to make up for the money saved, I purchased a Quantum of Solace Empire Combo thing. It's usually atrociously expensive, but it was only madly expensive since we had a $3 coupon from the Batman session as well. It was worth getting this amazing combo because it allowed us free refills of the popcorn and a reusable beverage cup. Having gotten both refilled, it was like getting the combo twice at half the price!
  • Sometimes I think I should have pursued CSIS.
  • Sadly, I missed two potential Kendo socials and two special Kendo practises last week due to overworkiness, and that makes me sad.
  • Comments apparently do not work here right now.


Words schmeckt

There are all kinds of pedants around with more time to read and imitate Lynne Truss and John Humphrys than to write poems, love-letters, novels and stories it seems. They whip out their Sharpies and take away and add apostrophes from public signs, shake their heads at prepositions which end sentences and mutter at split infinitives and misspellings, but do they bubble and froth and slobber and cream with joy at language? Do they ever let the tripping of the tips of their tongues against the tops of their teeth transport them to giddy euphoric bliss? Do they ever yoke impossible words together for the sound-sex of it? Do they use language to seduce, charm, excite, please, affirm and tickle those they talk to? Do they? I doubt it. They’re too farting busy sneering at a greengrocer’s less than perfect use of the apostrophe. Well sod them to Hades. They think they’re guardians of language. They’re no more guardians of language than the Kennel Club is the guardian of dogkind.

I notice that I am still tentative about right-clicking links. I grew semi-accustomed to Firefox occasionally crashed once upon a time when I did it. And now I am trained to feel apprehensive during the act. The same thing had happened with my laptop and my University's library's old book detectors at the door. It would variably set them off and irk me, and I would have to come and prove that it was indeed nothing more than my provocative laptop. It took me months to release the apprehension a year of alarming suspicion had taught me then.


Alone in the Dark

I am alone in dark. I am not lonely, though. My girlfriend is in the room next to me. However, she is not in this room. There is no other in the dark with me except the Internet. Through the Internet there are so many with me now, in this room alone, in the dark. The Internet is with me in most places now. It is with me more than it used to be. It promises to always be with me. It will always be there. The illusory world of interconnectedness promises persistence, and I want it. Not because I am lonely, though. I am not lonely, because my girlfriend is here, though she is not in this room. The interconnection of the Internet is illusory.

Facebook promises a parade of all the world, smiling behind a login page. Everything there is with me now. They are all with me in this small, dark room. But no one is really there at all. It is a fragile facade of wood and stitches. Not even brick and mortar. It is losely linked by primitive constructs of HTML and various coding languages. A fundamental mass of illusory logic. Many bright minds come together to build a decadent, tragic house of cards, collectible friend cards. Here you all are; I can find you from your name alone. You don't even need to know.

Photos Unavailable.  We're sorry, photos aren't available right now. Please try again later.

I keep getting distracted from my dream. The dream to join dreams. To network the human consciousness. What distracts me from this dream? Survival? Joy? The Internet? Despite a rather liberal time frame, at my current rate, I will never even start. But I do not think that is true. I am still in the prologue. I am still preparing for the beginning. The push is yet to come. Is this a lie? Another distraction? I do not think so.

The Internet is connecting you with me now. It connects me with you. I can find you from your name, and you do not even need to know. It is not weird, it is normal. It is the Internet. How long can you remain off-line? Let's all catch a dream together.

I am now done sitting in the dark alone. Good night Internet. I go to be with my girlfriend to live a dream.


When I list what I have done recently, it makes me feel like I've accomplished a lot more than I would have thought. I frequently feel like I'm not making progress. (No work puns, please.) However, here I have evidence that indicates that I am wrong. I wish I could feel it, though.

Punching through the time barrier

I feel like I never have time for a proper post. I feel as though I might post more frequently if I didn't have to go to blogger to do it. (Like, if anyone accepted the patches for GNOME Blog to support atom posting...) Regardless, I have recently done a few of these things:

  • Celebrated a vegetarian Thanksgiving. Sour stew, stupendous stuffing, and a plump pumpkin pie were the order of the day.
  • Celebrated a birthday party. Played StepMania (think DDR) whose contestants included a pleasant mother of 3 grown children. Shared stories. Ate food. Left after transit stopped.
  • Constructed a chocolate on chocolate trifle for the above.
  • Created a working, GUI-based version of GenderGuesser.
  • Started learning GIT for the above to work.
  • Learning Hiragana (largely for the purpose of exercising GenderGuesser.)
  • Watch the anime Akira Kurasawa's Samurai 7. It's very good. Received good Rogers service from Calvin. He's really impressed my girlfriend.
  • Resumed Kendo. It's quite different the second time around.
  • Started reading 1984. I don't enjoy reading it very much.
  • Got stomach sick for just under a week. (This started with the resumption of Kendo and then ended with Thanksgiving.)
  • Have gotten a regular head cold. I credit my girlfriend for the acquisition :D
  • Rented Paprika (which I haven't watched yet) from the best video store I have found in Vancouver so far: Dunbar Video PlusNightwatch Video. I like them more than videomatica. Their selection didn't seem populist, and the proprietor even ordered the Return to Oz for me :)
  • Discovered that Tim Tams have reached Critical Mass out in Vancouver. They're Everywhere.
  • Played tennis three times in the last three (?) weeks.
  • Received the best restaurant service yet in Vancouver from the Old Spaghetti Factory in Gastown. A pleasant fellow, perhaps named Kevin(?) served in the converted street car we had been seated in by an intelligent hostess. Kevin(?) was always prompt and helpful and considerate and HAPPY. Nice work -> nice tip ^_^
  • Paid off private credit; now onto public! (That is, student loans versus credit cards and bank lines of credit.)
  • In a failed attempt to associate with coworkers, we ended up in a book store where I found a Very Good Thing: 1066 And All That. It is to be gifted to someone who has not yet enjoyed it. Tee-hee. My girlfriend managed to digest during a slow work day. I'm jealous :D

There, that seems a fairly comprehensive itinerary of the more recent things. Too bad it's a list shallow on insight, but if you're reading this, maybe it's worth something.


I think most OSes lack something essential in not coming with their own journalling applications. They could sync with people's blogs, structuring information by topic and date. I think the OLPC has one. That's great. I think the system creates automatic entries in it based around activities you do. I don't really know. That reminds me of the Wii, which sort of has a log.

I think one of the benefits might be more reflection by computer users. A lot of people own blogs, but those are almost always targeted at some audience, so the nature of what gets written would be different than if it were an initially private (and only secondarily published) format.

I am somewhat pleased by the increased growth of spell checkers embedded into text entry forms. Firefox has enjoyed it for a while now, providing red underlines under unfamiliar terms. I hope other browsers do as well. I wonder whether there has been a decrease in the relative incidence of typos as a result. I suppose I also hope that having an existing facility for users to write in might help encourage development of complete thoughts and their structuring in text. More so than instant messaging and many modern e-mail messages do. I enjoy how much writing the Internet forces people to do, but it's often very brief.

I'm not very concerned about the quality of people, their thoughts, their writing, etc. I don't think text messaging on cellphones is causing society to collapse. However, I do want to read the thoughts of more people, and I think this might encourage it. :) Blogs give me much joy. For instance, the following excerpt with limited context:

"AUDREY!!! THERE'S A SNAKE IN MY TENT! PLEASE COME HERE!" I shouted from my perch.
"Oooo!" she yelled back. "Is it tiny and green?"
"Oh. Coming!"


The Love Song of J. Alfred Prufrock

S’io credesse che mia risposta fosse
A persona che mai tornasse al mondo
Questa fiamma staria sensa piu scosse.
Ma perciocche giammai di questo fondo
Non torno vivo alcun, s’i’odo il vero
Sensa tema d’infamia ti rispondo.

Let us go then, you and I,
When the evening is spread out against the sky
Like a patient etherized upon a table;
Let us go, through certain half-deserted streets,
The muttering retreats
Of restless nights in one-night cheap hotels
And sawdust restaurants with oyster-shells:
Streets that follow like a tedious argument
Of insidious intent
To lead you to an overwhelming question . . .
Oh, do not ask, ‘What is it?’
Let us go and make our visit.

In the room the women come and go
Talking of Michelangelo.

The yellow fog that rubs its back upon the window-panes,
The yellow smoke that rubs its muzzle on the window-panes,
Licked its tongue into the corners of the evening,
Lingered upon the pools that stand in drains,
Let fall upon its back the soot that falls from chimneys,
Slipped by the terrace, made a sudden leap,
And seeing that it was a soft October night,
Curled once about the house, and fell asleep.

And indeed there will be time
For the yellow smoke that slides along the street,
Rubbing its back upon the window-panes;
There will be time, there will be time
To prepare a face to meet the faces that you meet;
There will be time to murder and create,
And time for all the works and days of hands
That lift and drop a question on your plate;
Time for you and time for me,
And time yet for a hundred indecisions,
And for a hundred visions and revisions,
Before the taking of a toast and tea.

In the room the women come and go
Talking of Michelangelo.

And indeed there will be time
To wonder, ‘Do I dare?’ and, ‘Do I dare?’
Time to turn back and descend the stair,
With a bald spot in the middle of my hair—
[They will say: ‘How his hair is growing thin!’]
My morning coat, my collar mounting firmly to the chin,
My necktie rich and modest, but asserted by a simple pin—
[They will say: ‘But how his arms and legs are thin!’]
Do I dare
Disturb the universe?
In a minute there is time
For decisions and revisions which a minute will reverse.

For I have known them all already, known them all—
Have known the evenings, mornings, afternoons,
I have measured out my life with coffee spoons;
I know the voices dying with a dying fall
Beneath the music from a farther room.
So how should I presume?

And I have known the eyes already, known them all—
The eyes that fix you in a formulated phrase,
And when I am formulated, sprawling on a pin,
When I am pinned and wriggling on the wall,
Then how should I begin
To spit out all the butt-ends of my days and ways?
And how should I presume?

And I have known the arms already, known them all—
Arms that are braceleted and white and bare
[But in the lamplight, downed with light brown hair!]
Is it perfume from a dress
That makes me so digress?
Arms that lie along a table, or wrap about a shawl.
And should I then presume?
And how should I begin?

. . . . .

Shall I say, I have gone at dusk through narrow streets
And watched the smoke that rises from the pipes
Of lonely men in shirt-sleeves, leaning out of windows? . . .

I should have been a pair of ragged claws
Scuttling across the floors of silent seas.

. . . . .

And the afternoon, the evening, sleeps so peacefully!
Smoothed by long fingers,
Asleep . . . tired . . . or it malingers
Stretched on the floor, here beside you and me.
Should I, after tea and cakes and ices,
Have the strength to force the moment to its crisis?
But though I have wept and fasted, wept and prayed,
Though I have seen my head [grown slightly bald] brought in upon a platter
I am no prophet—and here’s no great matter;
I have seen the moment of my greatness flicker,
And I have seen the eternal Footman hold my coat, and snicker,
And in short, I was afraid.

And would it have been worth it, after all,
After the cups, the marmalade, the tea,
Among the porcelain, among some talk of you and me,
Would it have been worth while
To have bitten off the matter with a smile,
To have squeezed the universe into a ball
To roll it toward some overwhelming question,
To say: ‘I am Lazarus, come from the dead,
Come back to tell you all, I shall tell you all’—
If one, settling a pillow by her head,
Should say: ‘That is not what I meant at all.
That is not it, at all.’

And would it have been worth it, after all,
Would it have been worth while,
After the sunsets and the dooryards and the sprinkled streets,
After the novels, after the teacups, after the skirts that trail along the floor—
And this, and so much more?—
It is impossible to say just what I mean!
But as if a magic lantern threw the nerves in patterns on a screen:
Would it have been worth while
If one, settling a pillow or throwing off a shawl,
And turning toward the window, should say:
‘That is not it at all,
That is not what I meant at all.’

No! I am not Prince Hamlet, nor was meant to be;
Am an attendant lord, one that will do
To swell a progress, start a scene or two
Advise the prince; no doubt, an easy tool,
Deferential, glad to be of use,
Politic, cautious, and meticulous;
Full of high sentence, but a bit obtuse;
At times, indeed, almost ridiculous—
Almost, at times, the Fool.

I grow old . . . I grow old . . .
I shall wear the bottoms of my trousers rolled.

Shall I part my hair behind? Do I dare to eat a peach?
I shall wear white flannel trousers, and walk upon the beach.
I have heard the mermaids singing, each to each.

I do not think that they will sing to me.

I have seen them riding seaward on the waves
Combing the white hair of the waves blown back
When the wind blows the water white and black.

We have lingered in the chambers of the sea
By sea-girls wreathed with seaweed red and brown
Till human voices wake us, and we drown.


Thumbnailing in Nautilus

I was just using my laptop and things started slowing down and swapping like crazy and the other application began freezing. Not this again, I though. So, I switched to doing some tasks on the command-line where I got the notice that there was insufficient space left on my hard disk!

Oh dear, I thought, this must be because of the GNOME source code and my build of it. Well, I went about looking for other sources of junk to remove to free some small amount of space. Eventually. A few megabytes here, a few megabytes there. Actually a rather small lunch, but throwing stuff away can be expensive for my heart. Then, however, I found my free lunch! When I tried to check the size of the ~/.thumbnails directory, nothing happened! It kept working on it, and working on it, and working on it, to no avail. I thought: does the programme do anything stupid that requires more space than I have free? Well, that seemed improbable, so I decided to do a heuristic: find out how many files there are there and the average size of a small set of them. I had about 190,000 thumbnails averaging 50kB each! 36 minutes later, they were removed and I had 9GB back!

Some things I wish thumbnailing in GNOME would do:

  • prevent thumbnails from being generated for files within ~/.thumbnails. (That way, you won't infinitely generate them for infinitely many of them
  • either generate the hashed filenames from a hash of the actual file and not its path, so that way, if I move it or make a duplicate, I won't end up with multiple thumbnails; OR, when files are moved (at least in GNOME applications, which doesn't help my terminal behaviour), find the old thumbnail hashed from the old path and then rename it to a hash of the new path. I can see how the first would slow down thumbnailing, though I have a suspicion that the image down sampling isn't that fast either.
  • Better file system organisation of thumbnails. Right now, tens of thousands will accumulate in ~/.thumbnails/normal :|
  • A limit and some accurate way to determine when it was last used, so we can purge ones we never look at after a few months.

So, it's Open Source: why don't I try to do some of this myself? Well, I might, once I get work out of the way to-day :)


Back It Up.

Blogger has changed its user interface slightly again. I am also back to using the "Blogger in Draft" dashboard. Yay.

I'm mostly writing this to document the copy command I use to merge directories these days:

cp -av --backup=numbered foo/* foo2/

I'm terrified of dataloss. That's why I use --backup=numbered. I usually merge too many files to make -i interactivity viable. -v verbosity helps me find out what things were backed up (would have conflicted), and -a preserves permissions and timestamps.

Actually, I think I should further investigate rsync. I want something that won't create backups if the files are truly the same (by checksum, or is time+size enough?) but does create unique backups elsewise. Actually, it sounds like this will do the trick

rsync -abz --progress

Right now, I'm orchestrating back-ups for my girlfriend and me. I have a 500GB external HD and she has a 250GB HD. I'm currently packing up the 500GB's contents onto her HD and then will be backuping up her HD and my own to the 500GB external HD. Going through an old backup, I realised that I had lost some files along the way, perhaps just through gross negligence. I'm not sure. I hope to one day retrieve my girlfriend's files locked away on her dead HD from a few months ago. Sigh.


Found via Language log:

Question to Radio Yerevan

Is it correct that Grigori Grigorievich Grigoriev won a luxury car at the All-Union Championship in Moscow?


In principle, yes. But first of all it was not Grigori Grigorievich Grigoriev, but Vassili Vassilievich Vassiliev; second, it was not at the All-Union Championship in Moscow, but at a Collective Farm Sports Festival in Smolensk; third, it was not a car, but a bicycle; and fourth he didn't win it, but rather it was stolen from him.


Spontaneous Update

I have quite a bit to write, and never any time to write it, all of a sudden. So, let's begin with contentless updates, hint at more, and then not indulge you any farther, hurrah?

Work Shirt Drama

At work, we get to dress casually throughout this summer. However, after that, we need to be more formal, to better impress potential clients who will go "Wow, look at how well dressed these people are! This is but one more point in favour of giving them my business!" It sounds shallow, yes, but apparently it works. Anyway, this necessitates a minor expansion to my wardrobe. It amuses me that, while at TRIUMF, most of my wardrobe would easily have been considered as business casual. I had a lot of formal-looking shirts at the time (though not dress shirts). In the 3 years since, I have a more casual wardrobe (not that I actually purchased much in the way of clothing), and left almost all of my formal wear back at my father's. I am impressed by how much it could change without me actively making any effort. I wonder what I will look like fashion-wise in another 3 years! Oh, the shallow prospects! I wonder whether I am shallow. Anyway, shallowness combined with incredible cheapness makes it very difficult to purchase new dress shirts. My requirements are that they fit (15" collars are too small, 16" collars are almost too big!), that they be black (I have actually put great effort into resisting the accumulation of black clothing- however, as my girlfriend notes: I look excellent in a black dress shirt), and that they cost me $15 or less! I investigated Zellers (poor selection of sizes, but nice prices), the Bay (poor prices, but a great selection of sizes), several miscellaneous outlets (prices or sizes always close, but not close enough), Winners (the worst place to look; it was in utter disarray), and Sears, where they had the best deal: 2 dress shirts for $20. Sadly, any package that came with a black one was accompanied by a white one. White isn't so very bad, but I already own one white shirt. OH THE SHIRT DRAMA.

I also acquired snazzy new shoes, but not the snazzy new jackets, found at Zellers. I will upload a photo, or claim to, and then never do it. I have an interest in minimising consumption. I needed shoes, more or less, due to the degradation of the only pair I own. That pair I've only had for four months, though, so they may be called a bad investment. I never really expected them to be very durable, and I abused them. At 4x the price of the last pair (which were $7, by the by), I am optimistic that my new shoes should make at least a year.


I don't care about the Olympics, more or less. However, I have, in the past, enjoyed Kendo. Recently, in part due to my girlfriend resuming karate, I am considering resuming Kendo. However, I must find a dojo locally that does not take itself too seriously. The Burnaby one is particularly strict. I cannot bring myself to treat a lot of things very seriously anymore. My irreverence has grown. I seem to take late buses seriously enough, though... Ack! I will become Samurai once more.

I hear from a friend of my girlfriend who has been teaching English in Japan that the cuisine there isn't very vegetarian friendly, due to an inclination to include fish or fish-derivatives in many or most dishes. Yikes! Perhaps I should continue to admire their culture from afar.

Regarding the Olympics, I am mildly disappointed that Canada has started accruing medals. I was pleased to see the National Post list animals who can commonly best our best athletes in speed, weight-lifting, swimming, and jumping. Hurrah for the animal kingdom. They're never invited, mind you.

I have been fascinated by the International situation situated around Russia much more in the past few weeks. Russia seems to have acted rather cleverly. More than I would expect from most modern national governments. Not that my expectations are at all informed.


Strangely, I saw my mother in a dream the other day. Do you know how, sometimes, a possibility has passed on, the feeling that, perhaps it might one day just resume being as it was, being possible? In this dream, I saw her at home with my father, and they were both quite happy, and I decided not to draw any attention to the improbability of the situation. I was quite content, despite the illogic, to let it be and be very happy with it. I think it was spurred by seeing a lady who looked like my mother sitting outside of my work the other day. I came very close to approaching her and asking her whether she was German, just to make sure. In reality, logic reigned supreme, sadly. Note to self: sabotage logic.

Sunday's Best

"Sunday's Best" is a neat album released by a friend of mine: Mike Harloff. He's an Ontarian who went to my high school, and the album is very nice. It is a bit mellow but not sad. It is soft but still indie. His Last.fm profile.

More to say

There's more to say, of course, and, of course, I won't say it. I have spent enough time away from bed and I cannot spare anything further! However, I would like to advocate Indie Bird's latest game, Swarm. It's a simple, fun, polished Indie game.

Good night


When your children borrow your hammer, do you assume that it's to build a fort? a treehouse? Do you ever stop to think that they're just going to smash eggs in bird nests and the skull of your neighbour's poodle? I don't, because I do not have kids. Remember: uncertainty is born of child labour. Sometimes the U.S. seems like a child with a hammer. Unrelated is this comment from John McCain on Russia vs Georgia:

In the 21st century, nations don't invade other nations.

Sir Nils Olav, a knighted member of the Norwegian Guard and resident penguin at the Edinburgh Zoo, captivates me. It is imperative that, should Edinburgh ever be imperilled, that Norway deploy him to its defense, I feel. I do someday home that animals and humans might one day interact on a closer level of understanding.

I have sort of lost my blogging voice. Hmm.


I am pretty happy right now. I just ate, the sun is shining, I might have acute bronchitis (which is usually viral (but sometimes bacterial) so usually you have to wait it out (but it would suck if it was bacterial (as I haven't submitted my health insurance forms yet :|))). Liv has a short day and will return soon. My jhbuild of GNOME is finally progressing. I am eating some of the best cherries I've ever tasted. And I have a shopping list to focus my afternoon with. Hand-soap, milk, toilet paper. Eventually, lamp, knife sharpener, tiny vacuum cleaner. In future living arrangements, I hope to be amiable with neighbours, so I can abuse their friendship for such conveniences as a vacuum cleaner.

Even things that are traditionally considered bad are a part of my good day. I cut my hand on my mushroom soup tin. The cut is very small and quaint. I wonder what in life has defined my expectations for happiness, because some of them are weird.

However, I am concerned with my recent interest in conveniences. We purchased a $4 popcorn popper the other day at my insistence. A pan is not good enough? Well, if we had a more suitable pan, perhaps it would be. Or a cover for the pan that barely touches the burner would be ideal. Perhaps it's not conveniences, so much as availability of decent tools. We have a pan that is way too big for many simple uses, one that is warped and hardly touches the burner (which is alright), and neither have lids. Regardless, I also have an urge for a blender to make smoothies from all the fruit we buy. I suppose that isn't unreasonable. At least I don't seem to care about a microwave too much. However, this all goes against the simple that I've been planning to lead. Hmm hmm hmm.

For some reason, my interest in ships and samurai has been increasing this year. Perhaps it is time to revisit Shogun.


K2yo234hkjh23r0a: Encryption, privacy, e-mail, and instant messenging

I am quite pleased to see Google's new option for Gmail to have your Gmail session in https by default. Basically, that means that the data communicated will be encrypted, rather than passed across the Internet in plaintext. Previously, and still, you could explicitly request an encrypted session by designating the protocol to be HTTPS in the URL, like https://www.gmail.com. To ensure your Gmail sessions are encrypted, go to your Settings and scroll to the bottom, and select the option "Always use https".

While there are performance penalties, I think that encryption is generally a good idea. In particular, I find it almost scandalous that Instant Messengers do not offer an option to encrypt your conversations by default. A popular IM encryption software suite, providing plugins for a number of messengers, is Off the Record. Of course, both sides need to be using it for the encryption to work (or how would the otherside decrypt your messages?), so that is a massive barrier to using it commonly.

One "feature" I dislike about OTR is deniability, which I probably don't understand very well. They do not employ digital signatures that would certify messages were from you outside of your current session. This is considered good, I think so that people cannot be held strictly responsible for forged messages purporting to be from them: hence deniability. I can see applications for it, but I think that, while I appreciate the privacy of encryption, I don't necessarily want deniability. I am generally responsible for what I do and say.


the second raid to be discussed another day (but oh, the hair!)

To-day I got to save a beetle that hissed at me, hissed at me! I saved it from the ground and saved it onto grass. It wouldn't move. It's legs would wiggle, but the only real movement was its hiss vibrating into my ears. It sounded like an empty aerosol can, trying to poison my dinner. Hiss- hiss- hiss! I wonder if it will survive the night or be silenced before the sun returns? Perhaps it was just asleep, hissing its nocturnal annoyance. Sidewalks make poor beds. Shoes make poorer blankets. Picture to follow?

To-day a ghost dryer helped me cheat the system and dried for me without charge. Just a little, here and there. Hopeful that no one would notice. I was complicit. I waited quite a while before betraying this charity to an employee, to whom, effectively neutered by the barrier between languages, couldn't seem to appreciate the consequence of the machine's crimes. 6 minutes/25¢ isn't that shabby, anyway. (Every minute after finishing, it would run for an additional 15 seconds, the door open or not (frightening, having your favourite thong flying out at you) until all your clothing had exited (what senses has it?!)).

To-day Liv and I worked on a culinary masterpiece. It's too good to describe. Photos must be supplied! To-day I got to be.

Yesterday I got wet. Thoroughly. Soaked, drenched, and then cooked alive. Boiled red? Fried dry. I attended a flashmobby romp in the park. Stanley Park, host of Vancouver's second annual waterfight. We came unprepared, but like any good team of mercenaries, improvised. Water-tight bag? Check. Discarded cup? Check. Alliances were made, and summarily betrayed. Wheee. My girlfriend was even a key figure in the background of someone's photograph!

Last week I go to work. A fair deal of overtime. I really don't mind it. I enjoy getting things done. I hope to better manage my non-work time, though. I am having sufficient levels of fun, it would seem, but I'm barely meeting schooling requirements, and Open Source contributions are, let us say, stalled?

Yay for life, and stuff. :)


Right-click on a Macbook

My girlfriend's hard drive on her Macbook recently crashed, so a new hard drive and installation of Fedora later, we were refaced with "How to right-click?" I have forgotten the name of the application we were using last time, but we had it set up to substitute the Enter key (near the space bar) with a mouse's right click. Searching around for the optimal solution revealed that the kernel by default might have facilities built in to support this redirection of input. Indeed, and this is how we do it:

# cd /proc/sys/dev/mac_hid
# echo 1 > mouse_button_emulation
# echo 96 > mouse_button3_keycode

I tried using dumpkeys to find out which keycode belonged to that Enter. It turned out to be KP_Enter for the keypad which mapped to 96 for us. Yay.

To make the change more permanent, we're setting the following in /etc/sysctl.conf:

dev.mac_hid.mouse_button_emulation = 1
dev.mac_hid.mouse_button3_keycode  = 96

Credit for this knowledge goes to Mactel-Linux.org.

Oh, and sysadminblog advised us to set

Option "MaxTapTime" "0"

in the synaptics section in /etc/X11/xorg.conf to disable the trackpad click. However, in her Fedora 9 install, there was no synaptics section. Adding a bare one with the entry stopped the trackpad from clicking, but it also made it unbearably slow. Now the entry for the input device looks like:

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "auto-dev"
        Option          "HorizEdgeScroll"       "0"
        Option          "MaxTapTime"            "0"
        Option          "MinSpeed"              "0.4"
        Option          "MaxSpeed"              "1"
        Option          "AccelFactor"           "0.02"


Three Cheers for Google

Sure, they might become evil some day, if not already, but as far as companies go, I'm definitely part of the audience they cater to, and they cater well. I will hire them for my 25th birthday.

I think I might like them as my friend Frank enjoys Apple. I am currently enjoying their Post to Blogger iGoogle gadget. In the future, it might be supported in their other containers (e.g. Google Gadgets for Linux).

The attention they pay to Linux is really phenomenal. I mean, our market share is so relatively slim. The future does belong to Linux, but not the present. They even go to efforts to assist Open Source. Google Code makes me smile all the time. The Google Summer of Code is huge. Oh- my girlfriend beckons- there's a video she wants to show me on Google Video (which I prefer over YouTube (which is another thing- YouTube isn't profitable for them, and they'll still gracefully taking the hit)).

I have more to say, about my "new" computer, my girlfriend's birthday, dead hard drive, and the journey we'll embark upon to retrieve its contents. Yay!



It is kind of sad to see the styles the group has come into. I hope I dress much more like this when I am their age:


Of Ships and Stars

For the families of the seven, we cannot bear, as you do, the full impact of this tragedy. But we feel the loss, and we're thinking about you so very much. Your loved ones were daring and brave, and they had that special grace, that special spirit that says, "Give me a challenge and I'll meet it with joy." They had a hunger to explore the universe and discover its truths. They wished to serve, and they did. They served all of us.

And I want to say something to the school children of America who were watching the live coverage of the shuttle's takeoff. I know it is hard to understand, but sometimes painful things like this happen. It's all part of the process of exploration and discovery. It's all part of taking a chance and expanding man's horizons. The future doesn't belong to the fainthearted; it belongs to the brave. The Challenger crew was pulling us into the future, and we'll continue to follow them.

The crew of the space shuttle Challenger honored us by the manner in which they lived their lives. We will never forget them, nor the last time we saw them, this morning, as they prepared for their journey and waved good-bye and "slipped the surly bonds of earth" to "touch the face of God."

Ronald Reagan, or The West Wing,
on Challenger



Biometrics are unique identifiers, but they are not secrets - Bruce Schneier

I have generally felt the same way. I am scared that so many people push towards biometrics in place of passwords. Not that passwords are great.


Chrome, Aural, Technical


Missing Spectrum

Incomplete color choices on web pages are a bane to the existence of dark coloured themes in GNOME and, at least formerly, on Windows. In particular, Blogger's post area explicitly specifies a background of white, which is disastrous when the system's font colour for editable areas is a light colour in a dark theme. You can try to mandate the colours in Firefox, but then some pages will look weird. My ideal solution is to define custom style rules.

In this case, I've installed the Firefox extension EditCSS by Pascal Guimier to modify the stylesheet and remove the white background rule. I used the DOM Inspector to locate the rule, finding out what the id was used to set the style ("#richeditorframe, #RichEdit textarea") copied the style from EditCSS into an editor that could do search :), removed the background declaration, pasted the edited CSS back into it, and voila! A usable editor once more.


I'm listening to Frou Frou's "Holding Out For A Hero" right now :)

I purchased a K.T. Tunstall's "Eye to the Telescope" the other day. Wat excellence. I still must pursue Rilo Kiley and Regina Spektor. I had been introduced to the latter some time ago, but it wasn't until the credits of Prince Caspian that I understood that I must possess this sound.


I have a slew of projects I want to work on. A blogger client in Vala, a simple DB-using tool in Vala, a simple cron editor in Vala. As you can see, I am excited about Vala. I don't imagine that I'll find the time to do any of them, though!

Linux and how I restored my file system

So, I lost my partition table, but knew that the file system I covet was still fine underneath. Yay. So, the solution was this:

  • boot the computer (perhaps from the OS that broke the partition table for the coveted partition, or from a USB key or Live CD.
  • download gpart (man page)
  • $ gpart -vvvf /dev/sda > logfile
  • find the partition (I guessed based on side and faint idea of its partition position) in the output that you want to save. Get the sector start and the # of sectors for it.
  • Either use this information to fix your partition table (Google for that- if the new partition layout that gpart recommends at the end of its output seems desirable, gpart could write that for you.), or, do what I did and copy it to a remote media:
    $ dd if=/dev/sda of=/mnt/sdb1/sda2.bak bs=512 skip=<sector start> count=<number of sectors>
    . It might be advisable to copy over, say, the first 32MB of it and try mounting that to see if a valid ext3 superblock exists at those numbers (described a bit more below). If it doesn't, the values might be wrong.
  • (if you don't want it to take over a day, you might consider converting the sector start and # of sectors into your FS's block numbers (and don't forget to change bs as well!). I went much faster for me then :) (in my case, my block size was 4096-bytes and the sectors were 512-bytes, so I divided the start and # values by 8 :) - hope that at least the start sector starts at a whole block :D (would it not?)
  • Once you have have copied the coveted partition into a nice pretty file safely on some remote media, you will probably want to try to mount it!
    $ mount -t auto -o loop /mnt/sdb1/sda2.bak /mnt/sdb1/sda2.dir
    (if you did a test mount of the start of your partition, you might want to remember to unmount it or to try a different dir ;)
  • I then copied all the contents of that partition out to yet another external media, my backup HD. I did this with rsync so I could preserve things, so the command was like
    $ rsync -va --progress /mnt/sdb1/sda2.dir /mnt/sdc1/sda2.root
    This will late be restored to the computer in question when I get things configured a new.

After getting the sector values from gpart, I actually dd'd over the first 32MB (very small) of the alleged partition onto my remote media, and then I tried to mount that (

$ mount -t auto -o loop /mnt/sdb1/sda2.test /mnt/sdb1/sda2.dir
) to see if it indeed contained a valid ext3 superblock :D The first time I did all this, it didn't quite work, because I dd'd over /dev/sda1 rather than /dev/sda (so the values were off by sadness :$) Once I got the right portion over and tried to mount it with success, I did get error messages, because inodes could, of course, not be found, as I had only copied over a relatively small portion of the actual filesystem. The errors were not reproduced after I copied the entire thing over :)

And this is how I restored my tentatively lost but not overwritten partition replete with complete filesystem :D Originally, I thought that this might be a case for ext3grep by Carlo Wood which does wonders for helping undelete files on ext3 partitions. However, that was not the case, but I still recommend the tool if you think you'd find it necessary.

Details on how to ruin your partition by installing Fedora 9 via net install to follow in a later post. (To summarise again, my coveted partition was in the later 18GB of a 40GB HD, and the Fedora 9 net install came promptless (as I failed to anticipate), installing a fresh Fedora and replacing the partition table :D. I am quite lucky not to have had any of my coveted data in the earlier blocks of my HD where the Fedora installation would have overwritten it. :|)


What I read.

I plan on updating the layout a bit later this weekend. Fun!

C-A-L-L Calling me, calling me now!

Wow, what an action packed adventure. Work is going very well. Progress is a very nice language but it makes real the many complaints about proprietary platforms I have heard in the past. I am also dabbling quite a bit in JavaScript for something internal. It's a more pleasing language than I used to think, and I haven't ever disliked it.

Something sad computery was that my attempt to install Fedora via net install failed, in that the installation went perfectly REPLACING MY EXISTING PARTITION LAYOUT. Thanks to gpart and dd, I have rescued my original Ubuntu partition- I think. I am very fortunate that I did not have it at the start of the disk. (Rather, than tragic honour went to an already corrupted Windows installation.) I will write some details about how to manage the net install and then how to rescue partitions later.

Amusingly, I got an e-mail notifying me of the availability of an old domain of mine, except as .com rather than .net. I am fairly certain that it was available previous to this e-mail, and has now been purchased by hucksters hoping they can sell it to me at a profit. Hahaha.

I have a new BC number, and will apparently hug(?). More later!

Oh, one last thing- I spent the day imagining other people's perspectives, something I should do more often; it brought my surroundings all the more to life.


From the 19th



Harbour seals are what we saw from within that kayak. Purple starfish below. A jellyfish. Rocks that rise up from below to rip us apart. The sun. Geological and oceanic history. Milk chocolate Aero bar air pockets from the crunched-off rock face. Deer in the garden, banging on the fence. Sailboats sitting nicely in the sunset. A quiche, olives, egg salad sandwiches. The latter two once made me go "Yuck" but Michelle has mystic Montrealer powers to invert that reaction. Fritz and his fatal follies, welcome weeds and relatively economical ice cream.

It's partway stressful, partway calming to visit Pender Island and my girlfriend's grandparents (and sometimes uncle). Conversation does not flow so finely as among my own age group. But people can still marvel at eyeing the eye from withincomraderie the focal range of the concave speaker. Some opinions are out-moded and bite at the senses. I suppose it isn't easy sticking to the latest thinking fashions when you're isolated on an island. But are you? CBC radio plays podcasts on the Creative Commons. What a wild ride! Planet Earth plays on CBC in the evenings, what marvels! Wi-fi waves squeak between the floor boards and aromatise the first floor. As long as people thrive, it will be hard to isolate yourself on this planet :)

Oh, by the way, I don't really believing in so strong a segregation between this animal species and the rest of them - I hope that was clear.

And here I am, the environment I am paying attention to are a bunch of elemental right-angled divs with a flat solids of the coloured variety. Orange without(?) the cancer.

Discomfort and the Retreat

I retreat more from potentially uncomfortable situations. I used to be emboldened by them. Stand loud and stand proud. It was easier in Guelph, in Flesherton. Fewer consequences, perhaps? Now I'm wary, of what I know not. Perhaps I am descending into madness and paranoia :) Not really. I think that, perhaps, there are just too many people around and many fewer restrictions protecting me from them. I have to protect myself in a town full of freedom. Foolishness leaves me open as a target, I think I fear. How foolish s that!

Tim Tams and associated Edibles

I continue to be amazed at our ability to hunt down the inexpensive. We finally discovered a sane supplier of pitas. 1.09, 1.79! No more will we balk at the 4s and 5s we witness near everywhere else. Oh me, oh my! We had hummus (not humus, BoFIIers) again! And a jar of olives! I don't think the olives were the greatest deal (coming from SuperValu) but it was good to have them again. A little luxury to relax? How much relaxing can I afford? A lot of debt to repay right now. NOTE TO SELF: notify OSAP that I am taking a DE course :D.

I never thought I'd find crêpes as fast food, but low and behold, three Cafe Crêpe Expresses across a 3-block stretch! And, dun dun dun, we finally hit the recipe book down here! Onions, potatoes, and egg, oh my. I think I liked it more the second time around, at that. I need another cherry.

Oh, addendum: cheap cheese was secured! Well, relatively "cheap". Big bricks for $7. Almost an Ontario price, but just over half the BC fare. That and milk are proving difficult to secure at reasonable costs. I mean, I thought 4L of milk was expensive in Ontario: they won't even it sell it in such quantities here! Glass bottles are a pleasantry, at least.

Adventures ho!

I have only been writing about a fraction of the joy I've found out here. I wish I could show you all the late night view. There's so much to say and do, and I naively continue to believe I will fit it all in :) Mwahaha. Let me just get a day to set up my photo stream, eh? But even that will fair to capture Pascal, the non-hostile hosteller and pizza Subway champion.

I wonder what friendship will be like out here. There are few at my work who are quite my age, or share my Open Source aspirations. I don't have the fortune of fellow co-ops for auto-camaraderie. There are the pre-installed type, Ruth and Aidha. However, the former's a bit put out and doesn't seem very social, while the latter is too enveloped by the awesomeness of grad-osity at present. Fortunately for me, my girlfriend precludes the Old Anxieties with ease and agility unknown to mere mortals. I hope her home planet doesn't try to retrieve her.

Well, now to go on this righteous day for a walk to meet her and see the surrounding sites and sights. Maybe we can climb a mountain, too.


More updates!

New Zealand

For those unaware, my NZ plans are on indefinite hold. The supervisor I wanted cannot accept me for the next year, I am not eligible for most forms of financial support for International students, international tuition is prohibitive, I feel I don't know enough about the field, and my girlfriend is also now considering UBC. Also, I found something a little closer by ...


Hello working world! I am now gainfully employed by a company that develops software for brokerage firms. I get to use an esoteric platform which I might never use again, but which is very effective at database access and manipulation.

One neat thing about the position is I get to take note of a lot of differences between the proprietary and open source worlds. The platform lacks a lot of niceties I find in the Open Source world. There are strange limits to characters, software used to get around feels limited, shared drives?! While the software that we develop and ship seems to be managed well, we of course use a lot of packages in our work that I can only describe as unmanaged. I can imagine, in an open source environment, someone regularly updating one metapackage that depends upon all the real packages we need to work, and we just install that to set-up. Also, from a Getting Thinds Done perspective (not related to the book/website/philosophy of the same title), I wonder why companies go with proprietary Unix rather than Linux. I have yet to access a Unix that didn't feel combersome, lacking, and limited. And it's not just that I'm more familiar with Linux-based systems. One prominent example would be the shell. Maybe it is more that that adminstrators don't bother supplying useful defaults? I don't know. Perhaps we use a proprietary Unix because the platform doesn't support Linuxes.

The Platform

Now this is pleasant. I generally dislike custom SQL languages, like PL/SQL. And this is somewhat like it. Especially in its "I look horribly ugly and no one has bothered to love me" kind of style. However, its capabilities are swell. How oft I have wanted to create an arbitrary, temporary table to stuff in a bunch of related data (records) into a double array of varying-typed data. Perhaps there are simple systems to achieve this in C and Java, but I have yet to find them. As well, I dislike heavily having DB access constructs stuck inside /strings/ that go unchecked until runtime! Clumsy and lousy! Give me support for the DB in the language, please! This is a reason why, despite not really caring about C#, I enjoy LINQ :)

I wonder what things I will discover as my ignorance shrinks?

C++, Perl, and JavaScript

I still think C++ is a terribly ugly language, but at the local Value Village, I recently acquired three books, one of them is O'Reilly's "Practical C++ Programming". I might as well be decent at it, even if it is ugly. Who knows when I'll have to use it for something important. The other two books are JavaScript: The Definitive Guide, and Learning Perl. I previously had the luxury of access to O'Reilly's Perl Cookbook. I think my Perl skills, despite regular use, have actually waned a little since then. Read more, Richard, read more!


I haven't done much programming on this in a while. 2 weeks, since jobness began to interfere. I must allocate more time before I lose where I was :(

Life stuff

Coming in a following post!


Aha. The reason why Firefox's UI blocks: fsync.


BackTrack3 lilo bootloader issues and a solution

A friend of a friend recently tried to install BackTrack 3 from a LiveCD. It's based on Slackware Linux, apparently. He ran into some issues I helped him solve, and I thought I would reproduce the problem and solution here in hopes that it might help someone else.

He had run the LiveCD, run through the Install as he thought he should, but was hoping for a dual-boot. This was apparently causing him issues (that perhaps a sole BT3 installation would avoid?

After running the installer, and having the distribution installed to his new Linux partition (in this case, /dev/sda4; /dev/sda1 was Windows, and 2 and 3 were for swap and something else), he encountered the following when trying to install a bootloader using lilo.

bt etc # lilo
Fatal: creat /boot/map~: Read-only file system

The issue here seems to have been that his mounted root file system is on the LiveCD. This makes it non-readable, and also means it's not the file system he wants to be installing the boot loader in.

solution 1:

lilo -r /mnt/sda4

This makes lilo use /mnt/sda4 as its root directory (yay, chroot). This is important, because /mnt/sda4 is mounted to /dev/sda4 where his actual on-disk BT3 installation is.

Unfortunately, there's another problem.

bt etc # lilo -r /mnt/sda4
Warning: LBA32 addressing assumed 
Fatal: raid_setup: stat("aufs")

We were find with the LBA32 addressing being assumed, but how did RAID concern his laptop? And why another union FS? Apparently his "boot=" line in his lilo.conf referred to aufs, so he changed it to refer to /dev/sda instead. That didn't help:

bt etc # lilo -r /mnt/sda4
Warning: LBA32 addressing assumed 
Fatal: raid_setup: stat("/dev/sda")

Eventually, it occurred to me that dev/ inside /mnt/sda4/ wouldn't be populated with anything, now that it's dynamically populated (I think). However, /dev/ in the LiveCD environment was. After some googling, this was done:

# mount --bind /dev /mnt/sda4/dev
# mount -t proc proc /mnt/sda4/proc

I'm not sure about the necessity of mounting the proc, but we definitely needed to dev to be populated on sda4. After doing this, `lilo -r /mnt/sda4` was successful. Yay.


If you're having issues installing a bootloader for your dual-boot BackTrack3 installation, and are getting either of the following two errors, try the following command sequence (replacing sda4 with your target partition).

error 1
Fatal: creat /boot/map~: Read-only file system
error 2
Fatal: raid_setup: stat("aufs")
Fatal: raid_setup: stat("/dev/sda")
# mount --bind /dev /mnt/sda4/dev
# mount -t proc proc /mnt/sda4/proc
# lilo -r /mnt/sda4

And you might have to set the line "boot=/dev/sda" in lilo.conf.

If this helps anyone, please let me know. If you seem to have the same problem and this doesn't help, then really please let me know. I don't want useless instructions remaining useless forever.

fatal optimism

I frequently get really stupid, really optimistic ideas about what's possible. I still think it should be able for a single individual to write an entire operating system in good time, if they thoughtfully approach it, and spend most of their time to developing methods to reduce work elsewhere. Defining new languages, libraries, toolkits, etc. All very small, all very generative. Of course this is foolishness. Ah well.

I have just been reading again on closures, polyglot programming, and the evils of large code bases. It makes me hungry to try Vala again.


RMI and ClassNotFoundException

<DuplicityServer>.localBind(): RemoteException occurred in server thread; nested exception is: 
 java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
 java.lang.ClassNotFoundException: org.kosmokaryote.Duplicity.DuplicityServerRI

So, I reckoned that this had something to do with either the Remote interface not being public, or a classpath issue. I think it has turned out to be a classpath issue that I didn't really expect, but probably should have. Ultimately, it came down to where I was starting rmiregistry from, which I really did not expect. Starting it at the base of my package meant it had my package neatly present in its classpath. However, I was doing it in its parent directory. Boo. Error fixed!



The map descriptor loader now works, and works well. Yay. It took longer than I had hoped, but so has everything else so far. It also showed some major weaknesses in the design of my system :) I think I have two many two-way relationships. Objects contained in another object have references to their container, and I think this might ultimately prove undesirable in quite a few cases. Ah well.

The underlying logic seems to be mostly done now. Everything compile cleanly still. The few tests I have are passing. I need more tests! Apparently Donald Knuth isn't fond of Unit Testing, but I think I have a use for it :| I lack the experience to be very sure of my code, especially given its many evolutions. I hope I will be able to make a release with a text UI soon. I would like to have something of note to point to on my resume as I carry on my job search.


Update the Great

Virtual Jobs

My memory will work against me. I learnt many principles and their definitions throughout University. While I have integrated most of the principles (I hope) and can apply them as necessary, my ability to associate specific terms with appropriate definitions is questionable. I just had a phone interview with a job that asked me to explain a few concepts that I remember learning but couldn't recall what they refer to. In hindsight, I did know a couple, and I could properly define one of them now and could have defined the other then if I had a few moments to compose myself. A couple other ones I have had to look-up again. They concerned databases, and the principles that underly them are intuitive to me. I need to keep up better on my terminology, but I do not know how. Perhaps read more technical books? I suppose I should have my father mail me more of my textbooks :)

Virtual Play

I started work on a Java project called Duplicity for now. It's proving very fun, but it would be simpler if I could do something like this:

class CatOwner {
  public ArrayList getPets() {
    ArrayList cats = this.getCats();
    return cats;
class Cat extends Animal {

However, I cannot convert a collection with a type into a similar collection of its supertype. It seems as though I logically should. Any Cat is also an animal, so why can an ArrayList of Cats not be known as an ArrayList of Animals. I am sure there is a good reason and I'm bound to find it eventually, but right now it's a nuisance.

Physical Location

I have migrated to Vancouver! My girlfriend and I departed Ontario on the 23rd via Greyhound and arrived in BC on the morning of the 26th. It was a spectacular drive. In summary, Winnipeg is sexy, Medicine Hat is funky, and Canmore is cool. Have you heard of the Legend of White River? If you're ever there and that awkward boy dances desperately before you, it's his method of speech and sustenance. Aid him! Most of my photos are spectacularly blurred or spotted (through the dirty Greyhound windows), but I intend on uploading a large amount to Picasa Web once I can afford a decent account.

We spent the first little while in Victoria among my sisters and my nephews. They are nearly 10 or 7 months old now (born 3 months early, so I say 7, going from when they should have come out). I don't get along very well with the younger of my two sisters, and her dog less, so it might be a good thing that I am aiming to gain employment in Vancouver. We are there now, borrowing my girlfriend's uncle's apartment for the month of May. It's situated downtown and on the 19th story. I am spoiled.

We've been trying to walk most places, including from Granville Island to Stanley Park. It's a blast. The weather has been fair and sometimes welcoming. The shops are all very neat. One bad thing that I'll discuss more upon below are the food prices, though.

Fan club

I am pretending I have a fan club. An acquaintance and a friend have moved to Vancouver, and another friend from Ontario has gone to BC to Vancouver Island, hoping to work on an organic farm. It's nice knowing other humans in the area.

I wonder, if I ever manage to accomplish all the things I hope to, whether I really will have a fan club, in the sense that the GNOME developers have fans like me. That aloof respect and admiration. Shock and confusion when someone criticises them. Hmm. ^_^

The Cost of Eating

Food prices here seem on average to be 25-50% greater than in Ontario. A 700g brick of cheese averages out at around $13 in most of the larger stores I've been into, while in Ontario I found it pricey at $9. Milk is sometimes cheaper, but we have a hard time finding 4L of organic milk. We're going to soy this week. The cheapest source of our vitals has proven to be Chinatown, and definitely not Granville Island. However, upon our wandering walks, we discovered a number of smaller shops that had the odd item at much better prices. We thought through most of the day that we had triumphed with Strawberries, 2 for $4! But before the day's end, we found 3 for $5.

In consequence, we are now cataloguing prices we encounter and tabulating them in a spreadsheet. We're doing it via Google Docs, and we if we can find any other suckers^wfriends to contribute, we'll share it with them as well. I feel almost certain that such a website must exist for Canadians (I know of one for the US) but I cannot find it yet. Hmm.


Late in the labs

Now I'm all wet :'(


second favourite colour

Dear blog.

Blue is not a great colour. It is just associated with great things.

Richard Schwarting

non-Linux related!

To eat, or not to eat.

There's quite a bit I'd like to write about eating with regard to myself and this past year. However, I cannot find the time to write it! I will mention that last year I complained that I frequently ended up in situations wherein I felt hungry. This year, the opposite: I spoil myself instead.

Wake up, the sky isn't falling.

What a strange sleeping pattern I've adopted. It is now in synchrony with my girlfriend's, more or less. I will note that this particular T.A. experience has been exceptionally rewarding. One of the major benefits has been a revival of my sense of responsibility. Due to overwhelming school load, I was beginning to feel irresponsible enough to make me doubt myself.

I am my most responsible when people entrust me with responsibility. When I don't feel trusted, my performance is impacted. Trust me, and I won't disappoint you!

Wait, what does being a T.A. and awkward sleeping patterns have to do with one another? Right! I spent the night completing my portion of the exam marking. The third page, the one I marked, was the longest of the three, but pleasant heuristics developed to expedite the process. It is fun, to work throughout the night and have something accomplished before (or shortly into) the morning. However, Tuesday morning saw me waking up at 6:15AM and waiting 30 minutes for a 7:00AM bus to campus. And this was wonderful. The snow has melted recently and spring is new. It was warm enough for me to feel cool with just a sweater on. The sun slowly rose. I met some of my students on campus, and found one sleeping on a couch. ("Wake up, the exam is in an hour!" I said, as I swatted her with a newspaper.) I did a fair amount of running between buildings too, as I looked for the other T.A.s before the exam was given. Mornings are very nice indeed.

Milk - in a bottle!

I have started using Remember the Milk to maintain a todo list. As does my girlfriend, I find it lacking. Mostly, it is cumbersome, and is lacking in usability. My intention is to use it in conjunction with tasque when it's ready. I am actually mildly alarmed about potential privacy issues with Remember the Milk, so I should really look into that some more ... :D Right now, I am refraining from providing private details, but perhaps street names are even too much! Mwahaha.

The last goodbye.

Since I am striking out on adventure soon, I am trying to say Goodbye to as many people as I can in person. Frank, Kate, Victoria, Vlad, Shane, Emily, Ashley, Danielle, etc. Good night Ontario crew. I hope you all fare well in my absence. (A likely story.) I am concerned for my dog (he's very old) and my father (he just turned 39/72!). At least my brother won't be leaving Ontario any time soon, now with baby imminent! Wow, life is hectic.

Signing off

I have to sleep to start studying for an important Friday exam, so Good Night.


Physics has done wonderful things for reality.

I really appreciate how coherent reality is. How well it maintains its integrity. In contrast, my dreams.

I bend bits. The more I understand them, the more I bend them. Richard, bitbender.


Irregularly Scheduled Update

Hurrah, the school semester is almost over. This will be my last semester on campus. I actually need one more German course that I hope I will be able to take via distance ed. from the University of Waterloo, and then have my degree conferred unto me in October.

Responsibilities left to me include a 5 page paper for Trends In Distributed Information Systems and a paper assignment in Databases. I have had a very slow start to to-day, so I will have to surrender part of my night to this.

I keep having things to write about and feeling I haven't the time. I used to make the time, as this was a desirable method of procrastination. I have more preferred methods of procrastination. Oh well.

Tech Tidbits

An update on Belladonna: she refuses to boot up again. Now that I know that a problem still exists in the current configuration, I can try replacing the hard drive and seeing if that will repair the issue.

Tourniquet II, my old desktop, has been resurrected at my father's home, and I set it up, connected it to the Internet, set up a dynamic DNS hostname for it and an SSH server, ensured it would connect to the Internet on boot without having to log in (silly Network Manager), and enabled firewalling, filtering all except port 22. Then, I decided I didn't like runlevel 5 and changed it to runlevel 3. Sure, X doesn't come up anymore, but I forgot that the SSH server was only activated for runlevel 5. I tested that the machine still connected to the Internet (by SSHing into my school's network) but failed to SSH back :( Ah well. I'll be visiting home again next weekend before exams (likely to do my taxes). I am really interested in having a remote server that I can use. However, I can't rely on my father to troubleshoot any issues (he has never even used a computer's keyboard before) beyond pressing the power button. Sigh.

Teachers and Scripts

I am a TA for CIS*1200 at my university. It teaches first year students how to use Office applications (hopefully to good effect), and how to build cursory web pages (via a combination of Microsoft Web Expression, HTML, and JavaScript). We have spent a lot of time (3 weeks) on JavaScript and the learning process is quite painful. I wonder whether this relates to the nature of the instruction they receive, and whether it is appropriate. I didn't know much about computer programming when I took CIS*1650 in first year, but it didn't prove challenging. Two of my good friends later took it at my recommendation and they both enjoyed it, one taking the follow-up course CIS*2650 the next semester. We TAs are also under instruction on how to assist. There are some ... stylistic choices that are being enforced for managing cheating that I don't think are appropriate. The assignment that they've had to do and the non-human resources they've had to help them are ambiguous and confusing.

I have helped quite a few people gain the insight they need to complete their assignments, and while it feels rewarding, it begins to wear me down, seeing the same systemic issue again and again and not being allowed to fix it at the source. I am quite happy with how much effort a number of the students have put into it. Someone called them ``keeners'' which I think is supposed to have a negative connotation, but I don't think it applies to them (let alone that it should be negative). Interacting with them (and the rather large class in general) has helped my social skills, I think. I am much more comfortable presenting in front of large audiences now (well, drama had gotten me half-way there in high school). I think I can also help people without actually doing the work for them, or seeming too condescending. I very much like helping people, but want to do so in non-repetitive ways. I hope to never do tech support :)

A very nice effect of helping people beyond satisfaction for me is self-esteem. This isn't very nice, but when I can confer assistance onto someone else, this means I have succeed somewhere in life and am not "lagging behind". Sigh me.

Medicinal Uses

The man whom I call my best friend attends medical school. I now like to say, when giving amateur advice on medical concerns is ``I'm not a doctor, but my best friend is.'' I suppose he is not yet, but that won't stop me. I can also assert things about animalia, stating ``I'm not a zoologist, but my girlfriend is.'' Tee-hee. Authority via acquaintance. I haven't seen my medical friend in a while, and haven't communicated with him much either. I tend to drift between best friends, using the term to classify the person who best provides friendship at a given moment. Tee-hee. I may not get to see him for another 2 years given my current plans, but more on that below.

An Adventure Begins, Fatalism Be Damned

Will my father survive my absence? I wonder quite a bit. I am not very concerned. As my girlfriend points out, despite his age, he is in very good condition (note how I refrain from using ``excellent''?). Also, and not to be callous, he will die eventually, and I can't postpone life to wait for it (which I expect will take multiple decades, anyway :) Anyway, the absence that makes my mind wonder about such consequences in time is my great Westward Adventure. I have gone to B.C. before and now I go again, but it is only a stop along the road this time. A long stop, but still. I head to New Zealand in pursuit of graduate studies.

I am not sure how things will work out. Whether I will be accepted into a graduate programme. Whether I will be able to afford tuition, let alone the flight. Whether I'll be able to work in between, so that I can raise the necessary funds and whittle away my student debt. My girlfriend comes along and shares in the academic quest. In medieval fashion, our adventure begins in April and we don't expect to arrive until December, regardless of the air speed velocity of a swallow, laden or not. The first leg is on the cheap (you always pay more for the second), and we fly cross-country via Greyhound. (This journey will be the inspiration behind the preconceived G21.)

Are these plans tentative? Well, we're betting a few hundred dollars that they're not, as we purchased our tickets to-day (for BC, as we cannot afford NZ quite yet). Employment must still be found, accommodations acquired, and a new way of living prepared. I'm going sparse (on my person, Flesherton will bulge with my history of acquisitions). 5 days worth of clothes, not a full week. A violin. A 11.5" tablet. A camera, its bag wither batteries. Keys, a swiss army knife, chopsticks. Identification and a much lightened wallet. Keys? For what? Alright, one less thing. Except for the clothing and violin, all my life will be carried in a little, spiffy and new satchel at my side. Steal it and you steal me- I hope you don't mind vegetarians.

Incidentally, my sister will get to see me again while my father won't. My brother? Due to his surprise pregnancy, I hope to not have to return for his wedding (it likely being postponed). Good bye Spade. I will try to run with you a few last times before the end.

A Near Miss

It hasn't quite hit me, this ending of University. I think that, had certain opportunities been taken, had I been more diligent about a few things, I would already miss it much more. But I do not. I will miss Vlad a bit, but hope to meet up with him again past 2010. The ``elevensees'' have a somewhat analogous group here. A year behind, and easily impressed by `gdb' :) Actually, I think it all maps quite well to the end of high school (except I enjoyed high school more at the end). Guelph wins for my girlfriend's presence, though :).

Particular professors? I never made very strong bonds. My best professors were not the type I could really associate with outside of class, even in an academic capacity. High school teachers were much cooler for that. Perhaps if I had gotten more involved earlier on, I would have developed stronger attachments. Ah well, there's always grad school.

The city? I began to appreciate it more since dating my girlfriend, but it's been winter here, and it's not easy enjoying it through the bitter cold. I won't have much winter for the next two years at least, so I suppose I should do what I can to maximise my experience with it :) Housing? I haven't had a very enjoyable arrangement in almost a year. I mean, I enjoy living with my girlfriend, but I have had massive issues with the cleanliness of the kitchen. The place before had coldness. The place before that what was the Waterloo Wastehole.

I was frequently told that my years at University would be the best of my life. I am glad to say I expect to have many greater ones to come.

Back to the Future

So, there is a lot I hope to do before death. Make my girlfriend smile. Again. And again. And again and again and again. Contribute to open source. Contribute to the world. Be of use. Be of the world. I will write on this when I have more time, when I should not be writing portions of my paper. Au revoir.


#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