Interesting Vancouver 2010 Stream of Consciousness thoughts

Submitted by Roland on Mon, 2010-10-11 21:53

Thanks to the excellent organizers of Interesting Vancouver 2010 for giving me a chance to present on Lessons from 50,000 Cameraphone photos:Create Coolness Constantly and for the great event. The right (almost impossible to do but I think the organizers accomplished this!) mix of people and thought provoking topics and fun food in an intimate setting.

The usual random stream of consciousness post-event thoughts:

  • Can't disagree with JJ Lee about suits. In particular, I think that 99% of Canadian men look better in sports jackets and suits than their normal garb but that's just me :-)
  • Leanne Prain and yarn bombing are awesome as always!!!!!
  • Cory Weeds - His passion for jazz and music is infectious and made me dream of a world where everybody could lindy hop to 21st century live jazz instead of awesome recordings from the the 1920s-50s
  • Lisa Salazar's invocation of the Bible is inspirational even if you (like myself) are no longer a believer.
  • Kuba Om's passion is making the world a better place; one juicy groove at a time.
  • Dustin Rivers - As an armchair linguist :-), I was really looking forward to hearing you! Next time?
  • Anthony Nicalo had me dreaming (again!) of a world powered by food that comes from the heart rather than big food.
  • Amanda Gibbs - The Museum of Vancouver is rocking! Loved the Fluevog and the local food and the bicycling shows. Can't wait to see :-)

Real time Mozilla Thunderbird Support Dashboard written by Protz using the Get Satisfaction API

Submitted by Roland on Mon, 2010-09-06 23:11



Jonathan aka "protz" built on top of my idea of a real-time support dashboard for Thunderbird powered by the GetSatisfaction API (tech: JavaScript, CSS, HTML, JQUERY, protvis) and made it awesome (merci beaucoup Jonathan!) with some fab styling from Andy.

It's so 1.0 :-) i.e. it's early days but it delivers on the promise of showing what's happening with the Get Satisfaction forum. Check it on gitbhub or if you running Firefox 3.6 or above click on the following link to run it from my dropbox (yay for dropbox deployment!):

Help Wanted

The code is on github. Fork away, send us a pull request, you know the drill :-)! Please make it better e.g. improve the Javascript and improve the CSS,  add more cool visualizations, adapt it to your getsatisfaction community etc

Current Features as I write this blog post:

  1. Today's hot keywords (a bit mislabelled: should be today's hot email providers)
  2. Today's support pattern, a bar graph showing when folks have filed support topics and replies over the last calendar day
  3. 5 most active topics in the last 24 hours
  4. 5 latest created support topics
  5. 5 random topics from today
  6. 5 most recently solved topics
  7. 5 latest active solved topics (since we can't really close a topic, people can still comment on a solved topic so it's good to know this; this is a major Get Satisfaction gap IMHO, we need a a *real* close feature
  8. Real-time tag cloud - neat but not really helpful since most of the tags users use are not helpful
  9. applause feature when a support topic is marked close i.e. it plays an applause sound!!!!!
  10. Real-time - updated every two minutes!

Current bugs / feature requests

  1. make it work in Safari, Chrome and Opera (sorry IE :-) actually I am not sorry LOL!) - this is a small matter of javascript modification to make it work on the major browser JavaScript implementations
  2. improve the styling
  3. Add avatars of the folks who solved support topics
  4. The Get Satisfaction API could be improved with better documentation as well as support for real-time stats. Would be great for example to have an API call for the current calendar's day's solved topics, current contributors who solved topics etc instead of having to compute this (this is thinking out loud, haven't thought of this too much will blog about it more in the future)
  5. Deploy to github static pages instead of dropbox!


Does N900 Pixelpipe support flickr uploads that are visible only to your contacts who are "family" on flickr like ShoZu does?

Submitted by Roland on Mon, 2010-09-06 21:55

Does Pixelpipe support flickr uploads that are visible only to family like ShoZu does? Does Pixelpipe on the N900 support flickr uploads that are visible only to your contacts who are "family" on flickr like ShoZu does? It doesn't appear to. My observations (check out my previous post on Pixelpipe with the N900):

  1. PixelPipe doesn't appear to support flickr's privacy level of "family". It does support totally private and totaly public which map to the equivalent in flickr but that's not what I want.
  2. Luckily the built-in  N900 Share Online does support family on flickr. So that's what I am using.
  3. My theory: PixelPipe on Symbian and other operating systems supports Flickr's "family. Just didn't bother to implement it on N900
  4. With the number of people who use the N900 being low, I can see why such a decision would have been made. So no harsh feelings Pixelpipe :-)

