What happened to those old projects?

A couple of weeks ago I was out on a lunchtime walk around the Business Park and bumped into someone I used to work with a few years ago at Severn Trent Systems (about 200m from where I work now).    It seems that the project we both used to work on is still alive and well and it made me start wondering about other projects I've worked on; how long they lived for in these fast-changing times and how many still have traces of them being used today. The project in question was an asset inventory system for Severn Trent Water.  It was written in PowerBuilder (I wonder how many people still use that?!) and, horribly, used Tuxedo as a middleware component rather than do traditional 2-tier client/server, which PowerBuilder was brilliant at. So, going from memory, here's a potted history of projects I've worked on.  I wonder what happened to them all… 1989-1991ish – Mainframe COBOL stock systems that had been around for years and years for Kay & Co (Worcester), part of the Great Universal Stores group at the time.  Anyone for Decision Table COBOL ? 1991-1992ish – Model204 stock systems, again for Kay & Co.  I've still never come across anyone from other companies who had ever used this although it was a pretty neat language. 1992-1995 – Various DOS-based systems, again for Kay & Co.  Varying hardware from twin-5.25 floppy Apricot machines to PC's with and without hard drives, then onto more standard Windows PCs.   All written in Clipper / dBase. 1995-1996 – Windows GUI development with PowerBuilder, again for Kay & Co – writing applications for the Catalogue Bargain Shops. 1996-1997 – More PowerBuilder stuff at Fame Computers – what a crap move that was after many good years at Kays… 1997-2003 – A couple of PowerBuilder and then Java J2EE applications for Severn Trent Systems.  The AIMS project was probably written in around 1999/2000 in PowerBuilder and is still apparently being used now. 2003 – A great time at SmartStream Technologies in Bristol working with great people on a great new rich-client project.  Doing AJAX without it being known as AJAX then, it was a voyage of discovery and a great time.   Shame the long commute got too much to bear.  Good times there…. 2004-2006 took me contracting for a few years at about 4 companies and it was a mixture of brilliant new development of AJAX applications just as those technologies were emerging and the usual case of being hired to help out on failing run of the mill J2EE apps…  The companies and projects will remain nameless so the good can't be distinguised from the bad ! 2006 until now brings things up to date at Talis, first as a contractor for 1.5 years, then as a permanent employee. I consider myself pretty lucky over the years with the exposure I've had to different projects, technologies and languages.  It's been a great journey and I hope it continues.

'To Do' lists, LAMP and finding time

I've known for a good while now that I need to make more time out of work hours to look at the things I don't get chance to do at work.  This list gets longer and longer and the time to look at things on it rarely seems to materialise.  I get bits of time here and there to read up on things, dabble and generally do small bit of work but struggle to find enough long chunks of quality time to get a proper project going.  This has to change before the list of things buzzing around my head gets too unmanageable. Number 1 on my list is to do some traditional LAMP development as it's a hole in my skills.   I'm fine with the L, A and P but have never really done much with MySQL in relation to PHP applications.   I've done loads of SQL over the years – mainly Oracle and Sybase with a bit of SQLServer thrown in but only really dabbled with MySQL and never done any traditional RDBMS stuff with PHP.   When work is focussed with what you could class as Linux/Apache/RDF/PHP and Linux/Apache/SemWeb/PHP I need to ensure I keep a broad skill-set and not totally forget (although I have forgotten a lot already) how to be fluent in SQL. So, top home project is LAMP-based and probably using Zend Framework as a starting point as I've only ever used Zend Mail on that and the framework looks pretty comprehensive.  I've blown the cobwebs off my home dev environment tonight, got a stub Zend project checked into my Subversion 1.5 repository (yes, I know I still need to look at the 1.5 merge tracking features as I'd really like to use it at work) and I'm now ready to get on with it. I just hope I get the time to make some progress with it. I'm not quite sure what the project will be yet – it'll probably just start of as trying out loads of the features the framework supports and see where it leads.  A 'ToDo' list manager would be ironic – spending time creating something to list all the things that I don't find time to do…

Respect, politeness…and loads of grip and grunt

The topic of the, seemingly, detiorating levels of respect, politeness and consideration came up several times today.  A few of us went for a walk around the Business Park over lunch and it probably came up after I recountered an event that happened on the way into work today… I needed petrol today and left the M42 northbound at J4 to go to the Tesco petrol station just off the motorway.  I went over the first few sets of traffic lights and had to wait at a red light at the very last set, just before the bend and roundabout leading to the petrol station.  As I was in the (correct) right-hand lane of two I noticed a black car coming up behind me; look like it was going to wait behind me, and then changed his/her (probably 'his') mind and pulled alongside me.  Hmmm…only one reason for that – to sneak a quick start at the lights and try to get in front of me (for whatever selfish reason).  As some god-awful noise eminated from the stereo of the car next to me I couldn't be bothered to look over to see what it was and just waited for the lights, knowing damn well that if they thought they could push in in front of me then they had another thing coming. The lights changed, a little squeal from the tires of the car next to me confirmed their intention and that was the end of their little plan.   Over the lights, into the sharp left bend, hairpin back on yourself at the mini-roundabout and down to the petrol station.  I think they were about 20m behind me as I pulled onto the forecourt.  I hate people who think they can push in front, in any way – in cars, in queues, in general, and if you want to barge in front at some lights then don't try against an 192Bhp small car that loves corners with limited slip differential and dynamic stability control. Disclaimer: I don't generally drive that rapidly, I let people in when they are waiting to pull out, I'm considerate to other road users – just don't try and barge selfishly in front of me!

