Blog

Running

The receipt says I bought the app on or about November 20th, 2012. That means it has been a little over a year since I started running. There's a gap in the summer months of this year, even though it doesn't really get very hot in Vancouver (maybe for 2 weeks). Maybe it's my Icelandic blood, but I prefer to run in the cold.

The reason I avoided running for so long, all through college and after, even on the treadmill, was that it was so high-impact. I'd always done the stationary bike for cardio, and now regular cycling in the not-freezing months. When running, I do notice strain on my calves and shins sometimes, but rest, yoga and stretching helps with that.

Running in the morning is a struggle, but then, so is everything, being a not-morning person. I mostly run during evenings on weekdays and afternoons on weekends. On some mornings I'm able to sit down and will myself to run. It's mostly just a matter of finding pre-existing will from the previous night, after setting out running clothes and making sure there is something small to eat. I finally bought a pair of dedicated running shoes after a year with my basketball shoes (since washed so I can use them indoors).

Which app do I use? More like which apps, plural, do I use? I stopped using the Couch-to-5K app pending a support request. The app doesn't add up the total time right (right now the number is negative) and while all my runs are logged, the dates are missing from some of them. I've started the training program over again, and with a different C25K app.

I listen to podcasts while running. The Welcome to Night Vale podcast and Joseph Planta's interview podcast are my favourites.

The Moves app runs constantly in the background, and using Moves Export, if the running stretches are long enough, it will post to RunKeeper. (I used to have RunKeeper for the runs, but no longer.)

I wouldn't have started running without using an app to track it. Running seemed daunting until having a program, and even though the programs were available for quite some time (like those training programs marathon have always put out beforehand), having a handheld computer tell me when to start and stop is better than having to track it myself. It's also fun to relive it through the map right after the run and the stats, and having Fog of World tell me where I haven't been shows me alleyways and streets and neighbourhoods I'd never consider otherwise and gets me running farther and father away from home.

Granville Heritage

Has it really been almost three years since my last SkyTrain Explorer walking tour? It sure doesn't feel like it. Not including the Metrotown Station tour, which only takes you through the mall, all that's left is Burrard Station, Stadium-Chinatown Station, Broadway Station, and, up until this weekend, Granville Station.

Starting a SkyTrain Explorer walking tour.

The route took me from Granville Station heading south to Smithe. Along the way, I gazed upon the Sears building renovation project and the Vancouver Block. Past Granville and Robson, I admired the facade of the Commodore Ballroom, a venue I've been fortunate enough to attend a few concerts at. Atkin points out the B.C. entertainment hall of fame plaques lining Granville Street and especially the one in from of the Orpheum. Along this section of the tour, changed since the book's publication date has been the tearing down and rebuilding of the building on the corner of Robson Street, formerly an optical store, soon to be an Old Navy store, and the closing down of the Granville Seven theatre.

Taking me along from Granville and then onto Smithe, Atkin directs me to walk up the stairs to Robson Square. How did I not until now visit this side of it? The view of downtown Vancouver is incredible. Did I know the multicoloured sculpure by Michael Banwell was there until yesterday? No, I did not.

