« June 2006 | Main | August 2006 »
July 31, 2006
My projector has a photo-id
Have you ever tried reading a serial number sticker and wondered whether it's an S or a 5, a 0 or an O, a 1 or an I, a B or an 8? So have I! Most recently just an hour or two back when I was calling in to report our BenQ projector faulty (again!) and we went through the usual part number, serial number, phone number, postcode game and tried to find part and serial numbers their system would take. Actually, I think the letter identification business is a daily grind to them. "The text is very small - hard for me to read" I said. "Yes, we know" came a resigned, friendly voice.
In the end, my contact suggested that I email him a picture of the label. Now ... being an oldie who's used to film cameras, fuzzy focus at less that 3 feet, macro lenses and all the rest, I doubted whether I would be able to get him a readable image. But - my goodness - hasn't digital photography come forward?

Posted by gje at 04:31 PM | Comments (0)
More about Graham Ellis of Well House ConsultantsJuly 30, 2006
Heard, yes. Considered, no. The case for the train.
Last Friday brought the publication of the 'final' timetable for trains through Melksham from December 2006.
Regular readers to this column will know that I've been hosting a web site to retain the service at its current level (5 each way daily) or, better, to improve it to 8 a day. But the threat all along, and to be honest the most likely outcome once you got a stupid decision (IMHO) made by a Whitehall department was of just 2 a day. Alas, that's the outcome we have.
I set down my objectives at the start of the campaign to get the Melksham / TransWilts case heard and considered properly. I feel that, to date, I've scored 1 out of 2.
For sure, the case is being heard and the word Melksham no longer draws the comment "where on earth is THAT?" from the Railway Mandarins. I recognise First Great Western's MD and senior staff on site (and they recognise me), all four MPs who represent constituencies on the line spoke in Westminster on our behalf, to a transport minister who avoided the questions. The shadow transport secretary was here earlier this month to add his support, and I've been on Radio 4 a couple of times and even on BBC1 the other day.
But like I say, I've only scored 1 out of 2 so far. I came into this business late - after the initial decision had been taken and so it was at a point where any change would be embarrasing to the decision maker. I've tried to provide them with a neat "win-win" scenario, as more recent evidence that they initially used is now available, and shows a rapidly growing service. Alas, I have only scored 1 out of 2 though - as late as 20th June, Derek Twigg, minister at the Department for Transport sent me a letter quoting the same old (now very old) and discredited figures. So it remains that the case has not been considered properly.
Where now? There was a landmark court decision at the tail of last week too, concerning Open Access train operations. Basically, it leaves a much easier route open now for others to be invited in to run train services that aren't otherwise offered under a franchise. And I've learnt so much that I feel quite confident in the case that I've made. If First and the DfT won't consider, perhaps National Express, Great Central, Stagecoach, Arriva or another company of that type will ... and they'll see what an excellent little opportunity there is for them in our neck of the woods.
And I'm far from dis-spirited. Even if it comes to nothing, I've made some great friends, I've learnt a huge amount about railways and railway operation, I've met some senior politicians and actaully have a higher regard for them than I did even a few months back .... and I've had a lot of fun too. Of course, from the business side, our own contingency plans are well in place. With 40% of course delegates arriving by public transport, they need to be, and it's not going to be JUST making the best of a bad job. No - we'll turn the outcome, however it might be, into a positive.
And, by the way, never say "die" until the last trains' run. The Looe branch in Cornwall was just 2 weeks from closure under the Beeching plan when it was pulled back. That was 40 years ago.
Posted by gje at 07:14 PM | Comments (0)
July 29, 2006
Working on Weekend in Wiltshire and others
A refreshing breeze today .. thank goodness that the hot weather has broken a little. I've been coding with windows (HOUSE windows!) wide open, generalising out the wiki code that we've used for a while on the main site and was written as something of an experiment so that it can be much more used for a whole raft of other sites .. and it's surprising (and sometimes a little frustrating) as to how the hours just seem to melt away while such a job's being done.
Nothing to show you yet on here (and there's going to be so much graphics involved that the horse's mouth, already graphic intensive for this summer month of July) would be a REAL slow download, so I'll suggest you wait with baited breath.
Posted by gje at 07:43 PM | Comments (0)
July 28, 2006
Above the parapit, Well House Manor
I've not been 'going on' about the progress at Well House Manor, as the building projects of others can bore the living daylights out of me if mentioned frequently, and I'm sure that applies to you too. However, I will stick my neck above the parapit on the subject today and tell you it's going well, on schedule. A few surprises, but then I would be surprised if there had been nor surprises if you get me!
Talking about "above the parapit", we've got scaffolding up to one of the chimneys at the moment an that affordered a rare opportunity so see out side of Melksham from a high vantage point. Very impressive, but hard to capture in a picture. But here are some 'close' views looking at our new car prking area and drive out past 'the Cottage'. Can any of you delegates who stayed at "The Old Manor" recognise this, or have we transformed it beyond recognition?