Hostmaster is dead! Long Live Hostmaster! Go Aegir go!

Submitted by Roland on Thu, 2010-08-12 22:49

I remember five years ago trying to explain the Bryght / Hostmaster (I worked with Adrian at Bryght on Hostmaster billing and testing and making things work on production!) vision of building your own network of Drupal websites at the push of a button at many Drupal gatherings. All Drupal sites working together, easily updatable and working in your own cloud (or Bryght's cloud if you wanted to pay Bryght). People thought I was crazy :-). Only a few folks like Ethan Kaplan of Warner Brothers Records  and Jonathan Lambert of WorkHabit (and others who I have forgotten, forgive me) got it.

Now in 2010 with Aegir coming to fruition and multiple commodity clouds from build-your-own to using others' like Amazon's cloud and RackSpace's cloud, it's finally making sense to many many people (e.g Emma Jane Hogbin's vision of a cloud for every town)

Thanks to Adrian for continuing to implement the vision! Thanks to Adrian's collaborators and funders over the years: Koumbit, Raincity Studios, Chapter Three, the list goes on and on. Thanks especially those who continue to fund Adrian (go Development Seed and others go!) and the team of Aegir open source implementors, documenters and testers. The reality of open source is that code doesn't get written, documented or tested if there's no funding for it directly or indirectly.

Go Aegir go!

[This post was prompted by Adrian's Tweet:]


i just deleted the last remnants of hostmaster 1 and the work from my bryght / rcs days off my drive. The End.




Why I have stopped using ShoZu, Sports Tracker and the N82 and use N900 + PixelPipe + RunKeeper on iPhone 3G

Submitted by Roland on Wed, 2010-08-11 01:44

Until I get an N8, I have stopped using ShoZu and Nokia Sports Tracker am using the N900 + PixelPipe + RunKeeper on the iPhone 3G. Why?

  1. None of my friends use Nokia Sports Tracker (On Nokia Sports Tracker, I recorded over 700 activities (90% bicycling, the rest cross country skiing)  and many people use it but not one of my friends around the world uses it on a regular basis anymore)
  2. A fair amount of my friends and people in Vancouver use RunKeeper
  3. Up until today despite many attempts, Nokia has been unsuccessful in creating a popular social network which is what Nokia Sports Tracker and RunKeeper are. And although I love Nokia Sports Tracker and I'll try it on the N8 in the future, I doubt Sports Tracker now that it's spun off Nokia will be successful! Love to be proven wrong
  4. All in all the N900 camera is better than the N82 (except for the flash which I don't use)
  5. I don't have to carry my Bluetooth GPS, the N900 GPS is good enough
  6. PixelPipe is not nearly as great as ShoZu but it's good enough

What's wrong with RunKeeper

  1. On the iPhone 3G, it doesn't multi-task so if I get an alert or phone call, the tracking stops. Hopefully fixed on iPhone 4
  2. There's no way to lock the touch screen so it's easy to inadvertently stop RunKeeper while you are bicycling. Of course this wasn't an issue with N82 which is an old school candybar phone without touch screen

PixelPipe observations

  1. No connectivity re-transmission unlike Shozu. So as I blogged before, if you lose connectivity in the middle of PixelPipe uploading  your photos you have to manually figure out which photos were uploaded and upload only the missing ones. This is very painful for a crazy :-) person like me who uploads dozens of photos ; not so painful for the normal person who only uploads 1 or 2 photos per day
  2. No automatic tagging on a per account basis. In ShoZu you can set it up to tag differently based on which flickr account you upload to
  3. No multiple accounts unlike ShoZu
  4. No way to upload friends only or family only i.e. no way to use flickr permissions like ShoZu does only public or private. A pain if you again are a crazy :-) person like me and use flickr permissions  like "friends only" or "family only" which I gather less than 1% of flickr users do
  5. No way to select multiple photos unlike ShoZu. This is a Maemo limitation I guess since there is no system UI gesture to select multiple photos or files. You have to laboriously select one photo at a time until all are selected.

N900 Camera App Nits

Submitted by Roland on Wed, 2010-08-11 00:21

I have switched over to the N900 for the moment for my cameraphone pictures. All in all the N900 seems better than the N82. Some comments and nits:

  1. Would be nice to be able to switch off the touch screen because sometimes in the middle of bicycling I realize the GPS has turned off or the setting is wrong for some reason:
  2. Does this happen because of a glitch / bug or because of an inadvertent touch while bicycling? I think both!
  3. The N900 camera is not much faster than the N82 (in fact the N82 might be faster). Anybody done any timing?
  4. The N900 lens is clean. After 3 years, the N82 has dust under the cover
  5. In silent mode, the N900 camera app doesn't make a noise. This is different from the N82 and N95 which didn't allow me to turn the camera sound off even in silent mode
  6. The N900 built-in GPS is faster than  the N82 + Bluetooth GPS that I was using before

User generated web aggregation aka Russell Beattie is right again!

Submitted by Roland on Sun, 2010-08-08 22:05

Just like users control what content they generate on blogs and websites and which urls they surf to, why shouldn't power users (initially it's going take some geekiness and some type of user generated aggregation software development but it won't look like JavaScript, or Ruby or C++ or any of the "secret priesthood of computing" software technology so for a few years it won't be for "normal" users) be able to control what web content they read without worrying about portals, scraping, RSS,Atom, or any other technology underneath. In other words user generated aggregation and user defined agents that give the people what they want how they want is something that can and will happen. In other words, Russell is right again :-) !