After some confusion as to which route to take to get there (Hornby? through the square?), I found myself on the west side of the Art Gallery, where we see a memorial to Edward VII (Shakespeare quote!) and an entrance to the old law courts (now the art gallery) with Police and Sheriff signs outside. (I'd been watching a little bit too much Doctor Who, 2005 edtion, so I half expected the Doctor to pop out of it with Rose.) Through the art gallery's square, where so many protest has taken place, we are led to gaze upon Hotel Georgia.

All in all a short tour, just south down Granville, hang a right on Smith, then back north through Robson Square to the Art Gallery. For all the photos, visit my Granville Station SkyTrain Explorer page, or the set on Flickr.

Three Tupper Discoveries

Tupper Community Garden For no other reason than to eliminate fog from my Fog of World, I rode my bike around the 22nd and Kingsway area in Vancouver and came across three nice discoveries at Sir Charles Tupper Secondary School. The first is a Tupper Neighbourhood Greenway, pictured above. The second, below, is a cul-de-sac sign with "Except Bicycles". Are there any other cul-de-sac signs in Vancouver that say "Except Bicycles"? Tupper Cul-de-sac/Greenway The third discovery (not pictured) was an organized game of touch football, with three refs, flags, and first down markers (placed by one of the refs, on the playing field no less). That looks like a lot of fun. I'd do it just for the huddles.

More Like 72-Hour Book Club

It's time, belatedly, to reflect on my reading of The Particular Sadness of Lemon Cake by Aimee Bender, which I read as part of the most recent 24-Hour Book Club. The fictional narrator, Rose, writes a biography of her family life after she discovers that she feels the feelings of the people who make the food she eats. It's empathy in the extreme sense, that is, Rose actually feels the same feelings of others rather than "simply" being able to recognize them in others. We don't know when the novel is set, though we do get a clue. The novel left me more with questions than answers.

(If some of the text below looks like gibberish, that's because it contain spoilers, and if you've read the book and/or you're curious, use ROT-13 to decode them.)

  • Can a 9-year-old girl really recall, or experience as viscerally, as much and so vividly in a day as our Rose does?
  • What does it mean that her mother went on a work retreat to Canada (and on the opposite coast) for a week and not somewhere within the continental U.S.? Qbrf vg zrna gung fur jnagf gb "trg njnl" yvxr ure fba qbrf crevbqvpnyyl?
  • Why doesn't the father ever confirm or refute the idea that hcba ragrevat n ubfcvgny, ur'yy svaq bhg jung uvf frperg cbjre vf? Wouldn't finding out answer a lot of questions he had about himself and his family? Or maybe they would raise too many other ones.

The family lives near the Fairfax District in Los Angeles, which I coincidentally read about the week previous to reading this book at A Los Angeles Primer. That means that if I ever spend longer than a few days in L.A., that I'll have to make a pilgrimage. One scene of the book, when Rose learns to drive a car, details the route she and her father take. Has anybody mapped it out yet?

The 24-Hour Book Club is a self-organizing group of people who agree to read the selected book all on the same day and share their thoughts. According to the ReadMore iPhone app, the first book of the club (Mr. Penumbra's 24-Hour Bookstore by Robin Sloan; my highlights) took me 7 1/2 hours to read over 3 days. The second book (Both Flesh and Not: Essays by David Foster Wallace; my highlights) I devoured within the allotted day, skipping the word definitions in between essays. ReadMore tells me that I spent 5 hours and 38 minutes reading the third book (my highlights), and just like the first book, over the course of 3 days. It's safe to say that I can't binge-read a book within a single day, and that The 24-Hour Book Club is, for me, more like the 72-Hour Book Club. The next day is fast approaching, and all signs point to that being a travel day, finding me on trains, planes and maybe even an automobile.

Resources I consulted (after reading the book):

Some highlights I shared in "real time":

Mike Klassen's Fraser St. Jane's Walk

Still lots of Vancouver to explore. Even though the SkyTrain Explorer book has taken me to places in the city I wouldn't normally venture to, there remain many pockets of the city that I have yet to encounter. Looking at the Jane's Walks in Vancouver a couple of weekends ago, the one along Fraser St. caught my eye, in part because of the subject but also because of who was presenting it. Country lane near Fraser St. Fraser St. Jane's Walk tour guide Mike Klassen Our guide, Mike Klassen, took us from 29th north to 16th, with a short detour in a back lane. The highlight for me was at the very beginning of the tour, the Fraser St. country lane. It does duty as a back lane for cars and a gathering area for neighbours. Mike tells us that he's vary rarely seen anybody drive with excessive speed, and kids can be seen playing in the grassy areas. He wants to see neighbourhoods learn from the trial and offer up ideas to the City for their own lane ways, suggesting they could enter into a competition as to which neighbourhood can design the best one, with the winner getting it built. We also saw an unusual church roof, a wood bench out side Fray on Fraser, and we topped it off with a walk through McAuley Park and a visit to Matchstick Coffee at Kingsway and Fraser. You can find all the photos I took in a set on Flickr, taken with the Samsung Focus on loan to me while my iPhone traveled across the country with Karen. Thanks to Mike Klassen for delivering a great tour and to Jane's Walk and to the volunteers around the world who put them on.

Seattle Trip Spring 2012

Another successful, if short, trip to America. With a little trepidation, not knowing if it was "worth it" to stay in Seattle for a couple of nights, I set out on the first day starting at 5 o'clock on a dark and early on a Friday morning. I traveled by train via Amtrak Cascades, coincidentally sharing a car with John and Rebecca Bollwitt. They discovered that I had only planned to see if there was a ticket available for that night's Seattle Mariners opening night, having only planned to attend Saturday night's game. When John and Rebecca found this out, with their extra ticket in hand, they kindly offered the seat next to them in Safeco Field's Terrace Club. After arriving and taking a much-needed (and very much planned) three-hour nap, I bused in from the Bellevue Westin, eyes wide open as we passed through tunnels and over the floating bridge, and proceeded to my first tourist attraction.

Leftover elevator machinery Seattle Underground Tour Purple glass

2012-04-13 17.54.37

Just before the game on Friday, thanks to the advice from a traveler to Seattle, I took the Seattle Underground Tour. For the first 15 minutes our guide regaled us with tale of how the city got its sewer system before spending 45 minutes walking underneath the streets, looking at the "first floor" of some of downtown's buildings. Highly recommended for an hour's worth of tourist activity.

Opening night at Safeco Field Ichiro in right field

Left: My first opening night! It was fun watching the hometeam Mariners run out of centre field, and seeing a flyover at the end of the national anthem. Though, a helicopter? In the land that gave us Boeing? Right: Ichiro patrolling right field the next day.

That night at the ballgame, I got to use up two of my Major League references prepared for the night: "Give him the heater!" deep in the count of an at-bat and "Too high!" when the visiting Athletics hit a home run. I didn't get to use up my third reference, though I would get my chance the next day.

Saturday proceeded with no agenda except sleep in, do a light workout in the hotel gym followed by a quick swim and hottub. I also wandered around the Bellevue Square mall and a few blocks of the Seattle suburb's downtown, if only due to their proximity to the hotel. The evening's plans were to bake in right field during batting practice of the second game at Safeco Field. Having brought my glove, I managed to catch a "home run" ball that had, unfortunately, ricocheted after striking a little girl, not paying attention, in the shoulder. Being a Blue Jays fan, I immediately offered her the ball, her mother throwing me a loop telling me that it was OK, she already got one. (I kept the souvenir.) Seemingly my luck is improving, as this now makes it two major league baseballs that I've caught at a ballgame, the first being a foul ball at Oakland-Alameda County Coliseum in 2010.

Three beers deep and a bowl of nachos later, former Toronto Blue Jays relief pitcher Brandon League took the mound and promptly bounced the ball over the catcher. To the amusement of very few from the hometown crowd, I yelled out "Wild thing, you make my heart sing!" fulfilling my third and final Major League reference. Nobody laughed, but, a couple of pitches later, someone yelled out "Wild thing, you make everything, groovy", so I felt vindicated.

Space Needle from below

2012-04-15 15.19.20

On Sunday, after working out and swimming a second time at the hotel, spending the afternoon hour on the obvservation deck of the Space Needle proved to be the final highlight of the trip. $19 just to see the panorama of a city, you say? I had hummed and hawed about it at the outset, but realized as soon as I walked on the outside deck I found it far more peaceful that I'd imagined it would be. Drinking a beer in the sky was a nice cap to a weekend visit.

The train trip back had no compadres on it, so I was stuck in a car with a loud party of four. That's why the good lord invented the dining car.

Upgrading Drupal Sites: Two Case Studies and a Spreadsheet

Upgrading Drupal sites between major versions can be tricky. The community of developers that numbers in the thousands has taken great care to maintain upgrade path between adjacent versions of the content management system. This is especially true of Drupal's core, though one must go through each version to get to the destination. (An example: going from Drupal 5 to Drupal 7 requires passing through Drupal 6.) Contributed module upgrades take place with a very slight degree of peril, though typically a developer will include upgrade paths between major versions. Though incredibly rare, some modules will not upgrade their database to the new version of the module, and even then someone will flag it as an issue and it will get resolved.

Official Documentation

If you came here looking for guidance on upgrading your Drupal site, please consider visiting the official documentation at Drupal.org. The following only deals with two specific cases that may not apply to your site.

Upgrading Roland's Site

Some upgrades are very easy, however. Upgrading Roland's website was a breeze. My method:

  1. install a fresh copy of Drupal 7 on my local environment
  2. copy his site's database to my computer, and import into a fresh database
  3. run the update.php script, taking notes if any errors pop up. If they do, either fix them or make a note of what to do when it comes to do it for real
  4. do another test upgrade locally, just to make sure
  5. clear out temporary data like sessions and cache on the local install
  6. export the database and upload it to Roland's server
  7. install Drupal 7 fresh with a very few modules (WYSIWYG, which he uses, and Views, which he doesn't)
  8. import the database, and run update.php, perform the fixes from the earlier notes
  9. show Roland what it looks like, then make the necessary switches behind the scenes to make it live on the rolandtanglao.com domain

(To keep it brief, I've excluded the steps about virtual host files on his server and faking a subdomain with my /etc/hosts file on my own computer.)

One funny bug that I couldn't put my finger on, which came up with another client's upgrade, was the need to save a node in order for URL aliases to kick in. If it comes up again, I'll dig further into Drupal.org's issue queue. One thing you learn quickly about the issue queue is that URL aliases are a common problem.

Upgrading Just a Gwai Lo (Eventually)

Other upgrades are not so easy. For the better part of a year, I've been working on porting over Just a Gwai Lo to Drupal 7. Working against me are the following:

  • my SkyTrain Explorer page, which contains custom PHP to display the hierarchical book view plus the use of Viewfield to show station pages (example). I cherish that section of my website, and would like to see it come over in an upgrade.
  • a few custom content types need their modules to either be upgraded or provide an upgrade path. I use Embedded Media Field in conjunction with Feeds to display my own photos posted to Flickr. I will need to move to the Media module along with Media: Flickr to do the same thing. There is an issue asking for an upgrade path, which I continue to monitor.
  • I have a spreadsheet for other modules, which, for a laugh, I've made public. An explanation of my methodology follows.

The Spreadsheet

Every major upgrade to a site I work on gets a spreadsheet. Though some upgrades will need to require certain added and maintained functionality, those same upgrades can drop functionality too. It's usually best to conceive of features first, then map modules to them. Since I already know what I want (essentially status quo), the module-based approach stays for this spreadsheet.

Using my personal site as the example, I'll go through my research process.

  1. Make a raw list of the modules used. I'm OK with doing this manually, since it gives me a chance to think through whether installing it in the first place was a good idea.
  2. Highlight in blue the modules that are either custom modules (there's always at least one in all of my projects, personal and otherwise) or ones I can drop. In my case, I have the Fenchurch module (named after my first VPS, which was in turn named after Fenchurch in Hitchhiker's Guide to the Galaxy), which adds some small things to forms and whatnot, to upgrade. I'll also likely drop Better Formats since Drupal 7 adds most of what I need.
  3. Highlight in red the modules that are not ready and that I need (called blockers).
  4. Highlight in yellow the modules that I'm not sure are ready or that I don't know whether I'll need.
  5. Highlight in green the modules that are ready for Drupal 7. Developmental and bet versions of modules are OK to use as long as they work. I always evaluate modules on their merits, not what their version number says. Green means go!
  6. A row for notes, such as links to issue queues or which modules to use instead, or what I can do to make them ready.

As soon as it's all green, then it's time to do the work of upgrading. I then follow the same general process as outlined for Roland's site, though usually quite a few more times, since more things tend to go wrong

The spreadsheet definitely has flaws. Breaking it into a sheet per sections (such as one for content, another for each custom module) might make sense if only the format allowed for freer form of information. I remain a fan of Google Docs and its sister service Sites, so one can combine the two and embed a spreadsheet into a more freeform Site, for example. The online spreadsheet allows for live collaboration, though I have no experience with it in the context of upgrading a Drupal site.

Spreadsheets are most useful when a project requires a arithmetic calculation. I use them a lot for trip budgets, though only to get a rough sense of how much it might cost in total. This form of spreadsheet works as a status dashboard.

Temptations

The roadblocks and the work to overcome them tempted me to archive the site and start all over. A complete restart would have, in theory, allowed me to concentrate on writing instead of futzing with the site's details. On the other hand, most of what I learn about Drupal's capabilities comes through experimentation and breaking, then fixing, things. While I've archived Drupal sites in the past (such as PDXphiles and improvident lackwit), and a method exists for doing so (and possibly another using a module intended for caching), I can't be sure that my thousands of posts and thousands of tags will come in properly, not to mention that changing one little thing could mean having to do the archiving process all over again. And I don't even want to think about redirecting to a subdomain like archive.justagwailo.com but also ensuring that any new justagwailo.com URLs work.

Looking Forward to Drupal 7

Assuming all goes well, I look forward to using some of the RDF features baked into Drupal 7. I experiment with semantic markup in my reviews section, with most using microformats, at least one what I believe to be RDFa (I'm never really sure, but that's why I experiment!), and I hope in the future using some of HTML5's features such as micro data. Ideally the next incarnation of this site will feature stripped-down theme. Still pink, of course.

Review: Samsung Focus with Windows Phone 7

As part of WOMWorld Nokia, my friend and mobile technology aficionado Roland Tanglao offered to lend me a Samsung Focus with Microsoft's mobile operating system on it for a weekend. I took it around Vancouver, installed apps, took photos, tracked a walk on Commercial St., and, breaking with tradition, actually made a phone call.

Samsung Focus with the Flickr app

Over the course of four days, I installed the following apps through the Windows Phone Marketplace, listed here in alphabetical order: 1Password, Facebook, Flickr, Flux (Google Reader client), Foodspotting, Foursquare, Netflix, Public Transit (wrapper for Google Transit's website), Runkeeper, Shazam, Stacks for Instapaper, Twitter and YouTube. I resented having to install software to watch YouTube videos, and found the Flickr client incredibly slow. I was grateful that 1Password existed to access my 490 unique passwords, but was disappointed the app did not follow many Windows Mobile Phone 7 app conventions (tapping the hardware search button took me out of the app to Bing, for example). I was generally pleased with the other apps, especially the simplicity of the Twitter app and, compared with 3 years of iPhone experience, the completely different paradigms of Foursquare and Flux, to take only two examples.

I spent no money on apps, instead relying on either free or trial apps. Instapaper requires a $1/month subscription to its service in order to use 3rd party apps, so I bought the minimum 3-month subscription. I would have loved to try out the MLB At Bat™ app (since I'm a big fan and guaranteed buyer of the iPhone app; go on, Major League Baseball, keep raising the price, I'll happily keep paying), but a limited time with the phone didn't make a $11 purchase seem like a good idea. If I owned the phone, it would have been not only the first purchase but first app installed.

Insides of the Samsung SGH-I917 (Samsung Focus Windows Phone)

What I loved:

  • The pane paradigm on the home screen and in apps, with a bit of the discoverable parts showing on the side. Text size is generally big in apps, meaning that going back to the iPhone, everything felt tiny. Tapping on icons made them looked pressed down, and sliding away after pressed is a nice visual touch.
  • Trial mode apps. Theoretically iOS apps are trial mode with in-app purchase, but the WP7 marketplace made trial mode explicit.
  • Apps like Foursquare and Twitter with their big, comfortable-on-the-eyes typefaces, and WP7-native design approach.

What I merely liked:

  • Zune music player, though I wished album covers could be bigger, quicker access to the app from outside it. Swiping from side to side on an album cover switched back and forth between tracks, which doesn't make sense to this thirtysomething still used to pressing buttons to do the same.
  • A hardware camera button, with pressing down slightly to focus. I expected to be able to take a picture in lock mode, or at least get to the camera by pressing the button. No such luck.
VPL WIreless Network Captive Portal

I liked the camera, but found it hard to get a non-blurry shot a little too often. For my comparison shot, I went to Caffe Rustico on Main St. and took a photo of their couch area with my iPhone 4 and from the same spot with the Samsung Focus. Not a huge difference to these eyes. The iPhone 4 had a wider shot and, with the HDR setting on, shows more in the window than the Samsung Focus.

What I neither liked nor disliked, but found weird:

  • Every time I put the SIM card in, I had to reboot the phone. The iPhone spoiled me: put in a working SIM and you're good to go.
  • The phone indicated, incorrectly, that I was roaming. In order to get access to the Internet over 3G, I had to turn on data roaming. Random forums of destiny told me that I can safely expect to not receive a roaming bill because of this.
  • I stumbled on the FM radio receiver. Not a selling point, but if I were caught in a city-wide emergency which affected cell towers (say, an earthquake), I'd be grateful for it.

What I absolutely hated:

  • Vibrating on the capacitive buttons. There is no ability to turns it off. Random forums of destiny confirmed this.
  • A lot of mistaken taps on the capacitive buttons and mistaken hits on buttons, especially while in my pocket when only ever wanting to adjust the volume. Enlist me in the war against the capacitive button cult.
  • Slow charging, when at all. The iPhone wall charger was better than through the computer, but I expected faster recharge times. I expected to be able to charge at least somewhat reliably through my MacBook Air.
  • The default of the phone is to automatically save the screen and then lock, even while reading but not pressing any buttons. Maybe I could have turned it off, but I wanted to stick with the defaults as much as possible.

If I had more time with the device, I'd happily buy some apps, starting with MLB At Bat™, then Flux, then Stacks for Instapaper. I'd be very happy with the software and very unhappy with the hardware. Can I have an iPhone with Windows Phone 7 on it?

Introducing the Readability Button Module for Drupal

Spend any significant amount of time reading long articles on the web and you get distracted. Distracted by sidebars and insets full of links and animated graphics, many of which are advertisements. Distracted by badly set typography. Distracted by "next page" links at the bottom, forcing you to wait for the next part of the article to load as the publisher gets another increased statistic to sell. 

Enter Readability. Developed by Arc90 as an experiment, Readability started life as a bookmarklet and browser extension designed to improve the reading experience. In addition to decluttering distracting constituents of a web page, the bookmarklet offered a consistent look that stripped an article to its essential element, the text. After Arc90 released the bookmarklet as open source software, Apple's integrated the code into the Safari web browser. Subsequent to that the company changed direction with Readability in January of this year and started a web service for both website publishers and readers. While keeping the core service of simplifying articles for easier reading, with the new Readability, publishers of any type on the web — from magazines with multiple contributors to single editor blogs — can integrate Readbility into their website and optionally receive payments for their work from readers who sign up to contribute.

How Readability Payment Works

Publishers first must claim their website by adding a special code to the HTML header, which they can remove after verification. Using their own Readability accounts, readers can contribute a monthly fee that they, the readers, individually specify. (Publishers have no say what readers have to contribute, though Readability sets the monthly minimum at $5.) Readers' money first goes to Readability, who take a 30% cut. Readability then divides the remaining 70% amongst the publishers that readers, while logged into Readability, read through the service. As a simple example, let's say a reader only reads two online publications, The New Yorker and The Bygone Bureau. If a reader contributes $10 per month, and in the span of a month, uses Readability to read 6 articles from The New Yorker and 5 articles from The Bygone Bureau, Readability takes its $3 cut and The New Yorker gets $3.82 ($7 divided by 11 total articles, multiplied by 6 New Yorker articles) and The Bygone Bureau gets $3.18 ($7/11*5).

Readability buttons, as they appear on websites, typically offer the reader has the option to send the article to Readability and come back to it later ("Read Later") or immediately convert the article to Readability's simplified version ("Read Now"). Some tools that do 'read later' functionality, like Instapaper, can, after reading through the app, send the link to Readability so that it is counted towards the reader's monetary contribution.

Publishers do not need to claim their website or receive any payment in order for readers to use the part of Readability that converts article to pleasant-looking text, nor do readers need to pay Readability to convert distracting pages. The publisher-contributor model constitutes a new way for publishers and writers to make a few bucks on their creation and for readers to keep good writing coming without have to put up with (as many) advertisements. One publisher confided in me that "nobody's getting rich off it," referring specifically to Readability, but Readability at leasts represents an opportunity for innovation in the ways publishers, writers and readers interact and support each other.

Readabilty Button for Drupal

Screenshot of a Readability 'Read Now | Later' button on an example node in Drupal

Since I work primarily with the content management system Drupal, and wanted the functionality not only for my site but for other Drupal sites, I've developed a module called Readability Button. "Without this module, site maintainers would have to edit their theme directly, introducing code that they need to maintain. Instead, they can turn on the module and change settings, and if they want to discontinue Readability integration, can simply disable the module. Readability Button features the following:

  • Enable the button on a per-content type basis. Also a permission to show the button on nodes to certain roles.
  • In the module configuration, temporarily add the verification string (the full element provided by the Readability web service) without editing your theme. You can disable this after you've verified your domain.
  • Configure whether to show only on the individual node view or also on lists (such as the blog page or taxonomy views).
  • Optional Print, Email, "Send to Kindle" buttons.
  • Modify the colours of the foreground and background using hexadecimal colour codes. Optional integration with jQuery Colorpicker.
  • Change the orientation of the button from horizontal to vertical.
  • If a reader is logged into their Readability reader account, and the reader is a contributor, clicking the button sends a portion of their contribution to the site's publisher.

If you add the module to your Drupal site, I encourage you to make a feature request and submit bug reports in the issue queue.

Imagining a 2.0 branch

The module as described as above has some limitations:

  • Once you add it to a content type, all nodes of that content type receive buttons, no matter how short
  • If you allow the button on lists, it appears on all lists. that includes views, taxonomy term pages, blogs, etc.
  • The weighting of the button is somewhat of a kludge

A 2.x branch of the module, which only exists in my head, comprises of the following features:

  • Make the Readability button a field in the Drupal 7 sense. This would enable many things for "free":

    • flexible placement of the field in content types, using the per-content type field settings
    • Views integration, meaning with any list you can override settings to show or hide the Readability button
  • Readability API integration, meaning authentication and management of your Readability publisher account for websites and reader accounts for site members
  • If the website uses the Domain Access module, then each site could conceivably have its own 'domain' in Readability as well. Imagine individual bloggers on a Drupal site as a publisher who gets the 70% cut from Readability

Beyond the Module

Just a Gwai Lo currently uses the Deco theme, and, in order for Readability to reliably convert my own website to the clutter-free text, I made some slight changes. In particular, I needed to ensure Readability correctly picks up on article titles and dates. Per Readability's recommendations to mark up articles in the hNews microformat, I've added an entry-title class to my

<

h2> tags, necessitating modifications to the theme's template.php and node.tpl.php files. I also added a element wrapped around the date for blog posts. The right way to do all of this would be to find a way to modify the theme elements in a module, though I think the only option available to me is to maintain a sub-theme.

The Music Must Carry On, But Cannot Carry On

Lars Svendson: Pop music is based on the banalities of everyday life, and it attempts to convert these banalities in such a way that they make a break possible with everyday boredom. In pop music a hope is formulated that these banalities can become something more. For example, that a form of love exists that can release us from life's heavy burdens or burdensome lightness. And in the absence of thls release, pop music can remove some of the excess time, for 'there's still time to kill' (Up Against It). As long as the music lasts, we escape boredom, but, sooner or later, the music will stop. In the absence of meaning, the club becomes a place of refuge, and in dancing, embraced by the music, we gain a foretaste of a kairological eternity: 'When you dance with me, we dance forever' (Hit Music). But the Pet Shop Boys are also well aware that, ultimately, this is escapism: 'Live a lie, dance forever.' It gives some consolation, but no solution. The aesthetic revelation - like the anaesthetic revelation - is at most temporary. The Pet Shop Boys' album Bilingual takes us from an opening question in Discoteca: 'is there a disco around?' to the final song Saturday Night Forever, where one has entered the club. But as the penultimate track says: 'I know that it's not gonna last forever" They have a Schopenhauer-like belief in music but, like Schopenhauer, know that it will not last. The music must carry on, but cannot carry on, just like Beckett's voice has to carry on despite the fact that it cannot. When one is not out clubbing, there is nothing to do but to try to live an everyday life, in boredom and waiting, yet with hope. Music, or anything else in the aesthetic dimension, is not a solution in itself.

Where Things Disappear Into Pure Functionality

Lars Svendsen: Anthropocentrism gave rise to boredom, and when anthropomorphism was replaced by technocentrism, boredom became even more profound. Technology involves the dematerialization of the world, where things disappear into pure functionality. We have long since passed a stage where we could keep track of technology. We scurry along behind, as is perhaps particularly clear in IT, where hardware and software have always become obsolete before most of the users have learned how to use them.

That "Everything" Is Somehow Trivialized

From a review of Alone Together: Why We Expect More from Technology and Less from Each Other by Sherry Turkle: Turkle points out, when we have no privacy we lose the ability to privilege some thoughts and actions over others. She quotes Eric Schmidt, CEO of Google, who says that "if you have something you don't want anyone to know, maybe you shouldn't be doing it in the first place." Like many others, he ignores the possibility that there might be privacy without shame or crime. We might want to keep things to ourselves for any number of reasons; when we "put everything out there," that "everything" is somehow trivialized. Turkle quotes a girl who claims there's nothing much to know about her; "I'm kind of boring." Will the loss of privacy lead more people to dismiss themselves as boring?

The Concomitant Penetration of Every Moment By the Potential to Create

The somewhat recent release of the Situationist iPhone app, which encourages nearby strangers to playfully interact, sparked a revisiting of Social Acupuncture by Darren O'Donnell. And there it is, on page 79, my first introduction to the Situationism movement. Here's the paragraph in question from Social Acupuncture: Art's drift out of the field of representation and its move into relational forms, as well as the ever-increasing economic expediency of culture in the so-called creative economies described by [Richard] Florida and others, have created a proliferation of avenues through which to distribute artistry. The Situationists may have had some fantasies about the liberating potential of art as an everyday lived experience, where all moments of one's life become a creative opportunity; now we have the concomitant penetration of every moment by the potential to create, and in turn, to work. Hardt and Negri point out that capitalism is always innovating in response to resistance against it. The freeing of labour from the Fordist regime of the factory floor was imagined, at first, to be a positive movement, but capitalism easily incorporated these innovations. The idea of working from home was once an appealing notion, but now it brings with it the opportunity to never escape work, to field emails at all hours, to be lured to the humming for just another minute or two of labour.

Some Wins

Early last year, around the time of DrupalCon San Francisco, Packt Publishing approached me to serve as technical reviewer for a book. Several Microsoft Word documents and 7 months later, the dead trees edition of Drupal Theming Cookbook by Karthik Kumar, arrived at my doorstep, complete with an acknowledgement of my work inside the front cover. In the hopes of branching out a little, I also received a complimentary copy of Django 1.0 Website Development by Ayman Hourieh. Over the course of a month in December 2010 it served as an excellent guide to completing one's first app, with little or no Python knowledge required, but taking the 'dive right in' approach. (Anything that didn't work with Django 1.2 was a quick Google search away. I have sticky notes at every point at which it differs from the current version as of this writing.) I hope to ship an app based on the example sometime this year. At the end of last November, I helped instruct at a community-based clinic teaching a basic-level introduction to the Drupal CMS. Based on notes from the Seattle Drupal Clinic held in 2009, several members of the Drupal community and people new to Drupal converged at the FCV office in downtown Vancouver. We covered modules, content types, image manipulation, and for my session at the end, the Views and Block modules. We the trainers learned a lot from that first session, and it seems like the same can be said about the participants. My thanks go to everybody involved. It's an initiative I'd like to participate in again. A third win involves getting back into the Drupal support game. You can find me on the #drupal-support IRC channel when things slow down at work, and recently on Stack Overflow's Drupal-related questions. While having reservations about not tracking the Drupal.org forums for support, I will go where the people are. Since some people have asked, since June of last year, I've been working for OpenRoad Communications, a web services company based in Gastown. They're technology-agnostic, and when they had a couple of Drupal projects come their way, it made sense to have me on full-time. Separately from web services, they created a product called ThoughtFarmer, which they bill as a social intranet. (It might be tempting to make a connection between Drupal and ThoughtFarmer, but other than my sitting next to the development team, rest assured the two are not related.) Since months can go by between my mentioning my employer, it's probably best to refer to LinkedIn or my resume for my latest professional status.

He Would Rather Pay the Taxes in Full

Zadie Smith: “Upstairs, Alex picked up the case from his trip and emptied the contents into the bed. The clothes he lifted in one stinking bundle and dropped into the bathroom's washing basket. Books he put on the floor and then kicked into a reasonable pile in a corner. He filed through the paper by hand, throwing every other piece of it into the bin including all receipts, for he had long ago decided that he would rather pay the tax in full than allow himself to be the type of man who remembers a beautiful day by the expenses he ran up on it.”

Pages