« November 2009 | Main | January 2010 »
December 31, 2009
Rail Campaign - response to core consultation
Melksham Railway Development Group - Response to Wiltshire Council's Core Strategy Consultation, December 2009
Associated maps
Base map - current and approved http://www.melkshamchamber.org.uk/MelkshamCoreNow.pdf
Base map - First Draft - where we may be going http://www.melkshamchamber.org.uk/MelkshamCoreDraft.pdf
[others to be added shortly]
This response prepared by Graham Ellis, in his role of vice chair of the Melksham Railway Development Group, to represent the views of current and potential public transport users to, from and within Melksham.
Although the author personally endorses the views and suggestions within this document, it should be noted that they have been formed with and reflect the inputs of many people, including but not limited to:
* x - Chairman of Melksham Railway Development Group
* x - Secretary of Melksham Railway Development Group
* Other members of MRDG (special thanks to John Hamley), including past mayor of Melksham
* x - Secretary of West Wilts Rail Users Group
* Supporters of the campaign for an appropriate TransWilts train service - see list of the 750 names at http://www.transwilts.org.uk/sf.html
* Fellow administrators x and x on the First Great Western Coffee Shop (http://www.firstgreatwestern.info/coffeeshop/) and an especial "thank you" to transport industry professionals there who have helped ensure that proposals are cost effective and practical.
* Other Railway Industry Professionals with whom we have been in contact
* Melksham Climate Friendly Group
There is an overwhelming concensus within and between the above group of people with regard to the direction and content of this submission, though you may find a difference of emphasis in any responses submitted by other groups outside the Melksham Railway Development Group
Overview of response to core strategy - from a Melksham viewpoint.
The Core Strategy proposes (in its headline) that major growth in Wiltshire be concentrated on Salisbury, Trowbridge and Chippenham, with much more limited growth in "Market Towns" of which Melksham is the largest by quite a way, and very little additional housing, employment and facilities in smaller settlements and the countryside. However, there is already more additional housing authorised / being built in Melksham ... ((see response from Melksham Chamber of Commerce which fills much of this in))
Which model is proposed for Melksham by the Wiltshire Council's actions and documents?
The headline proposals suggests "Market Town", depriving Melksham of the strategic backing necessary to develop as a complete community.
Current house builds, with more to come, indicate a satellite or dormitary town, with (at present) not a great deal of employment / industrial growth going on.
Detailed plans, under the current consultation's headline proposals, show significant areas of land for business / commercial / industrial development, and also for residential. It is noted that those are maked as POTENTIAL sites, though, with different maps showing subtle differences, and some of the areas probably being impractical to be developed. There are also opportunities / areas where further housing or commercial building would (subject to further investigation) be practical and help us work towards a sustainable, intelligently urbanised environment which do not appear to have been fully considered.
What does the current population of Melksham want to happen?
Both the Town Council and the Parish Council of Melksham Without come down very strongly indeed in favour of economic and commercial growth - (e.g. recent public planning meetings concerning the core strategy and Countrywide Farmers, also town regeneration meetings). Melksham Chamber of Commerce, and also liaising with other larger businesses based in the town who are members of the Wessex Association of Chambers are also strongly in favour of such economic and commercial growth, and with appropriate housing growth for employees who wish to be able to live in Melksham too, reducing commutes and having reduced footprint / more sustainable transport. There was little / no appetite to try to stay static, supporting services on a lessening proportion of the Wiltshire population as time goes by and other grow.
That means that the current population of Melksham, via its representatives, is saying "yes, we want to grow similarly to Chippenham and Trowbridge too - that's the direction for Melksham. We do NOT want to have jobs / commerce leached from (or drifting from the town), with businesses as they expand being told that they'll have to move to grow".
A conversation between myself (Graham Ellis) and Jim Sherry (Wiltshire Council), standing in a cold caravan that was parked in the Market Place in Melksham on 26th November, clarified the view:
Jim: "But to be a [model A] town, you would need to have the housing and business growth in the same way as Trowbridge and Chippenham - do you really want that?"
Graham: "We already have more housing growth, and yes, the town does want the business too".
My evidence? At that point, we had 2 votes on the Chamber of Commerce's web site poll to back up Jim's recommendation to get Countrywide to move to another town, and over 60 votes against Jim's recommendation - calling instead for Countrywide to be allowed to stay as the employment on their site develops.
A little more detail
Resources
Melksham has a number of great resources and opportunities.
1. Land suitable for further expansion of industrial / employment opportunities as an expansion from the current Bowerhill Industrial Area across to the A350 "Semington Bypass" and further to the old Semington Road and perhaps to the south of Berryfield.
2. Areas to the East and North East of the town suitable for residential development
3. An excellent link (the A350) to the main dual carriageway network; the earthworks / bridges are already in place around Chippenham for a strengthening of this link to the M4 motorway.
4. An area to the North West of the river / South East of the railway line which already includes a wide variety of more affordable homes, industry, and retail, but with land and (re)development potential
5. A railway station and rail infrastructure with land in the local authority's ownership that is on area (4) and is suitable for development into a transport hub, being close to the A350 through which most traffic and public transport passes
6. Additional land above flood level to the North of current development but to the South of Beanacre, taking in the railway and A350 roads and with good connections to them.
7. Land to the West of the A350 Semington bypass and to the south of the A365 Devizes Road - between the town and the industrial area of Bowerhill.
Vision
a) A growing Bowerhill Industrial area - allowing some of the innovative companies we already have there to expand and encouraging more into the area. This area has / will have good infrastructure links onto the A350.
b) Growing residential areas as already authorise to the East, with potential further expansion to the North East (already marked as possible), for those who are looking for a suburban lifestyle
c) Mixed development in the area from the river to the station and beyond - closer housing for those who wish for a more urban / less car intensive style of living, with good links to public transport and well within walking and cycling distance of a wide range of shops and other facilities.
d) A wide variety of independent shops and eateries to be encouraged for Melksham town centre, capitalising on the existing businesses that do well and setting Melksham apart from other towns around. With the town centre merging with the mixed development area (c), there is scope for waterside development such as cafes and housing if / as / when land were to become available.
e) A new leisure complex to the south of the A365 / East of A350 - to include multiscreen cinema, sports facilities, drive through, restaurant; facilities to be such as to attract customers from neighbouring towns that lack such facilities, or where such facilities are being outgrown / in need of replacement.
f) An updated public transport integrated network that offers a "carrot" to people to use such a network. Existing bus services that pass through the town would have minor amendments to their routes to take in key developments rather than just having "Melksham" as a calling point on their routes as they pass through. Rail service raised to the level proposed by Wiltshire Council as appropriate (hourly each way) and validated by the Greater Western Route Utilisation Strategy. Rail station / Wiltshire Council land there used as a transport hub; the station is uniquely placed in North/ West Wiltshire as being close to a trunk road as well as the expanding / to expand North Melksham area.
g) Retaining some "green belt" and leisure areas - the potential to build on the land to the south of the A365 and to the west of Mallory Close has been heavily criticised by people I have spoken with, as has the proposal to build houses on a narrow strip of land behind from Snowberry lane leading behind the Spa towards Melksham Oak. The Conigre Mead Nature Reserve should be preserved (though the river alongside may be made navigable), also various other areas such as the King George V area, and the green 'strip' out along the course of the Clacker's brook. These green areas can provide suitable through routes for cyclists
h) Re-arrange parking in Melksham's town centre to encourage daytime "pop in" use and to limit congestion. That means re-arranging current parking fees so that car parks which have an access congestion issue encourage long term parking, and those which are easily accessed yet close to the town centre have a higher turnover
How would that fit into county plans / the wider Wiltshire?
Remarkably well, it would appear. And indeed many of the proposals in the vision above are in the core strategy in detail, even if they are not in the headlines. With the adjustments suggested above, which have the broad support of the members of the Melksham Community who have given this consideration, we'll be moving forward to a vibrant largely self-sustaining community with reduced commuting needs (though both public and private transport improvements will make outward - and inward - commuting much easier). However, with Melksham going forward just maintaining a "status quo", we would be moving towards a town that would stagnate - more empty shop fronts, higher unemployment and less affluence, with all the associated problems that would bring.
A very high (and growing) proportion of Wiltshire's population is on what has become known as the "A350 Corridor" - Chippenham, Melksham, Trowbridge and Westbury, and these towns are all within a few miles of each other. People require to be able to travel easily between these centres - not just to and from Melksham - and the provision of an appropriate TransWilts train service (Wiltshire Council has already define that as hourly each way) will be significant for Chippenham and Trowbridge too. I noted at the public consultation in Chippenham that that there were public responses calling for improved train services to Trowbridge and Salisbury. From Trowbridge, rail offers the possibility of 18 minutes to the centre of Chippenham, and 32 minutes to Swindon.
Provisional local changes / transport development
Potentially too much detail at this stage, but connecting both within Melksham and to neighboring areas, the following bus routes (changes shown based on existing route numbers) would provide intelligent integration of transport within the community, and linking on to other communities.
Bus Routes
14: Melksham Oak - Hornchurch - Pilot - Village Hall - Christie Miller - Knorre Bremse - Great Bear - Leisure Complex - Kenilworth Road - Town Centre - Avonside - Asda - Station - Leekes - North Melksham - Station - Asda - Avonside - Town Centre (Library) - Methuen Avenue - Pig and Whistle - Savernake - Ingram - Queensway - Snowberry / new housing - Spa - Melksham Oak
234/x34: (From Trowbridge)- Semington - Police Station - Berryfield - Leisure Complex - West End - Town Centre - Avonside - Asda - Station - Leekes - Beanacre - (to Lacock, Notton and Chippenham)
237: (From Seend?) Melksham Oak - Spa - Snowberry - new Housing - Sandridge Road - Queensway - Pembroke Road - Town Centre - Asda - Station - Broughton Gifford - Holt - (to Staverton and Trowbridge)
272/273/x72: (From Bath) - Atworth - Whitley - Shaw - North Melksham - Station - Asda - Avonside - Town Centre - Hospital - Leisure Complex - Bowerhill (Current route) - Melksham Oak - Sells Green - (to Devizes)
Route 237 to operate hourly; all other routes to operate every half hour. Note - these are initial draft frequencies. There is an argument for the 237 to start half hourly, and for extra (fill in) services to increase the other routes / all routes to every 15 minutes. Up to a certain point in public transport provision, if you increas the service you'll get more extra customers PER SERViCE - i.e. double the service, more than double the customers. Study needed, but rule of thumb says a journey of x minutes reaches its optimum usage per service if it runs every x minutes - so a 15 minute journey should run every 15 minutes, but a bus every 30 minutes to Bath, 30 miutes away, is enough provided that the bus has the capacity.
Route 14 may be a circular route or may run in alternate directions. Extra resources needed - one vehicle (route 237 / extension / extra frequency) not budgetted and one vehicle route 14 / can be the Asda / section 106 agreement service. Need to ensure that the 234 and 272 routes run half hourly with interchangable tickets, and NOT 2 buses an hour, 3 minutes apart, non-interchangable as at present. Timing need to connect with trains at station.
Road changes required by buses
These routes would also require the link road from Bowerhill to the A350 to be completed, the link from the station to North Melksham (McDonalds) and a bus gate (but why just limit it to buses?) from Heather Avenue to Dorset Crescent (50m / already tarmaced)
Cycleways
The National Route 4 passes along the Kennet and Avon Canal, and also through Melksham from South to North, but much of the latter is on road. A new route from the town centre South is suggested.
1. Market Square - existing path to King's Street Car Park - back of current car park to old Wilts and Berks Canal line (between Spa Court and West End) - Wilts and Berks Canal line over Waverley Gardens to Longford Road - along to Conway Crestent and via new cut-through connect to existin cycle path / footpath at A365. Existing crossing, then existing public footpath through what will become leisure area to Shail's lane, onward past edge of current playing fields and through fields to Kennet and Avon Canal.
2. Branch from 1. across the Bowerhill Industrial Area to Halifax Road (Bowerhill)
3. From "The Pilot" on Bowerhill via green section along Bowerhill's spine and out to A365 to link up with existing cycle route there, utilising crossing at Wellington Drive.
4. From the A350 / B3107 roundabout (Asda / Countrywide farmers) over the Avon bridge (current path over bridge) the past Melksham Cemetry and using exiting wide footpath to Laburnum Drive. Via Hornbeam Crescent to Semington Road, Cross into Longford Road to join up with (1).
5. From Conway Crescent (Routes 1 and 4). Nwe bridge over brook to existing fotpath behind Burnet Close, link in to Speedwell Close. Follow Speedwell close and then footpatgh out to Spa Road to join existing Sustrans route opposite entrance to "The Spa".
6. From A350/ B3017 junction (route no. 4) beside the A350 to the underpass to the station. Beyond the station through alongside new road to Spencer's Gate and North Melksham to join existing cycle way
7. From King George's Playing fields (Link to riverside walk / town centre/ existing route to Melksham North across the river) along Clacker's brook (existing foot route) out to new Melksham East Developments
Additional Walking Routes
The proposed cycle routes also cater for people using walking as a means of getting from one point to another.
Additional footpaths of note include the Riverside walk (from the Town Bridge to Melksham Cemetry, with a branch into the Churchayard and Church Street. It is not proposed to turn this section of the Riverside Walk into a cycle path.
Posted by gje at 02:40 PM | Comments (0)
Related topics: via article database
More about Graham Ellis of Well House Consultants
December 30, 2009
Railway Station Survey - please complete today or tomorrow
What does your railway station lack? What will it need to help it cope and remain fit for purpose over the next 10 years? Should a whole shopping experience be built at your station, encouraging people to use the facilities even if not trvelling, or are there more basic things needed like better information about the services that are on offer?
Very late in the day (36 hours till it closes, to be exact!) I have been pointed at a Network Rail survey that's asking for input on this subject. Please - if you ever travel by train (or are likely to do so), especially if you know / use Melksham station, please complete the survey. Thank You.
Further discussion [here] and [here]
Posted by gje at 11:08 AM | Comments (0)
Related topics: via article database
December 29, 2009
Bookkeeping
It's incredible just how much time bookkeeping takes - small adjustments to the various resources we have, tidying up modules that are no longer relevant and pointing any visitors at replacements. There' been a lot of that going on over the last couple of days ... for example:
1. I have deleted two Lua modules from our training courses. They were the original Lua modules, and have now been superceeded by a complete set of modules through which we can teach Learning to Program in Lua or Lua Programming. Here's a line that I've added to the .htaccess file to send anyone who's looking for the old A350 module to the nearest alternative - U050:
RewriteRule ^[aA]350.htm http://www.wellho.net/resources/U050.html [R=301,NC,L]
Options on the rewrite:
R=301 - send out a 'permanent redirect' status, no. 301
NC - No Cache
L - Last - i.e. do not continue on to apply any more rewrite rules
2. I have consolidated two generic XML modules into one - [here]. That's not to say that our XML coverage is limited, but rather we teach XML through and within the languages and technologies within which we use it ... so you'll find resources on Perl and XML, including PHP, XML and XSLT, on Python and XML, etc, elsewhere on the web site, indexed with the relevant courses. You'll find other snippets too - such as a reference to Magpierss and how we use it [here].
3. I have added in a new subject tag (pseudo module) to cover the dog and cat; a lot of posts about the dog since we got her; there are a number of doggie people who want to follow her fortunes which they can do [here], and there are other for whom, frankly, she's not why they're reading this site.
There have also been a few opportunities to get out / get some fresh air / help rechange the batteries ready for next year's training schedule, which starts with an Apache httpd / Tomcat deployment course on 7th January. The picture at the head of this article is of the Wilts and Berks Canal, taken at Wootton Bassett .. and there are more pictures here.
P.S. Did you realise that "Bookkeeping" - the subject of this item - is one of the few English words with three double letters next to each other. Quote appropriate, then, that the picture is of Wootton Bassett which also has a lot of doubles.
Posted by gje at 08:49 AM | Comments (0)
Related topics: via article database
December 28, 2009
Adding retrospective ALT attributes to IMG
You'll find this is article number 2554 on this blog ... with article number 1 written as long ago as 5th August 2004. I didn't plan that I would still be writing five years later (I thought, to be frank, that I would run out of things to say in a few weeks), nor did I properly anticipate the amount of traffic that would arrive at our web site through the archives.
Hindsight is marvellous, and with hindsight I would have included "alt" attributes with each image. That is so that the search engines know what the pictures show, and so that users for whom graphics are not suitable are offered an alternative. But I didn't start off with such attributes and, thousands of posts later, they're difficult to go back and add. However, in the intervening time I have also moved on to hold newly added images in a database, and as well as the data, each row includes a description which *has* been updated over the years to say what the picture's about.
So the archives - which you can access via our archive pages or via our global index - will not include that alternative text tag - going right back through all the images that are in the database.
The code is in PHP, of course ... and the "headline code" that's within the archive generator is as short as:
$ret = preg_replace('/<img\s+(.*?)>/e',
"'<img '.add_alt('\\1').'>'",
$row[entry_text]);
That, though, is just a half of the story - the add_alt function that is called on each match looks something like this:
function add_alt($attribs) {
if (preg_match('!alt=!',$attribs)) {
$rval = $attribs;
} else {
if (preg_match('!src="?http://www.wellho.net/pix/(\S+)!',$attribs,$matches)) {
$name = trim($matches[1],'"');
$rs = @mysql_query ("select filename, descriptor from im_library where filename = \"$name\"");
$dbk = @mysql_fetch_assoc($rs);
$nst = "";
if ($dbk) {$nst = htmlspecialchars($dbk[descriptor]);}
$rval = "$attribs alt=\"$nst\"";
} else {
$rval = $attribs;
}
}
return ($rval);
}
If you're wondering what on earth the picture at teh top of this article is, and you view source on my daily blog ... you won't be given much of a clue. But if you have a look at the archive here, then the ALT tag will give you, and the search engines, the clues you're likely to be seeking.
Is it still worthwhile, five years on, me writing these tecnical tips? Yes ... I have just been reviewing my user feedback and here are some of the recent unedited comments made:
REALLY A FANTASTIC ARTICLE
Very good explainaiton. Simple and to the point..
Well,it is working good,Thanks for your great work... Thanks Ramakrishnan
I really got helped. These are pure basics of joining which are base of database.
perfect explanation. I can't believe it's that easy. Thank you!
Thanks a lot for the info.Really recommandable job done.
Posted by gje at 06:19 AM | Comments (0)
Related topics: via article database
December 27, 2009
On a short walk from home




The days of the Christmas Holiday, with no courses to give, are a chance to catch up with family and friends, to catch up with sleep, to catch up with paperwork ... and also to take things just a little easier. For me, that really does NOT mean sitting in front of the TV; this year, with a dog at heel, it's been an opportunity to explore a few new places that are really close by, and to revisit and update on some old ones. All of the pictures above are taken just a short walk from home.
P.S. I must have added "alt" tags to 200 pictures in the last couple of hours ... this helps the search engines find out what the picture illustrates, and is a requirement of the HTML standard ... see here here here here here here here here here and here!
Posted by gje at 08:18 AM | Comments (0)
Related topics: via article database
December 26, 2009
Web site traffic - real users, or just noise?
It's been said that on some web sites these days, the majority of traffic isn't users at a regular browser at all; instead, it's robots that are indexing the page (such as Google, Yahoo, MSN, Yandex and others), and malware that's looking for holes through which to inject content on to other people's pages, or to copy and spread itself through sites which have left some security gatyes open. Now - we welcome the indexing crawlers, and we take steps to ensure that malware is ineffective, but when it comes down to it we really DO want a significant proportion of our traffic to be real people visiting our site! But how can we tell?
We collect a daily access log file; these days, it can be up to 45 Mbytes of log information per day, and that's far too much information to read through line by line. In any case, judgments on some of the lines would be "that is probably a genuine user" or "that looks rather fishy", which are hardly certainties on which to base a judgment. However, this graph, showing the size of the log file on a day by day basis gives us a very good clue. As I write (December, 2009), there's a 7 day cycle, with the log files on a busy day reaching the 45 Mbytes mark, and on a quiet day being around 25 Mbytes. This pattern has been long since established - indeed, I commenton on in in June 2007.
Looking at the difference - 45 Mb to 25 Mb - persuaded me that at least 20 Mb of our weekday traffic was "actual people" browsing, and in fact I decided that was a very pessimistic estimate. More and more, visitors to our site are using the technologies I write about for leisure activities, so will be arriving on our site at the weekend rather than during the week, and the noticeable dip on Fridays is, I'm sure, partly caused by the fact that Friday is a Holy day in many countries, from where people will return on Saturday and Sunday (Friday is also P.O.E.T.S. day (see Acronyms)). But just how much of that 25 Mb is actual people?
There's a clue here in this current graph, dated 26th December 2009. [This one won't change, but the one at the top of the page will continue to update daily!] On Christmas day, the log file size dropped to just over 15 Mbytes; the server was functioning correctly (so there's no reason for a blip there), but it *was* Christmas day. So I can now be more optimistic yet about the number of "actual people" browsing - suggesting that there's up to 30 Mbytes of traffic from such users on a busy day, with only a third of the traffic being robotic / malware.
Looking further still, there was still *some* genuine traffic in that 15 Mbytes on Christmas day. I took a look at our most popular search engine arrival page, and found that some 197 people had been referred to us (as against a peak of around 980), and that one particular image called up by regular users was referenced 1600 times rather that 4800 times two weeks previously. To that tells that even in the 15 Mb, we had around a quarter of our regular real traffic - in round terms, between 7 Mb and 8 Mb of log file. Which - very roughly - tells me that the automata that are running 24 x 7 account for only 6 Mb to 9 Mb of our normal traffic.
So - that's an estimate of just 16% to 20% of weekday traffic, and 24% to 36% of our weekend traffic, being the 24 x 7 background noise, with the substantial majority being the traffic at which we target the web site. I'm happy with these stats, having seen figures of up to 80% "noise" being quoted. We MIGHT have exceeded the 50% figure on just one day - Christmas day - but that's been more than worthwhile; it was our "almost off" day, and it give me valuable data against which to analyse our site records.
RSS feeds and Ajax form only a very small part of the traffic from our web site, and I have discounted them from consideration above. But if you use similar techniques / logic to me, you need to think carefully and understand your base data before coming to conclusions.
Posted by gje at 04:03 PM | Comments (0)
Related topics: via article database
Perl and the Common Gateway Interface - out of fashion but still very useful?
Is the Common Gateway Interface dead? No - it isn't; although my first choice for a new web application these days would be something else (PHP, Java with Servlets, JSPs or a derivative, Python with Django, Ruby with Rails ...), there are often times that I'll have a bit of code that I've run away from the web and I want to run it on-line - and quickly wrapping the code with some CGI stuff will get it available fast.
With CGI, you can take code that's running in any language that your web server supports, and with careful use of the STDIN (a.k.a. pseudo keyboard inputs), environment variables, and (occasionally) command line inputs, you can feel the code with input data as if it was running from the command line. For output, you simply write your code as if you're outputting to the screen / window in a command line based application, and your web server will route that output back to the browser.
I've taken the code from my previous entry here, that looked for a Christmas *something* in all the various railway station names, and put in on line [here]. Easy - or rather fairly easy. In practice, there's a need to add a lot of user documentation, to take away the interaction as all data is fed in at the start, to check that the users have made sensible inputs and to secure the script against people trying to hack in to the server using it, so the code ends up a bit longer that you might have expected. See [here].
We're still covering CGI as part of our Using Perl on the Web course ... and that's a follow on from our Perl Programming course where you can learn the basics.
Posted by gje at 09:57 AM | Comments (0)
Related topics: via article database
Useful link: Perl training
Do not copy and paste code - there are much better ways
If you find yourself using copy and paste to duplicate a piece of code, take a step back and think again. You're doubling your maintenance work, with two separate sets of code to look after and keep in step from that day forwards.
Are you going to give me the "but I have to change one copy a bit" excuse? Please don't ... in identifying which bits need changing, you have identified the parameters for a named block of code ... which will be known as a sub / subroutine / function / macro / method / procedure / command depending on which language you're writing in.
There's an example in [this bit of code] which I wrote yesterday in Perl, looking for Christmas topics within place names (Well - as someone else said ... "the programs on the TV weren't worth watching") ...
And if you want to try the code out, there's a web based derivative [here]. Enjoy!
Posted by gje at 09:47 AM | Comments (0)
Related topics: via article database
December 25, 2009
Christmas Day ...
... in pictures





Posted by gje at 04:39 PM | Comments (0)
Related topics: via article database
December 24, 2009
Ten years ago, we moved to Melksham Spa
"We must get in by Christmas". Thus it was, ten years ago today, that we formerly moved into No 404, The Spa, in Melksham.
Melksham's Spa houses were built in 1814 (or 1813 or 1815, depending on your source), for visitors coming to take the waters in two newly discovered springs. They're four story buildings with grand, tall Georgian tradition rooms - three blocks, each comprising two semidetached dwellings, on a slight curve, they were going to form a crescent, but the other three never got built.
When we bought No. 404i in August 1999, the most southerly of the six, it was uninhabitable. After many years of decay and neglect, it was a restoration project that had been taken on, a year to 18 months earlier, by a couple who had started work on the project, but then had unexpectedly inherited their family pile and it had become surplus to their requirements. So the roof had been redone (thank goodness!) and other starts had been made - all the plumbing, both incoming and outgoing, had been ripped out save for a lead pipe coming in from the attached house that provided the only water supply to what was then a single tap.
Autumn storms showed us that we had drainage issues ... and I still recall standing outside in the pouring rain and bailing, and I also recall having several inches of water in what is now the print room where our manuals are produced. Several rooms - the room under the steps to the formal, first floor entrance, and the room that's now the "customer loo" had also had dampness problems, and the solution employed by a previous owner had been simply to build a further room within the room. The customer loo had no less that three ceilings, each collapsing onto the one below it, and above the top one was a very mature bee's nest - complete with a honeycomb the size of a big old TV, and dead bees from the ages; when we took the final ceiling down, we were literally covered with "bee's knees".
What a project ... and on a listed building too. In practice, with a desire to restore the property rather than bring it forward from pre-listing days, the planners were more advisory than anything else, but almost *everything* needed renewing - electrics, plumbing, walls, ceilings ... right out to laying in a new water and gas main and a fresh electric supply too. A major job, and I'm not going to turn this into a D.I.Y. diary; you're not going to want to read about the day the digger hit the water main and we had a fountain as high as the house, the day I answered the door and head my rights read to me by a local council officer because we had been (mis)reported for doing unauthorized work on a listed building, or the day we got home to find a letter from the vicar asking if we would like a copy of the prayer that he had said in every room of our house, having been invited by a neighbor while we were on holiday as others (NOT us) felt the place was haunted. But I'm jumping ahead there.
So - "we must get in by Christmas" and indeed we moved to the house that I'm currently writing from on 24th December 1999. Much of our stuff was here already; more came over during following months.
The first night was a memorable one. We had a loo on the ground floor, and the shower was in. And we had electric down there too. The magnificent staircase was usable all the way up, but the floors and ceilings on both the first and second floor were otherwise out, or unsafe. So our bed was on the third floor and, looking down between the floorboard you needed something of a head for heights as you saw through two more stories of the house. A series of chained multiways lead from the ground floor up to our bedroom, to give us the benefit of electric light and a little heating. And a storm blew that night, the windows rattled as they're old sash jobbies, and we overlook nothing but fields - no wind break at all. The words "what HAVE we done" came to mind!
What we had done turned out to be a good move. Nine months later, we ran our first training course here in what had been one of the reception rooms - and ideally suited to training it was too. Tall ceilings, plenty of space and light, good parking on our own driveway just outside, a separate and grand entrance to that which we use to get into the house, and a room that had plenty of room for up to eight delegates. It hadn't been our intention to run all of our own courses, but an arrangement that we had up to that point to run our courses in conjunction with another training company finished when it no longer suited that company, and we were on our own. We didn't jump .. we were puhed, but looking back we probably should have been planning to jump anyway, and the push did us a favor.
Our course range increased. From Perl and Java, we added (first) Tcl, then PHP and Python. We got our first broadband connection when it was "bleeding edge" rather than leading edge technology - a calculated risk to see if we could actually get a Linux box and router running on the connection. How times have changed, with our connection now up to 50Mbit/sec and a backup 3G mobile connection which also puts the whole place on line even if the cable is down. And our courses have been a great success ... with delegates traveling from far and wide to learn our range of subjects.
We were thrust unexpectedly into running all aspects of our own courses - from sales and order processing, through manual production and supplying the equipment and classroom for delegates (and lunches too), helping them plan their travel and hotels ... then invoicing them afterwards, and chasing up those organizations who only pay upon stern overdue reminder. And so some of the things we had planned to do for / on "No 404" got delayed. Can you believe that we were running out of space, and added an orangary (in keeping / with listed building consent) ... and got permission while we were at it to turn the place into mixed domestic and business use so we can have staff come and work here.
But still we were running out of space, and our home became more and more a place where customers could be found for extended hours. Delegates arrived early to try out practicals, they stayed to chat and perhaps gathered in the lounge to watch a film in the evening .. we became more and more a hotel, except that we didn't actually provide the overnight rooms. We even found ourselves doing "meet and greet" runs from Melksham station and Bristol Airport. And what had been a wide range of local accommodation in 2000 had shrunk to a more limited selection by 2005 - with delegates wishing to have accommodation included in the course price, to be en suite, to have internet access from where they were staying, to be able to pay by credit card; and for all those reasons, and more we took the next big step and bought up "The Old Manor" - a B&B between ourselves and the town centre, which we have turned around into our own training centre with perhaps the best hotel rooms in Melksham ... but that's not part of todays "10 years in The Spa" story.
With us taking over the full operation of our courses from start to finish, then with us taking on another property, and hotel function and staff too, No. 404 got put somewhat on the back burner. To this day, the project isn't entirely complete; we remain with a shower on the ground floor (55 stairs fromt he third floor bedrooms) and an empty room - but ready plumbed - for an ensuite / bathroom for our main room. And in the last few days, we have taken delivery of the components for that final piece of the jigsaw - they should be installed and running before winter turns to spring.
And what else of our future here / our next 10 years? I couldn't have predicted where these last ten years would have lead, so I'm not going to make too many predictions here; I will say that there are things that are going to need maintainance in the coming year or two and we'll be on to getting those done. I can say that we're settled in much better with the routine operation of the hotel now, and an early bubble of extra staff that helped us get the place up and running over the first couple of years has slimmed down to a dedicated team of just four of us, which works very well [THANK YOU, Chris, Lisa, Sarah ... in alphabetic order].
Extra courses? We've added Ruby, Lua, C and C++ since we moved the courses to "Well House Manor" as we now call the hotel, and we've moved the existing courses forward to incorporate new releases of software, new uses for that software, and new types of delegates. And no doubt that will continue.
Melksham is a friendly town. Where we lived previously (and where I had lived for nearly 20 years), the locals were just about starting to pass the time of day before we left. But what a contrast Melksham is! We crept into the town - our market is the country or the world, not local business, so there was no need to shout, but we got pulled in - slowly at first, then more quickly when I became involved in local transport issues, Lisa became involved with a local monthly news sheet, and we both got involved with the Chamber of Commerce.
So I can say, with certainty, that we love it here. That we don't have ghosts (we never did have) and that we have every intention of living in The Spa, and of being a part of Melksham, for many years to come.
Appendix - historic references to The Spa
Here are short short excerts from other sources on "The Spa" ... please visit the individual sites for the full story.
http://www.british-history.ac.uk/report.aspx?compid=102823:
Melksham ... This, like Box, is another story of a quick failure, which also must have involved considerable financial loss. The spa site is still named and the spa buildings still exist less than a mile from the market-place on the Spa Road leading to Devizes. A crescent of six houses was built on the north of the road but a projected similar crescent on the south was never begun. The baths and pump room were in the grounds of the house now called Agra. The original spring was first discovered when a shaft was being sunk to find coal about 1770 but the curative properties of the water were not 'brought to notice' until 1813. A second well had been 'very recently discovered' in 1814. In 1815 several 'respectable gentlemen' formed the Melksham Spa Company which, after a year's work, completed a new well and which, apparently, put up the spa buildings. Several advertising pamphlets were issued between 1813 and 1822, but the few later references make it clear that the spa had failed. In 1841 Granville indicates that the fortunes of the spa had not prospered and in 1845 Britton states that although the Melksham waters 'were formerly much used . . . fashion, that fickle goddess, has not given them the fiat of her approval'.
http://www.melkshamtown.co.uk/melksham_tourism/melksham_history.shtml:
In 1813 several local gentry who had made money from the woolen industry, the Awdrys, the Longs, the Methuens and the Phillips formed the Melksham Spa Company with a capital of 7000 guineas in order to exploit the Chalybeate Spring discovered in 1770 to the south of Melksham. A well was sunk more than 300 feet deep and six large semi detached boarding houses and a hotel were built. The Spa was intended to rival Bath but unfortunately, after a few years of prosperity, it rapidly declined.
http://wapedia.mobi/en/Melksham and http://en.wikipedia.org/wiki/Melksham:
In 1815 the Melksham Spa Company was formed by a group of 'respectable gentlemen', with names such as Methuen, Long and others, all of whom had done very well from the now declining textile industry. Their aim was to promote a spa, after abortive attempts to find coal had uncovered two springs. As a consequence they built six large three-storied, semi-detached lodging houses forming a crescent, a pump room and hot and cold private baths. This suburban area at the southern end of the town is now known as The Spa, belonging to the civil parish of Melksham Without. A plan for a similar crescent on the north side never materialized. Simultaneously an Act was obtained to 'improve the pleasing town of Melksham' by paving and improving its footways and cleansing, lighting and watching the streets. The spa was not as successful as had been hoped, due in part to the popularity of the waters at nearby Bath.
Posted by gje at 11:34 AM | Comments (0)
Related topics: via article database
December 23, 2009
The great thing about snow ....
One of the great things about the snow is that you can see where the black dog is, even in the half light, as she races round the garden takes her exercise. Somehow I don't think that was going to be the top of your list of favorite snowy things. Let's try some more ...
Sprinklings of snow add a great beauty to the countryside - a stile into the field just behind The Spa is transformed from a daily site so something that I found worthwhile to photograph
And the snow, and the lights, remind us that Christmas is coming
Posted by gje at 08:34 PM | Comments (0)
Related topics: via article database
December 21, 2009
How well do you know Melksham - a quiz for Christmas
I've been out for two Christmas Dinners with local groups this year - the Bowerhill Villager (local newsletter) and the Chamber of Commerce ... and I've enjoyed them both. And in the spirit of Christmas, here's the quiz (via a link) that I put together for the "Bowerhill Villager" evening - how well do you know your Melksham?
There are 35 questions about Melksham and Wiltshire - what is this? Where is this? Who is this? ... and once you get to the bottom, you can follow a link that will give you all the answers (no, I am NOT adding that link on this page). Please feel free, as far as I'm concerned, to print off copies for your own use and to tell others about this quiz.
This second picture is a bonus, by the way ... it's not included in the quiz, but rather it's there to tempt you to try the quiz. I'll add the bonus answer onto the end of the quiz answers so you can find out what it is!
Posted by gje at 08:41 AM | Comments (0)
Related topics: via article database
Scraping content for your own page via PHP
If your PHP allows for remote URLs to be handled / read as if they were files (and that's the default), you have useful tool which lets you include the content of one web page (or part of it) within another. For example, I can "scrape" the sections of a coming on a course page and insert them into another page.
Here's an example of the mechanism in use ...
1. Grab the page to be scraped:
$lyne = file_get_contents("http://www.wellho.co.uk/net/join.html");
2. Extract the data you want from it:
$includedtext = "";
preg_match_all("!<dt>(.+?)</dt>.*?<dd>(.+?)</dd>!s",$lyne,$here);
for ($k=0; $k<count($here[0]); $k++) {
$includedtext .= "<b>".htmlspecialchars(
strip_tags($here[1][$k])).
"</b><br />". htmlspecialchars(
strip_tags($here[2][$k])).
"<br /><br />";
}
3. Use the $includedtext within your code
You can try this out [here] and see the source code [here]
This example comes with a string of cautions ...
1. Do NOT allow just any old URL to be scraped, especially one that our users may enter. This leaves you open to having your content filled with their adverts!
2. If you are scraping the same page regularly and it doesn't change very much, you should cache the results and not make the inquiry every time.
3. Respect the robots exclusion standard (robots.txt) of the remote site that you're scraping,, and ensure that you have copyright permission to reproduce the material on your site too
4. Remember that if the remote site's format changes so that your regular expression no longer matches, you'll have a correction to make on your site PDQ!
We currently have examples of the use of scraped material on the Melksham Chamber of Commerce home page and also the First Great Western Coffee Shop. "Take the power of this facility ... but be careful how you use it!
Posted by gje at 07:14 AM | Comments (0)
Related topics: via article database
Useful link: PHP training
December 20, 2009
Vision for Wiltshire
As I tried to put together my final thoughts on Wiltshire's Strategic Plan Consultation, I helped myself by putting an overview of my thoughts together so that my inputs really will be strategic and not just about what we want / don't want in our back yard!
A Vision for Wilsthire ...
Where should Wiltshire be going in the next 20 years? What will your home town and your lifestyle be in (say) 2026, or the years leading up to it and thereafter? Is this a place that you'll be proud to live in, or have your children living in? Is it going to be somewhere that's a safe, happy, practical, and environmentally and economically sustainable for everyone?
Wiltshire Council is currently soliciting views under their ""Core Strategy"" consultation so that they can take those views into consideration as the formulate stategic plans leading up to 2026 and beyond. There are bold decisions to be made - and the question "where do we want to be in 2026?" needs to be asked and answered prior to the question "how do we get there?"
Overview
Wiltshire has been descibed as a "largely rural county" but at the current time, that applies only to the fact that most of the land is not built up, but rather is agricultural or open. The majority of the population lives in towns or the city of Salisbury rather than in villages, hamlets or isolated dwellings, and the majority of the working population and economic wealth is within those towns and cities rather than in the villages and countryside.
However, a disproportionate expense attaches to the village / isolated dwellings; it costs more to provided a bus service five miles to a village of 500 people than it does to server 500 people who live in the next streets in a town to where a bus serves another community, and furthermore the children in the village will need to be provided with transport to school, whereas as an extension of the town they'll simply be able to walk to school. So this urbanisation is not only efficient when it comes to cost, but also when it come to the time, efficiency, sustainability for the people involved.
Under the Regional Spatial Strategy that's already in place, considerable population growth is called for in Wiltshire, and we should be looking at growth of between 15% and 40% in the number of individuals in the County. On current trends (which look set to continue), average household size is reducing and where a typical home may have 2.6 people at present, it will have 2.3 in 20 years. The population is also aging, which means there is a need for a disproportionate growth in services for the elderly - health care, mobility, leisure activities, home support, etc.
Will we have the resources to see us through to 2026 and beyond (and should we be looking beyond)?
1. Even with the additional housing stock implied by the plans being built at low density on what is currently agricultural land, well under 2% of such land would be taken up. In practise, with grouped housing / higher density living in affordable homes, sheltered and cared accommodation, the figure will be considerably lower. However, not all agricultural land is suitable for development, with issues such as flooding, waterlogging, and access to be considered.
2. Fossil fuels and other materials are limited resources; at current rates of use, some resources are set to run out (it is said) within 20 years, whereas other resources will continue to be available into the distant future. Whilst further resources may be found / available / forthcoming, it is prudent to make efficient uses of what resources we have, and to use alternatives which are less limited or are replemished / sustained into the future.
3. The effect of human life on the wide environment is also under consideration - be it in the form of 'global warming', carbon dioxide in the atmosphere, effects on the strathosphere such as the ozone layer. These items may be much argued over - is it indeed the effect of human life and our way of living that's effecting the environment around us, or is it just natural cycles? But once again, it is prudent for us to reduce the effect we have on the wider environment around us - if we damage our environment, it may be permanent - but if we preserve it, the worst we'll be doing is taking some unneeded precuations.
4. Local waste is also an issue - the immediate fouling of the area that we live in, quite apart from the wider area. We're looking at rubbish, clogged roads, overrun services, and once again it does no harm to go forward with a less heavy footprint even though (in the benefit of hindsight) it might not turn out to have been necessary.
To make more use than is really needed of resources that may run out in the future, and in doing so to perhaps produce a negative global and local environmental is hypocritical. To cherish resources, using less resource rather than more, and using something that's more replemishable rather than less, is the only logical and caring way for us to go.
So what does putting this together mean for Wiltshire?
The growth necessary for to support the future population can come in several ways.
a) The extra growth could be allowed to happen ad-hoc, with commercial interests taking he lead and with infrastructure provision following.
b) A new town could be built, with the extra growth being placed there and existing towns continuing on with little change
c) Extra growth could be channelled into the existing towns
Ad-hoc development would lead to a sprawl of communities - a growth of villages and hamlets, of bottlenecks and no-go zones. There's no natural geography in Wiltshire (as perhaps there would be in a land of valleys such as the Norwegian Fjords) which would provide an external influence to channel ad-hoc growth in modern society whereas there was in the past - with towns developing in valley bottoms or at defendable positions.
A new town could be provided in Wiltshire - indeed "West of Swindon" is such a suggestion - but it will cost a great deal to provide complete and new infrastructure not only for a town, but for a substantial town with the facilites to be considered complete. And such a new town, with the corollary of ceasing most moves forward at other towns in the vicinity, could lead to those other towns moving into a slow decline.
Extra growth into existing towns will mean some growing pains, but also some huge opportunities; towns need to be looked at individually to see what suits them best. There are some towns which are currently of a natural size and with a natural character where substantial growth would detract from that balance and character which should be retained ... where current infrastructure is not easily extensible, and local opinion is in favour of the status quo. There are other towns for which growth would be a positive benefit, bringing them to a size where that can have a much more complete range of facilities, and where such growth is welcomed and encouraged from within the town.
There is a natural desire on the part of many people to ask for their own area to be left alone, and for development to carry on elsewhere, and if everyone succeeeded with this argument ("NIMBYism") then nothing would get done. But a town that's being left alone will typically going into a quiet decline, and it won't be that the status quo is maintained - it's likely that you'll see a slow degredation of services, and an increase in poverty.
Wiltshire Council's draft strategy
The council's draft strategy calls for substantial growth in Chippenham, Trowbridge, and in an are known as "West of Swindon". (Salisbury and South Wiltshire have their own plan and are outside the scope of the current consultation).
For the next level of town - ranging from Melksham (largest in the group) down to towns with populations of around 4000 to 5000, it calls for a lower level of growth - essentially looking at what the current setup will support, with an expectation that an increasing number of services will need to be accessed from "the big three". These towns are know as the "market towns" in the Wiltshire Council documents
For smaller towns / and villages, the plans are broadly for infill, with many places not mentioned in the plans because nothing will be added, and others mentioned because a pocket of land has been identified within the town / village where extra houses could be built.
New communities / development in halmets with minimal services / isolated homesteads and small clumps of houses are discouraged by the strategy.
The strategy has much to commend it, and congratulations are due to Wiltshire Council on many areas of the strategy. However, a more detailed looked and further comment needs to be made, and plans amended to take account, in a number of areas.
Areas of Concern
a) Has the correct division been made between the larger towns and the Market Towns? Have the aspirations of the local population been truely considered, and is it right to treat a town of 23,000 in the same [headline] way that you treat one of 4,000, rather than treating it similarly to a town of 28,000? Statements made by staff (and planning recommendations already made by them) from the spatial planning unit conflict with the view of local businesses and population.
b) The individual area plans each need considerable local review. Some appear to have been drawn up in haste (and to be fair, this IS a consultation excercise), with information shown on plans being directly contradicted by Wiltshire Council employees who were on hand at the exhibitions held around the area in November and early December.
c) There is concern that not enough opportunity is being taken to implement the sustainability issues as defined earlier in this document within the plans; although they are being spoken of, that's not followed through as much as it could be to the detail of planning for people to enjoy a high standard of living and services with a practical reduction on the use of resources (including their own time) and production of waste to have such a standard.
Glossary:
"County" -> Unitary Areas
"Towns" -> Towns and City of Salisbury
"Larger Towns" -> Towns that are proposed as major centres - currently Salisbury, Chippenham, Trowbridge and West-of-Swindon
"Market Towns" -> Towns with population of 4,000 to 25,000, proposed for more limited satellite growth
Having cleared my mind with some of those broad brush strokes and asking "where are we going and why?", I have come up with the following which are worthy of detailed review / possible input
1. Should Melksham be considered / treated as a larger town, or a market town?
2. Where should the planned growth in the Melksham area be placed / where should be ungrown?
3. What infrastructure changes should be made for Melksham
4. How does travel and transport work within, through, between and beyond Wiltshire's settlements?
5. Tourism, culture and leisure
Posted by gje at 11:19 PM | Comments (0)
Related topics: via article database
December 19, 2009
Day and night at Christmas
In the centre of Melksham, you'll find an illuminated sign saying "Melksham at Christmas" and another pointing you to Longford Road - a street of fairly typical 1950s or 1960s houses about half a mile away. Let's see what we find at Longford Road ...
Here's a daytime picture taken just the other day - looks like there's something on that roof.
By night, though, the houses of Longforr Road are awash with Christmas lights and you discover that Melksham *is* Christmas!
We have finished training now - for Christmas, for the year, for the decade ... and we'll resume in the New Year. It's a chance to regroup, to catch up with family and friends, to catch up with web site and work that's overdue. And we'll be welcoming guests at Well House Manor into our circle of friends over the next few weeks - we even have a checkin booked for 25th December. The "Horse's Mouth" will carry on, and I've meant it through the year when I've said "I'll answer emails 24 by 7" - which means I'll answer you emails within 24 hours, 7 days a week ... and yes, that includes Christmas day.
Posted by gje at 06:14 PM | Comments (0)
Related topics: via article database
My armpit was like a zebra crossing
Just as a zebra crossing is alternate black and white, so my armpit this morning was alternately warm and cold. The reason? The nose of a resting dog, pulling in fresh air from the surrounding room [cold] and blowing the air out again [warm].
You probably wondered what on earth I was going to be talking about when you saw my headline ... and was an attention-grabbing set of words. Perhaps there's a book in me (and in Lisa - we were talking about this when we woke this morning), but perhaps I'm rather better at the short article such as I post here ... or at training.
Posted by gje at 09:10 AM | Comments (0)
Related topics: via article database
VAT Changes
As from 1st January 2010, VAT returns from 15% to 17.5%. Training courses are quotes ex VAT, as most of our customers are VAT registered and the tax is a "pass through" cost which does not in the end effect their final company accounts. But it can make a difference for delegates who are not with VAT registered employers, or who's places are not paid for by their employer.
So that means that if you're paying for your own course, you can book and pay for the course up to 31st December, and you'll only be charged VAT at the current (15%) rate. But if you pay just a deposit now, that's deducted off your final invoice which will be at the VAT rate at the time you take the course ... which will be 17.5% from 1st January.
Please get in touch by phone or email up to and including 31st December if you want to book and pay for a 2010 course before the end of this month. The course schedule is [here] ... and we can also take bookings for private courses even over the Christmas period.
Hotel Rooms at Well House Manor are quoted inclusive of VAT; prices will remain unaltered from 1st January (£80.00 for a double room let as a single, £90.00 for a double room let for double occupancy), with the extra VAT being 'eaten' by ourselves - at least for a few months.
Our "weekend specials" continue at £70.00 per room per night - that's for stays of 2 nights of more that include a Saturday night.
Posted by gje at 07:26 AM | Comments (0)
Related topics: via article database
December 18, 2009
Rock and hard place .. and the relaxing right one won
Occasionally - just occasionally - I let my hair down and say "enough is enough" with meetings and work ... and let my hair down. And so it was on Wednesday evening, when a long standing Christmas Dinner with some of the 'core' folks at the Chamber of Commerce got overbooked by the Melksham Are Board meeting that I really felt I ought to attend.
"The Chamber" won. A good evening networking and with friends; I enjoyed it far more than I would have dared hope or anticipated - many thanks to everyone who made it possible. I felt caught between a rock and a hard place on this one, but certainly some of the feedback (or lack of it in some cases) before and after the meeting that I missed have convinced me that I didn't actually miss much.
Friday evening ... 17:30. I have completed a really rewarding Object Oriented Programming in PHP course, and am about to take the evening off.
Posted by gje at 05:04 PM | Comments (0)
Related topics: via article database
December 17, 2009
Changing Images
The simplest ideas are often the best ... and the simple idea of having a picture that automatically changes from time to time on your web page helps keep your customer's interest up when he returns to your site. You're seeing a picture of our dog Gypsy to the right of this block of text, but I don't know exactly which one ...
On yesterday's PHP course, I wrote an example that selects the picture that is displayed based on the number of minutes that have elapsed into the hour - you can run that page [here] and you can see the source code [here]. It's an easy step to change the "number of minutes" into a "number of hours" into the day, and produce a page that shows a different image depending on the time of day - a nighttime shot until 7 a.m., then a breakfast, followed by ... well, you'll be getting the idea.
A further request that your customers may make is for changed character sizes, backgrounds, etc - and if you provide a "service" you've a legal requirement in the UK to take all reasonable steps to ensure your service is accessible to the disabled, which means (on a web site) that you should provide this flexibility, not require your users to link via images which may not be accessible on browsers that read words for the blind, etc.
The same example code includes a simple example of using a form (or pseudo form) element to provide an input to the page, which sets a cookie and allows for a colour change to be requested and saved. In the case of the example, I have set a six hour timeout on the cookie so that it'll be reset for me for demonstration purposes by the following day ... you might choose to use a year or two.
Although both of the examples here are very short, simple, straightforward, I have enhanced them slightly since yesterday's demonstration by adding in a couple of checks to ensure that a malicious user can't inject a request for a colour that we didn't offer, or something rather more nasty. Bear in mind that even with these simples of demonstrations, you need to have one eye open for the security of your web site if you're running code on it - especially code that has user inputs!
Posted by gje at 06:55 AM | Comments (0)
Related topics: via article database
December 16, 2009
Open Source Training Centre and Courses for 2010
It's a while since I wrote about our training centre, and some of the things that I wrote in the past have been updated or upgraded since. So here's an up to date description, written in December 2009 telling you about our location and courses for 2010.
All of our public courses are run at Well House Manor, which is set in 3/4 of an acre of private grounds, yet is just five minutes walk from the town centre of Melksham in Wiltshire [Google Map]. There's plenty of free parking for delegates, and if you come by public transport a regular bus service stops outside [Timetable]. Melksham has a train station too, and there are alternative stations with more services at Chippenham and Trowbridge [Time lookup].
We have two training rooms - the "Wilts" which we use for larger courses of up to eight delegates on public courses (that's our limit) and the "Berks" which we use if there are just one or two delegates. Both rooms have data projectors, wired and wireless internet, floor to ceiling whiteboards, and generous desk space for delegates who are attending our courses - there's plenty of room for our laptop, yours (if you wish to use it too), your course notes .... and of course your cup of coffee.
Courses are scheduled to run from 9 a.m. to 5 p.m. each day, but the tutor will be available for an extended time - from at least 8:30 to 5:30, and often much longer. You'll have access to the training room, and the library of over 700 technical books all evening ... and all night if you wish, and all of our machines are connected to our 50 Mbit internet connection which is available throughout.
Our delegates come from far and wide, as we specialise in niche training. So we also provide hotel facilities - five well appointed rooms (of a "gosh - I didn't know we had rooms this good in Melksham" standard according to a lady who popped in to book us for guests coming to a wedding while I was writing this). The rooms are available at weekends too - and we welcome delegates back - but they are designed around the need of course delegates.
Typically delegates arrive the evening before a course starts, meet other delegates over breakfast in the morning, and are refreshed and ready to learn as soon as the course starts. We're running public courses on the following subjects in 2010:
• Lua - to 2 different course agendas
• Perl - to 4 different course agendas
• Python - to 2 different course agendas
• PHP - to 5 different course agendas (likely to add 2 more shortly)
• Ruby - to 2 different course agendas
• MySQL - Programming and admin
• Tcl / Tk / Expect - to 3 different course agnedas
• Linux / Lamp - to 5 different course agendas
• Apache http server and Tomcat - to 3 different course agnedas
• Java - to 2 different course agendas
• C and C++ - to 5 different course agendas
Our full (updated) schedule is [here] and course prices remain at £350.00 for a one day course, plus £250.00 per extra day for all courses (add 60 pounds per room per night if you'll be staying with us; all prices quoted exclude VAT)
If you have any questions ... or would like to make a booking, please phone (01225 708225 or 0800 043 8225), email (info@wellho.net) or complete our [online enquiry form]. We also offer private courses at Well House Manor or at your own offices - if you have a group of 4 or more, a private course will be lower cost and can be tailored to suit your requirements. If you have 8 or more delegates, you'll save money by having our tutor travel to you.
Posted by gje at 11:03 PM | Comments (0)
Related topics: via article database
December 14, 2009
Faster network, but not faster browsing until ...
We switched up to the 50 Mbyte Virgin Cable service a few weeks back - looking for still faster internet connection. Most of the time, our traffic levels don't need such a high speed link, but we've two dedicated servers (housed in England and Germany) and we need to take incremental and occasionally full backups - and at such times the service provides a seriously shorter transfer. It's also good for faster upload at the times we're viewing webcams over the link.
But, curiously, browsing speeds hadn't improved. A distinct pause from page to page, and a message at the base of the browser "looking up www.google.com" or some other domain name gave us the clue ... the DNS servers that we've been using appear to have been overloaded, or are perhaps being used to throttle back traffic.
Chris pointed me in the direction of Google's public DNS service, with a DNS server at 8.8.8.8 and another at 8.8.4.4 - see [here] for details - and a switch to using those machines gave an immediate obvious improvement. I've switched a couple of our systems to use the Google service, and I'm going to watch how it goes. And perhaps we should set up a local DNS server at the hotel and at HQ to cache address lookups.
We will see some other differences ... a mistyped domain name that points to something that's not registered has been leading to a Virgin Media search results page; now it leads in many circumstances to Google's best guess. So there's another positive outcome. Part of me worries that Google is becoming a bit of a monopoly, but they're providing a technically excellent product once again.
Posted by gje at 11:24 PM | Comments (0)
Related topics: via article database
December 13, 2009
All the Cs ... and Java too
Do you get confused between C, C++, C#, Objective C ... and where to Java and J++ fit in?
C
C is the bedrock of modern computing. It's been around a while (by which I mean for at least 40 years) and it's still the language that you'll find underneath everything else. That doesn't mean it's been static for all that time - the "Kernighan and Richie" flavor of early days was supplanted by the ANSI flavor, and additional new libraries have been added so that what was a lot of work is now rather less work.
But just because something is the bedrock of modern computing doesn't mean we all need to learn about it - just as those of us who run cars on petrol don't need to be experts in oil refining. Rather, C remains a vital component of modern computing, but 'behind the counter' for the most part. As a development language for applications and web sites, there are much faster and maintainable ways to code, using tools which are themselves written in C.
C++
As applications grow, so does the suitability of object oriented principle to their design and writing. I'm not going to try to explain "OO" fully here - there are links on a previous blog.
C++ is an extension of C - it includes everything you have in C, but in addition you have extra language features which provide useful facilities for you to use in in an object oriented manner. With its C comparability, and extras too, this means that C++ is perhaps one of the more complex languages around - you can do anything with it, but at the expense of somewhat longer coding and testing cycles (and longer training programs) than you might like. And with longer code comes a potentially harder-to-maintain application too.
Objective C
An alternative (thin) layer on top of C, added by NeXT which was acquired by Apple in the mid 1990s. You'll find that Objective C is very limited in its use these days, unlike C and C++.
Java
C++ provides a lot of excellent facilities - but it's made over-complex and slower to code by its need to adhere to C. Certain features such as multiple inheritance add further complexity, and are really only of use in a few situations (some might say that multiple inheritance is a siren call, encouraging bad design). C++ compiled code isn't portable, and C++ isn't naturally network aware ... Now what would a language that fixed these issues look like?
That's the background to Java - brought out by Sun Microsystems some 20 years ago, it's a 'simple', 'small', Object Oriented, 'portable', Network aware, 'secure' language. (I have put quotes around many of the words used to describe java as there are - for example - degrees of portability and security!).
Java follows a public specification for the language, and for the run time compiled classes which run on a virtual machine, so you're no longer required to have one set of executable programs per processor type. It's based on the philosophies and approaches of C and C++, but no attempt is made to make it compatible with those languages, meaning that it can be much more modern, cleaner, leaner, easier.
J++
As the Java specification is open, others can implement and use it. And one company that did so was Microsoft, who added elements to their implementation which they called J++. The additional elements meant that J++ code would not run on a standard Java Virtual Machine, thus breaking the portability philosophy, and as a result of some friction between Sun and Microsoft, the language wasn't carried forward.
C#
C++ provides a lot of excellent facilities - but it's made over-complex and slower to code by its need to adhere to C. Certain features such as multiple inheritance add further complexity, and are really only of use in a few situations (some might say that multiple inheritance is a siren call, encouraging bad design). C++ compiled code isn't portable, and C++ isn't naturally network aware ... Now what would a language that fixed these issues look like?
If that previous paragraph looks vaguely familiar, you're right ... it's exactly the same foundations that Sun worked from when specifying Java. A few years later, and with the Java and J++ experience to look at, Microsoft specified C#. So it's no great surprise that it looks rather like Java. In fact, technically, it benefits from some experiences of Java too in that a few things are done differently and perhaps better, and some changes are made which would have been impractical at the birth of Java, when memories were smaller, processors slower, and the whole Internet / networking thing was more embryonic than born.
We offer courses on C, C++ and Java ... we don't offer courses on Objective C (we don't know it), J++ (gone) or C# (we're not set up for training on Microsoft products and would have to learn and invest a great deal to take on C# at the quality we would wish to provide).
Posted by gje at 12:38 PM | Comments (0)
Related topics: via article database
Useful link: Java training
When should I use Java, Perl, PHP, or Python?
Java is a good language for bigger systems ... teams of programmers writing bits of code that interact with each other. In fact, Java is so well tuned towards the bigger systems that it's not the ideal language for smaller systems - for the people who are just looking to write a quick piece of code to comb something out of their log files, or who are adding a straightforward little piece of program to their web pages. Those smaller systems are better in PHP (web page content), Perl (short utility) or Python (typically for things which are more than just a few lines, but don't come up to the Java size). OK - that's a simplification but I have no axe to grind one way or the other as we offer courses in all of them - it's a question of selecting the right tool for the right job. The diagram above / alongside shows a graph of application size (along the bottom) with appropriateness up the left hand side.
One of the ways that Java is tilted towards being a "big system" language, and the others tilt in the opposite direction, is its requirement for all variables to be declared and typed, and for all methods [named blocks of code] and static (class) and dynamic (object) variables to have a scope of visibility associated with them. The diagram alongside shows these various scopes - you have
• private - visible only within the class in which it is defined
• package - (default - you do NOT declare this) - visible within the class in which it is defined and within other classes in the same package - i.e. visible to its brothers and sisters, but not to its parents, children, nieces, nephews or other more distant relatives.
• protected - visible within itself, to its siblings, and to their children (and their children's children, etc) too. Not visible to parents.
• public - visible from within any other class.
Please do get in touch if you want to discuss your own specific requirements and which language suits you best; I'm always happy to talk through things with people so that they make the right choice. And it's not always a strict technical issue - if you already know PHP, it may be better for you to expand your use of it to cover non-web applications rather than learn something new, with all the extra maintenance needs for your company. Or if you already have a Java programming resource in house, it may be better to expand the use of that rather that branch out anew.
Posted by gje at 09:55 AM | Comments (0)
Related topics: via article database
Useful links: Python training, Perl training, PHP training, Java training
December 12, 2009
And now for some posts a bit more technical
There seem to have been fewer technical tips and more other news - hotel - local news, etc, of late. That's because there's been so much happening.
On the campaign for an improved / more appropriate train service in Wiltshire, where a robust hurdle has been shifted. On the Unitary authority side, where new structures have been put into place, including the Area board and Community Area Partnerships. On and with the Chamber of Commerce, where further local activities have been going on rather than a reliance on the centralized (so not so specific) Wessex Association of Chambers. On the hotel side, and on the training side too where the startled "everything stops" of the financial crisis has given way in the final quarter to a revival - and indeed some people playing "catchup" so that I've been more that busy training people, week in and week out.
No business stands still, and that's applied to our course through this year. There have been no meteoric rewrites ... programming languages don't usually change suddenly out of all recognition as programmers need a continuity to know that code written in 2006 will still work in 2009, and this year's code [2009] will still work, and work well, for them in 2012. Most code is written not only to do a job, but to continue to do that job, after all. But we have added - to the start of each of our programming courses - an extra day that's for non-programmers to learn some of the first principles, based on the language they'll be learning for the rest of the week. And any doubts we had about the uptake of these extra days were soon squashed; we're finding them very popular, and effective too in helping people who have never codes before but now want and/or need to to be able to do so. See what's on these extra days [here].
So I'm going to follow up here with a series of technical articles ... "I must share this tip" is still something that I keep coming up with while training, even though I haven't had the time. And I have a sock more full to get out over Christmas too in case I'm short on words. If you're looking to learn from us in 2010 ... the course details / dates for the whole year are on line for the next year.
Posted by gje at 11:33 PM | Comments (0)
Related topics: via article database
December 11, 2009
Five guests, three groups, one car
Five people staying with us ... in three groups ... with one car between them in the car park.
That's a statistic I noticed last week at our five room hotel here in Melksham - and it struck me "what a sensible balance". Two of the guests had arrived in the car, two by airport taxi from Heathrow, and one has arrived at Melksham station by train, from where I had picked him up. The party in the car also left by car, I dropped off the train guy at Chippenham station, and I put the two who arrived by taxi onto the National Express coach - also at Chippenham.
We sometimes regard a choice between road and rail, public and private transport as taking sides ... but in fact it's far more complex than that. For some journeys, only a car is practical .. but for others, a car would be totally inappropriate - it's much more a question of choosing the right horse (or iron or plastic horse) for the right course (or journey). And end to end journeys are likely to be a combination of various modes of transport.
We're set up at Well House Manor to receive guests arriving by road or rail, private or public transport. All the modes exist, but some in a less practical form that others. The "car lobby" shouldn't grumble at the public transport users, who (if they too were on the road) would lead to more overcrowding ... and the public transport users shouldn't get miffed when people drive - there are times that public transport just ain't practical - such as when I have to work in Cambridge for the week, taking some 12 laptop computers with me for delegates on a training course I am giving to use.
Local transportation in the Melksham area may be good (I can find *some* holes, though) but medium to longer distance, Melksham's connections suck. And information on public transport options to and from Melksham is hard to come by and correlate.
Long Distance Issues
Did you notice how I dropped of my returning customers IN CHIPPENHAM for their trains and coaches?
Chippenham has a coach to London every 2 hours, also calling at Heathrow airport. Melksham - perhaps 2/3 the size of Chippenham - has one coach per DAY.
Chippenham has two direct trains PER HOUR to London. Melksham has just two trains per DAY in each direction, and the times they run are not the ones I would have selected given the choice, either.
From Chippenham, a dual carriageway runs up to the M4 motorway for those people who'll be using their private cars. From Melksham, you can take anywhere between 20 minutes and 50 minutes on a normal day to be on that motorway ... and if it's an abnormal day with road works in Beanacre, you can only achieve the 50 minutes if you know the 'rat run' through The Forest.
Information
We run a hotel .. and people ask "how do we get to you" and "how do we get home". The question is far easier asked than answered, even supposing there's a good and appropriate service on offer.
Wiltshire Council just wrote to me "Do you want your public timetables and information", offering me a list of some 70 publications they have available - some theirs, and some third party. What would I like? What would my customers and the Tourist Information Centre like?
a) A map of all local bus and rail routes (a bus map IS available for Wiltshire)
b) Timetables for each local bus and rail route (West Wilts bus routes are provided in a combined timetable - but it does not cover rail)
c) Details of long distance coach services from Melksham and Chippenham to London and elsewhere (the best I can do for the Melksham route is to find the service on the National Express Web site, if I know where it goes!)
d) Train services from Melksham, in particular something that's easy for people traveling to / from London, Swindon and Bristol to use. (For London to Melksham, I need 3 timetables and have to correlate them including Portsmouth to Cardiff, which is not intuitive!)
e) Train services, Swindon - Chippenham - Melksham - Trowbridge - Westbury - Salisbury, both through services and connections (need to correlate 2 timetables)
f) Summary tables / combined timetables from Melksham to Trowbridge, Bath and Chippenham (for "all public transport to Trowbridge", for example, I need to link up data for six different routes from 5 tables in the West Wilts guide one of which is currently on an amendment sheet, and that Cardiff to Portsmouth train timetable!)
So that's just two out of six of the documents that I and my customers need that are readily available ... and newcomers / tourists coming in to the area can hardly use something of they're not even able to find out that it exists!
Posted by gje at 11:49 PM | Comments (0)
Related topics: via article database
December 10, 2009
Analysing Google arrivals by country of origin
Where do our Google visitors arrive from? If your log files record the referrer filed, you can find out ... and you can find what search brought them to you as well. Here's a recent log analysis showing where all you readers arrived from:
| com 7461 in 2177 uk 1409 ca 619 de 536 fr 383 ph 284 nl 276 au 268 pl 233 it 232 se 222 es 183 br 176 ru 140 fi 127 be 115 ch 115 id 102 my 101 cz 100 sg 94 ro 93 tr 93 tw 91 pt 90 dk 83 hu 82 |
cn 80 ie 80 il 80 pk 78 th 78 mx 76 hk 64 ua 60 at 59 no 59 za 53 kr 50 ee 45 vn 44 ar 43 gr 42 nz 37 sk 35 bg 34 co 33 jp 32 lt 30 si 30 lk 27 eg 26 bd 25 cl 24 hr 18 |
ae 15 jo 15 lv 14 by 11 np 11 ke 10 mu 10 pe 9 ve 9 bo 8 mt 8 om 7 uy 7 sa 6 cr 5 ec 5 gt 5 ma 5 md 5 mn 5 ng 5 az 4 ba 4 bw 4 gh 4 is 4 jm 4 lu 4 |
rw 4 bh 3 tt 3 cat 2 kw 2 kz 2 lb 2 pr 2 py 2 sv 2 ug 2 cu 1 do 1 et 1 fj 1 ge 1 gi 1 ly 1 mz 1 ni 1 ps 1 uz 1 vi 1 ws 1 zw 1 |
Some of those are very familiar countries, but other I had to look up ... and I wondered if "cat" was some sort of error. It wasn't - it's the top level domain for the Catalan community.
Code for "the above" ... good old Perl ...
while (<>) {
/Googlebot/ and next;
if (($cou,$what) = /\.google\.(\S+?)\/.*[\?&]q=(\S+?)[\?&"]/) {
$cou =~ s/\.$//;
$cou =~ s/\w+\.//;
# $what =~ tr/+/ /;
# $what =~ s/%(..)/pack("C",hex($1))/ge;
$cz{$cou}++;
print if ($cou eq "") ;
}
}
@cio = sort {$cz{$b} <=> $cz{$a} or $a cmp $b} (keys %cz);
for $c (@cio) {
print "$c $cz{$c}\n";
}
The $what variable (above) is another interesting story; I have it commented out as I've not analyzed it in this post, but it tells you the search terms used by visitors. There's an example of this extra data in use here.
As regular readers may have guessed, the example above was written during a Perl Course I'm giving this week.
Posted by gje at 05:46 PM | Comments (0)
Related topics: via article database
December 09, 2009
Melksham - new Tuesday Market
A new Tuesday market opened this week in Melksham ... I popped in briefly and took a few pictures. It's good to be able to shop local (and indeed the Chamber of Commerce current has a "shop local" campaign running.
The market include both food and non-food products ... but on this first visit, short on time and hungry, I concentrated on the food.
In the lead up to Christmas, the veggies inevitably included brussels ... but plenty else too
Chicken Sausages, of various flavours. I bought a couple of packs and we enjoyed them last night; I would have also got some of the meats (which looked rather good) but didn't want to overstock as the fridge is fairly full at the moment at home
A wide variety of Cheeses ... purchased, but not yet sampled; report to follow, perhaps!
And a wide variety of Olives, Artichokes, Mushrooms Sun dried tomatoes ... I'm not sure if you would exactly call these local grown. I chatted with the lady on the stall and she was telling me Italy, Spain, Greece ... she was also telling me how friendly she was finding Melksham, but that it was a bit quiet. So please - everyone - go along next week and spend a few of your pounds in Melksham and not in neighboring towns!
Posted by gje at 05:35 PM | Comments (0)
Related topics: via article database
December 08, 2009
Taking a knock over Santa
You will note a rare gap yesterday.
Sunday's Santa trip was a great success ... or so I thought. But a message to return a phone call yesterday, and I find myself speaking to a lady who I can only describe as "irate" saying that the trip had been "total and utter chaos", and a ripoff. My personal view is that £17.00 for her group of three, as against £14.25 which the train fare alone would have cost, was good value. The child got a present, everyone got a minced pie and a drink, we had Santa, we had the Town Crier ... and we had the sundry expenses to cover. Everyone gave their time for free ...
I'll admit it - I am not used to dealing with complaints; they upset me greatly. And they are very rare indeed in what we do. So I'm really knocked for a loop by this one. I'm comforted by the fact that everyone else seems to have had a good time, with several unsolicited "thank you" emails following from the cheerful faces who left the train at both Melksham and Trowbridge.
But one specific point that the lady raised is an interesting one that I'll share with you from "behind the scenes". The train that we travel on is a lengthened public service train, and on a couple of occasions in the past, children traveling with 'members of the public' have been disappointed that although Father Christmas is on the train, they haven't been able to get a present from him. So we have taken to having a handful of extra presents available in case, and to 'eating' the cost of them within the trip. Our lady got wind of this, and felt that this extra was not something we should do ... in fact she wants her money back as "my child could have got a present free". I disagree, but will be refunding her money from my personal pocket - I stand by our policy of Santa having a few presents spare for other children who happen to be around; I would not want to be party to spoiling the myth of Christmas. P.S. There weren't any other children on the train this year anyway!
Posted by gje at 07:35 AM | Comments (0)
Related topics: via article database
December 06, 2009
Santa Special, 2009


Exhausting .. but rewarding ... day
It must be nearly Christmas
Pictures ... added on 7th December
Posted by gje at 09:26 PM | Comments (0)
Related topics: via article database
December 05, 2009
Melksham Christmas Lights
It's December ... and the Christmas lights are coming out. A tree appears here, a string of lights there, and the odd magic wand to say "this is a special time of the year". (It was special in previous years too - {link})
But this is Melksham, and Christmas lights here are special - the construction crew has been hard at work for weeks, both in the town and at Longford Road, adding lights to the Town Hall, to businesses and to certain homes.
Yes, that's the famous "Cherry Picker" that our mayor keeps being referred to. I really must ask him to tell me the story some time.
How do the lights look?
Yes - they're very much worth seeing. Last year, this one house raised over £3000.00 for Dorothy House Hospice Care and I'm sure that's a record they're hoping to beat this year in spite of the recession and the awful weather in the last week or two which delayed the great switch on.
The official web site is here, but let's see some more of my pictures:

Posted by gje at 09:38 PM | Comments (0)
Related topics: via article database
Flying tonight
Have you ever checked in at an airport, prior to an overnight flight to the UK ... wandered up to the departure lounge, and looked around at your fellow travelers. The more there are, the more crowded the plane. And perhaps you've unfairly stereotyped them too - thinking that the families with young children running around are going to be disruptive, and the people who don't fit into a single seat in the waiting area probably won't fit into a single seat on the plane. And as the crowd grows, you're beginning to realise that it's likely to be 'every seat taken'.
Two thirds of passengers are male - [ref] and that can be up to 80% on business flights [ref]. Passengers on business flights tend to be a little older too [ref] - two thirds over the age of 35. So the stunning young lady, seated on her own and waiting to board the Mexico City to London flight I took in August was certainly not "your regular traveler". I will admit to thinking to myself "goodness - I wonder if she's on our flight" and decided that she was probably going somewhere far warmer than Gatwick; those shorts would be really cold in England, even in high summer.
Well ... it turned out that she was on our flight, and indeed was seated next to me ("oh good - she'll fit into just one seat, even in economy") ... and during the flight, I learned once again not apply a set of stereotyping rules - all you can get is a general overview, and not anything specific. That must be left until you know the individual better.
On forums, such as the Coffee Shop, we have a hierarchy of members - from guests and newbies through to senior and hero members. A handful of members are invited to become moderators - primary function to greet newcomers and provide helpful information, secondary function to keep eyes and ears open and offer a gently restraining influence (or less gentle on rare occasions when 'gentle' doesn't work). And from that handful, there are a couple of administrators who are all-powerful, but trusted and mature to the full extent that the forum owner knows they will always act well even in the heat of the moment.
But as well as that formal heirarcy, there's an informal one too. There are junior members who are regarded as oracles well above their formal rank, there are members (such as myself) who have a very patchy knowledge and will ask "should know better" questions, and there are others who will lead, and others listen, in the same formal rank. And it's all the more startling when you look to compare statistics like the average time on the site per post made, and the proportion of posts that are topic starters v follow ups.
As a moderator, I have to take the formal hierarchy into account as I follow up posts - blow a gentle not of caution, answer a question. But should I take regard of the informal too? Now that is a difficult question.
On one hand, I should treat everyone as an individual case, but on the other hand the rules and direction should be equally applied. The question arose again this evening, with a report of a follow up post that verged on being a personal attack on a fellow member. But then looking to see which member was the 'victim', I found that it was a member who almost courts controversy at times, and has let me know "I can look after myself - you don't need to step in on my behalf" in the past? My decision? To post a follow up on the thread. To indicate that it was getting near to the limits, and that it had been noted (and reported). Letting the posters know that they shouldn't go much further.
Would I have made the same decision if the instigator wasn't XxxxxxXxxxx but Zzz? Probably not; I would have come down somewhat harder on the originator of the reported post - but then, such are forum metrics, I doubt whether he WOULD have gone anywhere near a personal attack on Zzz. Such is the informal hierarchy and the closed loop of relationships that everyone feeds and grows on.
But why did my 'incident' this evening remind me of Gisela? Was it her Risotto recipe? No ... the young lady was traveling on her own to London to complete her doctorate on formal and informal hierarchies within on line communities - and I couldn't help being reminded of one of the most interesting and technical / web conversations I have ever had on a transatlantic flight. I hope her thesis is going well, and that our little community, should she have looked at it at all, is seen in a positive light. I suspect she has looked - she was telling me (once she knew I was into the rail thing) about how few trains stop at her local station of St John's ... and I was telling her that when I used that line as a child, there were four platforms and not two ... but tat the place was still missed out by an awful lot of services that stopped at all the OTHER stations on the line.
Posted by gje at 06:20 PM | Comments (0)
Related topics: via article database
A reluctance to move from old shoes to new
I have a comfortable old pair of shoes. They're worn out, scruffy, and they leak a bit these days but I'll still wear them and be reluctant to move onto a new pair, even though that new pair would be much smarter and make a far better first impression. And I don't think I'm the only one. Showy clothes may be one thing, but day to day, familiarity and comfort rule for many of us.
When the First Great Western CoffeeShop first saw the light of day on our site, it was decorated in a vanilla (default) Simple Machines Forum style. It's good, it's workmanlike ...and it has served well through over 50,000 posts in over 5,000 topics. But it's the same style as you'll see on many other forums and it lacks a "this is us" approach - it's more like "look who we have copied" and "we haven't altered for years" - the sort of message that a forward looking site doesn't want to predict into the far future.
So I was on a "hiding to nothing" when I applied a fresh coat of paint in the Coffee Shop ... it really was due - in fact overdue - but it's the daily workhorse of so many members that there was bound to be a reaction of "we like our old shoes" ... so what to do?
There are now three (and it could be increased) style sheets available, and they are selected within the PHP as a page is loaded, looking at the value of a cookie (if present) from the user. So new arrivals on the site, who have never stood in the original shoes, are taken to the new look and feel. Regular guests can follow a link to the original look and feel or if they like the old heritage "Great Western Railway" colours they can have those. And, yes, there is a return to current link too.
Even underlying the apparent casualness of this, there are serious points to be born in mind. It was suggested that we paint the job in First Great Western colours, but we have decided against. We are an independent forum providing information for passengers about the company and its services, and we cannot mimic them / do anything which gives the impression that we are they. Pity in some ways - it would provide a good link, and they use some nice colours.
And the ability to provide different fonts and font sizes as well as colours helps us make our site more accessible to those who are colour blind, or require a larger and cleaner character set - such provision being a requirement under legislation. And now that the work has been done once, we can easily add extra veneers as needed.
The techniques I have used are familiar ones that I regularly teach to people - but (as Lisa just reminded me a few minutes ago) just because I find them easy to implement doesn't mean that they are clear and obvious to others. We cover the subject on our PHP techniques workshop and will be happy to have you sign up for that if you have the same requirement. We have a learning to program in PHP course too if the whole PHP subject is new to you.
Posted by gje at 09:55 AM | Comments (0)
Related topics: via article database
December 04, 2009
Using JSPs, Tag Libraries, Java Beans, Tomcat in one short example
I've just completed a Java Bootcamp Course. On Tuesday morning, I had newcomers to Java (but with prior programming experience) and by the end of Friday afternoon, they had written some good exercises, using the fundamentals of Java, including Utility classes, and they had also worked with and understood basic Servets, JSPs and standard tag library applications.
Here's the last exercise from one delegates (shared, with permission) in which I asked the course to write a form to read in a temperature in one unit, convert to another unit via JSP (but keeping the model - i.e. business logic in a separate Java Bean class) and output the result. That's three files even for a simple application but it is easily extensible!
First file - the HTML form - [see here]
Second file - the JSP / tag library page that gives the view - [see here]
Third and final file - the class that contains the business logic (i.e. the model) - [see here]
That was the last Java course this year - but the Java Bootcamp is already scheduled for five dates nest year, as is the extended Learning to Program in Java for delegates who have not programmed before. If you're not programming in Java, but you will be deploying Java applications on an Apache Tomcat server, have a look at our Deploying Apache and Tomcat course ... six dates already set for 2010, starting on 7th January.
Posted by gje at 06:10 PM | Comments (0)
Related topics: via article database
Useful link: Java training
December 03, 2009
An update on legal changes from the FSB?
"We're with the FSB, and would like to update you about forthcoming changes to the law". So said a caller on the phone to one of our team, and I got the message to call back. Which I duly did.
It seemed a bit odd to the person who took the call that the FSB (Federation of Small Businesses), who have never called nationally before, and are pretty inactive locally at the moment, would be calling. Perhaps a random survey? Anyway - despite the yellow "caution" flag I called back ...
It seems that the company calling are "with" the FSB like we are - they are paid up members of the FSB, but probably no more than that ... and they are visiting pages like the FSB Network page where members can be listed to help sell their services to fellow members, so that they can get in touch and make what is - I believe - a misleading approach.
We're very used to calls like this claiming to be BT and Pitney Bowes ... but the FSB is a new one on me. Clever - but very misleading. It turned out that the caller was really looking to get us to change our energy supplier!
Posted by gje at 08:45 PM | Comments (0)
Related topics: via article database
December 02, 2009
Plan your application before you start
Planning your project / application ahead of time can save you so much heartache and wasted time that it's untrue - but there is still a tendency for people to jump right into to coding without thinking "how will this work". And you should think "How will this work" in many ways.
These seven diagram types owe more than a passing resemblance to UML (Unified Modelling Language) where every system is described as a model ... but I have not (and do not) attempt to produce full sets of drawings with all the correct box shapes for the sort of simple systems we work with. However, it is extremely useful to be able to think through things to the extent that you would be ABLE to produce the diagrams - or an overview of them - if asked.
What diagrams do we have?
1. Diagrams showing what the various data sets are, and which person / people / roll produces and uses them
2. Diagrams showing each of the classes of object that we use, with a heirarcy of what inherits from what, where the abstract classes lie, where the methods are defined and over-ridden
3. Diagrams showing each type of object - what variables it contains, including other objects, and how many of each it contains.
4. Diagrams showing how objects are created, modified as they pass through the system, and eventually destroyed
5. Diagrams showing the life of software through from source and download distribution through compiled versions, version control systems, testing and live servers right through to the backups that the whole system could be restored from
6. Diagrams showing how transactions work - where user input is made, which computer(s) are contacted with what traffic through which protocols.
7. Diagrams that show the detail of how code sections work.
I was asked, last week, what order I would produce these diagrams in / think through my design, and that's marked on the white-board picture at the top too. In practice, they'll tend to be developed in parallel - broad brush strokes and important key design first, then more detail. However - in general terms: 1, 4, 6, 3, 2, more 4, 7, 5. In other words ...
a) Why are we doing this?
b) How will it look to the user?
c) How will it run - what elements where?
d) What is the object structure?
e) What is the code detail?
f) How will the development, deployment and backup systems work?
If you can have an idea of the answers to these questions before you start too much detailed coding (though you may try a few 'spike solutions' for your algorithms) they you will save yourself a lot of blind alleys and you'll probably come out with a good, well-rounded system!
Posted by gje at 10:51 PM | Comments (0)
Related topics: via article database
December 01, 2009
Integrated public Transport - what could be done for Melksham
Connections between trains and buses at Melksham station do not exist at present - each mode of transport carefully ignores the other even though most of the services are provided by the same public transport provider. The 271/272/273 to Bath stops near Avonside, then runs non-stop past the station to Roundstone / Shurnhold, and the 234 runs from Avonside to Aldi / McDonalds - close to (as the crow flies) the station - but then this is a service for people (who have to take a great way round) not crows.
I have taken a brief look at how connections could be made at the station, using existing train times and bus times with some adjustments - from 5 to 15 minutes. Here's what a practical scheme to allow car-free commuting from Semington, Berryfields, Bowerhill, The Spa, Snowberry Lane, Queesnway, Blackmore Road, Melksham Forest, and Melksham Town Centre to Chippenham and Swindon would look like
| 06:46 | 19:01 | Devizes Road, Falcon Road, Bowerhill | 19:32 |
| 06:48 | 19:03 | Bowerhill, Mitchell Drive | 19:30 |
| 06:50 | 19:05 | The Spa / Snowberry Lane | 19:28 |
| 06:52 | 19:07 | Blackmore Road | 19:26 |
| 06:54 | 19:09 | Melksham Forest, St Andrews Church | 19:24 |
| 06:57 | 19:12 | Pig and Whistle | 19:21 |
| 07:02 | 19:17 | Melksham Market Place | 19:18 |
| 07:06 | 19:22 | Melksham Station | 19:15 |
| Bus | Bus | - | Bus |
| Train | Train | - | Train |
| 07:17 | 19:47 | Melksham | 19:11 |
| 07:27 | 19:57 | Chippenham | 19:01 |
| 07:48 | 20:20 | Swindon | 18:45 |
| 07:00 | Semington, Somerset Arms | 19:26 |
| 07:02 | Berryfields Corner | 19:24 |
| 07:05 | Melksham Market Place | 19:21 |
| 07:09 | Melksham Station | 19:17 |
| Bus | - | Bus |
| Train | - | Train |
| 07:17 | Melksham | 19:11 |
| 07:27 | Chippenham | 19:01 |
| 07:48 | Swindon | 18:45 |
Serving the villages to the North West of Melksham, although they are close to the railway, is more tricky as there isn't a bus into Melksham until well after the train has left, and the last return to Holt has gone. However, if Frome Minibus service X96 to operate 45 minutes earlier (morning) and 60 minutes later (evening). Then it's Holt 06:53, Broughton Gifford, Atworth, Whitley, Melksham Station at 07:10 and Market Place 07:15. Evening - Melksham Station at 19:18 then Broughton Gifford, Holt (at 19:30). The 19:22 bus to Bath would serve Whitley and Atworth.
You're looking at 45 to 55 minutes from your door to the centre of Swindon ... and with further train services at appropriate times, the pattern for the various parts of Melksham could be duplicated / provided on similar timing, but using additional services that run during the peak hours and daytime such as town service No. 14 and the 237.
There's a real practical opportunity here to provide a very useful service. And add in a few more trains and their connections and you'll meet a wide range of travel requirements too. I could do a similar study for shopping trips to Chippenham / Swindon / Reading / London on a Saturday ...
Posted by gje at 07:13 PM | Comments (0)
Related topics: via article database
Melksham Market - Tuesdays, 09:00 to 14:00
A new market comes to Melksham - every Tuesday from 8th December, open from 09:00 until 14:00. It will be a general market, and will run in the Assembly Hall and in the car park adjoining the Town Hall, with some 18 to 20 traders. [Notice from Mayor]
The Assembly Hall is a large covered area just behind the Market Place, and is ideally suited to such a venture ... this picture, taken last Saturday, shows crowds in the hall at the Christmas Fair; Santa was in the town hall, there were carols sung around the tree, and the Melksham Christmas Lights were switched on.
When Lisa and I moved to Melksham some 10 years ago, there were a few market stalls in the Market Place each week; shortly thereafter, they moved to the Central Car Park for a while. The Assembly Hall and area beside the Town Hall is much better - partly covered, and the customers won't have to be dodging the cars either.
It just happens that I was also in Trowbridge last Saturday, and took a few pictures in their market hall; although it's a permanent feature there, the picture gives you some idea of what can be achieved. And although Trowbridge is bigger than Melksham, it's not THAT much bigger.
This is an excellent time for a market to open - I wish them well, I hope they get good publicity, and I hope they have the strength to get through the quiet after-Christmas period. It's excellent not only because of the season, but also because there's a reviving spirit in Melksham; for sure, there are empty shop fronts but I know of no less that seven eight major new initiatives. Power to all of their elbows!
Posted by gje at 05:08 PM | Comments (0)
Related topics: via article database