28 February 2010

I’m a bit of an information pack rat. When I have an idea or something I need to keep track of, I have an immediate need to write it down or record it. In the past this has resulted in an assortment of post-it notes, notebooks or even loose papers lying around my desk, all used to document my thoughts. Eventually, I tried to move my note-taking over to the PC in an attempt to make it easier to manage, but over time the notes became spread over a variety of formats and storage mediums, from text files on my local PC to online services such as Google Calendar and Dropbox.
This sort of digital storage Balkanization was becoming a nightmare to manage and effectively neutralizing any benefit from taking notes, since finding and keeping track of what I’d written down was becoming a chore by itself. Clearly, a unified solution was needed. Ever since I got my iPhone last year, I’d been looking for an app or service that would allow me to easily keep track of todo and shopping lists (what most of my notes amounted to), while storing the the data online so that it could be synced or updated from my PC as well.
I think I’ve finally found that with Awesome Note.
Continued
28 November 2009

Back on November 2nd, the City of Toronto launched their toronto.ca/open service – a project aimed to be the “official data set catalogue” of the city. Part of the OpenTO initiative to make various data that the city has collected available to developers in formats that make them easy to manipulate, toronto.ca/open is the first step to making the city and its services more “open and accessible”.
The hope is that if the city makes this information available in a readily-usable form, developers will take the time to create various services around them, helping citizens enjoy and take advantage of what Toronto has to offer. For example, data on garbage collection, public transit or upcoming city events could be used to create a service that would alert users through various means of communication. But at present, the amount and types of data available are fairly limited.
Continued
17 October 2009

After much delay, possibly due to government meddling, Google Street View finally went live in select Canadian cities last week! Most of the GTA is covered, along with Kitchener/Waterloo, Ottawa, Montreal, Quebec City, Halifax, Calgary and Vancouver. This likely ensures coverage for a majority of Canada’s population, if only a very small minority of its geographical area.
This is a welcome move, since street view has been available for our neighbours to the south for the past two years.
Continued
28 September 2009

Well, I finally gave in and joined the cult of iPhone. At the beginning of this month, I decided to splurge and get an iPhone through Fido, Rogers discount brand. Why? I suppose it had something to do with the extension of the 6GB/$30 “promotion” or the fact that I was able to find a 3GS for sale locally, but mostly it had to do with the fact that I needed a new toy. (Note that the iPhone is hardly a novelty item, with >21 million of them out there)
Keep in mind that I didn’t have a mobile phone until late 2007, and even then I decided to only go with a prepaid provider (Virgin Mobile) because I didn’t have much of a need for a phone, but really just wanted Internet access. However, this past summer my phone got more use than usual, especially with regard to Internet access. With Internet browsing being anemic on most non-smartphones, I decided it was time to upgrade.
Continued
11 August 2009
If you have a background in a strongly-typed language such as Java, you’ll be used to using logical operators only with boolean values/expressions. However, in most dynamically-typed languages this doesn’t have to be the case, due to the nature of dynamic typing: The type of the variable is often determined based on the context in which it is used.
With JavaScript there are actually two concepts at play when using logical operators: What is actually returned from the result of a logical operation, and how variables are converted to boolean values when the context requires it.
Continued
5 July 2009
I saw this comic about usability (linked from this question at Stack Overflow) and couldn’t help but let out a distressed laugh. How often have you seen this happen at your workplace, or in an application you’ve had the “pleasure” of using? For every elegantly designed UI that exists, there seems to be a plethora of poorly designed ones that do their best to confuse users.
To me, a lot of this UI complexity stems directly from a lack of separation between the UI and business logic layers.
Continued
29 June 2009
If you’re running a website that provides a service, it’s likely that it would be beneficial to know a user’s location (or have a rough idea) so that the content could be tailored to their specific geographic area. But how do you get their location, without having to ask them? By using their IP address, it’s possibly to determine their general area with fairly good accuracy. In this tutorial, I’ll explain how to do that using the free IP address geolocation database from IPInfoDB.
Continued
15 June 2009
If you’re like me, you run your WordPress installation off of a SVN checkout, making it far easier to stay up to date with new versions. In fact, using version control checkouts is an excellent way to maintain web applications running on production servers, especially if they don’t require compilation.
However, if you recently tried to upgrade to the latest version using the instructions at the WordPress Codex, you likely ran into a problem with an error mesage like this:
$ svn sw http://core.svn.wordpress.org/tags/2.8/ .
svn: 'http://core.svn.wordpress.org/tags/2.8/'
is not the same repository as
'http://svn.automattic.com'
This is because sometime between the release of 2.7.1 and 2.8, the URL of the WordPress SVN repository changed from http://svn.automattic.com/wordpress/ to http://core.svn.wordpress.org/.
Continued
31 May 2009

As reported a little while ago, Sun plans to launch their own app store for Java-based desktop applications. With Apple’s App Store having passed the one-billion download mark last month and thus proving to be a roaring success, it’s clear that Sun, like many others, is hoping to imitate and perhaps improve on the effort. But does it make sense?
Continued
18 May 2009

If you’re using Maven to manage your project’s build and dependencies, you may have encountered some problems when trying to include the latest version of log4j as a dependency. Specifically, log4j 1.2.15 depends on some artifacts that are not available in the central Maven repository due to licensing issues, and thus when you try to build a project that depends on this version of log4j, you may not be able to download the artifacts and your build will fail.
We could download and install these artifacts to the local repository, if we really needed them. But in most cases, they’re not needed and thus you won’t want your project relying on these artifacts just because some parts of log4j do. Thus, we need to exclude them.
Continued