During my day job at $BIG_MONEY I’m behind a restrictive corporate firewall and as such can’t ssh to anywhere in the outside world. Which makes me sad. Step in AjaxTerm:

Ajaxterm - screenshot

What you are seeing is a screenshot of my screen session for a project I’m working on.

Editing a Perl script with vi in my web browser, I love it!

Windows rage

A Windows 2000 workstation, the bloated Office 2003 suite, web-apps that only work with Internet Explorer…

Carving a niche

The past 4 weeks have been hectic: I’ve been overwhelmed with new information and I’ve developed a dependence on searching old emails, miscellaneous text files and word-of-mouth information.

There is a plus side though: our team has a wiki. Free software to the rescue once again!

The only problem is that a lot of relevant information is either missing, incomplete or of otherwise poor quality, so I found myself compulsively editing and I’ve set myself the challenge of improving the documentation of the various processes our team is associated with.

On a technical note: the authentication system of the wiki software isn’t properly configured, so I’ve taken it on myself to read the documentation and get the situation rectified. Playing around with Tomcat, JSPs and battling with reference material hasn’t been the must fun thing I’ve done but I’m now waiting on the rest of the team to check out my local copy before any live changes are made.

The spirit of Saint IGNUcius is strong with me today: information wants to be free!


I started my new job as an Analyst Programmer with Citi today and so far I don’t have a login, my own machine or a permanent pass card and I’m not completely sure what exactly it is I’ll actually be doing but I have mastered the use of the coffee machine. It’s all good :)

MacServ deployed

The initial version of my latest project, MacServ, has just been deployed.

MacServ is intended to model the work-flow at Mac-Sys and to replace the existing paperwork.

Deployment was scheduled for close-of-play yesterday and I thought I was home clear: I’d uploaded the scripts, configured the database and at a quick glance things appeared to be working. I was getting ready to leave the office and hit the gym only for one of the staff to discover that one of the apps controllers wasn’t operational…

I cranked up the debug level of the framework and it looked like a conflict between the version of PHP in use with the hosting provider and that which I’m running on my development machine. A few minutes fiddling with the .htaccess this morning got the problem resolved and we put the system through its paces.

I now have my latest list of required tweaks and from here on in it’s going to be an endless process of reworking, enhancement and bug-fixing.

Future plans include: tweaking Gcal.app to provide a custom browser for the app; integration with GSX and offering the system as a commercial product to other Mac service providers.

I feel a bit strange, having people use the fruits of my labour, but I am relieved to have brought MacServ to its current stage of development. Even if I’m pretty much sick of the sight of it by now ;)

New Workspace

Here a quick snap of my new workspace:

New Workspace

You can see my MacBook and the second display with the site I’m current working on along with my lunch and ubiquitous coffee mug…

Now With Filter Coffee!

Coffee time came around this morning at 11am just like it always does, but when I got to the kitchen there was no sign of the usual paraphernalia. I was placed in a moral dilemma: do I selfishly get busy with the 1 mug french press or dive into the catering-sized drum of Nescafe Original Blend? Thankfully, before I had to make my mind up, the green light was given for the purchase of some new equipment, so Phil and myself picked up some funds from petty cash and hit the Argos around the corner.

We had money to burn and the need for something shiny. The laminated book of dreams was consulted and we decided on a Morphy Richards “Cafe Matlino filter machine; the product number was written down and handed to the girl behind the counter, money changed hands and we awaited our new piece of kit. Within a few brief minutes the prize was ours and we headed back to the office, unpacked the machine and set it up for a water-only brew to cleanse the system. Here’s an action shot from the first pot of coffee produced:

New Filter Coffee Machine

The machine has an array of esoteric buttons, lights and displays which the documentation insists are used to have the brewing process instigated at a predestined time. Personally I prefer the technique prescribed by Terry Tate, Office Linebacker: “yo’ kill the joe yo’ make some mo’!” Namely, having a pot of black gold available at all times during the day. Already my mind is filled with ideas along the lines of the infamous Trojan Room coffee machine, the granddaddy of all web-cams.

As an interesting end note, when I was checking out the Argos site I discovered a potential for Cross Site Scripting, look at the breadcrumb trail on this page!

UML For A Laugh

I’m just getting started in the development of my next application: a management system for the Agency’s various resources. The intention of this program is to allow members of staff to book laptops, projectors and so on and to see at a glance what is already booked, when for and by whom.

Not since my days of 210CSC218 and the calamity that was my undergraduate dissertation have I done any serious planning or documentation for anything I’ve implemented to date, but for some reason the mood took me this morning and I found myself brushing up on UML and printing off a reference to remind me of the different symbols involved. I remember back in the day finding some of the concepts a bit tricky but ultimately scoring well in that modules assignments and exam, so I wonder what my old lecturer would think of this effort:

vdaBookings - Use Case Diagram

I haven’t a clue if I’ve got all the details right but what I’m saying with this Use Case is that a user may book a number of resources and unbook one which they have previously booked and for a resource to be bookable it must first be added into the system by a user in the admin role, who can then remove it aswell as perform the normal user activities.

Nothing complicated then. The only possible difficulty I can see is in interacting with Active Directory / Windows Logon but I’ve seen this done in an app my co-worker Kev has written so I know I’ll get it licked, I just don’t know how much effort it’s going to take. Another interesting challenge is going to be making use of some kind of Object-Relational mapping system: in my last venture into .NET there wasn’t much separation between the objects the program was manipulating and the structures used to interact with SQL Server, ie, any change in an object member resulted in an immediate change in the row of the table it was representing. This approach left me victim to all sorts of minor details concerning DataRows, DataTables and the like, so this time ’round I’ll be taking a higher-level view of things and should have as a result an ORM system which I should be able to reuse in the future.

I just know I’m going to be seeing code in my sleep. Goodnight!