Saturday, April 30, 2005

Awesome -- GTD Weekly Review complete. Boo-yah.

I am an untangler. I take complex concepts and diagrams that have been wrought by people without this talent, and extract the pure essence of simplicity that underlies them (if one exists, which is not always the case).

Wednesday, April 27, 2005

In Oracle: "OVER(PARTITION BY..." = "within this record's group, if all the records were grouped by..."

Tuesday, April 26, 2005

109 Victoria BC blogs


Solved today: slow query performance, difficult join

Sunday, April 24, 2005




"So far we have marked for saving out of the waste of days, half an hour at least on six mornings a week, and one hour and a half on three evenings a week.

"When you have conscientiously given seven hours and a half a week to the cultivation of your vitality for three months--then you may begin to sing louder and tell yourself what wondrous things you are capable of doing.

"Marcus Aurelius or Epictetus. Read a chapter-- and so short they are, the chapters!--in the evening and concentrate on it the next morning...I may also mention Pascal, La Bruyere, and Emerson.

"a daily, candid, honest examination of what one has recently done, and what one is about to do--of a steady looking at one's self in the face...The solitude of the evening journey home appears to me to be suitable for it.

"Imaginative poetry produces a far greater mental strain than novels.

"Choose a limited period, or a limited subject, or a single author.

"Unless you give at least forty-five minutes to careful, fatiguing reflection (it is an awful bore at first) upon what you are reading, your ninety minutes of a night are chiefly wasted.

"The first is the terrible danger of becoming that most odious and least supportable of persons--a prig...It will be found, ultimately, that in taking care of one's self one has quite all one can do

"Another danger is the danger of being tied to a programme like a slave to a chariot.


Music appreciation, Catholicism, history, poetry, NVC**

Saturday, April 23, 2005

idea: feedmasher -- a web service that combines several feeds into one

Today it was warm enough not to wear a jacket outside.

Yeah! GTD Weekly review done!

Ruby script to upload photos from my digital camera to Flickr

require "ftools"

def move_photos_from_camera_to_staging_area
puts "Moving photos from camera to staging area"
Dir["f:/DCIM/100OLYMP/*.*"].each { |filename|
File.move("#{filename}", "staging_area/#{filename.split('/').last}")

def say_upload_complete
`start "C:\\Program Files\\Winamp\\winamp.exe" "UploadPhotos.wav"`

require "RMagick"
include Magick
def copy_photos_to_managed_photos
puts "Copying photos to Managed Photos"
# *.* to include movies, if any [Jon Aquino 2005-04-23]
Dir["./staging_area/*.*"].each { |filename|
File.copy("#{filename}", "c:/Documents and Settings/All Users/Documents/My Pictures/Managed Photos/""DateTime")[0][1].gsub(/:/, "_")+"jpg")

def show_explorer_window
puts "Showing explorer window"
`"C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE" #{Dir.getwd}\\staging_area`

def photos_in_staging_area
# Dir[] is unfortunately case-sensitive [Jon Aquino 2005-04-23]
# Actually this is good as it will distinguish the original photos
# (JPG) from the resized photos (jpg) [Jon Aquino 2005-04-23]

def resize(photo_filename)
puts "Resizing #{photo_filename}"
resized_photo_filename = photo_filename.gsub(".JPG", "b.jpg") { self.quality = 30 }

require "flickr.rb"

def upload_to_flickr(filename)
puts "Uploading #{filename} to Flickr", "", "", ["victoriabc"])

