Archive for the ‘Technical’ Category

Online stopwatch

Posted in Technicalon Aug 26, 2010

The other day, I had a spare few minutes and a need for stopwatch, so I wrote my own online stopwatch. You can find it at:

http://stopwatch.peargrove.com

I’ll be publishing it as a Google Chrome Web app once that goes public.

Binary message in Tron iPhone app

Posted in Technicalon Jul 23, 2010

Today I was downloading the Disney Tron app for the iPhone (or in my case, the iPod touch).  I noticed on the App Store page for the app, there was a bunch of binary code looking like “0101011101100101011011…”.  So I decided to decode the binary code assuming 8-bit ASCII encoding, and I found this message:

Welcome to ComiTRON. iPhone Programs please allow Push Notifications. Flynn Lives!

I guess they are making a reference to ComiCon.  Before spending the time to write a quick program to decode the message, I did a few Google searches trying to see if someone else decoded it and posted the results.  Some people said that the message was, “This TRON app will evolve. ComiTRON coming 072210.”  It probably was, but it probably recently changed and I don’t know if anyone has bothered to post a more recent decoding.

Percent encoding for UTF-8

Posted in Technicalon Apr 20, 2010

Warning: This post is not for those who don’t fancy a little bit of computer science.

I was recently looking for some Javascript code that would escape a filename so that a file with international character in the name could be uploaded to Google Docs through my GDocsUploader program.  With some help of some internet searching, this is what I came up with.  This function will take a UTF-8 string and replace non-ascii characters with percent encoded unicode values.

I thought I would share this in case it might help someone else in the future.

function utf8_percent_encode(string) {
    string = string.replace(/\r\n/g,"\n");
    var encstr = "";
    for (var n = 0; n < string.length; n++) {
        var c = string.charCodeAt(n);
        if (c < 128) {
             encstr += String.fromCharCode(c);
        } else if((c > 127) && (c < 2048)) {
             encstr += "%" + ((c >> 6) | 192).toString(16);
             encstr += "%" + ((c & 63) | 128).toString(16);
        } else {
             encstr += "%" + ((c >> 12) | 224).toString(16);
             encstr += "%" + (((c >> 6) & 63) | 128).toString(16);
             encstr += "%" + ((c & 63) | 128).toString(16);
        }
    }
    return encstr;
}

A few thoughts on Google Buzz

Posted in Technicalon Feb 15, 2010

Google Buzz is a new offering from Google comparable to Twitter or the Facebook Wall feature.  People can share a short thought or message with those people on their contacts list in Google Gmail.  Here are a few thoughts I have on Google Buzz:

  • Integration with Gmail is both very great and very bad.  I like only having to stop at once place to check both my email and read through some recent buzzes.   On a larger scale, however, this restricts buzzing to only those who have Gmail accounts.  Most people who don’t currently use Gmail won’t want to sign up for a Gmail account just so they can buzz.
  • Location resolution in the mobile buzz app quite accurately describes where you are.  That may be fine if you are buzzing about your experience at a particular store or business, but sometimes I would like to share my location more generally so that I can communicate to people that I’m in Fort Collins, but without telling them my exact location.
  • Commenting and liking are great features that allow my buzzes to be more social and invites more discussion.
  • Better APIs need to be shared so that developers can allow third-party applications to help a user buzz.  I hear this is coming, but it should have been available from day one.

It will be interesting to see Buzz evolve over time, but hopefully we won’t ever see any “Which movie character are you?” or “Be my Farmville Friend” buzzes that have plagued Facebook.

The iPad is an enemy to openness

Posted in Technicalon Jan 28, 2010

A friend of mine who is an Apple employee, Quinn Taylor, tweeted, on the day of the iPad launch, about the use of Flash by Hulu and other online video providers. Presumably, he is responding to criticisms that the new iPad, as well as older iPhones, do not support flash and won’t play videos from Hulu. This is what he said:

When is Hulu going to get with the times and support H.264 and HTML 5 like YouTube & HD content? Flash is an enemy to openness & innovation.

So apparently, a system which requires a proprietary SDK to create videos, which then need a proprietary (free) player in order to view videos, is an “enemy to openness.”

Of course, the iPad isn’t exactly the perfect friend to openness. I mean, to develop anything for the iPad, you have to download the proprietary SDK, use it only on a newer Mac, pay to join Apple’s iPhone developer program, submit any developed application to Apple, hope that Apple approves your app, wait for people to find your app in Apple’s App Store, and then if it gets that far, users can download and use the app on the proprietary iPad device.

I just want to point out that on the conversation of enemies to openness, we could use the new iPad as a perfect example, as everything is locked down and closed from beginning to end.

Books on my work bookshelf

Posted in Technicalon Jan 7, 2010

GDocsUploader 1.4 released

Posted in Technicalon Sep 1, 2009

While still in college, I wrote my first Mac OS X program to upload documents to Google Docs. The program is called GDocsUploader, and it supports drag-and-drop uploading of documents, spreadsheets, presentations, photos, and PDF files.

Today, almost 9 months since my last release, I am happy to release an updated version of the program. The new updated version will allow users to upload PDF documents, a very much requested feature.

You can download the new version from the Google Code project site.
Read the rest of this entry »


Categories