Frustrating week

It's been a frustrating week so far but thankfully it is nearly over….just one more day.   I've been up to my neck in IE7 performance issues, debugging JavaScript events en masse and generally trying to juggle too many balls in my head with numerous distractions going on around me. There are a million and one things that need doing, and another load that we'd like to do but with the very few people we have it feels, to me anyway, that we're struggling to keep our heads above the water.  My morale is not suffering too much yet – the work is interesting – I just wish I had more time to do some background research on things rather than try and just crank through development stories day after day with no respite. To cap it all off it was planning day today.   The day that always seems to deteriorate as the hours go by with frustrations mounting and comments getting increasingly accusatory.  A thank-you would be nice sometimes  – we're all stressed – we're all doing our best – we all want the best for the project and we're all in it together, so let's all just remember that.  If any day can knock the motivation out of you, it's planning day. Tomorrow is another day.   Tonight it's football on TV, installing a Gentoo VM on the laptop, writing this mini-rant and trying to rest.   Tomorrow it'll be back to the IE7 profiling where I just need to put my headphones on, block out distractions and concentrate so that the mental ball-juggling is a tad easier.

Recruitment agents and LinkedIn

I'm getting a bit tired of lazy recruitment agents and their tactics to try and have an easy ride.   Normally it's just endless email spam about totally irrelevant roles in totally ittelevant locations for a pathetic amount of money.   Most get totally ignored but the exceptionally irrelevant ones get a reply with something along the lines of “What part of my C.V. did you actually think made me relevant for this position?”. Then there are the phone calls…   “Are you looking for work?”   “No, not right now…”   “Do you know anyone who is looking for work?”   “Mind your own business and do the hard work finding them yourselves“. A recent tactic seems to be trying to connect to me on LinkedIn – just so that they can see what other contacts I have and then approach them.   Hmmm….  Nice try but I'm not adding you in, sorry. Unfortunately they are a necessary evil in this line of work.   Over the years I have come across a few good ones – those who know me well, know what I am really looking for, have placed me before and always seem to come up with perfect match roles.  These are the ones to keep in touch with, the ones who take the time to find out what you really want and know when to ring you when something comes up.   Those who cold-call are no better than tele-sales people, using a scatter-gun approach to find someone suitable and annoying the other 99% in the process – they just give the recruiters a bad name. So, to those recruiters who know me well and have always delivered the goods, “thanks”, and keep up the good work.  For those who can't be bothered, I wish you well as it reflects badly on your company and I very much doubt you'll ever place me anywhere. Just to clear things up – for the record, I'm not looking for anything right now – understood?

W3C Case Study: A Linked Open Data Resource List Management Tool for Undergraduate Students

For the last few months at work I've been lucky enough to put my RIA hat back on again after a period of absence doing traditional J2EE  and PHP apps with a strong accessibility bent. Working on these kind of apps is something I have enjoyed immensely since first doing a 'rich client' webapp back in 2003, before the name AJAX was coined and when we were flying by the seat of our pants with cross-browser hell and few libraries out there to help that we are all so used to using these days.  It has highs and lows; a real buzz when it works nicely and sometimes the frustration of getting it to work 'just right' (or sometimes even 'at all' !) Anyway, fast forward to 2008 and working on a successor to the old Talis List product.  There are good cross-browser JavaScript libraries out there, such as prototype, jQuery et al, and nice extension libraries such as Script.aculo.us, but it's still important to maintain an understanding of how it all works behind the scenes. Most of the application is traditional PHP/XHTML/CSS with some progressive enhancement JavaScript thrown in for good measure, but on one area we decided to go down a different route and try out a more WYSIWYG approach with RDFa marked up XHTML. One thing I hadn't used until recently was RDFa.  We've used it on one of the main admin pages in our new product and it's made what was initially quite a complex problem much simpler to implement.  Reference to this can be found on Chris' recent W3C Case Study – "A Linked Open Data Resource List Management Tool for Undergraduate Students", and discussion on it has already started over on Ivan Herman's blog. Currently using Jeni Tennison's RDFQuery library to parse an RDF model out of an XHTML+RDFa page we can mix this with our own code and end up with something that allows complex WYSIWYG editing on a reading list.  We use RDFQuery to parse an initial model out of the page with JavaScript and then the user can start modifying the page in a WYSIWYG style.   They can drag new sections onto the list, drag items from their library of bookmarked resources onto the list and re-order sections and items on the list.  All this is done in the browser with just a few AJAX calls behind the scenes to pull in data for newly added items where required.   At the end of the process, when the Save button is pressed, we can submit the 'before' and 'after' models to our back-end logic which builds a Changeset from before and after models and persists this to a data store on the Talis Platform. Building a Changeset from the two RDF models makes quite a complex problem relatively straightforward.  The complexity now just being in the WYSIWYG interface and the dynamic updating of the RDFa in the page as new items are added or re-arranged. All in all it's been a fascinating exercise over the last few months and it's all coming together nicely.  The read-only views (with RDFa markup) are already live at Plymouth University but editing is only available to someone logged in and with edit priviledges on a list – so no public demo at present. The product has recently got a name, it'll be Talis Aspire.