Can any of you delegates who stayed at "The Old Manor" recognise this, or have we transformed it beyond recognition?
Posted by gje at 08:21 PM | Comments (0)
July 27, 2006
Time trickles like water through a sieve
"It's been one of those days" says an incoming email, and indeed it has. I'm seated here, approaching 8 O'Clock in the evening, wondering where the day has gone. And yet .. a whiteboard with a "to do" list on it has some re-assuring white patches so I must have achieved something ... even if I sit here trying to remember parts of what it was ....
Posted by gje at 05:37 PM | Comments (0)
July 25, 2006
Melksham Railway Calendar 2007
"Save The Train" - Pictures and captions for the TransWilts Train Calendar, 2007
January / February 2007

March / April 2007

May / June 2007

July / August 2007

September / October 2007

November / December 2007

In answer to First Great Western's request for public submissions of pictures for their 2007 calendar, I've entered each of the above. The pictures show and talk of a thriving service through a beautiful part of the country; we're hoping that's going to be the case in 2007 too, but it looks more than likely that the service will be withdrawn apart from a token train from Swindon just after 6 in the mnorning, and another that will get to our home town of Melksham at about quarter past 7 at night. See our save the train site for an update
Posted by gje at 05:30 PM | Comments (0)
July 24, 2006
Monday Morning at Well House Consultants Melksham
Sometimes, I wonder where my time goes in the morning! I'm writing today's entry just after 9 ... awaiting delegates for this week's Linux course, and I think to myself so what have Lisa and I DONE with the past four hours. It seems to have just trickled away ... and yet.
* I've taken a complete backup (including databases) of www.wellho.net
* I've met with a plumber to discuss the mains connection at Well House Manor
* Lisa has confirmed a private Apache/Tomcat course for 6 persons
* I have provided email advise on image upload in response to an email enquiry
* Lisa has confirmed availability of a place (provisional booking) for 2 public PHP courses
* I have confirmed availability of 4 other places for a delegate who's going to be learning MySQL and PHP with us
* Lisa has finalised plans to have our own central heating boiler replaced
* I have been working on a new look Wiki for a contract customer and for a new site we'll be launching soon too
* Lisa has edited the three custom manuals I need for this week, printed them, bound them and made up delegate pack.
* We have both tidied up the customer areas in our training centre
* I have worked on a press release relating to the "Save the Train Campaign"
* I have arranged to go to Bristol this evening to say "bye" to Harry and Nellie who return to South Africa in a couple of days
Oh - and I wished Lisa a "happy anniversary" We both nearly overlooked that one!
Typical Monday Morning in Melksham.
Customers just arriving ... I best go / give a course!
Posted by gje at 09:24 AM | Comments (1)
July 23, 2006
Minimal Signage
Anyone who's been to our training centre will know that we believe in minimal signage - not for us a whole raft of don't do this and don't do that posters .... mind you, there are some times that a sign is necessary.
Here's a picture taken at Longleat, about 10 miles from us. A loveely afternoon, and where better to have a cream tea than tucked down in the Cellar Restaurant. Did I say "down" - oh silly me - what an assumption to make ....
At Well House Manor, currently projected to be opening in early October, we're going to continue with our minimal signage policy. For sure, there'll be a clear sign telling you that you're in the right place at the gate, a direction arrow pointing you towards the parking, and one of those "you park your car here at your own risk" signs that have become almost mandatory these days. But really not very much else ...
After tea, anyone for tennis? What a spiffing idea, but mind the sign ....

To be fair to the folks at Longleat, let me tell you that the Cellar Restaurant is actually in the Cellar, and that there's no public tennis on that court ... I'm sure they've got really tired of being asked. And whilst I felt that their "you may NOT" conditions would have been shorter had they provides a "you MAY" list, they do at least have professional and consistently designed signage most of the way around. Anyhow ... a fun time was had by all, as they do NOT say "You may not make fun of our signs"
Posted by gje at 08:23 PM | Comments (0)
July 22, 2006
Melksham in Bloom
As part of our growing participation within the local community, we entered the front garden at our training centre into "Melksham in Bloom" ... and we've just been notified that our garden has been awarded second place in the "most unusual garden" category, and third in the prestigious and hard-fought "large front garden" class. Not bad for a new entrant!
Our garden's moved on a long way from 1999, when we moved here. In those days, the back was a jungle in which you could find buried car parts, the remains of what was probably a concrete airraid shelter, and brambles and nettles galor. The front was a tired section of lawn (in reallity, more of a moss carpet) that straggled into a worn out and rutted driveway that formed two long ponds in the wheel tracks in the slightest of rains.
Lisa and I don't have 'green fingers'; the transformation and ongoing maintainance work wouldn't have been possible without Christine and Jane who planned and oversaw the transformation, and Nigel of Gardenworks who comes by most weeks to keep it in order for us. Thank you - Nigel, Jane and Christine.

Customers who attend our public courses (PHP, Linux, Perl, Python etc) are welcome to wander around our gardens during breaks and after class.

Posted by gje at 12:06 PM | Comments (0)
July 21, 2006
A bad place for security firms
Tongue in cheek, our local locksmith describes Melksham as one of the worst possible places he could have chosen to set up his security business ... it's such a safe, low crime area that all the clever stuff that might be mandatory elsewhere just isn't needed here.
I was chatting with Harry, my son's father-in-law, the other day. He's visiting our part of the world for the first time and was commenting on how people around here leave things out "help yourself". I was a little surprised, but walking around Lacock yesterday afternoon I came across this sign (and others like it) and now I understand what he means.

