You are here

JavaScript

Always available Personal Algorithms + Personal Data = Programs that matter

Submitted by Roland on Thu, 2013-03-07 18:17

Always available Personal Data + Personal Algorithms = Programs that matter. Inspired by David Ascher's Personal computing in a decentralized world: a hopeful direction. What if you could keep all of your personal data and personal algorithms in two places so that you always had a backup?

  1. In your home on something cheap and cheerful like a Raspberry Pi AND
  2. With you at all times in your pocket or on your wrist with a portable use anywhere computer like the StormFly.

What if programming wasn't so hard that you had to learn something so rigid like Pascal (the language of Algorithms + Data Structures = Programs) or C++ or even JavaScript but something approachable and more flexible (e.g. IFTTT, scratch, heck even a more accessible version of R). I predict that would allow people to use their personal data in all sorts of "helpful in real life" ways we can't even imagine!

And I don't see why this won't be possible in less than 10 years if not sooner.

Northern Voice 2011 Lightning Talk - Why and how anybody can use flickr + HTML5 to quickly and easily write compelling mashups

Submitted by Roland on Wed, 2011-04-13 11:32

HTML+CSS+JavaScript+flickr=awesome mashups for everyone aka it's the golden age of computing for everybody not just computer science majors so let's go for it!

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!

This is the golden age of computing, not the 1970s

Submitted by Roland on Fri, 2010-11-19 10:55

1977 - Love at First Sight - The PC That I used first - A Commodore Pet at Family friends somewhere in PA

As I said in my interesting Vancouver 2010 talk, this is the golden age of computing NOT the 70s and 80s like lots of folks seem to think. Write an awesome Javascript app (or just a fun proof of concept like my flickr Average Geo Tagged real time photos from 18 cities hack) and it works on millions of desktops and mobiles e.g.:Android, iPhone, Meego, Maemo, Mac, Windows and soon Symbian once Symbian gets a modern web browser. Share the code on github and make a video on YouTube and you can get recognition you could never get in the Internet less days of Creative Computing and Byte in the 1970s. Sure there are compatibility problems but nothing like the differences between Applesoft Basic, Commodore Pet Basic, Basic on the IBM PC (what was it called)?

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

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

Thunderbird-GetSatisfactionDashboard

 

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!

 

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:
https://github.com/rtanglao/momogs/blob/master/emailReport-m.rb

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:

From: xxxx@gmail.com
To: yyyy@zzzzzo.com
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:
5,http://getsatisfaction.com/mozilla_messaging/topics/how_do_i_export_folders_as_mbox_files_thanks_chris
5,http://getsatisfaction.com/mozilla_messaging/topics/migration_of_thunderbird_data_from_old_to_new_computer
4,http://getsatisfaction.com/mozilla_messaging/topics/delivering_mail_98_thunderbird_problem
4,http://getsatisfaction.com/mozilla_messaging/topics/from_thunderbird_to_outlook_how
4,http://getsatisfaction.com/mozilla_messaging/topics/cannot_start_thunderbird_already_runnning

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:
http://getsatisfaction.com/mozilla_messaging/topics/crashing_after_start_up
http://getsatisfaction.com/mozilla_messaging/topics/problems_editing_an_email_to_be_forwarded
http://getsatisfaction.com/mozilla_messaging/topics/dmg_file_whats_this
http://getsatisfaction.com/mozilla_messaging/topics/want_to_use_thunderbird_for_mass_mailing
http://getsatisfaction.com/mozilla_messaging/topics/pasting_images_takes_minutes

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:
https://github.com/rtanglao/momogs/blob/master/emailReport-m.rb

 

2010 Mobile Tech Predictions

Submitted by Roland on Sun, 2010-01-03 17:30

Hard to believe that I didn't make any predictions in 2009 (my 2008 predictions)!

Herewith again some randomly ordered Mobile predictions which are worth what you paid for them!

