The Well House Newsletter - Friday, 27th November 2015
About us and this newsletter [link] ...
Previous editions: September 2015July 2015May 2015March 2015January 2015November 2014September 2014July 2014May 2014 • this is the current edition

For the Webmaster, Postmaster and moderator Training from Well House Consultants Tcl, Tcl/Tk and Expect Running a training and hotel company Melksham Linux and Shell Programming The Perl Programming Language and its use Python Programming And also ... Apache HTTP and Tomcat Servers Fun and Flames Java and the Java Environment PHP - the language and its application SQL and MySQL Public Transport General Programming Topics C and C++ Programming Keynote Articles Well House Manor - Hotel and Training Centre Around, about and nearby to Wiltshire Ruby and Ruby on Rails Programming in Lua Client Side Languages (HTML, CSS, Javascript)
Keynote article ...

What is coming up from Well House in 2013 - public Open Source / IT courses.

We're running public IT courses in Python, Perl, PHP, Ruby, Tcl, Lua, C and C++. Each of the programming language courses is available in two different forms, depending on the delegate's starting level - there are:
• courses for newcomers to programming, which make no assumption of prior knowledge and cover basic principles as well as the particular language itself,
• courses for delegates with prior programming experience, which allows these delegates to come on a course and start learning new material right from the start.
There are additional courses at a more advance level in PHP, Python and Perl, and also Linux / Web server deployment / Tomcat courses - associated technologies away for delegates who need to look after products and systems written in these open source languages and others, without necessarily needing to know how to do the actual analysis and programming.

All courses are scheduled at least 4 times a year, and the full schedule is published [here]. Some key course features:
• a maximum of 8 delegates ensuring excellent personal attention for the needs of each delegate
• no minimum number - you can book in confidences that course will run
• custom fitted training centre - all the facilities you need for learning
• course notes written by your tutor, who's also a user of the technology himself
• overnight accommodation available at the training centre
From a very "bold" list of slightly unusual features, other things follow and we end up with a product that's distinctly different - and for many delegates much better - in what we provide.

As well as training in our own centre, I occasionaly present or attend courses in other company's training centres, and that gives me an opportunity to learn from others facilities and methods. I can learn from their best principles, and follow those principles where appropriate. And I can also learn what doesn't work, and double-check our product to make sure it doesn't have any similar issues. Giving, or attending, a course that's in a room known as a "Goldilocks Room" (Always too hot or too cold), in a tight urban environment where there's no room outside for parking or inside to relax or even spread out your manual and set up your own laptop, and suffering "death by powerpoint" - where the tutor reads of a series of slides to you as his main delivery - isn't the best learning environment - but I see it provided all too often.

So what can I tell you about our public, 2013, courses.

• The notes we provide accompany the course, but they're not read to you (the delegate) as the main method of course delivery. The course is presented interactively - the tutor talking about, drawing diagrams, and writing programs to show tips and techniques, and using interactive feedback throughout the course. Short examples are written from scratch, longer examples may be pre-written, but the tutor will change the examples, show when they work (and when they don't), with the delegates having the opportunity to jump in, help identify what's wrong or what could be better with new code, and learning from the dynamic development environment rather than just from the static examples pre-prepared. It takes a technically very knowledgeable tutor to be able to do this, but the gains are huge. Our pre-written notes are typically skimmed through at the end of each section to ensure that the tutor hasn't overlooked any vital bullet points during the interactive presentation, and also to help the delegates appreciate the material that they'll leave the course with which is very much designed as a reference book for their later use.

• By having overnight accommodation at our training centre, we've turned a 9 - to - 5 setup where delegates arrive just in time for the course, and leave promptly at the end of the day, into something much more relaxed, and a much better learning experience - our training centre is our delegate's home for the week. And that means that, come 5 p.m. they can still ask the tutor questions, they can carry on with practical sessions for as long as they like - even taking our laptops up to their rooms if they like. And the rooms are fitted to four star standards, with our staff team being available from early in the morning to late in the evening just as in a regular hotel.

