All posts by shannah

Steve Hannah is a 28-year-old software developer currently studying and working at Simon Fraser University in beautiful Vancouver British Columbia. He specializes in web information systems and prefers Java, PHP, and Python as programming languages. He is a Christian and worships at Christ Church of China in Vancouver.

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 – after about a 2 year lay-off.  I played my first game a few weeks ago.  It felt good for the first few minutes, but then my poor shape kicked in.  Looks like I’m going to have to pick up the exercise a little if I hope to make a difference out there.

My next game is on Saturday. 

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 out the new features.  I have started a few tutorials but there is a lot of work to do as this version adds mounds of features over the previous one.  New (complete) features include:

  • Improved templating/customization support
  • Addition of an Application delegate class.
  • Fine-grained pluggable permissions framework
  • Modular, extendable actions framework (user can now define custom actions).
  • Integrated authentication support.
  • Multilingual support.
  • More widgets
  • New look and feel for improved usability.
  • more … to many little things to list here…
  • !! More customizable !! 

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:

  • Proper handling of sub-selects
  • Maintaining order of fields when some fields are actually function calls

In order to do this I have had to add a ‘columns’ array and a ‘tables’ array that hold information about all columns and tables respectively whether they are simple identifiers or not.  That means that some information is duplicated in these arrays (from the column_names and column_aliases, etc.. arrays). 

When this conversion is complete, it will pave the way for surrogate views in Dataface. 

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 around with it a bit and found it to work beautifully.  Using webdav, Mac OSX or MS Windows can connect to the script as if it were a network file system and open files directly in the Finder (in Mac OS X’s case). 

 So, I got to thinking…  Using WebDAV and Dataface, it would be possible to build a CMS with MySQL that is completely accessible via webDAV.  In other words, the content could be stored in a database, but editors could access it via webDAV to edit the content in their favorite programs like Word, Dreamweaver, etc…   I slapped away at the keyboard all morning, and finally stopped when I decided that I needed to first complete support for surrogate views in Dataface before I could complete this elegant CMS.  

 

This CMS is hot on my fingertips though, so it will be coming soon. 

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 be used when you are in a situation where you have to first SSH into one machine and then SSH from there into your destination machine.  Some examples later.

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.

Interesting seeing Jack Black in a "villain" role.  He is such a likeable guy that the self-serving movie-maker was still likeable at the end – after all the dust had settled on the corpse of the kong. 

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.

One major deficiency , however, was recently pointed out by a Dataface user:  Dataface currently doesn’t support relationships to one-self.  This sort of relationship will be crucial for any future development of a CMS based on Dataface.  It will be a delicate ordeal adding this support as I will have to rewrite much of the relationship code – but I think I’m up to the challenge.  Thank God for the good ol’ SQL Parser.  With that little tool, anything is possible.

 

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’t taken a break from School since 2003 and am feeling a little bit exhausted.  I think that a summer away from studies will help recharge my batteries and allow me to return for the right reasons.  As it stands, if I were to take a course in the summer, I would be counting down the days before the end of the semester.  If I wait, on the other hand, I may find some new motivation and even take more than one course.  Who knows?