Posts Tagged ‘Software

Software I use on my Mac

Posted in Technicalon Feb 14, 2012

Here is a list of software that I use on my Mac.  All of which can be downloaded for free.

I have a lot of other software that I also use: other web browsers, VPN client, Twitter client, Kindle Reader, etc.  But I don’t use them often enough to put them on the list as programs that I frequently use.

I’ve seen this problem many times. Someone develops a neat little gadget that can be computer controlled. It might be a toy microscope, a building automation system, or a mass spectrometer. Then the write a software application to control the gadget through a computer. Ten years later, there is nothing wrong with the gadget, but the software doesn’t.

The problem is that software applications is that they are written for today’s operating system, and there is no way to say that it will work on the common operating systems of ten or twenty years from now. Consider an app written 15 years ago. It would have been written for Windows 95, which you will find difficult to run on today’s advanced hardware. Maintaining a 15 year old computer which runs Windows 95 is equally difficult.

To avoid this problem, gadget developers need to decouple their gadget with a platform dependent software application. One way to do this is to build web servers into gadgets so that the gadget can always be controlled through a web browser without any special apps required. That is assuming that we will still use web browsers 20 years from now.

What is missing from Apple’s App Store?  One word answer: apps.  I looked over all the OS X applications that I use every day, and I searched the App Store for them.  I only found one: a text editor named Smultron which used to be free but now sells for $5.  But I did find lots of dumb, cheap apps that remind me of the try-and-trash apps available on my iPod.

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;

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 »

GDocsUploader 1.3 released

Posted in Technicalon Dec 17, 2008

About a year ago I started a little programming project to upload documents to Google Docs.  I wrote a little program for Apple OS X called GDocsUploader to support drag-and-drop uploading of documents, spreadsheets, presentations, and photos.

Today I released an updated version of the program.  In addition to bug fixes, this new version supports video uploads to Picasa.  Additionally, this new version makes it much easier to upload multiple files at the same time.

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


Posted in Technicalon May 28, 2008

These are mostly personal notes. I’m not sure if they will make sense to others.

I had a problem with a line of code like this:
int x = atoi(getenv("MYVAR"));

If this line was in daemon-ized code started at init level 2, it would segfault. (I’m not sure if these conditions are necessary, but those were my conditions).

getenv("UNKNOWN_VAR") == NULL
atoi(NULL) should == 0

But for some reason, things were segfaulting. I corrected the problem with:
if (getenv("MYVAR") == NULL) int x = 0;
else int x = atoi(getenv("MYVAR"));