• Some delegates don't stay. It would be crazy for a delegate who lives 6 miles away in Trowbridge to stop overnight, for example. But the extended hour philosophy covers day delegates too. We're set up for people to walk in at any time from 7 a.m. if they wish, and to stick around to mid or late evening if they want to. And we find that out of "core" hours, delegates often socalise - walk into the town to eat together, perhaps play games, but also share discussions about their jobs, why they're on the course, and how the technology is helping (or will help) them. You may consider this "socialising" ... or you may consider it to be another tremendously useful facet you get from our courses - something you simply don't get in those places where you're being encouraged out of the door at the end of each day.

• Public course prices for 2013 remain as they were in 2012. That's 350.00 for the first day, plus 250.00 for each subsequent day of a course. If you're staying, add 60.00 per room per night, and I'm afraid you need to add VAT to the total bill. The course include lunch and all course materials, free parking, ... accommodation includes breakfast. There's unlimited coffee and soft drinks on tap. All you'll need to add will be an evening meal - plenty of eating places within walking distance, or feel free to order a delivery or bring in a takeaway. We're happy to pick you up if you arrive in our town by public transport, and we have 120 Mbit broadband freely available to you.

Have a look in our course schedule - [here] - at the course you're interested in; each item links to a full course description with all the details, and notes of alternative courses. If you're left with any questions, please email me ( or phone (01225 708225). We can take your booking by email or phone, and we also have online booking links from each of the course descriptions. In practice, we prefer you to email or phone so that we can discuss your needs ahead of time, ensure you're booking the right course, and so that I know when I'm presenting how to tune your particular course to best train you in the way you need.
(this article written on 2012-12-28)

Other articles ...

Linux and Shell Programming
[4491] Web Server Admin - some of those things that happen, and solutions
[4400] Commenting out an echo killed my bash backup script
[4259] Upgrading our training systems to all the current stable versions
[4134] Setting up your MacBook Air as a mobile broadband router
[4115] More or less back - what happened to our server the other day
Top or Show all for Linux and Shell Programming

Apache HTTP and Tomcat Servers
[4283] Can a legitimate forum post become illegal a year later?
[4234] Change to Libel and Defamation laws from 1st January 2014
[4064] Apache httpd - a robust, open source web server
[4001] Helping search engines with appropriate 400 error codes
[3999] Handling failures / absences of your backend server nicely
Top or Show all for Apache HTTP and Tomcat Servers

C and C++ Programming
[4566] C - why is slow to write and debug) but fast to run? - (new - 2015-11-01)
[4565] Allocation of memory for objects in C++ - Stack v Heap - (new - 2015-10-31)
[4563] Formatting and outputting your own classes in C++ - (new - 2015-10-30)
[4562] Left shift operator on an output stream object - C++ - (new - 2015-10-30)
[4561] Hello World in C++ - a first program, with the process explained - (new - 2015-10-30)
[4560] Variables, Pointers and References - C and C++ - (new - 2015-10-29)
[4559] When do I use the this keyword in C++? - (new - 2015-10-29)
[4557] Function prototype - what they are and why you should use them - C and C++ - (new - 2015-10-27)
[4556] Strings in C - strncmp strncpy and friends - (new - 2015-10-27)
[4555] Preprocessor directives in C and C++ - what they mean - (new - 2015-10-27)
[4554] Passing information into functions in C - by name, by value - (new - 2015-10-26)
Top or Show all for C and C++ Programming

[4567] Japanese and Malaysian food in Melksham - (new - 2015-11-01)
[4543] Saturday morning at Well House Manor - (new - 2015-10-17)
[4510] Learning from the others - Community Rail
[4506] Peak weekend - where there are still rooms near Melksham
[4494] Monday to Friday / TransWilts train times from 18 May to 11th December 2015
Top or Show all for Melksham