Mobile

  1. Google will introduce a "comes with data" mobile phone featuring an easy environment to write HTML5 & JS apps
  2. A Canadian mobile phone carrier will actually sell mobiles other than the iPhone that have current software & aren't 6-12 months old :-) The current "sell old phones with old firmware with bogus customizations" model of Rogers, Bell and Telus will be over in 2011.
  3. Apple's tablet will be introduced, it wil be big seller and a great creator and consumer of multi-media and it will be closed and have the iPhone App Store model rather than the Mac app model.
  4. Nokia will deliver Maemo 6 and an N900 successor but it won't be good enough for the mainstream but will be awesome for me & other mobile devs because mobile Firefox will offer superior HTML5 and JS experience (yes working for Mozilla I am biased :-) !)
  5. The next iPhone will boast a 5 mega pixel camera and other still and video imaging improvements which will be more than good enough for old cameraphone snobs like me and accelerate Nokia's decline among mobile multimedia creators.
  6. Mozilla Messaging (my employer!) will introduce a version of Raindrop that doesn't require you to do geeky things like install things like CouchDB yourself and it will rock on Android, Maemo and any other modern open mobile web  environment (sorry Blackberry, iPhone and Symbian but you lose since you are all neither open or modern or both :-) !) Just kidding, it will rock on any modern mobile web browser open or closed methinks :-) !

 

Lively Kernel is clever! - Notes from the Forum and Mailing List

Submitted by Roland on Sun, 2008-06-01 21:59

I am fascinated by JavaScript and its rise in Drupal and the web in general and I am looking for a system to do some visual hacking with my 30000 or so public photos on flickr.

So I spent a couple of hours with the Lively Kernel which is JavaScript all the way down instead of turtles! It might not be what I am looking for but it sure is clever.

Here are my notes (I attempted to pick out the nuggets of gold from the mailing list and forum (now closed, bring on the wiki please!)):

Lively Kernel Mailing List Notes

  1. http://livelykernel.sunlabs.com/pipermail/general/20080406/000058.html - console.log(<string expression>) print output of some methods to console window
  2. http://livelykernel.sunlabs.com/pipermail/general/20080521/000061.html - Roadmap May 21st, 2008
  3. 0.8.5 beta http://livelykernel.sunlabs.com/0.8.5/index.xhtml http://livelykernel.sunlaLKbs.com/pipermail/general/20080528/000062.html
  4. alt xml studio supports lively kernel: http://web.mac.com/altmobile/altmobile_blog/ALT_Mobile_Blog/Entries/2008/3/21_Announcing_XML_Studio_v7.3.html
  5. set rgb value has no effect instead this.setFill(new Color(1, 0, 0)); // We use 0..1 instead of 0..255 http://livelykernel.sunlabs.com/pipermail/general/20080324/000054.html
  6. how to run LK without using any other software other than apache on localhost: http://livelykernel.sunlabs.com/pipermail/general/20080301/000042.html - "the gestalt I am working toward is that each time you make a change, it becomes a new web page that you or anyone else can share and experiment with ."
  7. "SquiggleMorph (also 3 short methods -- it's just a sketch (get it?)) to let you make very basic freehand drawings. " - http://livelykernel.sunlabs.com/pipermail/general/20080208/000034.html
  8. needs of community and a history of LK - http://livelykernel.sunlabs.com/pipermail/general/20080201/000024.html
  9. first announcement of ALT mobile toolkit for LK i.e. HTML layout and rendering engine http://livelykernel.sunlabs.com/pipermail/general/20080127/000004.html

LK Forum Notes

  1. turn LK widgets into Leopard dashboard widgets aka Web Clips - https://research.sun.com/projects/lively/forums/viewtopic.php?t=13
  2. zip file to run from local (i think this is obsolete since it's from october 07, use sun zip file instead?) https://research.sun.com/projects/lively/forums/viewtopic.php?t=8
Subscribe to RSS - JavaScript