Russell Beattie is right about the future of web aggregation when he writes:


Essentially, it's becoming more and more work to separate signal from noise, and it never seems that everything you want to keep track of has a feed. I can't imagine what it must be like if your job is to parse news for a living. Imagine being an analyst for a bank and having to wade through the cruft you'd get in a news reader every day, not to mention the monthly publications, etc.

What I think is going to happen is that both browsers and aggregators services in the cloud are going to start enabling a lot more logic and customization. We see the start of it now with Grease Monkey scripts and browser plugins and extensions, but I think a next level of user-friendly artificial intelligence is needed. Applications that parses web pages, gathers content, displays it intelligently and economically and does it all without magic (which is generally always wrong), but as directed by your specific choices of what you think is good and bad. ScraperWiki is the first step towards this sort of thing, but really it's only just the beginning.

Anyways, a few years ago I decided that the mobile web as a separate entity was a dead end because of the quickly improving mobile browsers and it turns out I was pretty spot on. It never dawned on me that the same logic could be applied to web feeds because of things like quickly improving server-side parsers and bad user experiences, but now I'm seeing that it is. I personally still wouldn't launch a new site today without having a decent feed, but I bet it'll be a short time before I don't worry about it, and I bet there's a lot of other web developers that feel that way already.


Create your own custom daily Get Satisfaction email report with emailReport.rb

Submitted by Roland on Mon, 2010-08-02 23:42

UPDATE November 2011:

The code has been dramatically re-factored so i deleted it from the gist. Please use the revised code at:

For my technical support lead job at Mozilla Messaging, I continue to try to find the best way to sort and sift and help out folks who need support and identify the hot issues. We currently use Get Satisfaction for Thunderbird support and I subscribe via email to everything but it's really difficult to read through the over 200 emails a day that Get Satisfaction sends

So I developed over the last 9 months a series of Ruby scripts to see the most active support topics (getactive.rb),  the contributors who are actually being marked by the community of users as solving a support topic (getcontributors.rb), who's doing the most replies (gethappykludged.rb) and pick out some random support topics (getrandom.rb)

Up until last week I have been using these scripts on a manual basis but not as consistently as I would like since it's pain to run all four manually.

To make a single email report that ties together everything in one nice summary, last week I finally took 3 hours and wrote emailReport.rb (code after the jump). It's crude but it works and is a useful report that I run every day now for the previous day (e.g. on Monday morning, I run it for Sunday and Saturday). It runs all the above mentioned scripts and then emails a summary email:

Here's an example of how you invoke it:

(for August 2, 2010)

./emailReport.rb 2010 8 2 2010 8 2 2>emailreport.20100802.20100802.stderr 1>emailreport.2010082002.20100802.stdout

And here's a sample email:

subject: MoMo Support Report FROM: 2010.8.2 TO: 2010.8.2
Date: Mon, 02 Aug 2010 23:31:16 -0700
Get Satisfaction Top 5 active:

Get Satisfaction Contributors:

Top 10 Get Satisfaction Repliers:
2, cam_1319937
3, simonpaquet
3, ankitgupta1980
3, davro
3, pat_drummond
3, kent_james
4, bhuvnesh_thakar
5, wayne_mery
9, archaeopteryx
30, michael_a_pasek

5 Random Get Satisfaction Topics:

What I did well

  • It works and when it doesn't I can check stderr for diagnostics and usually quickly figure out what went wrong (Get Satisfaction has a known bug on topics that have URLS that begin with numbers and also JSON can't cope when folks paste binary data into support topics; fortunately both cases are rare -:-) !)

What could be improved

  • The JSON API is called on the same data four times, once for each script (i.e. I don't store any of the GS data) so it takes 5-10 minutes to run emailReport.rb!
  • It would be more efficient to just read the data into a database, e.g. couchdb and then have the four scripts read from the database
  • Ruby is not an excellent choice for Windows users; would be better to write this in JavaScript and then anybody (i.e. other support contributors not just folks on Mac OS X or Linux) could use it
  • Badly need to way to extract the GS conversations I am involved in and highlight the top 5
  • Although a separate can of worms :-), I would love to have a really great search engine that works on the GS support data; unfortunately the GS management view search doesn't work so well.

Help Wanted

I'd love some help :-) (what's in it for you! Open Source Whuffie, fame and adventure :-) !!!)   in the following areas:

  • Convert to JavaScript and to a web app so all can use it :-) !
  • Put the GS support data into a JSON friendly database like CouchDB


The Code

The code has been dramatically re-factored so i deleted it from the gist. Please use the revised code at:


N900 Pixelpipe allows unlimited photo upload but doesn't retry

Submitted by Roland on Sun, 2010-08-01 09:20

I was wrong. The N900 version of Pixel Pipe *does* (yay! my apologies to the PixelPipe folks!)  allow sharing of unlimited number of photo as follows:

  1. In the Photos app, touch the top (where it typically says "All Images")
  2. Tap "Share Images"
  3. Select as many images as you want to upload
  4. Tap "Share"
  5. Tap "Share via service"
  6. Under Account, select your PixelPipe service
  7. Tap "Share"

It works great except when you lose connectivity. Then PixelPipe due to no fault of their own but due to Nokia's brittle sharing infrastructure doesn't retry when you re-gain connectivity. This retry "seamlessly when you re-gain connectivity" is what ShoZu does so well. It's not a big deal if you only load 1 or 2 photos. It is a big deal when you upload dozens ; then you have to figure out which photos were uploaded and then go through the above 7 step process for the remainder of the photos.

FCamera is great except there is no EXIF and no GPS coordinates, bright side:music plays!

Submitted by Roland on Thu, 2010-07-29 22:32

The subject says it all.The low light, HDR and Fcamera apps of FCam (my FCam post) are great but I can't use them because there's no GPS in the EXIF or camera info in the EXIF. So great experimental stuff but not suitable for my daily use.

The final cool thing to report is that it doesn't stop the music player  from playing music unlike the N900 built-in camera app. Wish I had time and a Windoze box to hack the source code to fix the EXIF issues and add GPS.

Why do I continue to use the N82 instead of the N900 for my cameraphone photos? A: ShoZu

Submitted by Roland on Tue, 2010-07-27 22:20

Tnkgrl brought up a good point today at lunch at Nuba. Why do I continue to use the N82 when the N900 is better (e.g. faster shot to shot, great macro, etc.) ?

The primary reason is ShoZu! There is no solution as far as I know on the N900 that will upload dozens of photos at once to flickr. If anybody knows of such a program for the N900, please let me know and I'll switch (I can't handle doing 12 at a time, it's a waste of time when you have taken 20-50 as I usually do!).

Python code to post photos and videos to a blog using APP or XML-RPC?

Submitted by Roland on Mon, 2010-07-26 07:16

For a sekrit mobile :-) project I am doing with Jen, looking for open source python code that uses NewMediaObject on XML-RPC or the equivalent in the Atom Publishing Protocol to post photos and videos. Jen has looked and only found code to do text blog posts. Lazyweb?

Foodtree video from my N900 at DCV11 is shakey - need a portable steadicam

Submitted by Roland on Fri, 2010-07-23 07:29

I love taking taking videos and streaming them real-time from my N900  like the following one from DemoCamp Vancouver 11 of awesome Vancouver food provenance startup foodtree. But they are too shakey. Anybody got any ideas for a cheap and cheerful and portable steadicam?


N900 finally gets some fun photo apps

Submitted by Roland on Thu, 2010-07-22 07:24