Training from Well House Consultants
[4564] Perl, PHP, Python, Lua, Tcl, C++, Ruby - final public courses for 2015 - (new - 2015-10-30)
[4519] Course Schedule - October 2015 to June 2016 - (new - 2015-09-27)
[4518] Open source programming courses - October to December 2015 - (new - 2015-09-27)
[4434] Public training courses - upcoming dates
[4416] Challenging the IT course business model
Top or Show all for Training from Well House Consultants

Running a training and hotel company
[4520] No cold sales calls please - but delighted to hear from others! - (new - 2015-09-29)
[4474] Effect on external factors on traffic to our web sites - an update
[4468] Four in a Bed - most popular answers
[4443] Seventh stay away this year - and it's still only February!
[4415] Buffet review - taking the price into account
Top or Show all for Running a training and hotel company

Well House Manor - Hotel and Training Centre
[4570] A warm welcome awaits you at Well House Manor, Melksham - (new - 2015-11-02)
[4521] Should we get an AA or Visit Wiltshire hotel assessment? - (new - 2015-10-09)
[4285] Pictures of Melksham Heritage Discovery Fair
[4264] Weekend breaks by train to Melksham, Wiltshire
[4175] An alternative format for a new train service timetable
Top or Show all for Well House Manor - Hotel and Training Centre

For the Webmaster, Postmaster and moderator
[4568] Moderation - and the tendency to over-moderate - (new - 2015-11-02)
[4492] Almost so wrong, but perhaps it's right for some?
[4403] The unbalanced relationship between customer and provider
[4385] A booking that looks too good to be true? It probably is too good to be true!
[4376] Well House Consultants, Well House Manor, First Great Western Coffee shop, TransWilts / 2014 web site reports
Top or Show all for For the Webmaster, Postmaster and moderator

General Programming Topics
[4575] Learning not just what a program does, but how to design it in the first place. - (new - 2015-11-06)
[4527] Hello Flask world / Python web micro framework - (new - 2015-10-11)
[4450] Deciding whether to use parameters, conditional statements or subclasses
[4449] Spike solution, refactoring into encapsulated object methods - good design practise
[4402] Finding sum, minimum, maximum and average in Python (and Ruby)
Top or Show all for General Programming Topics

PHP - the language and its application
[4483] Moving from mysql to mysqli - simple worked example
[4437] Adding a PHP build option, rotating an image based on camera data, and a new look at thumbnails in PHP
[4426] FileMaker Day to Unix Time conversion
[4401] Selecting RECENT and POPULAR news and trends for your web site users
[4378] What FGW passengers want to talk about / and PHP programming to find out
Top or Show all for PHP - the language and its application

Java and the Java Environment
[4432] Java web application for teaching - now with sessions and clustering / load balancing demonstrations
[4431] A Java servlet that is also a stand alone program. And a server that is also a web client.
[4430] The spirit of Java - delegating to classes
[4428] Using the lead - passing arrays and other collections in Java
[4427] Java example - for loop and conditionals from course exercise
Top or Show all for Java and the Java Environment

Around, about and nearby to Wiltshire
[4265] A lovely meal in Swindon - just a short walk from the station
[4233] Open for the new year - Imber
[4084] New Pictures - Melksham Pack Horse Bridge
[3989] Plenty to see and do - even in Winter - on a Well House Manor weekend
[3884] Pictures - across the park, French Weir and River Tone, Taunton
Top or Show all for Around, about and nearby to Wiltshire

The Perl Programming Language and its use
[4452] Binary data handling - Python and Perl
[4395] Preparing data through a little bit of Perl
[4391] Refactoring Perl applications to give them a rosy future
[4320] An example of Model-View-Controller techniques in a Perl / CGI script
[4301] Perl - still a very effective language indeed for extracting and reporting
Top or Show all for The Perl Programming Language and its use

