@madpilot makes

And that’s a wrap…

I can’t believe web directions is over already. Two days of talks, meetings, greetings, server admin (more on this later) and drinking. Here is a quick over view of what happened for those of you playing at home:

Thursday

  • John Allsopp talks about Microformats. All this talk of contact databases and vcards gives me an idea…
  • Derek Featherstone rounds up the day with is (from what I have heard) always enteratining talks. This was no different. However, I’m mildly distracted, as I start hacking a new Ruby on Rails site whilst listening to the talk (See talk given by John Allsopp). Yes, if any of you remember seeing a guy testing a website during the talks that was me.
  • And the drinking begins… The Port80 committee is a little late after having an impromptue Port80 committee meeting. However we soon catch up. I have a good long chat with the campaign monitor guys – they are top guys. It’s almost sickening :)
  • Onwards to the Landsdowne for cheap food. Miles is talking up the $5 meals. I soon realise why they are $5 meals. Never the less, the beers are heaping my headache. At this point many of our crew (we have acquired a few Melbanians, some Adelaidenese and a Brisbanite) part, touting tomorrow nights drinking and Andy Clarke’s early morning talk as reasons for an early night. Not so much this entrpid reporter!
  • Myself, Grant and Sarah head over the The County Claire hotel. This has been where the cool kids have been hanging out – many of the speakers and helpers were already there getting tired and emotional about web standards. Drink some more. Meet numerous people. Alas, all too soon, last drinks was announced, and this is where I should have listened to the little voice in my head.
  • A group of four decided that the Landsdowne would once again be an appropriate venue to discuss the finer points of modern dance. A pearl of wisdom if I may. If someone challenges you to an arm wrestle, say no. Although I wasn’t defeated, I still can’t really use my arm properly. Another pearl: If you need to be at a conference session at 9am, don’t get up at 9:30. Yes. I missed Andy Clarke. Everyone has consistently re-iterated how this may have been the talk of the conference, and I missed it. Yeah. That’ll learn me.
  • Next I sat in on Laurel Papworth talking about viral marketing and user-generated content. Pretty interesting. I was listening to the talk, while continuting to hack my new application.
  • The man in blue, Cameron Adams and Kevin yank from sitepoint gave a pretty kick-arse talk on using APIs and mashups, and at this point I actually caome across a term I hadn’t heard of – JSON-P! I use JSON all the time, but this P bit is new and foreign. I will read up shortly. (Still hacking new app)
  • After lunch Jeremey Keith talks about degradable Ajax in a presentation entitled hijax. At this point I start to write the Ajax handlers on the new mystery app, then realise that I really should stop cutting corners and should right it degradably. Thanks Jeremy – you just added a good hour or two on too my app development time. Grrr! To makes matters worse, my battery runs out, so no more app dev for me – my dreams of having it finished before the end of the conference are ruined! :)
  • Next is Derek with a thought provoking and almost forums like presentation on accessibility. He went in to the nitty gritty of how screen readers work. But I think the most important part was that no matter how much tech you throw at the accessibility problem, there is no substitute for sitting down with a user and watching how they work.
  • Now the final keynote address is where the interesting stuff started. Not from a conference point of view (Everything was interesting but from a work point of view). At Bam we went live with three sites a couple of days before I went away (Dumb idea, but they couldn’t wait). Miles gets a message that there was a problem with one of them, no worries – I’ll logged in to MSN and had chat with those left in the office and realised that I’d have to login to fix it. No biggie, except my laptop was out of batteries, as was Miles’. So we borrowed the laptop of one good samaritan, Adrian and we were on our way. Unfortutately, we were in bigger trouble than I thought. We have a rather large client that was been hammering our server the past couple of days, and it was really proving a problem.
  • After the keynote was over we headed back to the port80 hotel (AKA The Vulcan) and I continued to look into the server issue. The server was running at a load of about which means it was running SLOWELY. After a number of phone calls back to Perth, more work on another borrowed laptop at the after party (Thanks Adam), we finally got the server laod to stabilise. If you were wondering, I was the guy sitting cross legged outside the dance room with the black Macbook Pro working :(
  • Finally I could go party (Things weren’t 100%, but they would do). John Allsopp took us to possibily the dogdy-est pub in Sydney – the Star Hotel. This place looked like a mini casino – Coming from Perth where pokies are illegal evey where except the casino, it is weird seeing one-armed bandits all over the place. And I love anywhere which shows harness racing and greyhounds on one of many plasma screens. All class. After that, we took a walk along a street that was littered by asian restaurants. After making fun of the fact that these places usually have gross looking birds hanging in the window, presumably as a sponge for salmonella, we settled on the Superbowl restaurant WHICH HAS A PICTURE OF GROSS LOOKING BIRDS HANGING IN THE WINDOW. You couldn’t make this stuff up.
  • Onward, we continued travelling see weird signs for shops, one of my particular favourites was: Doctor Friend Chinese Medicine Acupunture Massage Skincare center. I’m so tempted to register http://www.doctorfriendchinesemedicineacupunturemassageskincarecenter.com
  • It is decided that we should go and meet the cool kids (See County Clare) at Purple sneakers. So We drop myself and Grant walk Miles home (trying to convince him to come out with us – he’s so soft) and we start our journey the 50m up the road we need to go. Or so we though. How would have though that Sydnesy has more than one main road!? We got lost. In a 50m square radius. Then Grant fell over and nearly busted his ankle. It was funny. I guess now in hindsight it would of sucked if he couldn’t walk, but it was still funny :) After offering him a shopping trolley, and his refusal, we finally get to Purple Sneakers.
  • Not only is Purple Sneakers a name of a You Am I song, it is the name of a cool, grungy little Amplifier-esce club in Ultimo. Was much dancing to be had with such classics as “Wave of Mulitlation” by the pixies and Parklife by Blur. Other notable mentions included the Strokes, Regurgitator and much, much more. We left there about 4am.
  • The final parts of the night (now early morning) was to sit up and drink beer with Leon on his balcony that over looks the city and watch a magnificant sunrise.

