2012-08-31

[Microblog] Transient Observation

A very twitchy fellow in the library has started making snake noises.  Voldemort?

2012-08-29

[Microblog] Transient Thought

It will be really cool/terrible once services like Facebook and G+ start identifying people in photos by their hands, by their clothing, by the inferred context of who that could be based on geolocation and time of photo taken.

[General] Life in review

The days blur together.
  • I completed my last grad course; now to focus my thesis
  • I completed my Google Summer of Code program; need to keep up development
I've gotten to see a lot of friends recently as a mini-break between semesters, including
  • vegan/pagan friend R
  • pagan/carnivore friend L (she incidentally also makes the best vegan food)
  • jodo friend K (we went to the ZOO!)
  • jodo friends A & J (BBQ supper!)
  • vegan friends L, M & J (potluck in the park, tea at place!)
    • (park potluck revealed that the lady who owns Bon Thé Place, the world's Best tea shop, is part of a family of vegetarians and vegans)
  • random friend C, with carob cookies and community music in the park
  • kendo friends S & P, S at the Farmers' Market, and S & P together at the music in the park
  • OCUS friend K who stayed for a few days before heading to the east coast
  • vegan friend A who overwhelmed with Masters still makes some time to work and eat together
  • J, (jodo) K, (OCUS) K, J, K, and C at the MineCraft party
  • undergraduate friend A (now in grad) with multiple lunches and adventures
    • (today's featured me wearing my red panda for a hat)
  • awesome friend R (baking via Google+ Hangout)
  • volunteer friend S, shopping and busing
 I've been lax about taking photographs, which is unfortunate, as I'll probably forget most of these adventures in a couple weeks, but at least I had them.

Remaining work includes
  • finish a couple websites
  • focus on Masters :D

[General] Design and American Airlines

I'd like to learn more about design.  FactCoDesign discusses uninvited redesign, and they highlight one proposed for American Airlines:
I like it.  I wish a little more thought was put towards making things beautiful in the world.  It can be expensive, like hiring a proper design company, but I think a lot of people have greater capacity for good design than they realise, if they just put a little thought into it and try not to get too wild.

[General] Males and dresses


"Father of the year helps dress-wearing son feel comfortable by putting on a skirt himself." at gawker.

This delights me a little.  I sometimes feel it's unfortunate that non-pants are largely the domain of women.  It feels like you have to have a cultural reason to wear something else, like a kilt for Scots, togas for Roman Legionnaires, etc.  I get away with wearing my hakama and gi for iaido/jodo/kendo, but even the hakama has legs, though it can be hard to tell.

I wonder whether people see the combination and think the father is strange and is training his son to wear dresses and take offense with that idea.  Ah well.  Also, the boy reminds me a little of someone I met in Madrid who seemed like they might have a neat gender dynamic themselves.  The world is weird and wonderful.

2012-08-26

[Microblog] Transient Thought

What I used to think of as history, such as the history of Britain, increasingly more as mythology.  I blame Crash Course World History.

[Microblog] Transient Quotation

"Isn't being vegan an eating disorder?" - K

2012-08-23

[Microblog] Friendly Thoughts

Separately received free food from three friends today.  Thanks Kevin, Liljana, and Rachel!

Not pictured: hummus or tofu salad

2012-08-22

[GNOME] GXml 0.3.1: Can't live in an alternate universe forever

Hello.  I received some feedback from the 0.3.0 release of GXml at the end of the Google Summer of Code.  Mainly that it wasn't compiling on another person's machine.  Changes to autotools to increment the version caused files to not install in a unusuaable configuration, but I didn't notice as I still had files installed from before I incremented the version. :D

I spent last night and today going through autotools files and libfolks to understand what was going wrong.  Then I rewrote a third of GXml's configuration.  I tried following the Vala tutorial's advice, only to discover it was base on GXml.  "make distcheck" now passes too, though I had to relocate some tests and fix a bug in caching deserialised objects.

Thus, 0.3.1:
Any more feedback would of course be welcome.

2012-08-20

[GNOME] GXml 0.3.0

update: thanks to Marcus Lundblad for pointing out issues with the examples
 
The Google Summer of Code 2012 now comes to a close, so to celebrate, GXml 0.3.0 has been tagged with GObject Serialization as its big feature.

The last few days have had been trying to find a clever way to reliably identify some types of collections, but that's not finished, so they're not being automatically serialized in this release.

I've also bravely fought against autotools to try to figure out how to minimise the number of places where I have to update a version number.  Too much of autotools remain a mystery to me, sadly, but I think I got it?  It works for me: hopefully someone will file a bug if something doesn't work for them.

Summary
  • Serialization class
    • that can automatically handle many types
    • that can deserialise to types known on the local system and distinguish multiple references to the same object.  I have some future plans to remove redundant XML that gets generated, too.
  • Serializable interface
    • allows classes to override default serialization and serialize non-public properties too.  Yay!
    • follows json-glib so that a common serialization interface can be defined in the future
  • Documentation
    • successfully got Valadoc to generate GtkDoc (and fixed a lot of documentation in GXml from before)
  • Testing
    • created test suites for serialization features
  • API breakage
    • namespaces were changed, in part to reduce the amount of code C programmers have to write.
Vala Example
Automatic serialization
GXml.DomNode xml = GXml.Serialization.serialize_object (banana);
...
banana = GXml.Serialization.deserialize_object (xml);

Implementing the interface: overriding how a property is serialized
public class Banana : GLib.Object, GXml.Serializable {
    public int weight { get; set; }

    public GXml.DomNode? serialize_property (string prop_name, GLib.ParamSpec spec,
                                             GXml.Document doc) {
        switch (prop_name) {
        case "weight":
            return doc.create_text_node ("%d".printf (weight * 1000));
        default:
            return null;
        }
    }

    public bool deserialize_property (string prop_name, GLib.ParamSpec spec,
                                      GXml.DomNode prop_node) {
        GLib.Value outvalue = GLib.Value (typeof (int));

        switch (prop_name) {
        case "weight":
            int64.try_parse (((GXml.Element)prop_node).content, out outvalue);
            this.weight = (int)outvalue.get_int64 () / 1000;
            return true;
        default:
            return false;
        }
    }
}

Implementing the interface: override view of properties
using GXml;

public class Plantain : GLib.Object, GXml.Serializable {
    private int weight { get; set; }

    private ParamSpec[] _props = null;
    public unowned ParamSpec[] list_properties () {
        if (this._props == null) {
            this._props = new ParamSpec[1];
            this._props[0] = new ParamSpecInt ("weight", "weight", "weight",
                                               0, 200, 0, ParamFlags.READABLE);
        }
     return this._props;
    }

    private ParamSpec prop;
    public unowned ParamSpec? find_property (string prop_name) {
        ParamSpec[] props = this.list_properties ();
        foreach (ParamSpec prop in props) {
            if (prop.name == prop_name) {
                this.prop = prop;
                return this.prop;
            }
        }
        return null;
    }

    public new void get_property (ParamSpec spec, ref Value str_value) {
        Value value = Value (typeof (int));

        if (spec.name == "weight")
            value.set_int (this.weight);
        else {
            ((GLib.Object)this).get_property (spec.name, ref str_value);
            return;
        }


        value.transform (ref str_value);
        return;
    }

    public new void set_property (ParamSpec spec, Value value) {
        if (spec.name == "weight")
            this.weight = value.get_int ();
        else {
            ((GLib.Object)this).set_property (spec.name, value);
        }
    }
}
 
... 
Challenges

These are the greatest challenges I've dealt with

  • my masters: there's a lot of pressure to hurry up and finish; ideally, a GSOC should be the sole or primary focus of my summer, but I don't have much opportunity to take a summer off right now.  Going to GUADEC was amazing, but consequently made my masters a bigger part of these past two weeks.
  • autotools: a lot of feedback centred on people wanting autotools instead of WAF, so now you have and now I cry myself to sleep at night.  I just need to make it a bigger part of my life.
  • valadoc: I was having issues getting valadoc to correctly generate GtkDoc last year and this year until Philip Withnall directed me to libfolks.
Future
  • want to support automatic serialization of more complex types; I've been working on collections but there are problems with it that prevent me from committing it.
  • two projects approached me at GUADEC suggesting GXml for saving data to disk, so I am going to write patches for them. :D
  • examples in other languages
Download tar ball: http://ftp.gnome.org/pub/GNOME/sources/gxml/0.3/

2012-08-18

[General] Video and the Internet

Woah, YouTube.  I realised over the past couple of months, as I found it harder to stay within my 10GB full-speed threshold for my unlimited data plan (with WIND, they potentially throttle you after), that I access a lot more visual content than I used to online.  I think I might spend more time watching videos specifically than reading.  A large chunk of my Google Reader subscriptions are videos, and many of the text ones are just short snippets (like Twitter feeds).

Most of the video content I consume is related to the VlogBrothers.  Nerdfighteria is practically an empire.  I've even started branching off into watching other nerdfighters, and not just productions touched by Hank and John.

YouTube has been popular for watching music videos.  It's weird that tonight the bar next door was playing the Darkness ("I believe in a thing called love") and Carly Rae Jepsen ("Call Me Maybe") next to each other.  I ended up googling both, and found that thanks to Google's new knowledge graph, I could search there name and see a few of their popular songs listed on the side of my search results. Clicking those of course gave me listings of YouTube videos.  Wonderfully, record labels enable the videos to go on YouTube through the artist VEVO channels.  And that's when I discovered something fascinating.

The YouTube Top 100.  YouTube has popularity charts that I feel effectively compete with traditional radio charts.  They have them for non-music categories as well.  If I like, I can "play all" the top 100 music videos to listen to all the popular stuff of today.  Weird.

Typing about music videos and YouTube, I also went about finding covers to Gotye's Somebody That I Used To Know (I wonder how he feels about all the covers, and some of them rivalling his version in popularity (like Walk off the Earth's)),  and I found a new favourite, this time by Ingrid Michaelson.