Subversion 1.5 on Gentoo

A couple of weeks ago I needed to look something up regarding Subversion and headed off to grab the latest copy of “Version Control with Subversion” online.  Whilst looking through it I noticed that Subversion 1.5 had been released without me noticing and that there were a couple of interesting new features.  The main one for me was support for tracking merges up from trunk to a branch.   This is always something I have had mixed success with, normally trying to avoid multiple merge ups from trunk or even trying to avoid merging up from trunk at all because of the inevitable issues when merging the branch back down into trunk. Subversion 1.5 allegedly helps with this so I put it on my list of things to do to investigate. The first part of that was done last night when I set up a new Subversion 1.5 repository on my home Gentoo Linux server.  After initially thinking about setting up a general repository for all users and accessing it through Apache/DAV I soon ditched that option due to lack of time and an annoying HTTP 500 error from the repository when trying to authenticate.  In the end, to just get me up and running, I set up a new repository in my own user home directory and accessed it remotely using the SVN+SSH protocol – job done… So the repository is all now set up, I can access it remotely from my MacBook and I'm ready to go with trying out the new Subversion 1.5 merge tracking feature.   More on this soon….

Windows 7 – just let me download it !

After noticing an announcement on availability of the Windows 7 public beta the other day, I sat at home last night and waited for 8pm GMT to come along to try and get my hands on one of the 2.5 million keys.  Needless to say public demand overloaded the servers and MS decided to pull the release until extra hardware had been thrown at the problem.  Today I noticed another announcement that the 2.5 million copy restriction had been lifted and that it would be generally downloadable for 2 weeks from today. So I opened Firefox, did my registration, got a product key and clicked on the 'Download' link…nothing happened….   Tried it all over again and still nothing happened.  I ended up viewing the source of the page, noticting it was using JavaScript to kick something off, hijacked the URL and opened it in my browser.  Finally I got the download working (through MS's 'download mamager' – yuck!).   At a 2.3-ish Gb download it took ages, and ages, and then with 27 mins left it decided to hang.   Arse!   MS's 'download mangler' didn't resume (what a surprise!) and said the file on the remote server had changed file size.  So either MS has put a different version online at some point in the middle of my download or it just really didn't like the fact I was running Firefox on a Mac… 🙂    On eventually finding a FAQ I noticed that the download was only alleged to work in IE7 and IE7 beta – marvellous… I think I'll boot into my Windows XP VM in VMWare Fusion tomorrow at work and kick off a download in IE7.   If MS really want to make us think they are being more open then it certainly doesn't feel like it!

BT iPlate- bargain gadget for improving your broadband speed

No, it's not another Apple product.  It's a rather simple, yet brilliant, device for those of us suffering poor broadband speeds with noisy lines, a 3-day camel journey away from the 'local' exchange. I bought the iPlate from BroadbandBuyer and it turned up today.  More top service from the excellent BroadbandBuyer site.  It's a 5 minute job at max to install and it's immediately boosted my broadband connection from something that used to be 1-1.2Meg to just over 3Meg.   What a bargain for a tenner! Time will tell what actual throughput I get but I am optimistic that it'll be a significant boost to what I am used to. If you have a poor ADSL broadband connection it's well worth a go – for £10.00 what have you got to lose?!

Draytek vs. Belkin – no contest!

Over the Christmas break I decided it was time to replace my aging ADSL broadband modem/router.  I've been using a Draytek Vigor 2600We for quite a few years now and it has given me solid, reliable service.   I hardly ever have to reboot it, months apart, and normally only when I've flooded the wireless connection somehow as it's only 802.11b.  My MacBook Pro supports 802.11n-draft and other devices in the house support 802.11g so it was time to think about a faster wireless connection. I ended up, foolishly, walking into PC World and buying (completely on a whim, without looking at any reviews) a Belkin FSD8633.  The one I have may just be a lemon and they may well not all be that bad but, what a pile of crap!  It drops the wireless connection with alarming regularity.  Drops the ADSL connection a couple of times a day.   It never works first thing in the morning and needs a power-cycle to get it working again and generally gives me no sense of confidence or quality at all.   That's after a week of usage and last night I unplugged it and put my Vigor back online in sheer frustration. The Belkin will be going back to PC World on Saturday – that'll teach me for making an impluse purchase like that with no thought when inside I knew I should steer clear of the likes of Belkin, Netgear and Linksys. I'll still probably replace this aging Vigor 2600We but need to do a bit more research first.   Current thinking is that it'll be a Draytek again – maybe the Vigor 2820n