2009 Resolutions

January 6th, 2009

Talking to one of my friends yesterday he asked me what my goals for 2009 were. I did a quick search here and found that I wrote some New Year’s resolutions in 2006. This year’s resolutions:

  1. Get my masters. This is pretty straightfoward. Study, do my assignments, pass my exams.
  2. Sort out my finances. This doesn’t mean save a million bucks, just end the year with some savings and hopefully a source of income.
  3. Side projects. My only side project at the moment is my food and wine blog but I’ve got a couple of other little bits and pieces I want to build. This however needs to take a second place to uni. I’m also going to cook more and try and buy some more bottles of wine.

A couple of more short term things that I want to and am going to do.

  1. Play some volleyball
  2. Play some netball
  3. 1 + 2 = Lose some weight

Increase Sociability changes

October 25th, 2008

I’ve just downloaded the Wordpress Increase Sociability plugin, and it didn’t do quite exactly what I wanted it to. So I changed it a bit, I just added links into the text it includes at the top, and removed the inline styles and replaced them with a class.

There are a few other changes it could do with, such as being able to add more than just StumbleUpon, Digg and one other site. Anyway, I’m linking to the modified source file and if there is interest I may clean up the plugin somewhat.


Jabbot: A personal microblogging system

August 10th, 2008

There has been much talk on a variety of blogs demanding a replacement for Twitter. Now having only used Twitter in a very limited and conceited testing way I’m not qualified to speak about all of the features and what the can’t live without features of it are.

I’ve been working on more of a friends-only level of microblogging solution. It operates by monitoring people’s Jabber status and logging them to a viewable webpage, these status lists are then followable with RSS. This project is called Jabbot and there is a test bot currently running, just add test@wakeless.net to your Jabber IM list and then check the webpage at http://dev.wakeless.net/jabbot/ Any status updates you make will show up there. There is also RSS feeds on a per-user basis.

Now this doesn’t seem like anything overly special, just a way of logging people’s status. However this get’s interesting when you log the bot in as yourself, all those people that you already chat with can now update their status and have them sent through to your follow page.

There is obviously a few problems with this as a replacement for Twitter, running a script/bot on your machine isn’t really as turnkey as just adding your account to twitter, however the infrastructure is already in place, every Google Talk user and possibly in the future every Facebook chat user (assuming they become federated which I’m not actually convinced about) will all be “followable”.

This has been banged together while I’ve been learning Python so it might not be the prettiest code. The source code is available, it’s released under GPL. Jabbot-0.1


YUI Modal Dialog

August 7th, 2008

At Xebidy we’ve written and released a javascript modal dialog library that wraps Control.Modal. That’s been a huge help in a couple of websites we’ve done, it’s one of those point and shoot sort of things. It handles the Ajax submission of the forms and work just as it’s supposed to. But recently we’ve been working with the YUI library and have found that they’ve got an implementation of a dialog which basically works the same way. Anyway, it works a treat as well so if you are in the hunt for something like that, check it out.


Ecosystems in Software: The Pencil Project and Winamp

July 30th, 2008

Lately at work I’ve been writing specifications for our client projects, so when I saw the Pencil Project I was quite excited. What could be better for doing what I’m already doing than a Visio-like program built on Firefox. After installing it, I realised that this project had a heap of potential but was limited by it’s default stencil set. I’m certainly not the only person with the same problem. This problem seems to have been sorted out with the intention that users develop their own stencils. Great.

But not actually so great, the problem is that it is nigh on impossible to find any downloadable stencils. Now I’m not suggesting that they don’t exist just that any search on Google for pencil project stencil gives me a whole heap of people talking about how cool it is, and not actually providing me with any stencils. (Yes I know this is a conceited example but nevertheless searching for anything related doesn’t provide me with any third party stencils) I’ve got a simple solution, take a leaf out of Winamp’s book.

Winamp had amazing forums (probably still does) while they were developing Winamp 3 (which didn’t last long, it was quickly replaced with Winamp 5). These forums had a thriving community of theme and plug-in authors all working on the project, even before it was ever released. Obviously the Pioneers of the Inevitable (some of whom started Winamp) have got a good handle on this community building cause there’s a good . It is what Dave Winer would call a corral reef - a place for ecosystems to grow.

Anyway, after all that rambling all I want is a forum on the Pencil Project website, a place where I can find new stencils without people trying to sell me actual pencils and actual stencils.