photos_in_staging_area.each {|photo_filename|
resized_photo_filename = resize(photo_filename)

Friday, April 22, 2005


Monday, April 18, 2005

All Programs > Control Panel > Add/Remove Programs ... then: Add/Remove Windows Components.

Saturday, April 16, 2005

eruby Source Code For "Bloglines Shuffler"

<title>Bloglines Shuffler</title>
<style type='text/css' media='all'>
body {
font: small Verdana, Arial, Helvetica, sans-serif;
#item-title {
font-weight: bold;
font-size: medium;
#item-body {
font-size: small;
<h1>Bloglines Shuffler</h1>
<table width='100%' cellspacing='0' cellpadding='0'>
require "cgi"
cgi =
username = cgi["username"]
password = cgi["password"]

require 'net/http'
def get(address, path, username, password)
Net::HTTP.start(address) { |http|
req =
req.basic_auth username, password
response = http.request(req).body

# my_shuffle! code by David Alan Black, "Array.shuffle",
# [Jon Aquino 2005-04-16]
class Array
def my_shuffle!
size.downto(1) do |n| push(delete_at(rand(n))) end

items = []
require "rexml/document"
include REXML
doc ="", "/getitems?s=0&n=0", username, password))
XPath.each(doc, "/rss/channel") { |channel|
channel.elements.each('item') { |item|
# "link" elements are sometimes not provided [Jon Aquino 2005-04-16]
items << "<span id='item-title'><a href=\"#{item.text('link')}\">#{item.text('title')}</a></span><br>" +
"<span id='item-body'><a href=\"#{channel.text('link')}\">#{channel.text('title')}</a><br>" +
i = 0

items.my_shuffle!.each { |item|
i += 1
<tr bgcolor="<%=i%2==0?"#efefef":"#ffffff"%>"><td><br>
rescue => e
<%="Exception: #{e.class}: #{e.message}\n\t#{e.backtrace.join("\n\t")}"%>

Wednesday, April 13, 2005

How to kill Winamp using Cygwin

ps --windows | grep --ignore-case winamp | gawk "{print $1}" | xargs kill --force

Search a PL/SQL package for calls to other PL/SQL packages

In eshell:

cat gys_hh_pass2_pkg.bdy | grep --ignore-case "pkg\." | sed "s/\\([A-Z0-9_]\\+_PKG\\)/@\\1@/i" | sed "s/.*@\\(.*\\)@.*/\\1/" | sort | uniq

Monday, April 11, 2005

Father John's Homily

Overcoming fear of strangers (Emmaus)

People as the Bndy of Christ => being civil

Sunday, April 10, 2005

Blog analysis results, prioritized

  1. *new* software technologies for programmers and end-users
  2. geek/nerd subculture
  3. data mining
  4. personal leadership
  5. information visualization
  6. human-computer interaction
  7. industrial design
  8. comics
  9. poetry
  10. blogging
  11. mathematics
  12. handhelds
  13. movies
  14. world history
  15. meditation
  16. Christianity
  17. Filipino culture
  18. Victoria BC
  19. typography

The Things Phone Book, Prioritized

  1. Computer Programming
  2. Web Applications & Services
  3. Software Research & Development
  4. Product Design & Development
  5. Automation Consultants
  6. Human Factors & Ergonomics
  7. Statistical Consultants
  8. Personal Development Training
  9. Retreat Facilities

Saturday, April 09, 2005

Shared interests are the basic building blocks of any relationship… make a list of things you’re most passionate about… use your passions as a guide to which activities and events you should be seeking out to create relationships. (Keith Ferrazzi)

It is becoming clear that my #1 interest is in technologies that I personally find useful. It could be hardware or software. It could be a web application or a desktop application. As I enjoy computer programming, it could be a programming methodology, tool, or language. Bottom line is, when I do work for others, I love working with technologies that I personally find useful. And I love trying out potentially useful technologies (read: cutting edge) and applying them to my work.
A Maven is someone who wants to solve other people's problems, generally by solving his own. [The Tipping Point]
I like to play around with new software technologies for programmers and end-users. New technologies are my toys.

The People List, Prioritized

  1. Meeting people's need for efficiency and effectiveness, through technology and automation
  2. Meeting people's need for help in buying something, through comparison of reviews and specifications

Favourite Subjects Prioritized

  1. technology trends
  2. computer programming
  3. software design
  4. information visualization
  5. software methodologies
  6. user-interface design
  7. NVC
  8. science-fiction & fantasy


Source material:

old interests - Computer programming, science-fiction & fantasy,

new interests - User-interface design, information visualization, software design, software methodologies, NVC, personal technology trends,

o o o o o

old interests - floor hockey,mountain biking, art, orchestra, video games,

not interested - statistics, camping, comics,

like doing/having/using but not necessarily talking about/learning about - data-mining, Catholicism, mobile technology, personal organization, time management,

Topics I am interested in

based on a treemap browse of my extracted blog interests:
  • Computers: software methodologies, software engineering, data mining, blogging, web applications, web services, useful programming languages, handhelds, mobile computing, speech technology, human-computer interaction, ergonomics, programming tools, freeware ... powerful programming methodologies/tools/languages and web/desktop applications/utilities ... web zeitgeist, gadgets
  • Arts: poetry, comics, typography, movies
  • Society: Catholicism, geek/nerd subculture, Filipino culture, world history, meditation
  • Business: industrial design, personal leadership, time management, personal organization
  • Science: self-help, computational linguistics, statistics, statistical graphics, mathematics,
  • Regional: Victoria BC, Canada
  • World:
  • Games: board games, video games, footbag
  • Shopping: books, toys, consumer electronics
  • Reference: knowledge management




Monday, April 04, 2005


find . -mtime -60 -type f > c:\junk3\modified.txt

find . -atime -60 -not -type d -print > c:\junk3\accessed.txt

Sunday, April 03, 2005



PyTTS incompatibility with Python 2.4

When I try to use PyTTS with Python 2.4, I get

Traceback (most recent call last):
File "", line 3, in ?
tts = pyTTS.Create()
File "C:\Python23\Lib\site-packages\pyTTS\", line 28, in Create
raise ValueError('"%s" not supported' % api)
ValueError: "SAPI" not supported

Digging deeper I see that the actual exception is quite different (alas, the perils of eating exceptions):

Traceback (most recent call last):
File "", line 1, in ?
import pyTTS
File "C:\Python24\lib\site-packages\pyTTS\", line 4, in ?
import sapi
File "C:\Python24\lib\site-packages\pyTTS\", line 10, in ?
sapi_mod = gencache.EnsureModule('{C866CA3A-32F7-11D2-9602-00C04F8EE628}', 0
, 5, 0)
File "C:\Python24\Lib\site-packages\win32com\client\", line 393, in
module = GetModuleForTypelib(typelibCLSID, lcid, major, minor)
File "C:\Python24\Lib\site-packages\win32com\client\", line 258, in
mod = _GetModule(modName)
File "C:\Python24\Lib\site-packages\win32com\client\", line 629, in
mod = __import__(mod_name)
File "C:\Python24\lib\site-packages\win32com\gen_py\C866CA3A-32F7-11D2-9602-00", line 1192
SyntaxError: invalid syntax

Anyway, I don't have any problems when I use PyTTS with Python 2.3

Subjects I Know Something About

  • Studied in High School or University. Computer programming, computer science, english, writing, technical writing, psychology, cad, mathematics, physics, statistics, metals & materials, electric circuits, mechanical engineering, economics, ethics, biology, chemistry, english literature, history, geography, french, badminton, squash, floor hockey, basketball, field hockey, mountain biking, outdoor education, rugby, soccer, swimming, tennis, track and field, volleyball, canoeing/kayaking, kenpo karate, debating, student government, art, orchestra, choir, drama, music equipment, violin, guitar, singing
  • Learned on the Job. User-interface design, information visualization, market research, software design, software methodologies, databases, data-mining
  • Learned from Conferences, Workshops, Training, Seminars. NVC, liturgical music, information technology
  • Learned in My Leisure Time. Desktop publishing, camp counselling, camping, active reading, board games, toys, video games, comics, bible, Christianity, Catholicism, career exploration, personal organization, time management, science-fiction & fantasy, internet trends, PDAs, Japanese culture, Filipino culture, Korean culture, Canadian culture, calligraphy, music appreciation, graphic design, perfectionism, word-of-mouth marketing, autism, songwriting

Saturday, April 02, 2005

Writers, Wireless Phones, Web Design / Development, Weather Forecast Service, Universities, Tracking Systems, Time Management, Theatrical Makeup, Costume & Design, Theatrical Equipment & Supplies, Technical Consultants, Teaching Aids & Supplies, Statistical Consultants & Services, Signs, Sensors, Robots, Retreat Facilities, Research & Development Laboratories, Remote Sensing, Product Design & Development, Personal Development Training, On-Line Services, Multimedia Services, Motivational & Self-Improvement Training, Mobile Services, Mobile Phones, Meditation Instruction, Maps, Mapping Services, Internet Services, Interior Decorators, Interior Designers, Industrial Designers, Graphic Services, Graphic Designers, Global Positioning Systems, Geomatics, Exhibit Displays, Ergonomics, Electronic Research & Development, Electronic Equipment & Supplies, Educational Teaching Aids & Supplies, E-Commerce, Display Designers & Builders, Desktop Publishing, Design/Build, Data Systems, Computer System Designers & Consultants, Computer Software & Services, Computer Programming, Comic Books, Cellular Telephones, Cartographers, Automation Systems & Equipment, Automation Consultants, Advertising

arts > comics
arts > design > industrial
arts > graphic design
arts > performing arts > theatre > stagecraft > set design
arts > writers
business > advertising > design services
business > business services > design > industrial designers > product design
business > business services > event planning and production > convention and trade show services > exhibit and display vendors > custom exhibits
business > electronics and electrical > control systems
business > industries > construction and maintenance > design > interior designers
business > industries > design > industrial designers
business > industries > printing > signs
business > information technology > consulting
business > management > consulting > executive coaching
business > management > education and training > time management
computers > cad > mapping and gis
computers > consultants
computers > desktop publishing
computers > home automation
computers > internet > web design and development
computers > mobile computing
computers > multimedia > services
computers > programming
computers > robotics
computers > software > business > e-commerce
computers > software > internet > web applications
computers > software > manufacturing > automation
computers > software > software engineering
health > alternative > meditation > retreats
health > mental health > self-help
news > weather
reference > education > colleges and universities
reference > education > products and services > teaching stores
science > earth sciences > geomatics
science > institutions > research institutes
science > math > statistics > statistical consulting
science > social sciences > geography > cartography
science > social sciences > psychology > industrial and organizational > human factors and ergonomics
science > technology > electronics > research centers
science > technology > manufacturing > prototyping
shopping > consumer electronics > communications > wireless > cellular phones

Friday, April 01, 2005


Using technology to make life wonderful

To make life wonderful through technology