So all in all a fun-filled couple of days, with both ups and downs, but we worth it. Roll on WD07!

Web directions update #3: Campaign monitor

I just attended the talk given by Dave Greiner & Ben Richardson who created Campaign Monitor and it was the first talk of today that really hit home. Don’t get me wrong, the other talks have been excellent, but this one, for me anyway was about something that REALLY interested me. That is, creating and marketing a online application that solves a specific problem, all while working somewhere else full time. For those of you plpaying at home, I’m doing exactly that with 88 Miles.

It was very reassuring that these guys went through simple experiences that I have had or am currently having. I’m going to stalk, erm, filnd them after all the talks finish and picks their brains.

I’m currently in John Allsopp’s microformats and mashup talk. It is filling my geek quota quite nicely…

More soon.

Cleaning up this town

Kelly Goto has just finished her talk – very interesting. Maybe not in terms of real concepts, but definately has supplied food for though.

Now listening to Jeremy Keith about AJAX. Been eXcellent so far :)

I’m in the foyer of Web Directions

That’s right kiddies, I have arrived in Sydney and I’m waiting for the first talks to start.

I’ve set up a Flickr feed (You can see the results down the bottom of the sidebar, to your right. Please mind the gap.

I’ve set up Shozu to send any photos I take from my picture phone straight to Flickr in (almost) real time, so enjoy the love. Assuming that I remember to take some photos :)

So watch this space for all the latest news from the coolest web conference this side of Sydney harbour…

One week to go…

…until webdirections 06. I’m starting to get rather excited about it all now. Even though I don’t actually have accomodation yet :)

I’ve quite looking forward to meeting the international and national speakers – it will be really cool to meet the big thinkers in the web industry, like Molly Holzschlag, Derek Featherstone and Andy Clarke (not to mention the others!). Hopefully it will leave me motivated and full of beans. Not that I’m not motivated at the moment, but you can never have to much.

Tim Lucas and Cameron Adams obviously have way to much time on their hands, as they released Web directions connections. Cool little app – both Miles and I spent a little too much time playing with it this morning, even though neither really could afford to (work hasn’t really eased up).

Speaking of 88 Miles (Leave me alone – it’s been a big week and I can’t be bothered coming up with a proper segway*), things are ramping up. I’ve made a few tweaks with the design and copy, and it seems to be attracting more sign-ups like a bees to the honeypot. It would be cool to get some big names in the web industry to have a look and blog about it. Now, where to find some poeple of high-enough profile… Hmmm.

On a personal note, I finally graduated last night, so I’m now officially a Bachelor of Computer Science (Hons). Thankyou god it is all over…

It would be a safe bet that my next post will be from Sydney (if my laptop makes it back in time), so until then…

  • Is this even the correct spelling on the word in theis context?!

Another month flies by…

I’m sorry, I don’t remember authorising anyone to make it the end of August already. The last 30 days have been CRAZY. In no particular order:

The business and mobile phone versions of 88 Miles was released, so not you can track your time when you are out of the office. The business version allows one person to manage the time of many other people, which makes running a small office much easier.

