A complete chronological list of every post.

  • May 9, 2026

    Reprogramming the Commercial Break

    So my son said to me this morning, just before heading to his swimming lesson, that he didn’t notice any commercials for Hoppers, this movie that he wants to see, and it’s already out of theatres.

  • May 7, 2026

    No slop allowed in this blog

    Like everyone else, I’ve been playing with AI a lot lately. I’m always building things, and sometimes it is difficult to find the time to write about the things that I build, because the writing time comes at the expe...

  • Apr 21, 2025

    The jDeploy Desktop App

    I took advantage of the long weekend to finish up the first release of the jDeploy desktop app. This has been many months in development, and I’m happy with the result. I think this should eliminate most of the hurdle...

  • Feb 19, 2023

    Prime Time BBS

    Note: Throughout this post, I’ll use “us”, “I”, “me”, and “we” fluidly, since I did most of these things with my friend, and I just can’t decide whether each thing was done by me alone, or together with my friend.

  • Dec 23, 2022

    How I got hooked on Baseball Cards (part 1)

    I started collecting baseball cards in 1988. I know this because I still have the Panini sticker book that started it all off. I don’t remember how I got that sticker book – probably as a birthday present, which would...

  • Dec 22, 2021

    Downloading Youtube Videos with Pytube and Shellmarks

    Pytube is a great little Python utility for downloading videos from youtube as .mp4 files. It has a command-line interface that makes downloading videos as simple as entering the following command:

  • Dec 21, 2021

    Automation, Organization, Documentation, and Sanity

    I used to be the “Web Coordinator” in a university faculty, and I often had to provide tech support to the office staff. One morning I received an urgent call from one of the program assistants (let’s call her Carol) ...

  • Sep 16, 2021

    Do Kids Still Read Computer Books?

    I still remember my first computer programming book. It was a glossy, black, brick of a book on PERL 5. I had started building web pages a few months prior, using the copy of Adobe PageMill that came with my bondi-blu...

  • Jul 22, 2021

    Take me there

    I love reading, but I don’t have time to “just read” so I tend to consume a lot of written material in “audio” format. This allows me to “read” while I do other things, like walking, driving, cleaning, and cutting the...

  • Apr 10, 2021

    Star Wars and the Seven Laser Disc Players

    Photo by Artur Tumasjan on Unsplash.

  • Apr 7, 2021

    Video: Building a Codename One Project for iOS

    This is the third video in my series about our new online tool, Codename One initializr, which allows you to generate a Maven starter project for a native mobile app in one click. The first video showed how to generat...

  • Apr 6, 2021

    Deploying Apps on Multiple Form-Factors

    Photo by Domenico Loia on Unsplash

  • Apr 6, 2021

    Codename One Project -> Build Android App

    In my last post I showed off the new Codename One initializr online tool, generating a Maven project, and opened it in IntelliJ.

  • Mar 30, 2021

    Preview: Online Tool to Generate iOS/Android app starter project

    The Codename One initializr is an online tool for generating a Codename One starter project. You can select either Kotlin or Java, then you can download the project and open it in your local IDE.

  • Mar 30, 2021

    Farewell to TenFourFox

    I was saddened by the news that development on TenFourFox, the Firefox port for Mac OS X 10.4, will be ending with its upcoming release.

  • Dec 19, 2020

    The Water Fight

    This is my account of the epic indoor water fight of 1989 that laid waste to Mr. Galvin’s grade 4 classroom. Enjoy

  • Dec 13, 2020

    Date Night

    Beverly sorted the DVDs in the furnace room a couple of weeks ago, and, as a result, there is a stack of DVD cases sitting on the floor of our basement. Topmost in this stack is “Necessary Roughness”, the 1991 footbal...

  • Dec 6, 2020

    The Rivalry

    The following is my account of one of the greatest rivalries in elementary sports history. It retells the infamous showdown at the 1992 Langley Grade Seven Boys Basketball Championships between Peterson Road’s heroic ...

  • Nov 28, 2020

    The Go Kart

    Another true story from my childhood, that I call “The Go-Kart”. Enjoy:

  • Nov 27, 2020

    SSD Upgrade on my Windows Box

    I have a Windows 10 box that I used for Windows development. I generally use Microsoft Remote Desktop to remote into it from my main development machine (a Mac Pro). The windows box is running a 6-core AMD FX6300, wit...

  • Nov 21, 2020

    The Advent Calendar

    This post is another in my series of personal anecdotes and reflections from my childhood. If you read my blog for my posts about Software development, you can safely disregard this

  • Nov 14, 2020

    The Hustler

    I was never much for gambling, but there were times when I wanted to be. The movies made it look like so much fun. A popular plot device in 80’s film and television was for the protagonist to win an improbable jackpot...

  • Nov 6, 2020

    The Fight

    Normally I use my blog to write about software development, but I’ve decided to branch out a bit with this entry. In order to help my fading memory, I’ve decided to try write about small episodes that I can still reme...

  • Aug 30, 2020

    New Mobile Theme for Xataface

    During my two week “vacation” from Codename One, I’ve been madly working on a new project using Xataface. For this project, I really needed the mobile interface to be smooth, so I decided to finally make Xataface’s co...

  • Jan 2, 2019

    Things I Like #1: The Retroist

    For 2019, I’ve decided to start blogging about things I like. For my first entry, I’d like to share “The Retroist Podcast”, and associated media. The Retroist podcast is devoted to pop-culture from the late 70’s to ea...

  • Nov 21, 2018

    JAXB Hell on JDK 9+

    JAXB has been removed from JavaSE starting in JDK 9, so we’ve had to make some changes to some of our code to work around this. We have some custom ANT tasks that use JAXB to process some XML. The task it used inside ...

  • Nov 18, 2018

    PSA: Prefer to use AdoptOpenJDK’s jdk-11 builds for embedding in Mac Apps

    If you are planning to distribute a Java app on Mac, you should avoid using the JDK builds from jdk.java.net as they won’t necessarily work on Mac OS older than 10.13. This is because the libjvm.dylib is build with MA...

  • Dec 21, 2017

    iTunes DRM Begone!

    My storage room is filled with boxes of CD jewel cases with all of the music I purchased before the digital revolution. At a certain point, it just became easier to just buy music digitally. In fact, In many cases I r...

  • Dec 19, 2017

    High Sierra, Ruby, RVM, CocoaPods, ipatool, xcodebuild Ughh!!

    This is a very terse post to record a problem/solution for Cocoapods on High Sierra.

  • Jan 6, 2017

    Use NPM to Distribute Your Command-Line Java Apps

  • Oct 7, 2016

    OCR.net is officially launched

    I’m on “vacation” right now from my job at Codename One, so I’m taking some time to work on personal projects for the first time in a while. On the second day of my “personal project” time, I received an email offerin...

  • Aug 16, 2016

    Async to Better U/X

    I come to you today with three simple tips that will guarantee to improve your Codename One apps’ usability:

  • Oct 22, 2015

    Entitled OSS Users and the Xamarin RoboVM acquisition

    RoboVM has been acquired by Xamarin, it was announced; and it would no longer be open source.

  • Oct 16, 2015

    If a Drive Dies Once, It’s a Dud

    Purchased an iMac from Best Buy in 2011. A few months later it wouldn’t boot up due to a problem with the hard drive. Took it to the Mac store, and their solution was to reformat the drive. After the format, their dia...

  • Jul 3, 2015

    iOS Certificate Wizard

    I don’t know about you, but I cringe every time I need to deploy apps to iOS. There is always something with the certificates or provisioning profiles that requires tinkering. No more, I say!

  • Jun 29, 2015

    JavaFX WebView HTML5 API Support

  • Jun 10, 2015

    My WWDC 2015 “Hey that’s cool!” list

    The 2015 WWDC keynote included a lot of “meh”, but a few “hey that’s cool”s. Here is my “hey that’s cool” list.

  • Apr 8, 2015

    Untitled

    Writing Synchronous Wrappers for Asynchronous Methods in TeaVM

  • Apr 6, 2015

    Porting a Java Project to the Web with TeaVM

    I am always experimenting with new technologies just to see what new cool things are possible. As a Java developer, I’m usually toying with JVM-related technologies. The latest new and cool technology that I have been...

  • Dec 5, 2014

    Hacking the OSCON 2014 Schedule with Codename One & Mirah

    I gave a tutorial on Codename One at OSCON this year. Part way through the conference, I learned that OSCON had published its schedule as a public JSON feed and were encouraging developers to create their own schedule...

  • Nov 3, 2014

    Using SOUNDEX and MySQL Full-Text Search for Fuzzy Matching

    I recently received a question from a Xataface user about how to support searches for misspelled names. Out of the box, Xataface provides some fairly advanced search support that allows users to search on particular c...

  • Sep 24, 2014

    CN1ML: Using HTML to Design Codename One User Interfaces

    In Codename One, you traditionally have two choices for designing user interfaces:

  • Sep 2, 2014

    Mirah for Codename One App Development

  • Jul 25, 2014

    OSCON 2014 Reflections

    I’m sitting in Portland International Airport waiting for the chariot that will return me to Vancouver, so I thought I’d pass the time by reflecting on my experience at OSCON. I am not generally the kind of guy that g...

  • Mar 27, 2014

    Why I don’t recommend using GoDaddy for Hosting

    This has come up a few times now on the Xataface forum. Users write into the forum because their Xataface application has stopped working — or at least everything except the homepage has stopped working. They report e...

  • Jan 2, 2014

    Make the World A Better Place by Making A Codename One Library

    Codename One recently opened up a plugin repository on their website where you can download libraries to extend the functionality of Codename One. Right now it is really just a static webpage because the list of avail...

  • Aug 1, 2013

    Git Hub, Codename One Javascript Components , PDF CJK Fonts

    I haven’t posted in a while, mostly because I haven’t had time. I just wanted to post a short update on my development activities over the past while. One big thing to note is that I have finally adopted Git as my pri...

  • May 31, 2013

    CFIB Study on Municipal Spending Incorrect and Misleading

    In the last few days, CKNW has been touting a new study by the CFIB (Canadian Federation of Independent Business) claiming that spending in the four largest cities in Canada is growing out of control. Specifically (in...

  • Feb 8, 2013

    Object Persistence in Codename One

    One very useful feature of Codename One is its Storage class, which provides a cross-platform key-value store that can be used to store simple data (e.g. Strings, Integers, Doubles), large binary data (e.g. byte array...

  • Feb 6, 2013

    Two Months with the Nexus 7

  • Feb 2, 2013

    The Case For Light-Weight UI Toolkits

    This post is motivated by a recent Reddit thread where someone posted an announcement about the 1.0 release of Codename One, a toolkit for building cross-platform mobile applications. I was quite surprised by the stre...

  • Jan 24, 2013

    4 Ways to Consume JSON Web Services in Codename One

    I just released a Javascript bridge for Codename One that allows you to communicate easily back and forth between Java and Javascript. This library may be absorbed by the Codename One core at some point in the future,...

  • Jan 10, 2013

    AditNetwork : A Pyramid Scheme By Any Other Name …

  • Jan 8, 2013

    Develop for Mobile or Die!

  • Dec 18, 2012

    Codename One iOS Offline Build Project

    To build upon my last post, I have encapsulated the steps to build an iOS application offline (i.e. without having to send to the CodenameOne build server) into a single ANT script that can easily be installed on your...

  • Dec 13, 2012

    Building CodenameOne iOS Apps Locally

    Note: This post discusses the mechanics around building CodenameOne iOS projects locally. See my subsequent post for information about a project that automates this entire process.

  • Dec 6, 2012

    Avian vs XMLVM: AOT Java on iPhone Benchmarks

    In my last post, I discussed the results of a benchmark comparison between XVMLVM and Avian both solving the Towers of Hanoi problem on an iPhone 4s. Originally it looked like XMLVM ran slightly faster, solving the pr...

  • Dec 3, 2012

    XMLVM is Actually Pretty Fast

    DISCLAIMER : The Benchmark results in this post turned out to be flawed due to GCC/LLVM optimizations unduly favouring XMLVM. Please see the next post where I discuss the corrected benchmark and associated results.

  • Dec 3, 2012

    Apple’s Walled Prison

    I endure it because they make great software. I endure it because I have become dependent on their ecosystem. I endure it because there’s money in developing software for their platform.

  • Nov 30, 2012

    CodeNameOne + Avian = Java on iOS

    In my last blog post I was expressing my hopes for a Write-Once-Run-Anywhere solution for Java mobile. One of the founders of CodeNameOne responded to the post by saying that CodeNameOne offered everything that I was ...

  • Nov 20, 2012

    I want Java on Mobile

    What makes Java unique? Actually there are quite a few things that set it apart from other languages, but I want to focus on its true cross-platform presence. No other platform provides the end-to-end tools for buildi...

  • Nov 14, 2012

    PDF Table of Contents with Docbook & FOP

    This post is, more or less, a note to self so that I can look up how to do this later on. I use docbook to write documentation for some of my projects and I have a set of shell scripts set up to render the docs as HTM...

  • Nov 2, 2012

    Generalized PHP Caching Solution

    I recently became responsible for maintaining service level of a Joomla! website. The site is hosted on a CentOS VPS instance with NGINX and PHP running with FastCGI. The site had been previously hosted on a shared se...

  • Oct 29, 2012

    Speaking Cocoa From Java

    Java on the Mac recently got a major boost to its profile as a platform for building Mac software when JavaFX ensemble was accepted into the App Store. This was not the first Java app to make it into the app store, bu...

  • Oct 11, 2012

    Scrolling iFrame on iOS

    I just finished adding scrolling support to the RecordDialog class in Xataface for the iPad. The RecordDialog basically allows you to open an edit form or new record form in an iframe using a Javascript call. This is ...

  • Oct 8, 2012

    OS X JNI Tutorial

    I have just recently completed my first JNI library for use with one of my applications. Since I have found documentation on JNI (especially on Mac OS X) to be sparse, I decided to write a tutorial about the process s...

  • Oct 6, 2012

    JavaOne: A Look Back

    I am now home from my Bay area adventure at Java One. This was the first conference I’ve attended since 2005, and is by far the largest conference I’ve ever been a part of. I was blown away by the scale of this one. T...

  • Oct 4, 2012

    “Engineers” in the US

    During the course of a dinner last night, a “canadianism” was brought to my attention that I was quite unaware of. A friend of a friend who is working at Google mentioned that the project he is working on is “quite sm...

  • Oct 3, 2012

    Ingredients required to port HTML/Javascript App to JavaFX

    I have been taking in as many JavaFX talks during Java One as I can. I’m keen to move some of my development from LAMP/HTML5 to LAMP/JavaFX (Yes.. still not ready to move into the JavaEE space – though PLAY makes it c...

  • Oct 2, 2012

    JFXtras: Cool Widgets for JavaFX

    I just attended a session at Java One for JFXtras. I was very impressed by the prolific collection of gauges that were contributed to the project by Gerrit Grunwald (@hansolo_). He has developed incredibly intricate c...

  • Oct 2, 2012

    PLAY Framework Observations

    Going into James Ward’s talk on the PLAY framework I had no hands-on experience with the framework. I only knew of it from the odd mention in other developers’ Facebook updates.

  • Oct 2, 2012

    In Depth with JavaFX Scene Builder

    This post is just a collection of my observations after watching a talk at JavaOne by Jean-François Denise about the JavaFX scenebuilder application.

  • Oct 2, 2012

    The Metro UI

    I attended a talk yesterday on “Java FX meets Metro” by David Qiao. Going in, I was hoping for some information about deploying JavaFX on Windows 8 in some format that is acceptable by the new windows 8 app store. In ...

  • Sep 20, 2012

    CodenameOne Project : Finally Java on the iPhone

    I periodically monitor the progress of multi-platform development solutions for the mobile space. As a Java developer, I’m especially interested in solutions to bring Java to the iPhone. Even better would be a Java so...

  • Jul 29, 2012

    Is Gatekeeper the writing on the wall?

    I just updated one of my Macs to Mountain Lion so that I have a test machine for my software. As expected none of my software worked out of the box. When I tried opening PDF OCR X, it came up with a message saying tha...

  • Jul 29, 2012

    JavaFX Has Finally Arrived

    JavaFX 2.1/2.2 finally gives me the tools that I need to build the applications that I want to build. This release provides 2 missing pieces that make all the difference:

  • Apr 3, 2012

    Look Both Ways Before Adding Jars to Extensions Directory

    I recently ran into a problem with a customer’s Java environment where some of the classes that PDF OCR X requires were being overridden by out-of-date classes. The error wasn’t exactly intuitive:

  • Mar 13, 2012

    SHOW TABLE STATUS vs SHOW TABLES vs INFORMATION_SCHEMA

    I have been battling with some performance issues on one of my Xataface applications of late and I think I just found the cause of periodic slow-downs:

  • Feb 3, 2012

    Rogers/Fido Redemption

    In my previous post, I described a situation where my wife was overcharged for transferring from Fido to Rogers in 2009. I spoke to both Rogers and Fido customer support at multiple levels and was told that because th...

  • Jan 6, 2012

    Open Letter to Fido and Rogers

    My wife and I have recently been forced to cancel our cell phone accounts with Rogers and we will never be returning to either Fido or Rogers for any service in the future. Over the past 5 years we have spent over $12...

  • Dec 3, 2011

    A Bug Hunter’s Diary: A Guided Tour Through the Wilds of Sofware Security

    A Bug Hunter’s Diary is written as a journal of a “Bug Hunter”. It takes us through seven bugs that the author (Tobias Klein) has discovered in the past five years, giving the reader a glimpse of his process and an aw...

  • Nov 27, 2011

    Survey Builder 0.1 Released

    I have just released Survey Builder on Sourceforge. Survey Builder is an application that allows you to design and host surveys using pure HTML. It is the first application built with the new Xataface 2.0 look and feel.

  • Nov 25, 2011

    Sourceforge Much Improved

    I just went to start up a new sourceforge project for the Survey Builder application I just created. I guess it’s been a while since I created a project because the system is total different than it used to be. Much m...

  • Nov 21, 2011

    Xataface 2.0 Preview Photos

    I’ve been putting a lot of work into Xataface getting it ready for release. There are still some details to take care of, but I think it’s safe to say that this release will be a drastic improvement over any of the pr...

  • Oct 31, 2011

    Logic 8 on Mac OS X Lion Fix

    My Dad recently upgraded to Lion only to discover that Logic Pro 8 no longer works on it. When he opened the application it just pops up with message saying that Logic was not compatible with this version of OS X, and...

  • Oct 31, 2011

    WWSS (What Would Steve Say?)

    I just finished reading the new Walter Isaacson biography of Steve Jobs. It is a good read, especially if you have an interest in Apple, Jobs, or computers in general.

  • Oct 21, 2011

    So Steve’s leaving us…. but is he really?

    I received my November issue of Mac Life in the mail yesterday. It includes an article on Steve Jobs entitled “Steve’s Gone… Now What?”. It went over some of the Wall Street reaction to his “leaving” and recapped some...

  • Oct 20, 2011

    Javascript Development with the Xataface Javascript Compiler

    Javascript is a wonderful language, but I always felt as if it wasn’t terribly scalable. Not so much in the performance sense, but in the component sense. When working on large projects (like Xataface) Javascript can ...

  • Oct 17, 2011

    A Week On Android

    2 years ago I purchased an HTC Magic which runs on Android. I used if for a day and decided I didn’t like it, so I switched to my wife’s old iPhone 3G instead. I never looked back, until …

  • Oct 15, 2011

    Using a “Silent” Java Applet to Render PDFs in HTML

    I have read many obituaries for the Java applet. Once upon a time, in the late 1990’s the applet was king of the internet and hope for the future of rich web-based applications. Its decline and (almost) demise can be ...

  • Oct 14, 2011

    JavaFX on Mac, iOS, Android, Windows Phone… Future looking bright

    At the recent JavaONE conference in San Francisco, Oracle demonstrated JavaFX running on iOS and Android. While this hasn’t been officially approved by Apple, the proof of concept is also hope for the future of Java. ...

  • Oct 12, 2011

    Amazon EC2 Micro Instance By Accident

    I recently had a problem with my Amazon EC2 server that caused me to have to fire up another fresh instance and transfer the files over. My original server was a “small” instance (which was the smallest available when...

  • Jun 9, 2011

    Date.js – Life-saving Javascript library for date handling

    I was faced with having to parse dates that could be in any number of formats. The built-in Javascript Date object is not up to the task. Found Date.js to be just what I needed. It will parse just about anything you c...

  • May 19, 2011

    Exploring the HTML/CSS Mobile Toolkit Landscape

    I’m in the process of developing a mobile interface to Xataface so I’ve been experimenting with different toolkits to help with the UI. I have worked with jqTouch in the past (to create the Web Lite TV iPhone/iPad int...

  • May 17, 2011

    Javascript matching all characters including new line

    In most languages you can add a modifier to the regex function to change the behavior of the ‘.’ operator so that it matches all characters including new lines (by default it matches everything except new lines). Java...

  • Apr 23, 2011

    Adobe CQ5 Developer Training

    I just spent the past week in a developer training course for Adobe Communiqué 5.4 – a content management system on steroids. I thought I’d jot down some of my thoughts while they’re fresh in my mind.

  • Apr 11, 2011

    TestDisk a Nifty Utility for fixing drives with bad boot sectors

    Just ran into an interesting problem with an external hard drive that was being used as a time machine backup for laptop. Someone tried to connect this drive to their windows machine and it evidently screwed up the bo...

  • Apr 2, 2011

    Left vs Right by way of a “Lion” analogy

    Most political systems seek to work for the betterment of society. Most include a claim to a goal of protecting the weak.

  • Mar 30, 2011

    CentOS and old versions of PHP

    When you ask for someone to set you up with an install of the latest CentOS, you’re still going to be stuck with an old version of PHP (version 5.1.6) which is missing many, many useful features, and includes a few bu...

  • Mar 27, 2011

    Getting Serious about Data Redundancy

    Reluctantly, I have had to assume the role of “server guy” with my translation company. I generally prefer to focus on the creative side of web application development, but I’m not naive enough to think that server ba...

  • Mar 23, 2011

    Heritage Pianos Chinese and Korean Sites Live

    Thanks to the hard work of our team, we’ve completed the translation of Heritage Pianos’ website into both Chinese and Korean.

  • Mar 23, 2011

    Moved my blog to Dreamhost

    I just moved my blog over to dreamhost. Maybe I’ll give it a facelift to mark the occasion.

  • Mar 21, 2011

    Adventures with KeepAlive Slowing down PHP

    Disclaimer: To my regular readers (if there are any) this post is entirely technical in nature so if you’re not looking for the solution to this particular problem (e.g. from Google) you’re probably not interested in ...

  • Mar 12, 2011

    How I use the iPad

    It’s been close to a year since I purchased my iPad, so I thought I’d post a short piece reflecting upon how I have ended up using it.

  • Feb 16, 2011

    Why do you need an app for that?

    I have recently stopped using the Facebook and Mail apps for my iPad and iPhone in favour of the HTML equivalents offered through Safari. The reasons: Mobile-optimized web applications are now as good, or even better ...

  • Feb 10, 2011

    Donald Trump for Panderer of the United States

    I saw Donald Trump on Pierce Morgan last night where he declared his possible candidacy for President in 2012. Wow, does he ever have his finger on the pulse of the American people – at least those from the red states...

  • Jan 14, 2011

    .NET: The most unlikely savior of Desktop Java on the Mac

    When Microsoft first introduced the .NET platform and its flagship programming language C#, I, like many Java developers, looked at it and said “They’re just copying Java”. Why would I want to develop on the .NET plat...

  • Jan 8, 2011

    How to get a Java Application into the Mac App Store

    I just received a reply from Apple support confirming that there is nothing in their guidelines that prohibits apps that include an embedded Java virtual machine. Therefore, Apple’s regrettable decision to deprecate J...

  • Dec 28, 2010

    The Chrome App Store Swinging the Pendulum WAY open

    I’ve been very critical of Apple’s recent moves in deprecating java and excluding java-based applications from their new Mac App store. Their restrictive policies seem to be strong-arming developers into using their c...

  • Dec 20, 2010

    Apple to shut down its download section -> Why I’m not submitting to the App store

    I suspected this step was coming. Since Apple is making a push to get people into its new App Store for OS X, it is shutting down its download section. This is decidedly bad news and depending on how it affects the ma...

  • Oct 27, 2010

    Posthumously discovering JavaFX

    It turns out that JavaFX is actually kind of cool. Sun had been pushing it to no avail for over 2 years before Oracle finally pulled the plug (sort of .. they’re killing the language and porting it to Java), but they ...

  • Oct 22, 2010

    Apple’s assault on Java is an Assault Java Developers

    Yesterday, Apple announced that its next version of OS X, called “Lion”, will include an App store to simplify the process of downloading, purchasing, and updating applications on the Mac.

  • Sep 8, 2010

    wkhtmltopdf

    Just discovered this wonderful tool which uses Webkit for generating PDFs. Now generating a PDF from a Web app is just that much easier.

  • Aug 21, 2010

    Virtual tour of my apartment (FOR SALE)

    <noscript><a href=”http://www.classifiedflyerads.com/vt/widget.php?id=320808” target=”_blank”>Click Here To View Virtual Tour</a></noscript> Powered by: ClassifiedFlyerAds.com

  • Aug 10, 2010

    3g data plans in Canada. What they don’t want you to know.

    I have an iPhone with a pretty good data plan through Rogers (6 gigs/mo for $30). No complaints. I generally use under 100 megs per month. I recently bought an iPad but didn’t want to spring for the 3G version because...

  • Jun 21, 2010

    iPhone Web App Development: JQTouch vs Dashcode

  • May 29, 2010

    DRM/Apple to save the world from crap content

    The internet has no shortage of pundits complaining loudly about the iPad’s extensive use of DRM (digital rights management). They say that the device is “crippled” by DRM and that it is a giant step backward for the ...

  • May 28, 2010

    iPad: Initial impressions

    Just picked up an iPad today and am very impressed – not only by its potential for changing the world, but for its immediate utility. Here are just a few things that I notice after playing with it for 4 or 5 hours:

  • May 9, 2010

    You are not a Gadget

    I just finished reading “You are not a Gadget – A manifesto” by Jaron Lanier, and I do recommend it for anyone who is interested in the future of our society and how it will include technology. The real meat of this b...

  • Apr 30, 2010

    Apple no longer updating its Downoads section

    This article confirms my fears after noting that Apple hadn’t updated its downloads in over a month. The Apple Downloads section was my bread and butter for advertising new releases of my Mac software. Since apple dis...

  • Apr 13, 2010

    Mac, you’ve got a friend in Java. Now be nice.

    I have recently rediscovered the joy of programming in Java for desktop Applications. Mac OS X provides a perfect deployment system for Java applications since Java 1.6 comes standard, so you don’t have to worry about...

  • Feb 2, 2010

    Radical Views on Individual Rights and Freedoms

    I had a recent discussion with a friend who holds some radical views on certain topics. I address 3 specific claims that he made during our discussion.

  • Feb 1, 2010

    Open Source Business Models

    Looking at open source business models, it can be difficult to find something that looks viable. Here are a few models along with my assessment of their pros and cons.

  • Jan 27, 2010

    Why the iPad will succeed / Why I’m excited about it as a Software Developer

    To me (as a software developer), the most exciting thing about the iPad is the fact that it is integrated with the App Store. On the iPod and iPhone, the App store has proven to be a fantastic commercial success, open...

  • May 6, 2009

    BC Election – my local candidates

    I decided to take a look at the local candidates for my riding in the provincial election. Their websites are: (Harry Bloy – Liberal) (Jaynie Clark – NDP) (Helen Chang – Green)

  • May 5, 2009

    @fido.ca vs @pcs.rogers.com

    I was trying to set up server monitoring to send a text message to my cell phone when my server goes down. Since I’m on fido I first tried 0123456789@fido.ca (replace 0123456789 with my phone number), but found this t...

  • May 5, 2009

    Host-alert.com not working – trying monastic

    Host-alert.com didn’t seem to be sending out alerts, so I switched to montastic.com and it appears to be working fine.

  • May 5, 2009

    Host-alert.com

    Just set up server monitoring with host-alert.com to alert me when my server goes down..

  • Apr 20, 2009

    Why piracy must be stopped

    I wrote this in response to a number of “pro piracy” or “piracy rationalization” comments to a CNN article: http://scitech.blogs.cnn.com/2009/04/20/a-turning-point-for-online-piracy

  • Mar 5, 2009

    New Video for Web Lite Translation Service

    We just had a video created for Web Lite Translation service and the results are stunning. The video was produced by Go2Video Productions. I was absolutely amazed at both the speed and quality of their work. We gave t...

  • Mar 3, 2009

    New Free Tool for Embedding Publications List in Webpages

    I have just released a new tool for managing publications lists and embedding them in web pages. It manages publications in BibTeX format so it is especially useful for researchers already using bibtex to manage their...

  • Jan 30, 2009

    Translation Forums

    I have used my PHPBB Usenet Bridge to set up forums for website translation and internationalization.

  • Jan 30, 2009

    Automobile Usenet Forums

    I have used my PHPBB Usenet Bridge to set up an Automobile Forums Site that syndicates all of the main automobile forums on usenet.

  • Nov 29, 2008

    Yet another test post to see if this works

    This is only a test for translation.

  • Nov 29, 2008

    This is a test post to see if it works

    This is only a test. How does it work?

  • Nov 26, 2008

    Application Versioning & Synchronization with Xataface

    One of the more annoying challenges involved with managing production web applications is keeping the development and production versions in sync. Verson control systems such as Subversion and CVS make this task trivi...

  • Nov 25, 2008

    Replacing Scriptaculous/Prototype with jQuery

    I have used Scriptaculous in the past to sprinkle little bits of UI magic into Xataface. Specifically, I have used it to add collapsible sections, sortable sections (via drag-and-drop), and sortable tables (also via d...

  • Nov 12, 2008

    Hunter

    I have been watching Hunter Season 1 over the past few days. I had forgotten just how corny that show was. Good quality 80’s corn.

  • Nov 7, 2008

    Operation Aborted in IE:

    Found this great IE blog article explaining the cryptic “Operation Aborted Error” in IE. Click Here.

  • Oct 30, 2008

    Americans don’t even know what socialism is

    It’s not the Republicans calling Obama a socialist that has my blood boiling. It is the fact that they believe that this is serious accusation that, if proven true, would be damning of Obama. If Obama were a socialist...

  • Oct 21, 2008

    Indiana Jones Special Features Reveals where it went wrong

    I recently purchased the latest Indiana Jones DVD. As expected it contains a couple of documentaries about the making of the movie containing interviews with the cast and crew.

  • Oct 19, 2008

    Indiana Jones and the Saucer Men

    I just finished watching the special features for the latest Indiana Jones movie. Apparently George Lucas wanted to call the movie “Indiana Jones and the Saucer Men”

  • Oct 19, 2008

    Boxing is about drama

    I watched Rocky III for the first time in 1983. I was 4 years old. I watched Rocky III for the one hundredth time in 1983. I was 4 years old.

  • Oct 2, 2008

    Focus on the family spreading Republican Propaganda

    Focus on the Family distributes bulletins that are handed out in many Churches across Canada and the United States. It contains small pieces of wisdom on Christian and family living. I was quite angered to find that t...

  • Sep 24, 2008

    WordPress CAS plugin adventures

    I am building some SFU websites using WordPress and I need to set them up to use the SFU central authentication service (CAS). A quick search on Google found this plugin: cas-authentication

  • Sep 14, 2008

    Feed2JS: Incorporate News feeds into static HTML webpages

    My Recent goal. Minimize the amount of infrastructure in building a small website (i.e only use static HTML pages), and still incorporate dynamic content such as news and events in the web page.

  • Sep 13, 2008

    IE Annoyances

    There are hundreds of reasons not to use IE (Internet Explorer), but the common folk still seem to use it en masse, so I am forced to deal with its bugs when developing web pages.

  • Sep 12, 2008

    P3P: The answer to IE7 Iframe cookies problem

    Problem:

  • Aug 20, 2008

    Automatic Website Translation Service

    I have just revamped my translation website, shifting the focus to providing machine translations of web sites. The site will allow users to upload their websites as a ZIP file, and have them automatically converted i...

  • Aug 2, 2008

    Internet Media Manager

    I was tired of having to resize my images before uploading them to the web. I also wanted to be able to host more video on my website in a simple way. So I created an application to manage and serve all of my videos a...

  • Apr 23, 2008

    Americans a funny bunch when it comes to politics

    I have been following the American presidential campaigns of Hillary Clinton and Barack Obama with some interest, partly because I am interested to know what kind of a person will be in charge of our southern neighbou...

  • Mar 3, 2008

    Screenflow: Finally Screencasting done right

    For the past couple of years I have been dabbling in the art of screencasting. I think that providing video tutorials for my software can be much more helpful to my users than producing standard web page documentation...

  • Feb 25, 2008

    Blackboard wins patent infringement case

    This is yet another example of patents out of control. A company named Blackboard apparently “invented” the idea of allowing a single user to operate with different roles for different courses in an online learning sy...

  • Feb 25, 2008

    Moving backward harder than moving forward… when we’re talking about computers

    I recently bought a mac mini to serve as a central server, backup manager. It sports an Intel core duo 1.83 GHz processor which runs about 2.5 times faster than the 1.67 GHz G4 processor in my powerbook. Well, now I c...

  • Feb 24, 2008

    Patents getting ridiculous

    IBM is trying to patent the practice of giving customers free stuff while they wait: http://rss.slashdot.org/~r/Slashdot/slashdot/~3/240588926/article.pl

  • Feb 24, 2008

    Ankylosing spondylitis

    I have been living in pain for the past 5 years or so. Recently it has gotten so bad that I can’t sleep, sit, or watch TV without feeling like there is a vice tightening around my rib cage.

  • Feb 22, 2008

    Who needs a tower anymore?

    I have recently moved from a managed hosting service to a dedicated web server where I essentially have my own machine. This is nice because it gives me full root access to install whatever I like and the performance ...

  • Feb 21, 2008

    Anti abortion == Irrational Christian Conservative

    Last night we filmed yet another Steve Hannah show. This filming went a little different than usual in that we got on to the subject of abortion and decided to ride the debate out for a while. This was different becau...

  • Feb 9, 2008

    Patch and Diff

    This post is basically a note to self because I find myself having to do a google search every time I want to do some diffing and merging of file trees.

  • Feb 9, 2008

    ReCaptcha: The “human” folding project

    If you’ve used the internet even casually over the past few years you have probably experienced CAPTCHA already. From wikipedia:

  • Feb 8, 2008

    Excellent tutorial for OpenSSL

    http://www.vanemery.com/Linux/Apache/apache-SSL.html

  • Feb 7, 2008

    Using sed to convert PHP short open tags to proper tags

    In the good ol’ days of PHP is was quite accepted to just use <? to signify the start of PHP code. PHP installs by default would accept this short notation so you could safely distribute scripts that made use of it...

  • Feb 7, 2008

    Looping over a set of files in bash

    This is a nice example of how to loop over a bunch of files in a shell script: something that is extremely useful: http://www.tech-recipes.com/solaris_tips166.html.

  • Jan 31, 2008

    The Steve Hannah Show Episode 5

    This is the long awaited return of the Steve Hannah Show after a 3 month hiatus. I’m back in full force with two fresh faces joining the team. Enjoy!

  • Jan 20, 2008

    Roy Jones Jr: The twilight of greatness

    Hi had the pleasure to behold two boxing greats go toe to toe on Saturday night: Roy Jones Jr. and Felix (Tito) Trinidad. Jones, in his prime was arguably the greatest boxer of all-time, with a brilliantly unorthodox ...

  • Jan 8, 2008

    Amazon EC2 Error: Client.AuthFailure: AWS was not able to validate the provided access credentials

    This is just a quick note to help me (and others) in case I run into the same problem again. I was setting up Amazon EC2 following This tutorial. When it came time to test my instances: `

  • Dec 29, 2007

    PHP/MySQL Time zone design pattern

    Suppose you have a PHP/MySQL application that you want to adapt to work across multiple timezones. I.e. Users from Toronto should see all dates and times in Eastern time while Vancouver users should see times in Pacif...

  • Dec 24, 2007

    Canada trademark Law

    I found it interesting that Dataface Inc from Houston, TX decided to file a trademark for DATAFACE in Canada. I have been using the trade name Dataface since March 2005, in Canada. Their trademark application found he...

  • Dec 24, 2007

    Use of Dataface trademark

    Well I figured this might happen eventually. A company in Texas has taken exception to my use of the name ‘Dataface’ for my open source application framework. It must rot their socks that I also come up #1,2 and 3 on ...

  • Oct 27, 2007

    Giving PHPBB Another chance

    I have been using Plone for my Dataface web site for the past couple of years. Finally, the slow performance, resource heaviness, and lack of a decent forum product forced me to move the site out of Plone and into PHP...

  • Oct 17, 2007

    Plone: where our paths diverge

    So here it is. The time has come for my path and Plone’s to diverge. I’m sure we’ll meet again sometime in the future as she has too much potential to shun completely. She showed up at my door adorned with diamonds, s...

  • Oct 15, 2007

    Americans are NOT stupid

    This was just posted on my fun wall. I wonder how many people they had to interview to get this footage. It is solid gold!

  • Oct 10, 2007

    The Problem with Public Sector Unions

    Unions were originally created to protect workers from being exploited by unscrupulous employers and improve working conditions. They work by allowing the workers to withhold labour en masse if they feel that they are...

  • Oct 10, 2007

    Brother 440CN Exemplifies problems with Inkjet printers

    I have never been one to enjoy my printing experiences. I print as little as possible (preferring to use electronic documents) and when I do print I often run into problems. It doesn’t matter which operating system I’...

  • Oct 8, 2007

    Compare the Fuel Economy Ratings of Cars on Craigslist

    I was recently in the market for a new car, and I found myself constantly switching back and forth between Craigslist and fueleconomy.gov because I wasnted to see what the gas mileage was like on the cars that were fo...

  • Oct 6, 2007

    Unique RSS Feed for Digg and Reddit

    I discovered Digg and Reddit a few months ago and was immediately impressed by the quality and relevance of content contained therein. So I subscribed to their RSS feeds so that I could keep up to date with the latest...

  • Sep 28, 2007

    James Blunt All the Lost Souls

    I picked up the latest James Blunt CD last night at HMV. His first album took me by surprise and held the top spot in my collection for a while. There is no jinx for this sophomore as his second album is just as movin...

  • Sep 24, 2007

    Mahmoud Ahmadinejad vs The United States

    As a child I watched my fair share of historical movies that documented man-kind’s inability to get along, its recurring tendency towards mob mentality, and its succession of powerful ignoramuses. I used to watch thes...

  • Sep 22, 2007

    The Steve Hannah Show Episode 4

    I may have crossed some lines in this one… so bring on the hate mail.

  • Sep 17, 2007

    The Steve Hannah Show Episode 3

    In this episode I discuss reality TV shows, and vigilante justice.

  • Sep 10, 2007

    The Steve Hannah Show Episode 2

    Here is installment number 2 of the Steve Hannah show. Topics include Dog fighting alternatives, politically correct musical terms, and some controversial web sites.

  • Sep 8, 2007

    Digg and Reddit

    I have finally decided to add some Digg and Reddit links to my site next to each article. If you like any of the articles, please feel free to Digg them or up the Reddit score on them so that others might find out abo...

  • Sep 3, 2007

    Why are so many nerds libertarians (according to Slashdot)

    I recently came across a this post on slashdot entitled “Why are so many nerds libertarians?”. There are a number of comments on this article, some more interesting than others. Here are some of my thoughts.

  • Sep 2, 2007

    The Steve Hannah Show Episode 1

    I decided that it would be easy and kind of interesting to try to record my own little talk show. So I went out and bought a 2nd digicam, some lights, and a pair of tripods – reinstalled Final Cut Pro, and went straig...

  • Aug 29, 2007

    Clickable URLs with javascript

    A client wants all email addresses and urls to be clickable in an application. I would like to develop a javascript solution for this.

  • Aug 29, 2007

    Software Patents Must Stop

    Here is another riduculous law-suit over a patent that should never have been granted.

  • Aug 22, 2007

    American mainstream media spreading fear about Canada’s immigration policies

    I was listening to the Glenn Beck show on CNN XM radio, August 21st. He and his guest (MICHAEL SCHEUER, FORMER SENIOR CIA OPERATIVE) were discussing the SPP (security and prosperity) meeting between the U.S., Canada, ...

  • Jul 4, 2007

    Insulating the ZODB from bad products

    The ZODB (Zope Object Database) is a wonderful little invention that provides Zope and Plone with a lot of flexibility. Because it is uses a heirarchical format, it is intuitive and easy to move and copy objects around.

  • Jun 24, 2007

    Logic and the Word of God

    How do we use logic in reading scripture? A simplistic view might be that we should not rely on logic to understand scripture. Instead we should accept scripture at face value and submit to it. On a verse-by-verse bas...

  • May 23, 2007

    Why I am finished with Plone

    I have a client that I set up on Plone about 9 months ago. It was a substantial amount of work moving them over to Plone, what with having to make a skin and copy all of the pages into Plone pages. It was all towards ...

  • May 17, 2007

    Google top paying search word hoax

    Ran across this article talking about some of the recent sites that claimed to know the top paying search words on Google. In this article, the author claims that these figures are a hoax – which makes sense because t...

  • May 4, 2007

    PHP: call_user_func no good if you need to pass by reference

    In PHP the call_user_func function is used to call a function whose name you won’t know until runtime. In Dataface I need to do this sort of thing quite a bit because the developers are allowed to implement methods in...

  • Apr 25, 2007

    Yahoo User Interface Toolkit

    Great Javascript tools for web sites. And they’re BSD open source.

  • Apr 13, 2007

    Open Office Base for Taxes!

    With only 15 odd days left before taxes are due, I think I’ll try something a little risky in the spirit of learning. I will be creating a database using Open Office Base to manage my books. With my business, things j...

  • Apr 13, 2007

    In Design XML Importing: The best thing since sliced bread

    Came across this little article that explains how you can import XML into an InDesign document to produce business cards from a database. Shazzam!

  • Apr 13, 2007

    SnapZ Pro X as close to Mac Spyware as you can get

    A while back I installed a program called SnapZ Pro X – an application for OS X that allows you to do better screenshots than the built-in OS X ones – you can do movies and stuff too.. Worked OK, but the movies didn’t...

  • Apr 13, 2007

    Committers the biggest winners in open source projects

    http://www.riehle.org/computer-science/research/2007/computer-2007-article.html

  • Apr 12, 2007

    OpenOffice Base Links

    Open Office Base Message Forum

  • Apr 12, 2007

    Good open office base tutorials

    http://sheepdogguides.com/fdb/fdb1main.htm

  • Apr 12, 2007

    Dataface to Open Office: You complete me

    I just ran across the latest release of Open Office.org (version 2.2.) which includes the holy grail of database development: Base. This version contains a built-in database that moves into the realm of filemaker for ...

  • Feb 17, 2007

    SSHFS

    If you’re a web or software developer, chances are you’ve been frustrated before by the inconvenience of having to SSH into the remote server all the time to work on files. You can’t use the cozy development environme...

  • Jan 30, 2007

    Body language says Wow!

    From http://www.nytimes.com/imagepages/2007/01/30/business/30softCA02ready.html

  • Jan 23, 2007

    CAS4PAS Mission – The further adventures of Plone 2.5

    Okay.. I’m still at this Plone 2.5 upgrade thing. The early reports saying that the upgrade from Plone 2.1 to 2.5 is a snap are indeed correct. Unless you are using CAS for authentication.

  • Jan 10, 2007

    Plone 2.5 migration Chronicles

    Okay.. the time has come for us to migrate from Plone 2.1 to Plone 2.5 on the Faculty web site. The word is that this migration should be much easier than the migration was from 2.0 to 2.1.. so here is a little log of...

  • Jan 9, 2007

    The birth of a thespian

    I had my first acting class in FPA 150 on Monday. I think this is going to be a blast. What a change from my usual math and computer courses. Less lectures, more participation, and fun. It will still be a lot of work ...

  • Jan 5, 2007

    ikea is great!

    Just bought a new kitchen table from ikea today – opened the box, read the instructions, screwed a few screws, nailed a few nails – and voila! The table is set up and ready to go.. Either ikea has brilliantly dumbed d...

  • Jan 4, 2007

    dhtmlXGrid, open source but painfully restricted

    I have been attempting to incorporate dhtmlxGrid into Dataface to spice up the editing of related data on web forms. Since Dataface is open source under GPL, any library that I choose to include must also be open sour...

  • Dec 19, 2006

    Moving into new apt

    This week I’m taking care of all the final steps before taking posession of my apartment. Today I’m meeting with my mortgage guy to go over details and make sure everything is in order. On the 28th I take posession. C...

  • Dec 18, 2006

    Using emotional turmoil in song

    It turns out that when you are going through emotional pain and turmoil, you are most capable of producing good music.

  • Dec 18, 2006

    Back from Cleveland

    I have returned from my Cleveland trip. Nice to be back in Vancouver agaiin. A little bit wetter, but also a little bit quieter and more familiar.

  • Dec 17, 2006

    Sitting at the Chicago Airport

    I sit here at the Chicago air port on a 3-hour stay while I make my way home from Cleveland. All I can say is Chicago is massive. Flying in, the landscape was covered with lights as far as the eye can see. I shall hav...

  • Dec 17, 2006

    First Class Seats on Planes

    I find the first class seats on smaller air planes (e.g. 737s) kind of funny. When you enter the air plane you see 2 or 3 rows of seats that are in a 2 seats per side per row formation (vs. the 3 seats per side per ro...

  • Dec 16, 2006

    In Cleveland

    I’m in Cleveland Ohio this weekend doing some training for a company here on Dataface. This is my first time east of Manitoba and it is quite an interesting experience. My work schedule hasn’t allowed me to really see...

  • Dec 16, 2006

    Celebrity look alikes

  • Dec 12, 2006

    De la Hoya vs Mayweather – here we go

    Oscar De la Hoya will be fighting Floyd Mayweather Jr. for the 154 lbs title on May 5, 2007.

  • Dec 7, 2006

    What I love about my fiancée

    I have the world’s best fiancée. You may think that this statement is as pointless as “the world’s best coffee”, but in this case it is the literal truth.

  • Oct 19, 2006

    Canadian Sketch Comedy

    My friend Mike is part of a hilarious sketch comedy group called Classholes. This is a video of them doing some comedy at a competition in L.A. this past April.

  • Oct 19, 2006

    RSS Replacing Mailing Lists

    I have recently discovered the joy of RSS subscriptions first hand. Before RSS, the only way to stay informed of the news and events that interested me was to subscribe to the appropriate mailing list. This resulted i...

  • Oct 18, 2006

    DHTMLXGrid Part I

    After much deliberation, I have decided to use dhtmlXGrid to develop a portal widget for Dataface. This will improve the usability of Dataface for complex data sources dramatically. Among other reasons, I have chosen ...

  • Oct 16, 2006

    Suing Spammers for Fraud

    I have recently become more annoyed with spammers and their deceptive tactics. Especially since I have launched some web sites recently that leaves me open to receive more spam. I found this interesting article that g...

  • Sep 7, 2006

    Web Lite Translate

    My company, Web Lite Solutions, has launched a new web site translation service to translate data-driven websites into multiple languages.

  • Sep 4, 2006

    Wikipedia to Aid in translations

    We all know that Wikipedia is a great tool for learning more about various topics. I just discovered another great use for it: aiding in website translations.

  • Aug 22, 2006

    Hallelujah

    I just ran across a powerfully moving song recorded by Jeff Buckley in 1994. Apparently this song has been used in many movies, including Shrek and Lord of War. I don’t know how I managed to miss it before.

  • Aug 15, 2006

    Camping on the island

    I’ll be camping for the next few days on Vancouver Island with some friends. We don’t know exactly where we will be going. We’re just going to drive until we find a good spot. Then we will set up camp and relax.

  • Aug 15, 2006

    Source Guardian

    This is a follow-up on my experimentation with PHP compilers. After trying Bcompiler and choosing not to use Zend Guard, I tried out Source Guardian. It will compile PHP into byte codes for either PHP 4 or PHP5 using ...

  • Aug 14, 2006

    Adventures with PHP Compilers

    I am in a situation where I need to protect some intellectual property in a PHP script. The recommended solution is to use a code obfuscator (or compiler) to encode the script. Currently the landscape leaves much to b...

  • Aug 8, 2006

    IFTPd

    Ran across IFTPd (http://iftpd.sourceforge.net/)today and installed it on my westhost server. This is great because I can run it on my virtual private server and create accounts for multiple users giving them access t...

  • Aug 2, 2006

    Back down to earth

    After our amazing victory against the decepticons we succombed to the lesser (yet still more talented than us) District 5. Our 12 minutes in penalties didn’t help. As a forward I didn’t get to play very much because w...

  • Jul 31, 2006

    We won!!

    I have been playing as a spare for a roller hockey team in the VIHL (Vancouver Inline Hockey League – http://www.vihl.net). Our team has great spirit and it it a positive environment. That said, we finished 7th out of...

  • Jul 5, 2006

    Canada Day Long Weekend Camping

    Went camping over the weekend with Joshua fellowship at Golden Ears park. It was a lot of fun and quite relaxing. We ate like kings (thanks to Grace and Dennis), and we explored the local terrain when we were tired of...

  • Jul 5, 2006

    Nabble.com – Cool Site

    Found this great site for reading mailing list archives. Provides an excellent search to search multiple lists at a time by category. Good heirarchical view. It’s called Nabble.com

  • Jun 23, 2006

    The Heart of the Game

    Saw a pretty good documentary on Wednesday called “The Heart of the Game”. It followed Seattle’s Roosevelt highschool’s girls basketball team through 4 or 5 seasons capturing the drama and hardships that go along with...

  • Jun 23, 2006

    Beverly’s driving!

    It took a 5:45am lap around Swanguard stadium to get her into the driver’s seat of a car, but now that she has driven around town a little bit, there’s nothing holding her down. She went to Pitt Meadows last night for...

  • Jun 23, 2006

    Roller Hockey

    I have registered as a spare for my friend’s roller hockey team for this summer. We play in the “Brass” league so it’s not “break-neck” competitive, but it is really nice to get out there and play some hockey again – ...

  • Jun 23, 2006

    Dataface 0.6 almost there

    OK.. enough talk, already. I have been using Dataface 0.6 for a couple of months now on development sites (e.g. Science.ca) and now it is time to put my nose to the grindstone and document it so that others can figure...

  • Jun 23, 2006

    Plone Pull Down Menu Add-on

    I have created a simple product for Plone that allows a site administrator to have pull-down menus in his portal tabs (the navigation tabs at the top of the plone site). It has been released LGPL on plone.org: http://...

  • May 30, 2006

    SQL Parser Subselects

    I have decided to rework my local version of the PEAR SQL parser to overcome some limitations. The main features that I will be adding include:

  • May 29, 2006

    PHP WebDAV Library

    I woke up at 3am Saturday Morning as a result of an epiphany. I recalled that PEAR has a WebDAV library that will allow me to make any heirarchical structure accessible via webdav. I downloaded the library and played ...

  • May 25, 2006

    SSH Tunnelling

    SSH Tunnelling has been around forever, but I have finally started using it – and WOW! SSH Tunnelling is useful when you need to edit content on another machine, but you don’t have direct network access to it. It can ...

  • Apr 28, 2006

    King Kong

    Watched the new King Kong movie last night. It was actually pretty good. My only complaint was that it seemed a little long. It definitely succeeded at being a heart-wrenching tragedy, though. Excellent sound too.

  • Apr 28, 2006

    Dataface 0.6

    Since the end of school I have been working feverishly to finish my next release of Dataface. Version 0.6 will offer some nice internationalization features in addition to improved templating and action support.

  • Apr 28, 2006

    Taking the Summer Off

    I have decided, after much thought, to take a break from school for the summer. I have one class remaining to graduate and was leaning towards Introduction to marketing. My decision was based on the fact that I haven’...

  • Apr 13, 2006

    Over 1000 downloads of Dataface in March

    March was the first full month that Dataface was available. It was downloaded over 1000 times, and the website have received quite a number of hits also. Hopefully these numbers will continue to grow.

  • Apr 13, 2006

    Internationalization and Multilingualization

    I am up to my knees in the entrails of Dataface as I attempt to take it to the next level. I am currently working on the 0.6 release and hope that it will be available for download in early May. The big bit that I’m w...

  • Apr 13, 2006

    SFU Article

    Barry Shell wrote an article about me and Dataface for the FAS newsletter and it showed up on the SFU homepage (http://www.sfu.ca) as one of the stories on random rotation. That was really cool. It seems like everyone...

  • Mar 22, 2006

    Plone 2.0.5 to 2.1 Migration

    OK, so the time has come to upgrade a few Plone 2.0.5 sites to Plone 2.1. I am currently working on 3 sites:

  • Mar 11, 2006

    Dataface 0.5.2 released

    I have added a Javascript calendar widget to Dataface for editing DATE and DATETIME fields. I have also fixed some issues involved with running Dataface on a shared host in safe mode. These changes are part of version...

  • Feb 3, 2006

    mod_write trick to convert http to https

    Found this tip on an IBM website. If you want to convert all http requests to https requests (useful for secure-ish sites), use the following snippet in your .htaccess file:

  • Feb 3, 2006

    mod_write trick to convert http to https

    Found this tip on an IBM website. If you want to convert all http requests to https requests (useful for secure-ish sites), use the following snippet in your .htaccess file:

  • Feb 1, 2006

    To Plone or not to Plone?

    Simple Answer: Don’t go there.

  • Jan 30, 2006

    Archetypes 1.3.3 required for ArchGenXML 1.3+

    1.3.0 is not sufficient. Generated content-types require Products.Archetypes.atapi which is not included in Archetypes 1.3.3.

  • Jan 30, 2006

    Wash my hands of Plone

    This is a notice to any who will listen. I have given Plone ample opportunity to woo me. It is almost there but it suffers from over complexity with version compatibility.

  • Jan 23, 2006

    PDF Version of ArchGenXML Getting Started Tutorial

    Found this great PDF version for the ArchGenXML tutorial. ArchGenXML is the best way to do Plone Development

  • Jan 19, 2006

    Smarty Layered Skinning

    The default install of smarty is great but simple. I wanted to be able to have multiple template directories so that Smarty would search all of the directories for the requested template, choosing the first one found ...

  • Jan 19, 2006

    Jakarta Commons FTP Client Deadlock problems

    I have been experimenting with Java FTP components in my effort to create a JFileChooser component that will work over FTP. Common concensus seems to be that the best FTP component is the Jakarta Commons FTPClient cla...

  • Jan 17, 2006

    Hessian Web Services

    I just ran across a great little library for web services, called Hessian. It is a binary web service (ie not xml) so its messages are much more compact and easier to transfer. In addition, the client and server libra...

  • Jan 17, 2006

    Sample Dataface application

    I have posted a sample dataface application here. It is just part of an application I am building for the Imaginative Education Research Group at Simon Fraser University to manage lesson plans.

  • Jan 17, 2006

    Extracting Tar files in php in safe mode with no shell access

    I have just about had it with web servers that give no shell access and operate in safe mode. I wanted to install Dataface on my webspace here at sjhannah.com. The full installation is about 2.6 megs as a compressed t...

  • Jan 10, 2006

    Dataface Code Tip #1: Relationships the easy way

    This is just a sample of how to deal with related records using the dataface library.

  • Jan 9, 2006

    Code Tip #1: PEAR SQL Parser

    In developing Dataface, I have had to use a number of existing libraries to make my life easier. One such library is the SQL Parser library in PEAR. This class will parse an SQL query into a data structure that can be...

  • Jan 4, 2006

    Dataface Coming Along

    Dataface is coming along slowing but surely. It is still only publicly available via sourceforge CVS but it is growing in features. I played around with soap a little over the holidays and have begun to build a Web se...

  • Jan 4, 2006

    Happy New Year

    OK.. so I haven’t been keeping up with my blog posts. Here’s one for the new year 2006. I spent boxing day through January 1st in Calgary with my girlfriend’s family. It was nice and relaxing. Didn’t really even notic...

  • Dec 2, 2005

    ClassHoles : Top quality comedy

    I went to a fundraiser last night for a local comedy troup called Classholes. A good friend of mine, Mike Berdan, is part of this troup so I may be a little biased in my opinions of the troup. All I can say is that if...

  • Dec 2, 2005

    Dataface on Sourceforge

    I have started up a Sourceforge project for Dataface. There are no releases yet, but the CVS is up-to-date. Check it out at http://www.sourceforge.net/projects/dataface/.

  • Dec 2, 2005

    Aeon Flux

    Just went to see Aeon Flux tonight. Thanks to Beverly’s Auntie Nona for the tickets. Aeon Flux, starring Charlize Theron was an exciting (but somewhat typical) science fiction film set 400 years in the future after ma...

  • Nov 16, 2005

    PHP User Management

    Tonight I am working on adding a flexible permissions system to my PHP application ‘Dataface’. I have a predisposition towards using PEAR classes where I can so naturally I decided to try LiveUser. Unfortunately the d...

  • Nov 14, 2005

    He-Man DVD Released

    I purchased the newly released He-man DVD last week. It has 33 episodes from season 1 (1983). A total of 65 eps were made for each season so there will be more box sets to come. In addition to the episodes, there is a...

  • Nov 14, 2005

    Beverly’s frictiony sounding triplet of crek crek crek

    On a sad, note, my beautiful girlfriend Beverly fell headlong into a grand piano and cracked her nose. Fortunately her nose is very maleable and no permanent damage was done.

  • Nov 14, 2005

    Collossians Bible Study

    I led a bible study on Collossians this past sunday. I prepared a short introduction to the book, that can be seen here.

  • Nov 14, 2005

    Working as Web Services Developer

    I have been working as the Web Services Developer in the Faculty of Applied Sciences at Simon Fraser University for the past several months. It has been an awsome experience so far as it has given me the opportunity t...

  • Nov 14, 2005

    New Blog Installed

    I have decided to keep a respectable website after years of allowing mothballs to build up. Previous attempts at blogs (on Xanga, using PHPNuke, and using static HTML files) were all doomed to neglect. I have chosen t...