It's hot already today, and our front door hangs open. No, I'm not worried about people just walking in. After all, this is Melksham!
But having written as I have above, I should point out that I can hear anyone who walks or drives up to our house so that they would be met at the door, and that we have appropriate security alarms built in and active. To give you a further clue ... for the new place, I have to look into data registration and how it relates to the CCTV system, and also how CCTV can be viewed via the internet. Relaxed, maybe ... but still secure.
Posted by gje at 09:25 AM | Comments (0)
July 20, 2006
What to do during a Linux build
I remember doing Solaris builds a decade ago ... hanging around for occasional questions or to change the tapes from volume 1 to 2, 2 to 3 .... the bad ole days. These days, the Linux distributions really have it sussed out; most questions are asked early on, then the majority of the build runs from DVD without interruption, when a few final questions are asked.
We were doing a build this afternoon and it was hot ... never one for the conventional, the course took a break of a couple of hours to see the Wiltshire countryside.

Bill closes a lock gate at Caen Hill, 4 miles from our training centre
Posted by gje at 07:23 PM | Comments (0)
Useful link: Linux training
July 19, 2006
Sales call
Unusually - VERY unusually - I'm making a sales visit to a prospective customer tomorrow.
We don't employ a sales rep as such - not a single one. Our staff are all our representatives and if you call us and speak to me, or Lisa or Leah or Christine or Charlotte ... that person will provide you with the information you need, or ensure that someone else gets back with you with a complete answer.
So what's happening tomorrow? A company in a nearby town has a whole raft of requirements, and a face to face meeting - a brief presentation by myself to a possee of managers, and a whole lot of listening to their requirements and seeing where we can (and cannot) help will save what could be a long series of phone calls and email exchanges. Question is though ... what support material totake with me?
We don't have a formal "brochure". Nor a company presentation folder. Yet I don't panic. Let's not try and show a special glossy face - let's show the real us. I'll have real training notes with me. I'll have the newsletters that we send out every six months, where most of our courses have been featured over the past year or two. I'll have plenty of pages printed off the web site - everything from "about us" through to technical specs, and I'll run off pages specific to their location too. And best of all, they'll get to meet the real tutor.
Posted by gje at 08:16 AM | Comments (0)
July 18, 2006
Telling large from small
"How do you tell a large plane from a small one?". A question asked of me yesterday, and alas such routine physical issues are very hard to explain from first principles, aren't they? I'm glad I'm not writing a dictionary!
"When viewed from a similar distance, a small plane subtends a smaller angle at the eye than a large plane, thus occupying less of the viewer's field of vision" was the best I could come up with. Alas, it seems I had mis-interpreted the question; we were standing at Bristol Airport awaiting a customer arriving from Aberdeen, and I commented that it would be a small plane. Of course, I couldn't see the plane at all; I just happen to know that Eastern Airways operate Jetstream 41 aircraft ... I've traveled with them to and from the Isle of Man.
Posted by gje at 07:58 AM | Comments (0)
July 17, 2006
Check your user is human. Have him retype a word in a graphic
Do you have trouble with automated programs completing forms on your websites and making cart loads of submissions? Or even just a few spammers submitting their betting ads, performance enhancing pill sites, and share purchase suggestions? And yet you don't want to have to have anyone who wants to use your site register.
Using what has become known as captcha technology, you can display a graphic with some text on what's basically a login page, then have your human user type that text back in. It's very difficult indeed for automata to recognise the text, and can be doubly so if you vary the background, change fonts between characters and change text colour, scale, rotation. Mind you, you can make it pretty tough for the human too.
You'll find captcha in use already on many big sites, and there are other sites that will host the service for you. Actually, if you've got PHP available and the GD module it's very easy to code it up from first principles and that gives you the ultimate of flexibility.
* Try my demo here
* Show source code of main demo
* Show source code of graphic generator
Posted by gje at 09:28 AM | Comments (0)
July 16, 2006
Melksham Carnival Parade
Every year, there's a carnival parade in Melksham .... and this year, we went along.

Crowds Gather before the Parade
Around 10 or a dozen floats passed us, and a number of other vehicles ... a long parade with many, many participants. Here's the WaneY Edge Cafe's float, styled on "Allo Allo". The Waney Edge cafe, on the Semington Road out of Melksham, is an excellent "Greasy Spoon". With the opening of the Seminston Bypass just over a year ago, casual passing trade must have dropped right off - thank goodness for their strong local reputation.

The Waney Edge float
As well as floats, there were a number of walking displays. It seemed to be quite a year for majorettes - here's one of the troops in front of the King's Arms in the High Street.

Melksham Carnival, Majorettes
At long last, the procession has passed and tired children can be taken home...

