
salve, munde!
tempora mutantur, nos et mutamur in illis
real world stuff

i have been known to have the occasional lapse of judgement and make a foray into the real world or do things that real people see. Fortunately, this is rare and the instances can be enumerated.
toronto democamp 5: kids help phone
i presented the modifications made by Yang Luk, Laura MacDougall, Yimei Miao, Andrew Reynolds, and myself on a modified version of JForum for Kids Help Phone at Toronto DemoCamp 5.
toronto democamp 10: pbj - web 0.1
Being inspired by a demo of some web frameworks at Toronto DemoCamp 5, i set about designing a framework that allows developers in different programming languages to write web applications as though they are writing desktop applications. Being somewhat miffed by all the "web 2.0" applications and wanting to bring back the "scruffy" feel of older DemoCamps, i presented my framework, PBJ, at the first Toronto DemoCamp with an available presentation slot.
ddj review of ending spam
While visiting Professor Greg Wilson's office one wintry day, i noticed a book called Ending Spam. i was informed that if i wanted to read that copy, i would have to write a review for Dr. Dobb's Journal. Some days later, i did it. Some of the ideas from spam filtering and the natural language computing course i took in January 2005 eventually made their way into my NSERC project, EDGAR.
headshots: click
Sometimes i grab candids of friends or at events where i'm a photographer.
other interests

None.
But don't believe everything you read.
But don't believe everything you read.
code snippets

Here are code snippets that i've written... more will hopefully appear here over time. It would be appreciated if you dropped me a line if you find any of these useful. i should probably include a disclaimer of some sort lest i be be held responsible for a something unpleasant. So here it is: Use at your own risk and with great power comes great responsibility, so please don't use this code for evil.
objective-c
Linked List
OCLinkedList is a linked list implementation i put together since one doesn't appear to be part of Cocoa. This should be handy for implementing a queue (e.g. using addObject: and removeFirstObject:). Cocoa already includes NSArray, which is implemented as a circular buffer, but that requires tinkering to get queues of (more or less) unbounded length. Writing a queue providing O(1) operations on the head and tail thus requires a bit more work using only that which is provided with Cocoa. While this implementation is missing many amenities of normal Cocoa collections, it should be sufficient for many purposes. Unlike normal Cocoa collections, this class also supports the addition of nil objects to the list. The testing framework included isn't well documented, though i think it's still reasonably thorough.
Test framework
Source code
NSThread Joining
NSThreadWaiter is a category that extends the functionality of NSThread to include join-like abilities. This may be useful for waiting for worker threads to complete.
Source code
Example usage code
links
cool tools
version control systems
A version control system, like git, Mercurial, and subversion is a must-have tool. Hooks, allowing things like error checking before allowing versions to be saved, seal the deal. Not only that, but the price is right! This site is automatically updated when new versions of it are committed to a subversion repository through the use of hooks.
Audience: Pretty much everyone!
Audience: Pretty much everyone!
LaTeX
LaTeX, a typesetting system, is handy tool for writing up assignments. Not only does it produce consistent output to many formats; can write equations with more symbols than you can shake three fists at; is free; makes using citations easy; and supports macros to save typing/increase consistency, its output is pretty! Now if only it were able to support more fancy HTML output. Oh well. That's what Perl, Perligata, PHP, and Python™ are for.
Audience: Anyone who writes papers or formulae in electronic form.
Audience: Anyone who writes papers or formulae in electronic form.
JavaScript
Face it. Even if you don't consider yourself a geek, there are a few times where a bit of chicken blood would be like a spinach infusion to Popeye. Like when you want to count the number of times the word "spam" appears in the Monty Python Spam sketch or need to figure out how many penguins could fit in a telephone booth (assuming a spherical penguin, of course). While JavaScript may not be the best choice, the basics would at least be somewhat useful. How often do you find yourself with access to a computer without a web browser but with some other programming language?
Audience: Anyone who doesn't already know another programming language and doesn't mind getting his/her hands a little dirty.
Audience: Anyone who doesn't already know another programming language and doesn't mind getting his/her hands a little dirty.
cool places
the perseus digital library
Ille Interrete est omnis divisus in partes tres, quarum unam incolunt canes, aliam tales, tertiam ei qui ipsorum lingua feminae, nostra viri appellantur. In ille pars, fuit paginae hypertextuales optimi, perseus digital library nomine. ego te hortor ut eas illos.
Audience: Omnes.
Audience: Omnes.
the antarctic
This place is definitely cool, with an annual mean temperature of about -50°C. That's a brisk 223K for you scientists.
Audience: Anyone who really likes penguins or is afraid of bears, the number one threat to America.
Audience: Anyone who really likes penguins or is afraid of bears, the number one threat to America.
cool people (incomplete list)
Some people i know... that F***dbook doesn't know i know. Or do they? Sigh. They probably do.
catenary
“I'm Jorge Aranda, a Mexican, vegetarian, cat-dad, serpent fish, happily-married, smartypants Ph.D. student of Computer Science at the University of Toronto.” — Jorge Aranda
computers, past and present
| Computer | 1994 | 1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | ||||||||||||||||
| (1) MacBook Air (base model) | ||||||||||||||||||||||||||||||||
| (2) P4 c. 2GHz | ||||||||||||||||||||||||||||||||
| (3) 15" FW800 PowerBook /w Superdrive + 1GB RAM | ||||||||||||||||||||||||||||||||
| (4) 13" P200 MMX laptop /w 3GB HDD, 32MB RAM | ||||||||||||||||||||||||||||||||
| (5) P4 1.7GHz /w 60GB HDD, 512MB RAM | ||||||||||||||||||||||||||||||||
| (6) PIII 667MHz /w 40GB HDD, 256MB RAM | ||||||||||||||||||||||||||||||||
| (7) PII 300MHz /w 20GB HDD, 128MB RAM | ||||||||||||||||||||||||||||||||
| (8) P133 /w 2GB HDD, 32MB RAM | ||||||||||||||||||||||||||||||||
| (9) 386 /w 30MB HDD, 4MB RAM | ||||||||||||||||||||||||||||||||
| Primary computer | Other function |
- (1) Steve Easterbrook's. It's hinge is crackin'.
- (2) Owned by Trinity College. Pwned by office fire.
- (3) Video card in death throes.
- (5) Video card and motherboard/CPU not functioning.
- (6) Computer exploded in a smokey death.
- (8) Relegated to being a file and domain server.
© 2008 jonathan lung