Commuting by Bike

June 3, 2007

I recently created a Google Map to show my route to work. I can also upload photos that I take on route, so I’ll need one of those camera mounted cycle helmets.

I cycle in London to get between Kings Cross and Paddington in good time. I can manage 12 minutes on a good day with the lights in the right order. It takes nearer 20 minutes by tube by the time I’ve walked to and from the station platforms at either end, and with the way the trains work this means I then have another 10 minutes to wait for a connection to Ealing Broadway.


Hamachi

May 22, 2007

Thought I’d mention a great utility I discovered the other day. I was looking for a way I could attach a laptop bag to my bike, a Dahon Jetstream P8. This is a great folding bike but because it has front and rear suspension (tried cycling through Cambridge city centre recently? Cobblestones look nice but shake Bromptons and their riders to bits) I haven’t been able to find a suitable rear (or front) rack/pannier. Anyway in my travels through Google I came across a conversation trail which started with the pros and cons of carrying around a USB memory stick instead of a heavy laptop, and moved onto the service provided by www.logmein.com.

Remote desktop services are now built into Windows, and tools like VNC and Netmeeting have been around for years, but what this makes this nice is that Logmein provide a hosted service so that I can run up their application on my laptop at work and this connects to their central server. When I get home I boot up my desktop (assuming Son #2 is not playing Fifa 2006) and it connects via the Logmein server to my laptop and voila I get to remotely control my laptop.

I currently use two main products at work. First is Enterprise Architect. This is a per-seat licenced tool and Logmein lets me remotely work with this tool. The second is a local installation of MediaWiki. Now I can access this by using a remote instance of Firefox but of course I want to do better than that!

On the LogMeIn site I found a link labelled ‘Labs’ – and through that I came across their Hamachi service. Hamachi provides a flexible peer to peer network bridge between a cooperating set of user machines. It creates a new network interface on each machine on which it is installed and lets users create ad-hoc network communities that behave like a local LAN. The immediate benefit is that it lets game players form lan based multiplayer games without having to connect to a third party server (including FIFA 2006, but I haven’t told him yet…). The real benefit is that I can install hamachi on my Ubuntu Linux desktop at work, bring up a local instance of Squid as a Web proxy and thus gain access to the intranet instance of MediaWiki.

Now I don’t really want to route all my web traffic through Hamachi, then to work and out through Squid so I needed to find a way to selectively route only requests to my wiki. Firefox lets you configure a Proxy but the way that works is that you can specify sites not to proxy, but not the other way round. The answer is to create a small file called ‘Proxy.PAC’ and implement a small Javascript method. Here’s mine (with the relevant names and addresses changed to protect the guilty)

function FindProxyForURL(url, host){
 var proxy="PROXY 5.16x.xxx.xxx:8080";
 if (shExpMatch(url,"*.company.co.uk:*/*"))              {return proxy;}
 return "DIRECT";
}

So now I can access my company Wiki at home. The only disadvantage is that I can’t boot up the laptop while I’m on the train and work offline but given the level of overcrowding on my train at present I don’t always get the opportunity to work in this way.


Web 2.0 in a nutshell, part 1

December 29, 2006

Web User Experience is primarily achived through the delivery of HTML to Browsers. HTML provides a structured framework within which it is possible to create a rich, dynamic customer experience. Along with ‘static’ content such as News articles, sports reports etc. it is possible to provide ‘services’ which are in effect highly personalised, dynamic content such as email, IM etc.

But to the browser, these are just HTML delivered over HTTP. The only thing that might differentiate is that the HTTP headers may indicatate a shorter time to live, or that the content should not be cached at all.

Recently Industry best practice has evolved HTML to align with the more tightly specified XML. Migrating to HTML 4.01, through XHTML 1.0 to XHTML 1.1 many of the inconsistencies and ambiguities in the language have been removed and it is now possible to leverage XML technologies such as XSL transformation engines, modular schema definitions and verifying parsers.

Formalising HTML creates a cleaner object model within the browser, known as the Browser Object Model – BOM. This is a true object model and contains data, style and behaviour. There are industry standards over how to deal with badly formed HTML, it depends upon the browser implementation.

Cascading Style Sheets (CSS) provide a rule-based approach to appearance. CSS features a syntax that uses selectors to apply presentational style to HTML structure. CSS styles are applied in a layer manner so that there is generally always a fallback to the most generic case, whilst specialised styles can be applied in an increasingly targeted manner to apply more specialised styles as required by the UI designer.

XHTML supports the addition of the generic attributes ‘class’ and ‘id’ which can take arbitrary string values that add additional semantics to whatever HTML base tag they are applied. The rules for these attributes are simple: the id attribute provides a unique identifier to a tag within a given scope, whilst the class attribute is used to group several similar tags into a set. Using these attributes with CSS selectors allows much finer control over presentational style.

Microformats are predefined patterns of HTML tags and class attributes that provide additional semantics to structure and facilitate machine based interpretation of content allowing richer interaction and improved accessibility through complementary browser extensions.

XHTML provides structure, content and semantics; CSS provides presentation. The Browser uses these to construct an implementation specific object model and provides the default behaviour for user interaction. Through careful observance of standards XHTML and CSS are sufficient to provide a rich user experience.

CSS and Javascript may be embedded inline in the XHTML or referenced as external resources. Javascript provides dynamic behaviour that can modify browser document object model – including content, structure and presentation.

The XMLHttpRequest object allows the Javascript to make a new HTTP request, and retrieve content in the form of character data – which can be structured as XML or JSON. As the browser exposes suitable APIs it is possible to use this data to update or replace sections of the DOM – thus dynamically changing the appearance of the page with new content.

 


ADSL Continued

November 29, 2006

The 4 port switch I ordered from Ebay turned out to be a dud. No problem, the seller refunded me in full.

I found how to configure my 1 port router as a ‘pure’ modem, so my Netgear Cable router ends up providing a single firewall.

The trick is to configure the device in ‘Bridging Mode’, and to use the PPPoE settings on the Netgear box to provide the necessary authentication. My trials and tribulations on this saga are recounted here.

My biggest regret is going with Madasafish as ISP provider. The 5Gb cap they implement is just too small. I really need about 8 or 9. I’m now over the 6 months honeymoon period so the £10.99 a month rate has now jumped to £18. Its still competitive but I’d rather have gone for an all you can eat bundle at a slower speed. Live and Learn.


Moving from NTL Part 2

November 29, 2006

The second problem with moving from NTL was that I lost my Cable TV feed. I don’t particularily want to watch lots of pay TV but I do like a good quality wide screen signal. So I decided to go for Freeview.

The downside to this was I had to shell out over £300 for a good quality aerial since I apparently live in a ‘dodgy’ area for Freeview. Well at least thats what the aerial fitter told me. At least my aerial fits inside my loft and I don’t have Jodrell Bank bolted onto the side of my house.

The nice thing is that I can receive digital TV now throughout the house, and I have a cheapo set top box in my lounge and a new flat screen Humax mounted on the wall in the Kitchen.

Having had multi-channel TV from NTL, including movies and sports I can honestly say I don’t miss them. We now have 4 channels each from BBC and ITV, and a further 3 from each of Channel’s 4 and 5. We supplement this with a ‘light’ subscription to LoveFilm which gives us 4 DVD movies a month. This is more than enough for us!


Viz Top Tips

November 29, 2006

I shouldn’t really admit this but I actually find the purile, toilet humour of Viz occasionally quite funny. Reading through the Top Tips or occasionally the Profanisaurus. I like Top Tips because they are largely user generated content, and frequently demonstrate great insight and very sharp wit. Having read such a post the temptation is to ‘have a go’ yourself and post a comment in a similiar vein.

John Wayne. Never show any pain when receiving the beating of a lifetime, but wince when having your wounds tended by a woman

Shoe bombers. Increase your payload by becoming a clown.

LEPRECHAUNS. Protect your finances by investing in a tracker fund, rather than relying on an ailing currency and leaving a 300foot technicolour arrow in the sky pointing to where you have hidden it.


Moving from NTL, my Cable Operator

May 19, 2006

I recently moved house. There's a long story behind that which I might get around to eventually. One of the side effects of the move was that I had to leave my nice and easy NTL Cable, TV and Phone convergent service.

First of all I had to take up a service from BT. I'm not going to moan about the connection charge – we all know BT can charge what it likes for this if there is no competition (there is no alternative, LLU operator at my exchange). BT would not give me my number until I moved in so I couldn't order an ADSL service from anyone else but them. So I decided to wait until I moved in.

ADSL is supplied to your home through your phone line. Even though I was moving to a new house, I had to work with a tiny legacy twisted-pair copper as opposed to the heavy duty shielded coax NTL used. Ideally I would have liked to see a state of the art fibre optic cable bringing in my digital services but we're not there yet.

ADSL is delivered through the same wires as my telephone service, but uses a different frequency. I therefore have to fit an ADSL filter on my phone socket otherwise it will burn out my ear drums (or something like that).

The BT engineer connected a pair of wires to a BT master socket. They are the only people allowed to do this. The Builder is responsible for wiring up all the BT extension sockets throughout my house. Unfortunately they didn't get around to doing this, so befoer my ADSL was installed I decided to do it myself.

I bought a Crone tool from the bargain bucket section at my local PC World. It took just a couple of minutes to connect everything. Inside the master socket I found the builder had fitted a cable with 4 sets of twisted wire, but only three wires of this are actually used. One pair is used to carry the BT signal and the third is used to coordinate the ringing tone across phones plugged into the extension sockets. I believe this leaves 2 pairs of wire redundant.

After throughly researching the market place I ordered my ADSL service from a company called Madasafish. Why these guys? Mainly because they offered the best deal for me in that I got a 5Gb download allowance, 8Mb/s bandwidth (I was told I'd probably get 5.5 but ended up with 6.4), a Static IP address, a free domain (not claimed yet – I already own gravitaz.co.uk), 50MBs of Web space and most importantly a free ethernet modem router.

The modem was important because I didn't want a crappy USB modem. I already have a 4 port modem router and a couple of Buffalo Linksys wireless access points (these were configured as repeaters to work around the construction of my previous house). It was important that I could reuse these – I didn't want to be forced into buying new kit.

Unfortunately my Netgear router thinks it owns the connection – this is because the NTL Cable Modem did not have its own IP address – it simply forwarded traffic across the connection between it and the router, and applied something called MAC filtering which meant that only IP packets for my router could get through.

Both my ADSL Modem/Router and my Netgear router both provide their own firewalls and thus I am suffering from double NATting. My Netgear doesn't let you disable NAT and I haven't worked out how to configure my ADSL Modem/router to just be a Modem (Its a BT 210 Voyager). So I decided to splash out on a 5 port hardware switch off Ebay for a fiver.


Structured Blogging

May 19, 2006

So I'm new to Blogging. I'm a little bit old school in that I tend to scribble thoughts in a log book so that I can rein in what has been described as a 'Grasshopper Mind'. Yesterday I downloaded a podcast which discussed microformats and listened to it on my antique Create Zen jukebox. What appealed to me about that podcast was a real world example of ordinary people dealing with a common need for adding semantic structure in addition to the primary purpose of conveying information to human beings. The example was of a guy who received a Soccer fixture list in a PDF format – and then was forced to manually retype the information into his own schedule or calendar. This struck a chord with me. Especially when one of the contributors said he'd rather spend an hour writing code to do something rather than spend 20 minutes typing stuff in by hand.

So what I expect structured blogging to do is to make it easier for the blogger to add the required semantics as the entry is added to the blog. So for example if I'm adding a date and time which correspond to an event, and the tool I'm using makes it easier or as easy for me to enter this with the semantics then it will make it simple for a reader to extract the relevant information automatically without having to manually cut and paste. There are other ways in which tools could interpret this data, with potential for on the fly mashups of information applied by a suitable tool.


Microformats

May 19, 2006

A web page is constructed from discrete elements or modules. Current thinking appears to be to work directly with XHTML and add semantics as tag attributes to allow formatting to be separately specified in a Cascading Stylesheet (CSS). Further – rather than have authors create arbitrary class name attributes to link with a CSS the concept of Microformats is being shaped which allows the author to add semantic value to markup in a lightweight manner by predefining sets of class attributes according to common concepts.

If markup conforms to a predefined microformat then tools can interpret the content in a structured way.