That and "Call Me Maybe" have led to many interesting and/or hilarious covers, like the Cookie Monster's "Share It Maybe"
(Though I find this one sort of drags on a little... but now I want cookies :|)

[Microblog] Transient Tea


Sitting on my futon couch, in mild lighting, with a pot of Earl Grey next to me and a cup, trying to remember not to let it cool, reading papers and taking notes, listening to the Friday night rock music from the bar next door, snacking on rice.

[School] Latest state

Regarding my last post, I'd also like to note that doing research by sifting through a myriad of recently (and not so recently) published papers to understand where things are at borders on the insane.  It's always great when you can find a literature review that helps consolidate current understanding.  However, I think it would be best if there were reliable and comprehensive overviews of fields always available as the first source you'd go to when approaching a topic.

In some cases, the Wikipedia almost does that, but it doesn't really do enough to help point towards latest and less certain research.  I want maps of where current understanding is, has been, and is going.  I'm certain that every time I do background research, I'm probably missing some relevant paper, and wasting a lot of time reading more than I need from some papers in the hopes of understanding what all is going on.

2012-08-17

[School] Obstacles to knowledge

Is there a platform that makes knowledge distribution sane?  I don't think having a myriad of hosts for PDFs of papers is sane.

What I want
  • Papers are presented in a flexible-display format.  PDFs have the goal of preserving the original appearance of a document.  
    • I want something like a dead-simple web page that lets text flow to fit the page.  
    • No weird double-column nonsense, where I have to remember to jump back and forth between columns.  (I actually missed an important column in a paper the other day by forgetting to shift back.  That was useful for when they were physically distributed on paper, not any more.  I need something that makes any paper readable on my phone or computer without having to scroll horizontally.
    • I want figures and tables to be able to take the space they need, and not be reduced so they can fit inside a small column.
  • Explicit data structure.
    • I want the platform to understand that these are sections.  Let me collapse ones I'm not focussing on.  Show me a navigable outline.  
    • Structure the metadata.  Know what the abstract is, what the title is, the author, the year, etc.  Have metadata like that appear at the top in structured places, so going through a dozen papers, it is dead predictable where that information will be.
    • Have the information be displayed consistently.
      • Perhaps let me select my preference for how dates and author names will be displayed, and have that consistently.
  • Hyperlink references to other documents.
    • I want citations to be clickable links.  They might take me to a bibliographic entry, or take me directly to that paper (perhaps let me hover to see what the paper is (abstract, title, author, year)).  
    • I want the bibliography to definitely be clickable.  I don't want to have to search for the title in Google Scholar.  It's 2012 already, we have had the Internet and electronic documents for a while.  Academics is supposed to be progressive.  Especially computer science when it comes to technology.
    • Unique identifiers for each document, like Library of Congress numbers.  When I write my own papers, I don't want to have to type up bibliographic information in my paper, I don't want to copy and paste bibtex text from Google.  I want to drag a URI in and have it instantly resolve to the paper I meant to reference.  
Does this already exist?  Is it some fancy pay-service?

[General] The designs lovely

So I've hap'd upon Adam Rabalais' poster work. I really enjoy his redesigns. So much, I might buy something from his Etsy shop or maybe just stare at his DeviantArt gallery all day.

2012-08-16

[Microblog] Transient Dromedaries

Observed two camel on a sheep farm on my way to Guelph last weekend. Camels.

[Technology] A nuisance

One of my complaints about my Linux desktop is the lack of feedback I get when things aren't working.  If my firewall blocks something, I don't want it to do it silently, I want to know that the firewall is the reason this or that feature is currently not working.  When SELinux blocks an application from doing something, I want to know; apparently it's supposed to tell me, but setroubleshootd isn't running on my laptop by default, and I can't see where it's supposed to start.  When speech-dispatcher seems broken for a few months, I'd like to know that it's trying to emit audio but that the volume on its channel is muted with PulseAudio.  Sigh.

2012-08-15

[Technology] Transient Nausea

That sinking feeling when you notice Evolution is sending out mail that was supposed to go out over a year ago and you frantically try to "killall evolution sendmail" and disconnect in the hopes of avoiding disaster. O_O

[Technology] Double the factors, double the authentication, double mint

Awkward commercial concepts from the 80s. 

Today I enabled two-factor authentication for logging into Google.  I've been reluctant to because it feels a little overly complicated for what they're trying to achieve, but I had an issue with people accessing my account in the past, so I might as well try to be more secure for the future.  The idea is that you have your password and separate code to log in.  Your password you remember, the code is something Google gives you, generally by your phone.  The code expires after use (but you can let a machine/browser be trusted after using a code, so you won't need a code on it again), so someone would have to be able to get a new code to crack into your account.  The code is typically sent to you through a phone (they can even give it to you via a voice call to a landline instead of a text message to your phone).

One problem of course is that a lot of applications don't support it.  To that end, you can request unique passwords for each application that needs to authenticate to Google.  That has been the most annoying part.  As soon as I changed to two-factor authentication, three different applications popped up password dialogues on my machine complaining that the old one didn't work.  I presume I'll be generating one-time passwords for a little while now, but for now I have Empathy, Evolution Calendar and Evolution Mail working again.  I can finally send mail from my desktop again (broken for like a year), and for now, Empathy seems to not be randomly refusing to connect any more (only started with Fedora 17, but I think that was a problem with GNOME Keyring and old passwords saved there).

2012-08-14

[GNOME] GSOC, GNOME Documents/Tracker, and Tablets

GSOC "Pencils Down": GObject Serialization with GXml

Yesterday was pencil's down (joke with friends of yesterday: What's a pencil?  Is that like a stylus? O_O).  I pushed the changes I'd been working on.  It was a bit of a wrestling match with automake trying to get my devhelp pages to successfully generate via valadoc, but I prevailed in the end.  A hearty thanks goes to the Folks developers and Philip Withnall who have essentially been the template I followed.  In the end, the biggest obstacles seem silly in retrospect, though.  Sigh. I want to write up a quick guide for future people after my semester ends.  I want to do a lot of things.

Also, deserialisation handles multiple references to the same original object correctly now, hooray!  There is one issue with it in some cases, where there might be an ID collision on the serialised objects.  I have a few ideas for solutions, but for now, that's it.

I have work to push on automatically serialising collections, but it's a bit too buggy right now.  If I can't finish it this week, I'll put it in a branch and push that.

GNOME Documents and Tracker

Sam Thursfield the other day asked if I could try Tracker 0.14.2, after I noted that Tracker's subjective impact on interactivity was preventing me from using GNOME Documents.  I found a package in Fedora's koji for 0.14.2 (after vainly trying to install git to ~/.local/; I gave up on trying to get tracker to load from ~/.local/libexec/).  I'm not sure if it's any better?

It initially stalled twice.  (0.14.1 was stalling while mining the file system sometimes, according to tracker-control.)  The first time was just when it started, it got 2% of my file system done and just never progressed beyond that.  No CPU activity, though.  I restarted, and it made some more progress.  I then tried to preview a file it had indexed, and LibreOffice document, and then resulted in soffice consuming all my CPU for over 5 minutes before I killed it.  tracker-control indicated no further progress for a while, so I restarted again.   I don't feel I have enough reproducible information from either instance to file a bug, sadly.

It's been going for over an hour now.  Performance on my desktop is intermittently laggy while it runs while I'm trying to interact with it, sadly, but I think it's better than it used to be over a year ago?  It was slowing down my system for a while when I started using my browser and a terminal 15 minutes ago, but after about 5 minutes of sluggishness, it seems to have backed off, though still using a very small amount of CPU.  I hope it hasn't stalled again.  I will let it finish its initial indexing and then monitor its behaviour after that to see whether I can live with it turned on.  Heavy I/O and CPU use while I'm trying to interact will be a big no-no.

UPDATE: one of the issues seems to be large memory usage causing programs I'm interacting with (e.g. Firefox) to have to swap a lot.  I have 2GB RAM.  Hopefully when it's done it's initial indexing, that won't happen.

Can anyone else comment on Tracker 0.14.2 and up, and their experience with interactive performance while it's running?

GNOME on Tablets
"No auto-rotate, no swipe to scroll, no two-finger zoom or resize aren't issues. The real and only issue is that no part of GNOME is better on a tablet than iOS or Android. So the issues you pointed out are really non-issues since the product, by design, isn't a good one [for this form factor]."
This is a comment on my previous post about testing GNOME on my tablet.  I find it a bit weird.  Despite all the ways in which GNOME is not yet great for a tablet, there are several things I already prefer about it.  One is having a completely Free software stack operating my machine.  Another is familiar software and features.  Another is that by having a desktop-background, its applications have options and features available that aren't provided on other tablet systems and their apps that simplify UIs beyond what GNOME does even in 3.x; I don't have to compromise functionality.  I'm not sure, but do other tablets have things like user switching yet?  I also like having normal control of the system underneath, even if I have to use a terminal to access it: it makes running sshd and rsync a lot easier.

A nice thing about GNOME is its design can evolve and adapt.  GNOME 3 is much more touch-friendly than GNOME 2 was.  Having always used tablet PCs (the stylus variety) for laptops, I like having direct interaction with the screen, and look forward to many touch-enabled computers in the future.  A lot of the considerations that would go into making GNOME on a tablet a more enjoyable experience wouldn't subtract from using GNOME on a laptop, so I think the noted deficits are valid issues.

So, why should GNOME not be nicer to run on tablets?

2012-08-13

[GNOME] Tablet support testing

Hello Planet GNOME, and in particular those interested in seeing GNOME be tablet-friendly.  I have a question for you:

Is there any part of GNOME you'd like me to test on a tablet?

It occurred to me that I happen to have a development tablet that I could install GNOME on to and test software on, so I did (Fedora 17).  Initial issues have been:
  • no auto rotate.  Perhaps my device lacks a sensor for orientation, though.
  • no swipe to scroll
  • no two-finger zoom or resize
I kind of expected the above.  Here are some parts I thought would work, though, but didn't
  • after manually rotating the screen, the touch cursor gets confused so where I touch is no longer synced up with where the cursor goes.   I touch the top-left in portrait mode, and it goes to the top-left if it was in landscape.
  • clicks are weird.  I can successfully click many things on the interface and have them respond, but not folders in nautilus or buttons in Rhythmbox (UPDATE: sometimes they do, sometimes they don't).  A USB mouse works, though.
  • the on-screen keyboard will pop up when you focus a text field, but when a number of apps open, they have a text-field focused by default, resulting in the keyboard popping up, like System Settings.
  • display off after N minutes doesn't actually turn off the display (like "$ xset s activate" does but just gives it a black overlay) (NEW)
  • lock screen doesn't let you bring up the on-screen keyboard (I think that's fixed in a GSOC project this year though :D) (NEW)
  • on-screen keyboard has no arrow-keys (so trying to use it for a terminal where you want to navigate it's history is hard) (NEW)
  • the on-screen keyboard currently wants presses/mouse clicks to be exactly within a key, let alone on the right key.  It would be nice if it could accept presses next to the key nearest, or even get some intelligence. (NEW)
I'll try to file bugs for these next week.  (This week is too busy with the end of school and GSOC. :D)  I just thought I'd mention this so far and offer to test things while it was fresh in my  mind.

[Microblog] Transient Possessions

I think I just realised where all my movies missing in the last year, like Last Exile, Excalibur, Amelie, etc, went... I wonder whether I will ever see them again, or what else was with them?

2012-08-12

[Microblog] Transient Quotation

"There are no mindless drones." - Hank Green

[Microblog] Transient Trouble

... I have been plagued too long by a single error in a file.  Days for one word substitution.

[General] Things to think about

I want to read about the end of life at various points in history.  I want to read perspectives of the old and finished, of complete lives, before, during, and after major events.  Reflections of an 80 year old as they see the world run to ruin leading into world wars that they'll never see, during wars they'll never finish, and after wars where their last memories is a resounding peace.  I want to see the perspectives of people leading into the digital era, at the dawn of the Internet, the dawn of the android revolution, heights for social liberalism and conservatism, etc.

In some way, it's important that the perspectives come from people who don't actually live to see the world change.  Their last impression needs to be the direction the world was going at the time of writing, shortly before their expected death.  Of course, someone could just write something at the time, and then go on to live and see it change, and write something new.  But really, it's the idea that someone's final impressions of the world extrapolate from a life time of experience and final observations.

I want the world to be filled with promise and optimism when my father passes.  Everything to be on the up and up.  Not so great that he'll really regret leaving, but just so he won't be happy to go. :)

2012-08-11

[Microblog] Recent accomplishments

  • Picked up a friend's partner from the bus station; their first time in Canada, entertained them for a few hours until friend got off work.
  • Danced in the rain.
  • Returned an ant that stowed-away on my person as I lied in the grass back to his home after finding him crawling on me once home.

2012-08-09

[Microblog] Transient Discovery

So, I recently spoke to a new friends about 10 Things I Hate About You potentially being an adaptation of a Jane Austen novel.  A recent VlogBrothers video suggests that it's more an adaptation of The Taming of the Shrew.  Coincidental knowledge.

[General] Life and living it

So, I'm going camping in Algonquin in time for WEMF with my friend Shane and potentially others.  Whee!  I had to miss Hillside (which was 2.5x as expensive, anyway) because of Spain, so this might make up for it.

Fan Expo is coming up as well, and my friend Krystabel had to miss Anime North because of work, so perhaps I will go to TWO geek conventions IN A SINGLE YEAR!  Woah.  Or 3, given TCAF.  Hehe.  Depending on who else is going, perhaps I could even borrow the Pikachu hat again and this time grow an actual tail?  I received a number of compliments last time on that minimal costume.

The 25th is also Cape Day, as my friend Ainslie points out, so I need to hurry up and finish that cape!

2012-08-08

[Technology] Autonomous vehicles

The future is nigh!
  • simTD networks cars and not-cars, sharing data to increase automobile awareness and hopefully reduce accidents.  In Frankfurt, Germany with 120 vehicles from different brands.
  • EU says that by November 2013, cars have to have autonomous breaking.  I wonder how they're dealing with liability when it causes a problem?  Requiring cars to have it so soon is a fascinating proposition.
  • Google expands their self-driving car project, with Googlers now to use going between home and work without a buddy in the car.  Also, adding a new model of car, and acknowledging the need to try out snow.
I look forward to self-driving cars.  My goal had been once to avoid driving in my life time.  I dislike its impact on the environment, car culture, the expense of car ownership, etc.  I'm actually in the process of getting my license, mostly because I don't want to be stranded if my father falls ill and I need to somehow visit him.  However, I still think of autonomous vehicles as helping address some of my issues.  Can we get an efficient network of pod cars that encourage car sharing, to reduce the inefficiency of per-family vehicles?  Intelligent driving to reduce accidents and marginally improve efficiency?  Make them naturally safer so we can reduce the cost of cars themselves and insurance?

I want one shaped as pumpkin.

2012-08-07

[GNOME] My proceedings of GUADEC 2012

As you may have noticed, I attended GUADEC 2012, the GNOME Users And Developers European Conference, in A Coruña, Spain, over the last couple of weeks.  This is my second GNOME Conference, after attending the Desktop Summit in Berlin last year.
Thank you GNOME for helping me get there
Talking
 
As mentioned in my GXml Serialization update last week, I got to give a lightning talk about my project.  My favourite part about that was having two developers approach me on the last day and give me ideas on possible users for my library.

Listening

Unfortunately, due to a delayed flight, I ended up missing most of the first of the conference.  This is unfortunate, as I was looking forward to the following missed talks
  • Xan Lopez and Juan José Sánchez Penas' talk "A bright future for GNOME" 
  • Debarshi Ray's talk "GNOME Online Accounts: for users and hackers".
  • Federico Mena Quintero's talk "Desktop systems based on Gnome technologies"
I look forward to when the videos are uploaded.  There were other talks I would have liked to go to, too, but these were the ones that felt more controversial to me and more important to have clarified.  (I have issues with how GOA is implemented, for instance, which I got to discuss with others there.)

Now for some notes on actual talks I found memory (or unmemorable),
  • "Beyond dead reckoning":
    I actually only stayed for the beginning and the end; while GNOME design is a popular topic right now, the presenters seemed a little ... tired, so I took the opportunity to catch another talk of personal interest on OCR...
  • Joaquim Rocha's "OCRFeeder: OCR Made Easy on GNOME":
    this was pleasant to see one of the more complex features you might want on a desktop available.  It was mostly a demonstration of what was currently possible. I'd be happy if it was seamlessly integrated into my scanning and image viewing experience (it would be great if I could go from Shotwell photo manager and scan text in an image I took).
  • Lennart Poettering's "The UI and the OS":
    This ties for my favourite talk of the conference, as did Lennart's talk last year.  I appreciate it for its grand technical vision of the future driving the lower levels into a state that makes the desktop-level much simpler, secure, efficient, etc.  My favourite idea is adding the concept of an application to the kernel which will be useful to things like GNOME Online Accounts (and hopefully resolve my problem with it) among others.
  • Cosimo Cecchi's "Documents - one year after":
    I wrote previously about Documents and problems I was having with it, and Meg Ford's reply to that post was very welcome and helpful.  This talk also highlighted what my problem had been: Documents' local functionality is dependent on Tracker running and Tracker causes notable subjective performance loss when running.  It is unable to stay out of my way, and so it ends up disabled, and Documents becomes completely useless.  Hopefully, Tracker will one day be able to address its issues and I'll be able to actually use Documents.
  • Yorba's keynote "Crowdfunding GNOME Application Development":
    This concerned various possible fund raising models for app development.  Yorba wants to spend more time working on GNOME apps and less time working on contract work needed to fund the GNOME work.  I find funding open source a bit difficult, because if you do it at a high level, it's hard to tell where the money should be allocated (to apps, to subsystems, etc).  In some ways I think it's better to let fund raising be done per module, but I don't think we have a large enough community to pull off something like KickStarter's level of funding.  Hmm.
  • Philip Withnall's "Folks of the future: more contacts everywhere":
    This talk highlighted one of my problems with folks: that it mostly just aggregates contacts from other services rather than syncing and modifying them.  However, I've enjoyed following folks as an example of a good vala library, which has been useful to my own project.
  • Owen Taylor's "Smooth animations for applications":
    This was pretty to watch, though in the end it seemed the benefits would not be quite as revolutionary as I had hoped when it started.  It was great to learn more about how the UI is rendered and where its latency and lag comes from.  I had at one moment hoped it would address the inability of GNOME Shell to extend the width of my two monitors while GNOME Panel+metacity can.  Sigh.
  • Jean-François Fortin Tam's "PiTiVi and the GStreamer Editing Services: state of the onion":
    This talk tied with Poettering's talk for my favourite.  PiTiVi is an application I'd really like to use, but I've yet to successfully edit a video with it, even trying to accomplish relatively simple tasks.  Half of the problems I've attributed to it being written in Python, in that I get TypeErrors about None types when I click buttons because code changed once and some variable that no longer exists is still being referenced, problems static compilation catches.  I'll try to be quite thorough in filing bugs the next time I attempt to use it.  There appears to be a wonderful amount of improvements (including GES in C) so hopefully the next released version will be the start of something beautiful for me and PiTiVi.
  • GNOME's keynote "The History of GNOME":
    This was wonderful to watch.  It was weird learning about things I didn't know, and then having the talk reach the point where I started following GNOME, and then hear much-the-same view I had of events over the past ... almost a decade!
Working

In getting to interact directly with other developers, I also discovered new things about GtkDoc, Valadoc, and automake that let me spend some time on my project making things Work the way I originally wanted to.

Collaborating

My favourite part has to be the people.  I got to meet a lot of people I met last year, better acquaint myself with some, and meet new people.  One of the best parts was learning how GNOME mattered to others and what they wanted out of it.  There were a lot of conflicting visions going around, but lots of enthusiasm for GNOME.  I hear that's how it is every year.

The Venue and A Coruña

The organising team did an amazing job.  I only have the Desktop Summit 2011 to compare it too, which was good, but this was amazing.  I really appreciated the care that went into looking after my vegan dietary requirements, even though there was some comic confusion with language barriers.  I felt a bit bad for not learning more Spanish before arriving, to which my friend Ed has replied, "Don't feel bad -- I didn't learn any Australian before leaving for Australia."

The organised accommodations and the university were great.  Internet was available (unlike last year) and there was a lot of space to collaborate and to conspire with others over bananas.

Also, the social activities were reasonable and enjoyable, though the attempt to give a value-added experience to the professionals may need some fine tuning (note: I was not a professional, I just heard that a separate cocktail event ultimately didn't seem like the best idea). 

GNOME

The future is always a bit scary but promising.  Sponsors come and go, the market and users' needs change.  However, being at GUADEC proves to me that these are my people, and where they go, I must follow.  It's one of the best things in the world, to be with a group of people who also value quality, excellence, and good ideas, so positively and with such great encouragement.

See you next year!

2012-08-06

[General] Home Crazy Home

I'm working in a frenzy to finish a presentation for tomorrow.  But I still took the night off yesterday to get kidnapped and join some friends at the Milton Pirate Festival and camp outside for a night.  The last time I went to a pirate-themed event, I went as a ninja! but that was apparently inappropriate here.  Despite having relatively little time, we packed in a lot of fun, setting up a 15 person tent for 4 with some makeshift components, cooking veggie sausages on a propane fire, and, fatal to our sanity, getting to play with GLOW IN THE DARK CRAYOLA PAINT!
Me, glowing in the dark.  Isn't it obvious?!





Also, grass sticks to paint, which I discovered when we rolled down hills and fought with glow stick swords and wands.  (I had a purple star wand, go figure.)  I think my favourite part might have been lying in the grass with the cool air blowing watching for shooting stars with a friend.  We were surprisingly all exhausted before even very late, and retired to our tent, which was surprisingly warm and comfortable.  I woke early enough to catch the sun rise, though, and go on a breakfast adventure (the quest for Starbucks coffee) before catching the Go bus back home to resume my labour of intellectual slavery.

I haven't seen enough of these given all the years I've lived
It was important to go since I've been away for a while and a couple of the friends involved won't be around very often for the next little while.  I was able to share souvenirs I got from Spain and enjoy one last hurrah for the summer.  (I expect there to be more last hurrahs, though!)
Blogger's traffic stats surprised me by saying someone found my page where I posted this.  Most visits go to my technical pages.   This post wasn't so long ago, but it feels like it comes from a completely different world.  I don't feel quite as brave, or strong, or unyielding as once, and I sometimes feel like I have little to give others.  I'm pretty sure I never understood what was right and wrong anyway, though.

2012-08-05

Spain

I want to make this a prettier post, but I also want to write stuff before I forget it.

Things open late and stay open way later.  Supper is later.  It wasn't hotter or more humid than Ontario while I was there, but I got the impression that heat is a problem and a way of life.

For a country where so few people speak English, I wonder why they listen to so much English music.

When five people warn you of pickpockets in Madrid, there's cause for concern.  I wonder how prevalent it was when their economy was doing better.  I wonder if there's relationship between the amount of money given to beggars and the prevalence of theft.

It's challenging eating vegan in Spain.  Also, servers feel comfortable laughing at you all over the place when you explain to them that you're vegan and what that means.  (Via Google Translated text.)  I ate a lot of salted pimentos.

There's oil in a lot of their food.  A lot.  A lot.

The one Spanish beach I visited had many small pebbles instead of sand.  We affectionately called it kitty litter.

They eat a lot of seafood and octopus.  Poor octopi.

It can be challenging talking to the heavily opinionated.

I read John Green's Paper Towns on a bus between Madrid and A Coruña.  It was wonderful and I'd recommend it to many people.  I even gave it away while I was there!  I also gave away my mushroom necklace at the perfect moment.

I didn't see that much tea there.  I tried some Ceylon tea at one point and it was positively awful.

I didn't go to karaoke as I did in Germany, but I still sang pop songs with a new friend in public places.

The conference reinforced that, as I was quoted in the year book, these are my people, and I need to do whatever it takes to ensure I can continue working closely with them.

I am a veteran at sleeping-on-a-plane travel!

I will be more articulate about it later.  Until then, you can always stalk my photos on G+ for the last 10 days. O_O

[General] Conservation of Time and Experience

I just wrote a big long version of this but then I got tired of writing it and now here's a short one.  I sort of think that time is hard to waste.  You end up doing something with time even if you "misuse" it.  I could stay in Canada or go to a conference in Spain.  I could go to sleep early for my flight or start a conversation.  The way time gets spent gets valued differently.  I'm much happier having had a late conversation in Spain than missing GUADEC in Canada.  But then who can say what I missed back in Canada?  Sometimes I do something seemingly mundane instead of something seemingly exciting, but then the time spent doing something mundane probably allowed me to think about things I wouldn't have thought about elsewise, take time to do work and make it better than if I rushed, get a chance to relax to enable myself to enjoy the next adventure more.

Last year at GUADEC I realised I didn't want to remain in academia.  At that moment, or at any moment since until now, I could choose to finally exit and start pursuing the life I'm after, but by sticking around school, I've had a lot of other experiences I value greatly, and made friends I value greatly too.  The longer the time spent, the harder it seems to be to say that it is not well spent.  So, instead of running after adventure immediately, I will hold myself back a little while longer and perhaps finish my interminable Masters, and have a little comparable fun along the way.

[Microblog] In parts

That's how autonomous vehicles will come to us.  The EU mandates autonomous braking for the future

Left on a Jet Plane

(Yes, I have to reference that song every time I fly.)  I am home and have finally slept.  I return with more-than-a-little regret and awe, the best reactions to travel.

2012-08-02

[GNOME] GXml Serialisation update

As Daniel Siegel kindly pointed out to me in person a couple hours ago, I've missed an update last week.  That's because I was busy preparing for GUADEC, the GNOME Users and Developers European Conference, in A Coruña, Spain this past week.  I'll write about the conference separately, but now I'll give an update on the current status of GXml.  
  • Gave a 3-minute lightning talk about GXml Serialisation at GUADEC
  • The namespace has changed from GXmlDom to GXml.  Last year it was GXml.Dom.  This should make it more appealing just for writing.  Most of the DOM classes don't conflict with future GXml plans for SAX or XPath.  This also let me change GXmlDom.XNode to GXml.DomNode.  (It's not simply Node because higher level languages will get namespace conflicts with GNode in GLib.
  • Speaking with Philip Withnall gave me a basis to use Valadoc after all and still generate GtkDocs.  I'm following libfolks' autotool magic to manage this.  It's not particularly esoteric, but I'm no autotools master.
    • Speaking of which, the GXmlSerialization class and the GXmlSerializable interface are both well documented now.
  • A solution was picked to deal with multiple references to the same object when serialising.  It's the simple obvious solution: assign objects a deterministic ID as they're serialised, and let references after the first one just refer to it.  That lets us easily deserialise it without erroneously duplicating objects and separating their references.
  • I've spoken with developers who want to use it for data storage on disk.  I also received recommendations for systems to try to port to it.  Someone suggested GNote, but I believe they're trying to stay compatible with Tomboy.  I have to look into what their current situation is.  If you're involved in software that currently manages saving data to disk in XML (or something uglier than json) by itself, and would like to rely on something clean and simple, let me know, and I can prototype a patch and make sure your usage case is taken into account as I stabilise serialisation.
  • Support for automatic serialisation of collections is coming along.  Someone asked me to supported GBoxed types like json-glib does, so I will pursue that too.

[Technology] Two wishes

  1. A better web site creation solution from Google.  They currently have two partial solutions that overlap with Google Sites and Blogger.  Both cater to different audiences but both incorporate reduced functionality of the other.  Sites has simple blog-like features that Blogger does better, and Blogger offers better control over aesthetics.  Blogger's ability to host static pages is more limited, though.
    1. Then perhaps I could embed Google Docs into my blog posts like you can with Sites (yeah, browsing a presentation or spreadsheet directly within the post, no plug in necessary: that's some beautiful integration).
  2. That Google Drive could upload ODP (OpenDocument Presentations) and convert them to Google Docs Presentations.
As a fellow conspirator just said, the obvious solution is to deploy or build my own platform.  Sigh.

Labels

#General #Microblog friends life #Technology gnome music google iaido guelph fedora vegan bugs food school linux technology #GNOME #School jodo gxml #Budo blogger #Photos work nature web happy vala art firefox Flesherton android anime internet open source stress travel home kendo kosmokaryote writing birthday dad science animals computers environment future security canada cookies development german photos programming reading sick sleep snow video winter GUADEC cell phones css fun language learning me people phone picasaweb ta time christmas evolution love movies vegetarianism Toronto gsoc identity society speech vancouver vlogbrothers #Vegan adventure ai birds dreams git google+ gseta happiness libgdata new zealand night responsibility skedge stars tea wind mobile Nintendo baking cake consumerism fedora 17 memories netflix nlp photography quote tablet uoguelph Josh Ritter books bug communication design facebook family humanity javascript magic meaning memory money organisation pidgin rain recipes speechdispatcher sushi tv weather Spain TAing animalia cat chocolate cold cycling death encryption film flight genderguesser halloween health knowledge languages liv mail new years nightmares politics productivity psychology swords the legend of zelda ubuntu video games web development xml xorg youtube Thanksgiving The Frames acer bc blogging busy conversation cooking duolingo emacs emusic fedora 18 galaxy nexus gay rights gitorious gmail japan libxml2 martial arts materialism nerdfighteria privacy rhythmbox software sound space university upgrade valentines wahoo walking Con-G Europe John Green Scott Pilgrim age animal welfare apple autumn bash brain brave breath of fire II calm camera canada day change clothing comments confidence conservation creativity culture dance dataloss djaqua duplicity e-mail errors feminism gdom germany goals google reader gtk humour intelligence japanese laundry law light math morning mozilla nostalgia ottawa peterborough pets philosophy pie quality research sei do kai shopping spring style summer value village vday vonage water web design website x11 #Life New York alone anime north anxiety argument backup blog budo buffy business cats computer science concert data loss diy eating economy education energy english exercise failure fedora 19 file systems flowers freedom french games gdata greyhound growth habits heat history house html ice cream im information joy koryu laptop living lost microsoft moon moving muffins mystery news nz pain photo php physics pirates pizza play poverty preupgrade progress purple python reality reflection religion rss self serialisation sharing skating social sun synergy tachi uchi testing themes thesis thinking thoughts transit turtles veggie challenge velociraptors violin weekend weird yum zellers API Air Canada Empathy 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 colour community content copyright corporations crafts decay decor depression depth disaster drawing emotion epic equality experience faery fest farmer's market fedora 12 fedora 16 fedora 20 fedora 22 fedup feelings fireworks friend gender ghetto ghosts glib gnome blog gnome shell google talk green hair hobocore hungry icarus interest introspection java jobs last exile luks macbook mail-notification mario meat in vitro mind mom mood moon festival motivation mtp ninjas oh the humanity pagans pants papers past performance perl phones picnics pitivi plastic pride pumpkin pumpkin pie quiet thrill rae spoon 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 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 Grimes HTC Hayao Miyazaki Mario Kart Montréal Network Manager Newfoundland Ontario Ouran Host Club Richard SVC Samsung Samurai Champloo Santa Claus Studio Ghibli TCAF US academics adb aeroport algonquin amusing animal agriculture apartment 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 cleaning 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 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 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 instant messaging integration 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 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 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 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 thought thrift tim tams time and space tired tools tracker tradition tranquillity transience trees trust tumblr twitter update usability utopia via vihart vlog waffles warmth waste waterloo wave web comic webkit wii wiki winter is coming wizard wonder woods words xmpp yoga youth zoo #Wishlist 1. is anyone reading this? 1602 1984 2. you win a prize! 2014 24fps 3. gimme a call to collect 404 All My Children Andy Griffith Argentina Armstrong House Avatar: The Legend of Korra BarTab Beach House Boston Boston Summit Businesses C CIS*6050 Cambridge Christopher Plummer Claymore Creatures Darker than Black David Attenborough Dear Wendy Docking Station Dollhouse Earthbound England Excalibur February Fergus Final Fantasy IX GError GSA Go Google Play Music Hunger Games I believe in a thing called love I'm a wizard IRC Ikea Ireland JRR Tolkien King Arthur 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 Pete Peterson Planet Fedora Porco Rosso Questionable Content R ROM Rent S SIM Wireless Sauble Beach Selenium Shakespeare 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 UK UX VPN Will Grayson Will Grayson Wolves in the Wall WordPerfect Xiki abrt absolutism abuse academia accessibility active activism activity addiction adreama adrift adulthood advertisement advertising air airport express airship ajax al gore alarm clock aldiko alice in wonderland alien alistair summerlee amateur amazon ambience ambition amy winfrey anaconda and imperfection angle angry birds anhosting animation anon anonymity ant apache apology appearances appreciation aqualab arcade architecture arduino arrogance ask assassins assignments association analysis astrid asus eee top asynchronous ati attitude attribution aural abuse authentication authenticity automake automarker avatars awesome b43 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 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 coincidence coins color comfort commons communism competence competition competitive coughing completeness compliments conference configuration conflicted confusion consciousness consent conservatives conservativism console construction 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 cvs daily grind data data mining databases dating david bowie dconf debate debug symbols debugging delicious design patterns desktop desktop summit destiny detachment dftba diet difficult digimon digital receipts disabilities disappointment discordianism dispute dissection kit distraction diyode dnf doctor who doctors documentation dokuwiki doubt doughnut dpkg drab drano drano prevention dream dreaming drinking drm drowning dryers 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 fonts 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 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 books google wallet gp2x gqe grad graffiti grammar graphing graphviz grass green beaver grey county groceries growing up gtest gtg guts 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 instagram installation intel intellectual property interactivity interlocutor internet tv invertabrates io irish irony isolation it it is indigo james bond jedi jikiden joke journalism journey judgement julian assange julie thiel justice kata kayak keys ki-ai killme kim taylor kinder kindness kirby kitchen kiva knights knots kodak koodo kung fu labels landau sacamoto late laundromat led legend lending lenovo lessons 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 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 poem poetry points pokemon pomplamoose positions posse post posters postmodernism potatoes potlucks power ppc practise prejudice premier pressure pretty pride and prejudice priorities private processes professionalism projects promise protest proud purchases 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 sim city simafort simpsons sincerity singing sjr skill skunks sky slackware slashdot sliver small smiling snails snowboarding soccer social dance social media socis soft solemn someonesmotherwantstoadoptme song sony sophistication sorbet sorrow sparklers speed river spell spellchecking spelling spies spilt milk splendid splendor splinter spoilers 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 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 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 user experience 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 weapons web hosting webcomic webcomics webfonts 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

About Me

My photo

I am aeronautical, vanship-style.  I am olympic and mythical.  I rest on my laurels.