Would you like to see more pictures?
Posted by gje at 07:31 PM | Comments (0)
The Courts, Holt
Yesterday afternoon, we visited "The Courts" - an early Georgian House in the nearby village of Holt - with wonderful National Trust gardens are arboretum.
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
More pictures at the Save the Train website and also here on our Wiltshire pages
Posted by gje at 07:14 PM | Comments (0)
Not shouting
I'm NOT shouting about our Save the Train Campaign and asking for your support today. I understand that final negotiations are still taking place, and that political questions asked should be helping to ensure that our case is very well known to the decision makers. I have sent out a few updates on points of detail as appropriate, but now is not the time for a general campaign.
NEITHER am I shouting about Well House Manor and inviting bookings. It's too early. We took over on 1st June, and since then we've been involved in a major refurbishment and updating. We're about half way through and I know that our customers and local business who have their visitors stay with us will be delighted. But the thickness of tiles in the kitchen, the arrangement of light switches in the training room, and decisions on room numbering are pretty esoteric, and going on about them here would be guaranteed to bore.
Finally, I won't to on too much about the great day we had yesterday with our daughter-in-law's parents. It was a good - more than good - afternoon an evening, but somehow I feel that family snaps would again be off topic for this blog, and perhaps intrude in privacy.
Posted by gje at 06:19 PM | Comments (0)
July 15, 2006
undefined reference to typeinfo - C++ error message
There are some compiler and loader error messages that shout obviously as to their cause, but there are others that simply don't give the new user much of an indication as to what's really wrong. And most of those I get to know pretty quickly, so that I can whip around a room during a course, making suggestions to delegate to check for missing ; characters or double quotes, to check that they have used the right type of brackets for a list subscript and haven't unintentionally written a function call, etc.
Here's one of the more obscure messages from the Gnu C++ compiler - or rather from the loader:
g++ -o polygon shape.o circle.o square.o polygon.o
circle.o(.gnu.linkonce.r._ZTI6Circle+0x8): undefined reference to `typeinfo for Shape'
square.o(.gnu.linkonce.r._ZTI6Square+0x8): undefined reference to `typeinfo for Shape'
polygon.o(.gnu.linkonce.t._ZN5ShapeC2Ev+0x8): In function `Shape::Shape()':
: undefined reference to `vtable for Shape'
collect2: ld returned 1 exit status
And you can be scratching you head for hour over that one!
The error? shape.o contains a base class from which classes are derived in circle.o and square.o .. but virtual function(s) in shape's definition are missing null bodies.
The fix? You've got line(s) like
virtual float getarea() ;
that should read
virtual float getarea() {} ;
The complete (working) source code files for this example are available here
Posted by gje at 06:22 AM | Comments (1)
July 14, 2006
Simple polymorphism example - C++
I've been preparing some new C++ notes, in particular showing how you can create an array of objects of different derived types, and then call methods on each object and have the run time environment select which particular piece of code is to be run each time around a loop (experienced OO programmers will recognise this as a description of polymorphism)
So many of the textbooks seem to make what is (I admit) always quite a complex example even more complex ... to the extent that newcomers really can neither understand polymorphism nor how it works in C++; "fools rush in" as they say, and I have tried.
A base class of Shape gives rise to two derived classes - Circle and Square.
An application called Polygon sets up an array of Circles and Squares, and uses a getarea method to find the area of each.
This getarea method is defined as a virtual method in the base class, so that an array of shapes CAN be defined on which two different getarea methods can be run depending on which type of shape is the current one at the time.
Posted by gje at 05:15 PM | Comments (0)
July 12, 2006
Effective web campaign?
"but how effective have you been ..." asks a post on the "Save the Train" website for which I'm the webmaster. The site is dedicated to the Swindon to Westbury, Salisbury and Southampton train service that's under threat, in spite of dramatic traffic growth and much more potential.
Frankly, the question stung. And I felt a repost of "and where have YOU been, what have YOU done" coming on to my newcomer poster. But a minute or two to calm, and the question's one that we should be asking ourselves ... and it could be for all I know that my newbie poster has only just moved to the line's catchment area from somewhere far away.
When the "Save the Train" website was set up, the Swindon to Southampton service withdrawal was a line item on page 32 of an SRA report. The consultation period had already passed with none of us train users even knowing it was going on, and just 7 submissions had been made in its favour. A "did you know this is happening?" letter in the paper alerted us.
The objectives of the site were to get the case for the current service, or a forward-looking modification of it, very seriously considered based on substantive evidence, rather than having it just swept quietly under the carpet but some Whitehall Mandarin. At that stage, I did not know the economic case and I wasn't going to commit to recommending any particular decision.
What has been achieved, then?
Derek Twigg (Minister at DfT) is still trying to sweep it under the carpet. His 20th June letter to me refers back to a snapshot survey taken around Easter 2005 on which the original decision was based, and he makes no reference what so ever to any later reviews. And he makes it look very personal - " I was sorry to hear that the retimed services will be less convenient to him. I hope, though, he will understand that it is not always possible to satisfy all passengers with the train services they would like". He chooses to ignore traffic figures of 109,000 journeys per year, and pictures of packed trains to be cancelled from December that give lie to his argument.
BUT ... Derek Twigg and his DfT official, and their chosen service operators (the First group) HAVE had to listen to the case. The BBC's radio 4 interviewed Mr Twigg and asked him about the service (and he chose to talk about investment on the West Coast main line to 'answer' the questions). All 4 MPs with stations on the threatened section spoke in Westminster against plans and again, Mr Twigg had to listen and chose to talk about other issues instead in his reply. And I understand that they're very much aware of the continuing pressure, and disgusted at their decisions, through West and North Wiltshire.
As I write, it very much looks like the official policy remains "sweep it under the carpet", as it has been for the past year. My own view has changed over the year, though. As I've learnt so much about running trains, hire costs, timetabling, planning, capital cost, and politics, and more politics, I've moved from "don't know" about the future of the service to a conclusion that the current service of 5 trains a day is the MINIMUM acceptable in any reasoned argument, and that 8 trains a day is the optimum ... and that optimum is in a harsh economic environment. Take a "throw money in" attitude, and an hourly service is justified.
I'm pleased that we've made the case to this level. I'm delighted with all the support it's pulled in. Sure, I'm disappointed that I've not yet been able to post any sort of positive decisions based on hard facts.
Some wonderful side effects (and these also was back into the mainstream). The visit by the shadow transport secretary for transport augers very well for a change of policy, and services such as that through Melksham getting appropriate consideration under a Tory government, for example.
I choose my battles carefully, and this is one that I've chosen to be a part of with care - yet realising that chances of success were slim. Getting the government to change its mind was never going to be easy.
Could we have done more? Yes, if those of us who are involved didn't have other lives and could have been giving all our waking hours to the campaign. Yes, if we were good at putting ourselves forward - approaching officials as they walk up to their offices, raising awkward questions at council meetings, making "cold" phone calls. But everyone has their own skill and their own comfort level. And I do have to ask my original questioner "and how effective have YOU been, mate".
Posted by gje at 08:47 AM | Comments (0)
July 11, 2006
The case for exceptions
When you run a program, things can go wrong - run time errors. And no amount of coding by the programmer can prevent these things - it’s a user entering a string of text when a number’s required, a needed file having been deleted, or a network connection that’s broken that causes probems.
In traditional coding, it’s standard practise to check for as many of these errors as you can throughout your code, and this often results in a few lines of live code being wrapped in 4 or 5 times that number of lines of error checking ... which catch most but still not all of the errors that may occur.
Exceptions are provided in many modern OO languages - they’re in more recent C++ compilers, for example, as well as in languages like Python and Java. They let you write code where you don’t write the detail of checking for each possible error yourself - rather, you code for the working case and you enclose anything that may go wrong into a try block. Then you provide one or more catch blocks to set up actions that are to be taken if the try block failed to complete.
Great system; often less coding, and with a tendency to fail safe if error conditions that you’ve not explicitly coded for crop up.
Posted by gje at 06:14 AM | Comments (0)
July 10, 2006
References and Pointers in C++
I always know that when I'm running a C Course, the concept of pointers will be one of the more difficult elements for some of the delegates to grasp. No big deal, I can explain them in a number of ways, provide examples from different angle, and we'll be over the hiccough in progress in not too long a time. Pointers provide an exceptionally powerful capability, but C's an old language now and they're not exactly newbie-friendly.
You have C's pointers available in C++, but you also have references ...
* A Pointer is a variable the contains the address of another variable.
* A Reference is an alternative name that's assigned to a variable.
Thus, when you use a pointer, you need to prefix it with a "*" to mean "contents of" and to set it, you need to prefix it with "&" to mean address off, and that's simply not necessary with a reference.
Here's a sample from our C++ Course that displays data from an array using both the pointer way and the reference way:
int weights[] = {96,98,100,99,98,95};
for (int k=0; k < 6 ; k++) {
int &rWeight = weights[k];
int *pWeight = &weights[k];
cout << "rWeight " << rWeight << endl;
cout << "*pWeight " << *pWeight << endl << endl;
}
Do be careful - if you assign something to an existing reference, you're changing the value of the variable that it's aliased to and you're not making the reference point at something else .... but if you assign something to an existing pointer, you're changing what it points to.
Posted by gje at 08:17 AM | Comments (0)
July 09, 2006
Writing up new C / C++ notes.
There's something about leaving new training modules until I'm very close to the wire before writing them that helps me come up, efficiently, with quality material that I'm happy with for quite a while thereafter. And so it's been this weekend. I've been very much in the C / C++ arena in past years and I've a lot of background there (neither pointer nor objects scare me!), and I've taught a lot of C courses before. But, this is to be new material and I've had my nose to the grindstone churning out a linked series of examples over 8 new modules.
So ... my mouth is shorter than usual, not as long, and probably a little less coherent than usual; it' sbeen a l-o-n-g day. Tomorrow, just the notes that cover four of the 8 sets of examples to be written up; came to a half this evening, just a few minutes ago, on "pointers v references". I know right enough, but I know I won't get the words right at this time in the evening!
Posted by gje at 09:21 PM | Comments (0)
July 08, 2006
Busy day in Melksham
Yesterday, Chris Graying MP (shadow transport minister) and Michael Ancram QC MP (our local member) visited Melksham ... and specifically Melksham Station. Regular readers will know that our service is under threat of severe curtailment in December, and Chris and Michael came to support us and the campaign that's hosted on our web space at www.savethetrain.org.uk.