Client Side Languages (HTML, CSS, Javascript)
[4310] Problem ... I want to print a series of numbered forms
[4277] Sending a message to the server and changing text on a page when a button is pressed
[4037] Cascading Style Sheets and formatting your web page
[4036] HTML tags uses in these blog articles
[4035] Special characters in HTML
Top or Show all for Client Side Languages (HTML, CSS, Javascript)

Ruby and Ruby on Rails
[4581] Thin application, thick objects - keep you main code simple. Example in Ruby - (new - 2015-11-21)
[4580] Easy example - data record to object and object to data record mapping in Ruby - (new - 2015-11-21)
[4579] Behaviour and test driven development in Ruby using RSpec - (new - 2015-11-21)
[4553] RUby - loading, using, changing, storing JSON format data - (new - 2015-10-23)
[4552] Scenario outlines - tables of values to test - in Gherkin / Cucumber - (new - 2015-10-23)
[4551] Testing your new class - first steps with cucumber - (new - 2015-10-23)
[4550] Build up classes into applications sharing data types in Ruby - (new - 2015-10-23)
[4549] Clarrissa-Marybelle - too long to really fit? - (new - 2015-10-23)
[4544] RSpec - Ruby testing (stand alone example / no cucumber) - (new - 2015-10-17)
Top or Show all for Ruby and Ruby on Rails

[4493] Forgotten / lost MySQL root password
[4487] Starting MySQL. ERROR! The server quit without updating PID file - how we fixed it.
[4481] Extracting data from backups to restore selected rows from MySQL tables
[4406] Fixing damaged MySQL tables - Error 1712 and Error 2013
[4390] Checking MySQL database backups have worked (not failed)
Top or Show all for SQL and MySQL

Tcl, Tcl/Tk and Expect
[4525] What does Tcl do if you try to run a command that is not defined? - (new - 2015-10-10)
[4524] Tcl - a new example for data reformatting - (new - 2015-10-10)
[4523] Catching failed commands and not crashing the program in Tcl - (new - 2015-10-10)
[4522] Loading packages in your Tcl program - (new - 2015-10-09)
[4462] Server program written in Tcl using sockets
Top or Show all for Tcl, Tcl/Tk and Expect

Programming in Lua
[4574] repeat until in Lua - a one or more rather than a zero or more loop - (new - 2015-11-05)
[4573] Classic style OO code - in Lua - (new - 2015-11-05)
[4572] Tables with values and code in Lua - looks like an object? - (new - 2015-11-05)
[4571] Lua - using modules to add your own utilities - (new - 2015-11-04)
[4569] Lua - changes to how integers and floats are handled - 5.2 to 5.3 - (new - 2015-11-02)
Top or Show all for Programming in Lua

Python Programming
[4558] Well House Consultants - Python courses / what's special. - (new - 2015-10-28)
[4545] Method, Class, Module, Package - how to they relate in Python? - (new - 2015-10-17)
[4542] The principle of mocking - and the Python Mock package - (new - 2015-10-17)
[4541] Setting up and tearing down with the Python with keyword - (new - 2015-10-16)
[4540] Unittest of a Flask application including forms - (new - 2015-10-15)
[4538] Flask and unittest - hello web app test world - (new - 2015-10-15)
[4537] example of SQLite using a local database file through SQLalchemy - (new - 2015-10-14)
[4536] Json load from URL, recursive display, Python 3.4 - (new - 2015-10-14)
[4535] SQLAlchemy - first examples with a Python Object Relationship Mapping system - (new - 2015-10-14)
[4534] Flask - complete MVC site to navigate around a data set - (new - 2015-10-13)
[4533] Sessions in flask - (new - 2015-10-13)
[4532] Flask - first forms and responses with wtforms - (new - 2015-10-12)
[4531] Jinja2 - Flask templating - (new - 2015-10-11)
[4530] Requests in Flask - (new - 2015-10-11)
[4529] Flask - calling in the templating engine - (new - 2015-10-11)
[4528] Routing in Flask - (new - 2015-10-11)
Top or Show all for Python Programming