Google Analytics: Feature request

July 20th, 2008

I’ve been working with Google Analytics a fair bit recently, setting up goals and investigating the use of the Events API on a few sites. There isn’t much about Analytics I don’t like, it works as expected and has features you didn’t even know you wanted. I have 2 things I would love to see implemented, first of all, testing of goals. Currently the recommended way of testing if your goal is configured correctly is by using the Top Content report. This works fine, by it is pretty annoying you can’t test this right there on the configure goals page.

Second, I would love to see functionality wherein you could set milestones on the timeline of Google Analytics. This could mark when a new feature was implemented or when a style change was made, this would really let you visualise changes in browsing behaviour and how they relate to site modifications. In my work’s case, we would also be able to show clients really well the results of optimisations we have made. The display should work in a really similar manner as the news articles on Google Finance.


My Aching Head

July 19th, 2008

I’ve long had the idea in my head to write a book about drinking, eating and waking up with a hangover, and not to mention trying to cure it. I can’t actually see that happening in the next 12-200 months so I’ve decided to start writing a blog. If it so happens that I do end up writing the aformentioned book (it might be a good chance to put a longbet in) I will probably just source the content from the blog. So anyway, the whole plan is to write up cocktails and drinks, share food recipes, maybe review pubs and if I’m really keen interview bar tenders and what ever else I come with.

The site is My Aching Head, I designed it myself which in and of itself is amazing (as far as I’m concerned) cause I think it doesn’t look too bad. Anyway, please subscribe/keep up with the site, I think you’ll enjoy it.


My Computer Setup

June 27th, 2008

I get a few questions from people asking why I use Windows Vista and not Ubuntu - I’m pretty confident using Linux and I my desktop (that I’m not using) is set up with Ubuntu. It’s a matter of personal preference, but one of the biggest reasons is it’s tablet support. I haven’t even tried using Ubuntu on this machine as I have no desire - I really think the tablet support works really well. What’s more is I really like Office 2007, the new interface takes a lot of getting used to but it does provide the interface that you need when you need it. Anyway I thought I would outline the other stuff I have installed on my machine, in roundabout order of time I spend using them.

  1. Firefox 3
    1. Firebug 1.2
    2. Prism (This is how I access GMail and Google Reader)
    3. FirePHP
  2. Eclipse
    1. PHP Development Tools
    2. Subversive
    3. JSEclipse
    4. PYDev
    5. SQL Explorer (I’ve just installed this to work on some fairly complex SQL stuff)
  3. Putty
  4. Pidgin
  5. WAMP Server
  6. Songbird (I’ve recently replaced iTunes with Songbird)
  7. Filezilla
  8. Notepad 2 (I’m seriously considering replacing this with OpenKomodo)
  9. Office 2007 (with OneNote)
  10. Firefox 2
    1. Firebug 1.0
  11. Tortoise SVN
  12. Skype

There’s a couple of important things to note about this setup, I would love to be rid of Firefox 2, Firefox 3 is so much better, however Firebug 1.2 beta really doesn’t cut it. It is certainly a lot better than it was, but I’m really hanging out for it to get a bit more stable. I think it causes a few memory leaks as well which doesn’t really help, especially when you are using Firefox all day with 20-30 tabs open.

JSEclipse is the best free/open source Javascript plugin for Eclipse. It was bought by Adobe quite some time ago and used to power the Flex development environent then they seem to have dropped development on it, it’s a little bit sad really.

I really hate the fact that I have Skype even installed on my machine, but as many people that are using Jabber/Google Talk it doesn’t even compare to the amount using Skype. I could probably get away with using Pidgin all the time, but it doesn’t support voice. It certainly looks to me as though voice support is coming, hopefully soon than later. My biggest problem with Skype is the overly closed nature of the protocol, 3rd party implementations can’t even connect to the IM service.


Meta Post: or how I describe how I didn’t post last month

June 26th, 2008

Well it is almost July and I’ve been meaning to write this post since the beginning of the month but haven’t gotten around to it, which is exactly the problem that this post is about. It is one of those self-perpetuating problems, you don’t have enough time to post about how you don’t have enough time to post. Then cause you haven’t posted about how you haven’t posted, you want to write a post about how you haven’t haven’t posted. Onward and beyond.

Anyway, the fact that I haven’t posted really isn’t worth a post in itself, however I was browsing the archives here the other day and noticed that they went back to September 2004. Not only did this make me think I should dedicate a post or a page on this website talking about how I’ve actually written some good stuff on this blog, not just posted about random technical facts and rambled about completely useless observations.  I suppose this post could actually list some of the writing that I’m actually willing to point people to. I digress, browsing the archives I noticed that I have not missed a post for a month since… well, the inception of this blog. Well that is until last month. May 2008 will forever go down in the annuls of history as May 2008.  It’s a far cry from me stating I wanted to post once a day for a week (which I failed, but I did actually write some interesting posts).

I suppose I don’t really have any excuses (and the only person I have to excuse myself to is myself, and sometimes Jameses) except that I was ridiculously busy at work and the last thing I wanted to do after work was look at a computer. So this silent period wasn’t for naught, because the end result was www.ozexperience.com a pretty cool website that we put live and I’m really proud of. Sure it still needs some work but as far as I can remember it is not only the biggest project I’ve worked on but also the coolest.

The question is, if you post about not posting, have you actually posted?


Silverstripe: as a platform

June 10th, 2008

At Xebidy we use Silverstripe almost exclusively as a platform to build upon. Not just Bootstrap (our custom extensions) but also the Sapphire framework to build the more advanced parts of the website we build. The Sapphire framework is at the most basic level an MVC framework for PHP5 with a number of additions to service the Silverstripe CMS. I’m writing here a breakdown of what I see as strengths and weaknesses of the platform. Before you read on please take these 2 points into consideration, I really do like working with it and I have a lot of time invested into the platform and this is my opinion and not that of my employer.

I would love to hear everyone’s opinion on this so drop me an email or leave a comment.

  1. Abstraction of layers

    Over the past few releases there has been talk on the Silverstripe forums, their trac and the mailing list of trying to move the CMS code away from the core of the MVC framework so normal non-CMS based applications don’t need to rely on it. While it is a little frustrating currently over the past couple of releases this has progressively gotten better and I believe that this can be achieved in the near future. The specific example of this is ContentController which I would suggest should be refactored out into a SiteTree_Controller and ContentController.

  2. Extensions/Decorators

    This is probably what I love the most about this platform and I think the guys over at Silverstripe should be applauded for this. They have built an awesome framework wherein each Class can be extended quite simply. The beauty of this is in it’s simplicity for the developer and it really allows for extensible applications to be built. It definitely has a few bugs in it which can be quite tricky to track down but generally it behaves exactly how you expect it to. My biggest suggestion for Silverstripe is to push this as a strength of the platform because it really is very cool and extremely functional.

  3. Template Engine

    Most people that are new to the the platform are opposed to Silverstripe having it’s own templating system. It definitely has it’s pros and cons. Firstly it is not a fully blown parser, relying on a number of regexes to parse it’s syntax. I run into this problem quite regularly and end up nesting control blocks or creating methods on objects that in my opinion should be handled in the presentation layer. The second problem I have with it is it’s lack of a context stack - this means you can’t access something in the previous nested control block or even access a variable (not really variables) in the “global” context.

    Don’t get me wrong, it’s not all bad and I don’t believe that there is anything in this that can’t be fixed (I started writing a new parser for it quite some time ago). On the flip-side the way the templating engine matches the Model of the application is a really elegant solution and I don’t believe the template engine should be removed. A cool but definitely complex improvement for this would be to make it more pluggable and allow extensions to expand the language.

  4. Documentation

    Generally the documentation on the project is very good. I think it could be improved with some more articles about the lower levels of the framework and have them highlighted on the blog rather than the rather boring marketing that is currently posted on it. Similarly the PHPDoc documentation on the framework is generally awesome and really helps with the code completion within Eclipse but this can definitely be taken from good to excellent by having protected and public variables types being documented. (As an aside I would love a way to document all the magic variables that are created by Framworks such as this.)

  5. Communication

    The Silverstripe project is coming from a different position than many open source projects in that it was released as open source and that company continues to drive the majority of the development. This is great and I definitely appreciate it. Many of the decisions made about the framework and it’s directions are made behind closed doors. This prevents any buy in from external developers. A great example of this was recently a decision was clearly made by the Silverstripe guys and then presented to the dev list for ‘opinions’. This work has been going on quietly on 2 branches with nary a word on how the progress is going. Similarly the 2.2.2 release has recently been completed and in the lead-up there was very little communication regarding the plans and goals of the release.