From Left - Chris Grayling, Michael Ancram, Graham Ellis, Margaret White (Mayor of Melksham)
Many, many others present too Superb interaction / discussion. VERY impressed by the MPs; clearly both very well prepared and knew their stuff. Cutting a long story short, everyone was in agreement that the proposed cut decision is flawed and daft. Swindon - Melksham - Southampton is a success story, with rapid traffic growth since this 5-a-day service replaced the 2-a-day service we had until 2001; ticket sales up 8 fold according to the office of the rail regulator, passenger now 32 per train according to figures supplied by First, the current operator.
Reasons / thoughts / actions discussed (that information appearing in detail on the "train site" over the next few days), but hinging largely on the Department for Transport trying to save money on smaller services while Network Rail runs away asking for billions for grandious schemes. The tragedy is that it would "only" cost 5 million to reverse ALL the cuts in the South West, insignificant beside the 28 Billion that Network Rail is now asking for. And the cuts are a short term expedient; as traffic grows, as it would IF the 5-a-day or 2-hourly service was provided, the economics of the service mean that it would end up carrying more and more passengers, for less and less subsidy. Without the trains, you're displacing 109,000 journeys per year to the car, to other "dogleg" routes with awkward changes at Bath, and to the local bus that doesn't even go where people want to go (Swindon, Salisbury, Southampton), nor even go to the station in Chippenham.
I swung by the station this morning just before the 09:15 to Southampton called. About a dozen people waiting, some with suitcases as if on a longer journey. Others with pushchair and kids in tow - perhaps going for a day out at the seaside? What a tragedy it would be if this is the last summer this can be done.
Posted by gje at 10:08 AM | Comments (0)
July 07, 2006
Remember a site's non-technical issues too
From the PHP course yesterday ... we came up with a list of extra considerations (beyond the narrow technical) for your PHP Web applications. Thought you might like to share the checklist ...
Search Engine Optimisation
Good URLs
Good Original Content
Links from / to other good sites
Clear HTML
Code to help search engines
Regular site updates
Using keywords
Providing ALT tags on images
Provide a robots.txt file
Commercial Matters
Do you WANT this data found?
Competitors
Moving old data out the way
Security
Domain Protection
Legal
Disability Discrimitation Act
Copyright
Libel
Decency
Racial hatred, incitement, etc
Privacy
Data Protection
Acceptable User Policy
Posted by gje at 12:47 AM | Comments (0)
July 06, 2006
Perl delegate - much more than just a delegate
I train many, many people in a year so I can't remember everyone ... but there's some people that make a huge impression, stick in the mind and are ne'er forgot. One such is Dan Butler, who flew in from the Netherlands for a Perl course in December 2002.
Dan writes "Unfortunately we suffered a tragedy in our life the year after I was with you. When our son Laurie was diagnosed and subsequently died of a very rare, children's cancer called Neuroblastoma. Crazily, I have volunteered to run in the London Marathon next year for the Neuroblastoma Society and need to raise money to do this. I guess you know how it works".
Dan, indeed I do. I wish you all the luck in the world at next year's Marathon. I'm delighted to point people towards your sponsorship page. I hope you reach your 10k target and beyond ... that money will be so valuable to those who are researching this condition, and those who are helping support people affected.
You can read more about Neuroblastoma here.
Posted by gje at 07:57 AM | Comments (1)
Useful link: Perl training
July 05, 2006
The Wilts and Berks Canal
The Wilts and Berks Canal was authorised by act of parliament in 1794, and officially opened throughout, from Semington on the Kennet and Avon Canal to Abingdon on the river Thames, on 10th September 1810. The engineer was Robert Whitworth, succeeded by his son William in 1799.
The canal proprietors foresaw their market as coal traffic from the Somerset coalfields and the Forest of Dean to Abingdon, and beyond to London and the Midlands. A second market was agricultural products from the countryside through which the canal passed to big cities such as Bristol and London.
In those days, the largest town near to the canal (from west to east) were:
Melksham - 5006
Chippenham - 3366
Calne - 3767
Wootton Bassett - 1244
Swindon - 1198
Wantage - 2339
Abingdon - 4356
The canal was 52 miles long, and rose from the Thames through 18 locks to a summit pound some 8.5 miles long through Swindon. It then dropped through a further 24 locks to Semington. Wantage, Calne and Chippenham were all on short branch canals; there were a further three locks on the Calne branch, but Wantage and Chippenham were both level.
The North Wilts canal, linking Swindon to the Thames and Severn Canal at Latton, was opened in 1819. It was 7 miles long, with 12 locks.
Locks were "narrow" - that is, they were 7 foot wide by 72 foot long, even though the Kennet and Avon, the Thames and Severn, and the River Thames could accommodate boats of twice that width at least. The greatest fall at a single lock was 10 foot 1 inch, at both Pewsham middle and bottom locks. Boats, which were all horse or donkey drawn from the towpath, could carry 25 to 30 tons of coal each.
The canal settled down to a moderate prosperity until around 1841 - at its peak in 1840, £24,000 was collected in tolls, but that had dropped to £6,900 by 1849 as competition from the Great Western Railway took away most of the business. The canal staggered on, and very occasional through traffic continued until the early 1901, when the Stanley Aquaduct over the river Marden, between Chippenham and Calne, failed and much of the canal was left dry. The canal was abandoned under an act of parliament dated 31st July 1914, and which point Coate Water reservoir in Swindon was transferred to the Borough and the rest of the lands released for sale.
Since abandonment the canal has gradually been taken over by nature. In many rural areas, restoration would be surprisingly easy, with little more than clearance needed. Towns such as Swindon and Melksham have been developed over the path of the canal, locks infilled with domestic rubbish and even blown up by the army for practise during the second world war. To the south of Swindon, the M4 motorway has been built across the canal and this would require major engineering for a re-opening. In towns such as Melksham, a new route would need to be found; many have been suggested and the current favoured option is along the river Avon through the town - but there is fierce local debate as to whether this would be a good idea; an alternative strategy to build a new canal to the east of the town would not, however, bring the benefit of the extra tourist business to the town.
Restoration work is underway already. From an inaugral meeting in October 1977, the Wilts and Berks Canal Amenity Group has grown into what is now the Wilts and Berks Canal Trust, committed to restoring the canal to its original condition. Some progress has been made already, but there's a long way to go yet. A target of completion by 2014 has been set, to allow us to celebrate the 100th anniversary of the abandonment with something much more positive - a full re-opening.
The Wilts and Berks Canal (it was always known as that - never as the Wiltshire and Berkshire) passed just a stone's throw from Well House Manor. As you walk from the hotel to the town centre, the road rises and falls to cross, at bridge height, the former path of the canal. Melksham wharf was located close by here. We've named our training and meeting rooms as "The Wilts Room" and "The Berks Room" in honour of the canal, its place in local history,and the hard work and aspirations for the future.
See also:
Wilts and Berks History
Robert and William Whitworth, engineers
The Wilts and Berks in Melksham
The reservoir at Coate Water
The canal at Calne
Further links (off site)
Posted by gje at 06:25 AM | Comments (0)
July 04, 2006
Is Java the right language to learn?
It's so important to make the correct learning and career choices, and as a parent I've watched and helped and guided, somewhat, my own children to the best of my ability. But in a fast changing world, it's hard to know what advise to give to a teenager ... or his concerned parents ... The following advise is carefully anonymised from an answer that I wrote recently - I thought it worth sharing. Any readers are very welcome to get back to me with queries, though of course I can't open the offer of a couple of hours to talk it through to the whole world and his dog.
"""We used to run public Java courses, but finding that many smaller organisations are using Java for the wrong reasons, we no longer do so. It's pretty soul destroying to teach something that's not really the right tool for the job it's been chosen for ...
Java DOES have its uses. We continue to run private courses in Java deployment (especially) and it Java programming occasionally. It's a great language for companies who need big all-encompassing systems, such as the big banks and (looking near to you) folks such as xxxxxxxx in xxxxxxxx. Typically, programming there is done by larger teams of staff working together, and much of the development may be subcontracted out of the UK; that's probably why the call is for deployment rather than programming training.
Having said that, experience of learning to write "real" code provides an excellent experience and avenue on to other systems and languages for smaller systems, and from languages that are used as glueware to connect other elements together. Once someone's learnt to program in one programming language, second and subsequent languages become easier to pick up, and the experience of knowing several approaches to the same issues does huge wonders. Code can be written really well in the eventual target language, and you've got someone who is much more valuable / employable that a "I only know xxxx" person.
Where am I headed?
If your son has an opportunity to learn Java, and a real specific interest in that language for some reason, good for him. It won't be wasted time / money invested although it's likely to be an indirect route to his final career unless he wants to work within a big team as one of the Vodafones of this world. At Well House Consultants, we can't help with a public Java course for him, but he would be welcome to view / print out / use our entire material which is online at
http://www.training-notes.co.uk
and use our forum at
http://www.opentalk.org.uk
to ask questions occasionally. Both of these are free of charge.
With your son's interest in Web technologies, and with many applications rushing headlong towards browser based from ends, web coding languages such as PHP and, within Microsoft's .NET / ASP setup, Javascript (NOT the same as Java) and VB would be my primary suggestions. Other useful languages in this arena might include Python and Perl - both niches to some extent. All of these are still areas where the supply of jobs outstrips the supply of good skills and is likely to continue to do so. It's also likely that
a) These jobs will NOT all go offshore as there's a great deal of customer interfacing at design and maintainance time
b) Your son will be able to see practical results from this coding / programming efforts really quickly and this will provide much better encouragement to him than seeing only the longer term potential of other "large system" languages.
We DO offer courses in PHP (but not VB and Javascript) and your son would be welcome to look at / contact us on those. He's still young, and he might find it better - both financially and logistically - to learn with from a source that teaches lessons on (say) a one day a week or part time basis while we continues to study at school / college too. I don't know the personal circumstances in detail, so this is just a general comment and may not be totally applicable. Whatever, he (or you) are very welcome to email back ... and if you feel you would both like to chat about it and it's worth popping down to us in Melksham, I would be happy to do a few demos and talk it through one evening. Again ... no charge. These are important decisions."""
Posted by gje at 02:59 PM | Comments (0)
Useful link: Java training
July 03, 2006
Strange housewarming
On Saturday evening, we were invited around to a house warming party that our new neighbours were holding ... or at least "House Warming" was what we were told. They moved in quite a while ago - before Christmas last year, in fact, and we've hardly seen them around - in fact I met 'her' just the once when I went round to introduce myself the day they moved in, and I met (it turned out to be) him on Friday, when I went down to talk with a load of gophers who were loading wooden packing crates onto a big truck on our driveway.
Well - it's the first housewarming party I've been to where you have to buy your own drinks (all of them, including even the first soft one (oops - I'll nip home and get some cash)) and then there was the raffle (more cash). The lady selling tickets was rather confused when I asked her what the raffle was in aid of, but all started to twig when it turned out to be "Church funds" ... we had really been invited along to help swell the ranks and raise money for the local Catholic Church. And perhaps for damage limitation, having got a marquee that was too big, then having to walk all over us (or rather drive all over us) to have access to their own home / the party venue.
Still, an interesting evening. An aggressive lady on the pig roast who helped remind me how NOT to treat customers. A good time chatting with our other neighbours with who we formed a bit of a clique. That's how it goes at parties, isn't it, and with one brave exception 'the Catholics' did certainly NOT want to mix! And I'm getting much more mellow these days and was just laughing off the folks walking around our garden and picking things. In fact, we can take that as quite a compliment.
A long evening ... we drifted off to sleep very late indeed (or rather in the early hours) once the country singer had wound down and the final guests were headed out.
Posted by gje at 06:40 AM | Comments (0)
July 02, 2006
Shadow Transport Minister to visit Melksham
Chris Grayling, the shadow transport spokesman, will be meeting local MP Michael Ancram at Melksham station on Friday, 7th July at 11 a.m. Don't quite know how we managed to get that much attention, but it could be a fabulous help in our battle to save the train .... this post is adaped from a press release which carried on (Below the picture of Melksham Station):

Train services to Melksham are due to be slashed by 60% in December, in spite of a growth in ticket sales from 3,000 to 27,000 per annum in just five years. The Department for Transport who are behind the cuts quote average train use figures of just 12 passengers per train - that's from a very short snapshot survey around Easter last year which is statistically inadequate. First group quote figures of 109,000 journeys per year which works out at 32 passengers per train, and matches up with my personal but unscientific observations, and the 27,000 ticket sales since we estimate that for every passenger who leaves or joins, 3 stay on.
All are welcome (press very much welcomed) next Friday, and run-up publicity welcomed too.
I live and work in Melksham and run the web site http://www.savethetrain.org.uk which has many more details.
Finally, we've a web page at here which everyone is welcome to use to email their views to the decision makers.
So, Geeks, friends, family, others ... PLEASE follow that link you've just skipped past in the last paragraph, and email someone on behalf of the train, and PLEASE come along next Friday if that's at all possible!
Posted by gje at 02:54 PM | Comments (0)
Hot answers in PHP
We've got a lot - a LOT of demonstrations and source code on our site. Here are a few of the most popular ones all brought together in a single listing. Enjoy ...
Searching - how similar are two words? - try about source
Does a particular URL exist? - try source
Uploading an image to a database - try about source
Thumbnail generator and viewer - try source
Using a PHP application and Frames to navigate a directory structure - try source about
Area unit conversion program - try source
Different images depending on time of day - try source
Web page spell checker - try source about
Exchange rate conversion using current rates from European Central Bank - try source
4 layer model - writing a MAINTAINABLE application in PHP - try source
Sudoku script - solves puzzles for you - try source
Email traffic graphs - try source
Using a database to hold an image library - try source about
Seeing where current web site visitors are browsing - try
Checking up on various servers - try source about
Shared information system - try about
Most looked for language on our site - try about source
You are welcome to learn from all the source codes, to adapt and adopt. Links back would be appreciated. Please note that its up to you to ensure that our sample source does what you require on your own web site, and doesn't have any unwanted side effects (sorry about the need for a legal disclaimer!)
See also my Hot answers to MySQL questions.
Posted by gje at 05:35 AM | Comments (0)
Useful link: PHP training
July 01, 2006
New - Conditional expressions in Python 2.5
Python has always been described as a "tight" language in that new syntaxes are only added with a great deal of thought, and then only if they provide a significant benefit without diluting the crispness of the language.
There have been long discussions in the Python world about adding in a conditional operator - something that gives and easier form to an if / else construct that's used only to set a variable to one of two alternative values. Now, in release 2.5 which went out to Beta release in the last few days, such a facility has been added.
Suppose you have a variable called stock_level and you want to set up another variable (for output) with the word "is" or "are" in it, depending on whether the stock level is 1 or something else, you can write (as from Python 2.5):
word = "is" if stock_level == 1 else "are"
which is much shorter that the alternative so far available:
if stock_level == 1:
word = "is"
else:
word = "are"
For anyone with a Perl, PHP, C or Java backgrond, this new syntax is the moral equivalent of the ? : operator. After long discussion, Guido van Rossum decided for the syntax shown above ... amongst the reasons for this surprising choice are the fact that the ":" character is already very significant in Python and although the syntax rules would have allowed Python to follow the other languages, resultant code would not have been clear and easy to follow.
Posted by gje at 07:39 AM | Comments (0)
Useful link: Python training