My laptop video card decided to goto the big ol’ interweb in the sky, so I have been with out it for the last two weeks. Apparently trying to source a motherboard for a computer that is barely two years old is a less that trivial task. This has meant that I have had to use my Linux machine for day-to-day use (other than at work) which has been interesting to say the least. One tidbit of wisdom – don’t try running major OS updates of a production server late on a Saturday night. It results in spending much of Sunday testing backup systems :)

The WA Web Awards have come and gone. I  had the honour of chairing the awards this year, and might I say, even though a stupid amount of time went into organising it, it was well worth it. We had 130 enteries, sold out all 114 tickets in a week and managed to pull the whole thing together all whilst working fulltime.

The new sit down dinner format really added to the night, it felt so much more awards night like. I must put out a big thankyou to the rest of the committee – there were some hairy moments in the last couple of weeks, but it all came together on the night. Congratulations to all of the winners – especially Freckle Creative, who took out the coverted “Best overall” award. There are photos for your viewing pleasure on Flickr.

The Sunday after the web awards (that is 2 days after the web awards) Bam Creative moved offices. And, I must say that I like the new digs – they have a much better feel about them and it seems to be much more condusive to work (Which is a handy thing for a work place).

Work at Bam has been non-stop of the past two weeks, the three of four major projects I’ve been working on have pushed the boundries of my sanity, but since some would argue I was already insane, there may not be too much difference… On top of that my MadPilot work still seems to be trickling in, regardless of how much I tell people that I’m working full time now.

Luckily, next month is Web Directions, so I can at least enjoy a couple of days off. I’m really excited about the event, it’ll be great to meet some of the big names in the web industry. I find these sorts of events really inspiring and invigorating. I’ll try and blog my way through it, just like every other man and his dog!

Make scheduling jobs easier – use web services!

Web developers deal with scheduled jobs a lot. Any online application that deals with paid subscriptions needs to remind users when they need to pay up. Other apps may require data mining services to be run on a nightly basis.

This is pretty easy to do – run a cronjob under *nix or a scheduled task under windows. However, where things get tricky is when you have spent an in ordinate amount of time coding business logic into you application. Duplicating this logic for an external script to be run by cron is pretty silly, not to mention bug-prone. However there is a quick and simple solutions: Web services!

By setting up a web service that does your maintainence, you can leverage the classes and business rules that you have already written. For example, if we take a Model-View-Controller framework (such as Rails or CakePHP) we may have logic that will do data manipulations before the data is saved to the database. There is no way I would want to try and emulate what these frameworks do in an external script. By using web services, you are calling the framework natively and you avoid all of these problems.

How it works

It is really simple:

  1. Setup a webservice that will perform the functions you need to run on a regular basis.
  2. Create a simple script that calls the web services.
  3. Add this script to you crontab or task scheduler

The beauty is that you don’t even need to bother setting up the web service using SOAP or XML-RPC – REST will do the job quite nicely, especially since the web service is designed to only be used by you. However, when using rails I like to use SOAP, because it is so easy to setup and use. Here is a simple example:

class HousekeepingController < ApplicationController
  wsdl_service_name Housekeeping
  web_service_api HouseKeepingAPI
  def maintain()
    # Run you maintainence script here
  end
end

This file is the webservices controller. You would add your logic here – this may be expiring users or automatically checking email.

class HousekeepinApi < ActionWebService::API::Base
 api_method :maintain, :returns => [:string]
end

This file defines the method to the web service caller. I usually set the return to type :string so I can output statistical messages or errors that occur during the job.

#!/usr/bin/ruby -w
require soap/wsdlDriver
include SOAP
begin
  wsdl = path_to_wsdl_file
  factory = WSDLDriverFactory.new(wsdl)
  housekeeping = factory.create_rpc_driver
  out = housekeeping.maintain
  put_s out
rescue Exception
  $stderr.print An error occured: #{$!}n“
  $stderr.print Detailes error description, if any:n
  raise
end

