As promised, videos of my San Francisco and Vancouver real-time HTML5 geotagged photo mashups driven by the great flickr and CloudMadeAPIs (each time a geotagged photo to the city is uploaded to flickr, a dot is posted on the map; the dot does a reverse blue fade-in and then alternates between green and red and the map alternates between orange and pink). Next up, add music driven by the neighbourhood (i.e. a different tune for each woeid, which means 26 different tunes for Vancouver).
Das Blinkenlights w/CloudMade APIs of Vancouver & San Francisco real-time geotagged flickr photos: use map.removeOverlay()
To the three :-) people in the world who care about blinking lights on a CloudMade Map : Evidently CloudMade and the web browsers can't handle large amount of overlays i.e. 1000s of them :-). So the solution is to map.removeOverlay() before map.addOverlay(). If you don't remove the overlay before you addOverlay() then the browser slows down and leaks a large amount of memory.
I'll post a video later of the incredible Das Blinkenlights :-) but you can try it yourself. Just click on one of the following URLs to try it yourself (the map will be all black until somebody uploads some geotagged photos which could be anywhere from 1 second from now until an hour from now):
- Vancouver Das Blinkenlights (source code on github:vancouver-emerges-d.html)
- San Francisco Das Blinkenlights (source code on github:sanfrancisco-emerges-d.html)
Developers need to be on GitHub, period. - It's the Social Coding Era - Fork, branch, pull request or die :-) !
Amen! I remember pitching a talk with Jim Pick on Social Coding to the Vancouver 2009 Open Web Conference and being rejected. Our pitch was awful but our idea was right! Social coding via forking, changing stuff in your own branch and pull requests are the future of coding and if you want to be a real developer (heck even if you want to be a hobbyist "side project" developer like me :-) !!!!), you need have some public code on github ; otherwise more and more folks won't hire you and more importantly nobody can easily collaborate you in the 2011 github workflow for developers:
- fork a repo
- repeat until you get commit privileges on the repo:
- create a branch
- make some changes on your branch
- submit the changes in a pull request, get feedback from the person who owns the repo
- if your changes are approved delete your branch and re-pull your merged changes
- if your changes are not approved, try again :-)
Improve my MongoDB query to get the number of Thunderbird support topics created or replied to within a given time period please
I have a mongodb database created by my mongoUpdateSlurpGS.rb Ruby script with Thunderbird Get Satisfaction support topics from July 20, 2009 until the present (i.e. roughly 40000 topics) and I would like to know for a given time period how many support topics were created or modified. To calculate this, I wrote a second ruby script called alltopicsCreatedOrUpdated.rb (and the code is embedded below). My question is: is there really a need for a ruby script here.? Could the nested for "each" loop in alltopicsCreatedOrUpdated.rb be replaced by a couple of mongodb queries using the mongodb command line interface?
Since the Get Satisfaction developer docs are shall we say in need of some love, here's an ruby irb session (exercise for the reader, convert to a python or lisp REPL session :-) !) that illustrates how to find all Get Satisfaction topics tagged Android (to play along and find the get satisfaction topics tagged "android" for your company, make sure you have ruby installed on Linux or Mac OS X along with the json ruby gem and substitute your company name for "mozilla_messaging"):
5 months later and Nokia N8 video still doesn't work on flickr. Interestingly, N8 video works fine on YouTube. I think this is symptomatic of both the decline and irrelevance of both flickr and Nokia that they can't get video working with Nokia's flagship phone.
Oh well ! Onwards! I have 200 N8 videos that I'd like to batch re-encode so that they *do* work on flickr. what's the best way to do this on Mac OS X. FFMpeg?
p.s. Nokia N8 and flickr: I still love you both :-) Luckily I can handle this video issue; I couldn't handle it if there was a similar issue with photos!
I have Nokia Cameraphone Stockholm syndrome :-) which means I neglect the (un)usability of Symbian in order to get fantastic photos like the ones above! I can't stop taking photos with the Nokia N8, and I can't repeat it enough, the photo quality is amazing, thanks again to the Nokia team responsible for the N8!
My question, who will top the Nokia N8 in cameraphones? Will it be somebody on Android, Windows Phone 7, WebOS, or will Canon and Nikon or some camera upstart like Panasonic do the right thing and incorporate 3G connectivity with software programmability (I love Eye-Fi but unless it's built in it's a kludge! And the built-in WiFi in various Nikons and other cameras from traditional camera manufacturers is unusable since it's not programmable and not flexible) so that an ecosystem of cameraphone apps can spawn around a fantastic cameraphone (the iPhone4 has an excellent ecosystem of cameraphone apps but without a dedicated camera button, I can't use it as my goto cameraphone).
My guess it will be be an Android cameraphone with a dedicated camera button that will top the N8 but I'd love to be proven wrong by HP, or Panasonic or other upstart. (And feel free to think that my obsession with cameras with built in connectivity that is programmable is crazy but I think there are many 1000s of people like me!)
In the course of customizing Mozilla's Kitsune knowledge base website for Thunderbird (from the great Mozilla SUMO dev team, thanks jsocol and team!) software, I needed to change locale strings to reference Thunderbird instead of Firefox. Locale strings consist of:
- msgid e.g. "Firefox Help"
- followed by msgstr which is the localized version e.g. "Firefox-Hilfe" (for the German locale)
For Thunderbird I changed all occurences of Thunderbird to Firefox where there was a Thunderbird equivalent (I didn't change strings that have no Thunderbird equivalent e.g. there is no mobile version of Thunderbird so I left all mobile related strings unchanged). In the above example "Firefox-Hilfe" becomes "Thunderbird-Hilfe"
To do this automatically for all languages that the knowledge base for Thunderbird supports (which is dozens), I wrote a ruby script to do this: changeMessages-po-to-tb.rb
Of course this fails for languages where nouns are declined like Polish which in various situations uses "Firefoksa" instead of "Firefox" for example.
But it works for most of the locales and therefore has saved me and the localizers considerable time.
Is there a better way to do this? Perhaps a built in search and replace utilty in Linux or Mac OS X?
On the weekend I created the following black and white barcode for Michael Kalus, which I call "shades of darkness":
all of michael kalus's black and white photos >= 720 px high as of April 20, 2011 tagged "blackwhite" in ascending chronological order and then squished to 2px wide * 720 px high and then concatenated together. The image should be 990 pictures * 2 px wide = 1980 pixels wide but it is only 1974 pixels wide due to either a programming error or the photo missing from flickr (or my script couldn't download it from flickr)
- documentation and code on github: github.com/rtanglao/barcode/blob/master/README.md specifically:
If you can't play the above YouTube video e.g. perhaps because your platform doesn't support flash, try the original quicktime version of the penmachine dodging buses barcode video
What the video displays
Boring tech stuff:
- In the middle, 4616 of derek's photos (75x75 pixel thumbnails of all photos >= 720 pixels high from flickr) are displayed
- while at the bottom their 1 pixel wide by 720 pixel high "barcode slice" is displayed.
- Finally at the top, a red dot shows where the latest 1 pixel slice is being displayed.
All three lines wrap-around after 900 pixels.
Cool People in the video:
- miller family-o-sphere
- vancouver tech-o-sphere (if you are in Vancouver and you are in tech, you probably are in the video!)
- gnomedex-o-sphere (chris, ponzi, etc)
Their is also a webapp version but due the network not being infinitely fast and zero latency it falls behind and out of sync
Here's the webapp version: http://dl.dropbox.com/u/361757/pm-bc-video/html5-barcode/drawbarcode.html
It's a pity zero latency and infinite bandwidth networks don't exist :-)
In order to create the video, I ran the webapp on my localhost to eliminate bandwith and latency problems!
photos by derek k miller:
music "dodging buses by derek k miller:
4616 barcode images of derek's flickr photos generated by:
html5 web app code to generate the video :
video made using: Snapz Pro X from ambrosia software
(tested on Mac OS X Safari, Chrome 12 and Firefox Aurora and Firefox Mobile on Nexus S)
- the white space on the right side of the video
- The red dot should skip by 75pixels instead of 1pixel or perhaps we need a separate indicator pointing from the slice to the 75x75 thumbnail
- The red dot should be erased when it wraps around
I need to work more with cool music from people like Derek. Music + code indeed music + anything is fantastic
You know you are getting old when you don't care about owning things anymore. Except for Google limiting my freedom of choice to install a better browser like Firefox, a computer for $10/month sounds great as long as that includes awesome connectivity and bandwidth! Where do I sign :-) ?
I'd also like bicycles by subscription. I'd pay $40 a month for example for a vintage bicycle cruiser (Danu at The World Cycles here in East Vancouver has many many fantastic cruisers from the 1930s, 40s and the 50s) with all the bells and whistles (hub dynamo, 3-10 gears, built in powerful lights, fenders, chain guard).
I think there's a small, fun "lifestyle" business there: for folks who want an awesome bicycling experience and don't want to do bike maintenance: pay upfront a deposit of a few hundred dollars and then $40-50 a month (which includes monthly quick tuneups). In return you get an fantastic bike impeccably maintained with all the goodies.
iPhone Google Reader web app is faster and smoother than the Google Reader App on the Nexus S - Android Stuff Part 1
Hard to believe but true: iPhone Google Reader web app is faster and smoother than the Google Reader App on my Nexus S. Anybody know why? Is the Android Google Reader App Java or an HTML 5 web app? I am guess it's a Java app; if so shouldn't Java apps be faster and smoother than web apps in Android?
Derek and Air, I have no words. But musicians make music and software geeks make software. I wrote some software to make a chronologically ordered barcode of all of Derek's flickr photos 720 pixels high or greater, 4616 to be exact.
Geeky yak-shaving-details and open source code:
montage -geometry +0+0 -tile x1 *.jpg foobarcode.png
It's been running for 36 hours and still hasn't finished, anybody got a faster alternative? Clearly I am "unencumbered by knowledge" :-) when it comes to image processing. My bet is there's another newer open source toolkit that will do this faster.
Yelp, Gowalla, foursquare, Urban Spoon etc. are walled garden data silos of Doom that don't provide useful recommendations
Part 1 of Rant - Recommendations from Yelp, foursquare, etc are useless because there's no way to validate expertise and no identity
social+local+expert data = relevant recommendations aka Yelp, Foursquare, urban spoon, etc are walled garden data silos of doom NOT destiny and they don't really help you find the awesome restaurant or espresso g*d shot you are looking for despite Fred Wilson's experience (an exception that proves the rule)
Part 2 of Rant - Don't trust your review data not to be compromised and not to be deleted when using a service like Yelp, foursquare, etc
You may be elite-2011-taster-273487 on yelp or urban spoon but or other such location based or recommendation based service, but:
- you don't own your data e.g. your reviews
- you can't export your data
- why should anybody believe that it's you or trust your reviews when it's impossible to figure out who you are e.g. who is JudyS_240394 ?
- your data will be sold (only Apple seems to have the guts not to sell user data)
- what happens when the wonderful service goes out of business or "pivots"?
Part 3 of Rant - Solutions - for now: copy to your site, future: open formats are the only long term way to get out of the silo
It's unfortunate that in 2011 that the best way to build up a consistent reputable, verifiable, track record for reviews or anything else that's structured beyond mere text is still to to have your own site e.g. a blog .
The best pragmatic compromise is to somehow copy the data you post in walled garden data silos of doom back to a site you control on your domain (unfortunately most walled garden sites don't allow you to get your data out without compromise; exceptions that prove the rule: flickr and instagr.am)
Or flip it around: Make your site the master and copy the data out to walled gardens like twitter, yelp, facebook etc is probably a better short term pragmatic solution. Not surprisingly the usual suspects :-) like Dave Winer and Tantek are pioneering this (check out Tantek's falcon system).
And in the long term, a "beyond unstructured blog of text" open API or data format for things like reviews which we have been discussing since 2004 (e.g. microformats) will actually happen. I remain optimistic about that :-) !
Not sure why the Blackberry Playbook is on the front page of the Globe and Mail today. Like the iPhone or iPad it's just a gadget :-) !It's not my kind of gadget because it doesn't have the compelling developer and user experience of other gadgets but time will be the real judge of that; from early reviews it sounds like it's full of potential in spite of my misgivings about the decision to support Android apps.
I wish the RIM folks success but I think much more coverage should be extended to the Canadian startups that going for it & innovating i.e. the companies that will become the next two or three RIMs or how about the story of how acquisitions of Canadian startups by foreign companies prevent Canada from nurturing more companies the size of RIM.
Cisco Flip débacle: Social Cameras must have wireless connectivity & magic fairy dust won't turn Enterprise companies into consumer companies
- Social Cameras must have wireless connectivity (I like Dave Winer's crazy good Social Camera idea but there's lots of room for innovation here that Cisco, Nokia and many others have missed and that companies like Color, Eye-fi et al are trying) &
- Magic fairy dust won't turn Enterprise companies like Cisco (or the late lamented mismanaged Nortel) into consumer companies :-)
Northern Voice 2011 Lightning Talk - Why and how anybody can use flickr + HTML5 to quickly and easily write compelling mashups
Got ideas on a Northern Voice related flickr mashup I can do as part of my NV 2011 Moosecamp lightning talk (or in general, love to collaborate HTML5ish and flickrish for good on something during the conference and after the conference as well) ? Leave 'em here as a comment or tweet @rtanglao or send me smoke signals :-). See you at Northern Voice 2011 in May!