The pre iPhone 4 camera is not as great as the Nokia cameraphones have been (the iPhone 4 finally has a decent camera that actually is better than most Nokia cameraphones) but because it is easy to use and to develop for there are many apps that make it fun e.g. hipstamatic. I am glad that the N900 finally has some decent apps like FCamera, low-light assistant and hdr capture that are powered by the research project FCam. Can't wait to try these. Expect lots of fun and weird pictures from these apps in my flickr stream soon.

Emacs over SSH - How I develop python programs directly on the N900

Submitted by Roland on Wed, 2010-07-21 07:36

Here's how I write Python programs on the N900 on my Mac

  1. installed the ssh package, open ssh server
  2. via ssh, I use to the ip address of the N900 (which I can see at all times with the personal IP address widget) and test stuff out interactively using python's command line interpreter, aka the python REPL
  3. when i am happy with the code that I have tested the REPL, I add it to the file on the N900 which I edit on emacs running on my mac using ange-ftp
  4. test the code out on the n900 from, 90% of the time it just works since I tested it in the REPL unlike my C/C++ days when something you never thought of always required you to re-compile

Easy, peasy. No need to learn silly :-) Java or C+ or wait for compilation and access to the full power of your Mac for google searches plus you can execute on the N900 directly. No need for silly :-) emulators which in my experience aren't very useful.

PyMaemo is Python 2.5.4 and uses Numeric instead of Numpy

Submitted by Roland on Tue, 2010-07-20 07:52

During my Python GPS experiments when I ported Matthew Brown's gamelan pygame python program to the N900's python aka pyamaemo,  found out the following which I am documenting so I won't forget:

  1. current version of PyMaemo is python 2.5.4
  2. python 2.5.4 uses the Numeric floating package (bug 1038, although I think installing NumPy manually instead of waiting for python 2.6 from PyMaemo is the road to yak-shaving madness :-) ! )instead of python 2.6's NumPy
  3. Numeric and NumPy are mostly compatible; there are very subtle differences which are easy to fix; so easy to fix that even I who know almost nothing about Python was able to fix it!

50000 photos & 6 years with a Camera Phone

Submitted by Roland on Mon, 2010-07-19 06:35

Inspired by Jen's 2,045 Days with a Camera Phone:

  1. I have over 35000 (35823 as of this writing) public photos tagged "cameraphone" on flickr: since I bought my Nokia 7610 1 megapixel cameraphone back in June 2004
  2. Over 90% of those were with Nokia Cameraphones
  3. most of them were with the N95 (7643) and N82 (20, 554 as of this writing)
  4. Combine the 35000 public plus over 10000 on my private kid flickr account plus the ones that I didn't download and I have over 50000
  5. Needless to say I love my N82 :-) and its "triumph of the lofi" sensor
  6. I also love the non blurriness of my digital SLR and Lightroom but hate the fact that WiFi and GPS are not built into DSLRs (they both should be! All cameras including cameraphones and SLRs and point and shoots will be social cameras in 10 years or less!!!!)
  7. And like Jen I have tried the N8 under NDA and it's fantastic
  8. Therefore even though (like Jen), Symbian is not my fav operating system anymore:
  9. N8 + ShoZu + gravity = a winner so I am getting one (and an iPhone 4 as previously blogged; it would be silly for me not to use the awesome cameraphone power of the iPhone 4)
  10. And Jen, I assume when you write:
    1. " I will be purchasing a Nokia N8 and then tracking down a QT developer to help me flesh out the code of my mobile app idea. Here's to 2,045 more days of camera phone photography. ;o)"
    2. that python is ok? Right Jen :-) ? If so I'll help you write a prototype. I don't do C++ :-) is ok, but i want real music - use 12 major keys with 10 chords

Submitted by Roland on Tue, 2010-07-06 00:13

Continuing to have a great time with Python on the N900. I'll have to post later about how awesome it is to run N900 Python aka PyMaemo scripts  from a window on my Mac edited in Aquamacs using ange-ftp (or whatever it's called in the 21st century).

Anyhow came up with which is a modification of the script from to play gamelan (indonesian scale) music (using the code from from Matthew Brown, thanks!) based on the jitter from GPS Lat/Long (10 different sounds based on latitude and another 10 different gamelan sounds based on longitude)

Here's what it sounds like (short video from flickr):

Not so great sound. My next idea is to play more pleasing music

  • e.g. for each neighbourhood, pick a major key (there are twelve possible major keys in Western music AFAIK)
  • based on the latitude, play a major chord (one of 10 possible)
  • based on the longitude, play a minor chord (one of 10 possible)

My guess is this will produce more melodic and pleasing sound


Subscribe to Roland Tanglao's Weblog RSS