This file is called by the cronjob. You will need to replace the string path_to_wsdl_file with the path to the real WSDL file. You get get the WSDL file from a Rails web service by querying /:controller/wsdl (so in this example http://www.yoursite.com/housekeeping/wsdl – pipe the returned xml to a file and save it.

Then it is just a matter of adding the housekeeping_run.rb command to you cronjob! Cron will even email you the results that get returned by your service – Nifty!

Nice an easy, eh?

Fixing ZeroCfgSvn.exe crashes

I use a Toshiba Satellite M70 which has an Intel ProSet Wireless 2200BG Wireless network card.

I have had a couple of problems with the wireless card though:

  1. When I boot, the wireless connects for about a minute, then the connection drops and it reconnects – this plays havoc on my IM programs not to mention slows my boot time considerably
  2. After I installed VMWare, the Zero Configurations Service kept crashing. This was annoying to say the least.

After a little Googling, it became apparent that the issue is the driver. Easy – go and get the latest driver from Toshiba, right? Wrong – I updated to the lastest version and still no fix.

The solution: Just on to the intel website, select Wireless > Wireless LAN Products menu item on the left and select the wireless card you have.

Download the 123Mb (?!) driver file and install. You will lose your saved Access Point information though.

If you are like me and prefer to have Windows manage you connections, Right-click on the task bar icon and select “Allow Windows to Manage my connections”.

If you are also like me and HATE erronoues taskbar icons, open the Intel Wireless Manager (Start > Programs > Intel PROSet Wireless > Intel PROSet Wireless). Click the Tools > Applications Settings menu and uncheck the “Show application icon in the taskbar” checkbox.

That should do the job quite nicely.

More people to play with

Exciting news just to hand! The perth web industry has been going to through a bit of a shake up of late – perpetual freelancers taking full time jobs (That’s me), stalwalts of the industry going out on there own, mergers and aquisitions.

“Mergers and aquisitions”, you say?

“I’ve heard but nothing!”

Yes, dear reader, this little secret has been very well kept (rare for the industry over here) – two major players in the boutique web arena have joined forces in a super-mega-power play of gigantic small business proportions.

Bam creative (my new place of employ) has recently aquired Cube7 (an old client of mine). Customary website here. This is extremely exciting news as both of these companies are well sort after in the local market.

This event is being simul-blogged by Miles Burke and Simon Wright.

Repairing the Windows registry using Knoppix

Oh, what a fun Sunday morning I had. I wake up, chill out and go make myself some breakfast. At around 11, I decide to go and check my email. Turn on the laptop – Blue screen of death. Huh? Something about Windows not being able to load the SOFTWARE hive because it doesn’t exist or is corrupt. Oh crap.

OK. No need to panic. I try booting in Safe Mode. No sugar – same BSOD. Not good.  After a quick google, I find http://www.kellys-korner-xp.com/xp_sys32.htm which tells me that I can restore my SYSTEM and SOFTWARE hive to a clean state by booting into the recovery console. For those playing at home, there are a number of files located in the system32/config directory of your windows install that hold some fairly critical tid-bits of information, such as application settings and such. Without them, your computer doesn’t know what is installed, or how they should run.

Now we are getting somewhere, I think. So I boot into the recovery console. It is at this point that I realise that I don’t know my administrator password. It is also at this point that I realise that I cannot go any further without knowing my administrator password.

Some more googling and I find a number of applications that claim to be able to reset windows passwords from a bootable CD. I download a couple, but find them less than helpful – It would have been more productive for me to throw nerf balls at a number of post-it notes with letters on them, and entered the resulting characters in a megre attempt at a brute force attack.

It is at this point that I realise I should do something I should have done in the first place – I dropped my trusty Knoppix CD into the drive. Luckily, Knoppix 4.0 can mount and write to NTFS drives, so I could complete the steps in the above tutorial. This is what I did:

This mounts the windows drive to the /mnt/hda1 directory in full read/write mode. I needed to add the force option because I has rebooted XP incompletely and the Filesystem was complaining that I needed to run chkdsk.

Next I copied the /mnt/hda1/WINDOWS/repair/software to /mnt/hda1/WINDOWS/system32/config/software

After rebooting, and waiting the 30 minutes it takes for chkdsk to check everything, Windows was booting! Woohoo! Oh. not quite. All of my user settings were gone. And on closer inspection so where all of my program settings, and hardware settings – in fact Windows was denying all knowledge of any of my software. Whilst choking back tears (I really didn’t have time this week to re-install everything all over – I only did it a month ago) I tried to do a System Restore. Guess what? The registry clean out had hosed them as well. (A big thanks to Microsoft for putting this information in the registry, which is what you are trying to restore…)

Not to be deterred, I figured that the System Restore info would still have to be there somewhere, after all, it is saved as files in a hidden directory right? After a quick Google, I found out that my hypothesis was indeed correct via http://wiki.djlizard.net/SVI.

Booting back into Knoppix and mounting the drive again, I went into the System Volume Information directory. I had two  _restore{insert_stupid_amount_of_characters_here} in there. A quick ls -la gave me the older directory. In I went to a fairly recent RP folder and lo and behold I find the files that I needed. I copied them over (according to the tutorial) and voila! Everything was back up and running! God bless System Restore points. I want to glass the registry though.

Previous Next