And also ...
[4548] Melksham - two small townships, or one big one? - (new - 2015-10-22)
[4526] Day trip to Lancaster - (new - 2015-10-10)
[4517] Black dog day - and Bobby still seeks his new home - (new - 2015-09-26)
[4516] Looking ahead on the blog - (new - 2015-09-25)
[4514] An update - and my absence in recent weeks
Top or Show all for And also ...

Public Transport
[4578] Rail electrification - far, far too optimistic so over budget and late - (new - 2015-11-20)
[4577] An update - Melksham Link Canal and river - (new - 2015-11-14)
[4547] RUH Hopper - experience and thoughts forward - (new - 2015-10-20)
[4546] Is the RUH hopper a limited, duplicate service running unnecessarily and at high cost? - (new - 2015-10-18)
[4539] TransWilts public transport corridor - (new - 2015-10-15)
Top or Show all for Public Transport

Fun and Flames
[4392] Interview conditions,and other instructions to staff
[4304] Please do not ask me to be the chair!
[4282] On tipping - and the expectation of a tip
[4167] The important customers are the majority, not the celebrity
[4067] The woman, the television, the bullock and Darlington
Top or Show all for Fun and Flames

Keynote Articles
[3164] Brown - or Mrs Sally Brown, accountant from Whitstable?
[2384] Looking ahead to the Autumn season of training and accommodation
[2228] Where do I start when writing a program?
[2216] Past Delegate Offer - Summer Holiday / Weekend Break
[1975] Well House Manor Hotel - on plan for 2009 business guests
Top or Show all for Keynote Articles

Unclassfied Articles
[4582] A near-empty plate of pastries - sign of a breakfast enjoyed - (new - 2015-11-22)
[4576] If it's Tuesday it must be Belgium? - (new - 2015-11-11)
[4509] Throwing a die - exercise in Ruby
[4508] Melksham to London by train - dont buy more than you need
[4484] TransAtlantic crossing - the starter
Top or Show all for unclassified

For the Webmaster, Postmaster and moderator Training from Well House Consultants Tcl, Tcl/Tk and Expect Running a training and hotel company Melksham Linux and Shell Programming The Perl Programming Language and its use Python Programming And also ... Apache HTTP and Tomcat Servers Fun and Flames Java and the Java Environment PHP - the language and its application SQL and MySQL Public Transport General Programming Topics C and C++ Programming Keynote Articles Well House Manor - Hotel and Training Centre Around, about and nearby to Wiltshire Ruby and Ruby on Rails Programming in Lua Client Side Languages (HTML, CSS, Javascript)

A little more about this newsletter ...

At Well House Consultants, we run niche IT training courses ... and we run a hotel for delegates on those courses and other visitors to Melksham too. And we make a lot of friends - have a lot of ambassadors with whom we want to keep in touch. So every day Graham (that's me, writing this piece) puts together an article or two which might include the latest sample programs that I've written during the current course, new information about Well House Manor - our business hotel, tips on search engine optimisation, announcements of upcoming public courses, pictures of local places, and even (on occasions) rants and whimsical pieces to keep those friends up to date and in touch. The feeds are available directlt via the Blog - "The Horse's Mouth", they're on our Twitter Feed and you can find me at my LinkedIn profile. But most people just want to look us up occasionally - every month or two, and then to catch up on the latest news just for their particular subjects of interest ... and that's what this newsletter is about

You'll find above the titles of ALL the new articles written in the last two months, listed by major subject area, and showing as (new) with their date of publication. You'll find additional articles in each category too - topping each category up to a minimum of five articles. And you'll find a link at the end of each section which lets you expand that section to show the titles of every article that's been published in that section. After all, "the old ones are often the best ones", aren't they?

go to Top or other editions September 2015July 2015May 2015March 2015January 2015November 2014September 2014July 2014May 2014 • this is the current edition

Training sample © 2015, WELL HOUSE CONSULTANTS LTD
This is
Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
Phone: +44 (0) 1225 708 225 • EMAIL: • WEB: