Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))

About this Index

This is an index of all of the articles written on The Horse's Mouth blog, starting in summer 2004. And we have added longer articles from The Solution Centre, and source code examples too where appropriate.

Shorter (blog) articles are listed with their reference numbers in [] (square brackets), longer articles listed in () (round brackets) and examples listed with their program name in {} (curly braces).

You'll find a series of in-page links at the division point between each major section, so that you can naviage within this page ... and we have targetted all the links to a new page so that you can step around and find exactly what you're looking for without a lot of refreshes.

If you find this resource useful, please let us know. If you have any questions, please feel free to ask. And if you want to learn a lot more, please look at our training courses which are linked from the top of the page, or look at our course schedule here
Article and Example Index - sorted by subject
top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

A: Linux, Apache httpd and Tomcat

Overview A050 - Web Deployment - General
[4434] Public training courses - upcoming dates
[3891] The components of an Apache httpd / Tomcat / MySQL stack and what each does
[2595] Twelve skills / knowledges needed for the design of a web site
[2568] Forums for your Melksham and open source discussions
[2099] Should I maintain the programming code on my own website?
[2072] Copyright, Portability and other nontechnical web site issues
[116] The next generation of programmer
(article) The Author of the Apache httpd and Tomcat Course

Overview A051 - Linux - General
[4259] Upgrading our training systems to all the current stable versions
[3902] Shell - Grep - Sed - Awk - Perl - Python - which to use when?
[3219] How do I become a Linux System Administrator?
[2035] 1234567890 ... coming up on Friday 13th
[2023] sw_vers - what version of OSX am I running?
(article) Linux and httpd file system layout - LAMP server

Overview A052 - Networking - General
[2695] TCP v UDP / Client v Server - Python examples
[2150] Routers, Firewalls and multilayer servers
[2149] Routing Network Traffic - Proxies, Redirects and DNS
[768] Our new .eu top level domain
(article) What are NIS, LDAP, DNS and BIND
(article) Firewall fundamentals - Linux

Module A099 - Java Application - Deployment on the Web
[3891] The components of an Apache httpd / Tomcat / MySQL stack and what each does
[2599] Telling Apache web servers apart / notes for the non-technical
[2130] Javascript - move cursor over image to change a different image.
[1621] Linux and Java Course in London
[673] Helicopter views and tartans
[659] Web Application Components
[576] Why run two different web servers
[166] Acronyms

Module A100 - The Components of a Web-Based Solution
[3891] The components of an Apache httpd / Tomcat / MySQL stack and what each does
[2896] LAMP - Linux, Apache, MySQL, PHP - install, configure, administer
[2099] Should I maintain the programming code on my own website?
[1496] PHP / Web 2 logging
[1265] Apache, Tomcat, Jakarta, httpd, web server - what are they?
[1198] From Web to Web 2
[1176] A pu that got me into trouble
[924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl
[673] Helicopter views and tartans
[510] Dynamic Web presence - next generation web site
[442] How far away is that server?
[433] FTP - how to make the right transfers
[367] Ajax
[166] Acronyms
[49] Business is the predominant user of Tomcat, Perl and Tcl
[34] Linux / LAMP course
(article) Open Source - here to stay, or a flash in the pan?
(article) Web applications using LAMP technologies
(article) New to programming. Portable code. Perl or Java?
{index.php} Simple test script for WAMP
{examples.txt} Source code examples for our training modules

Module A101 - Linux -An Introduction For Users
[3819] Packing a tar, jar or war file - best practise
[3791] The Kernel, Shells and Daemons. Greek Gods in computing
[3256] Displaying a directory or file system tree - Linux
[3179] Oops - I typed ci not vi, and have lost my file ...
[2831] Recording (a macro) in vi
[2636] Linux - useful tips including history and file name completion
[2494] Making Linux Politically correct
[2479] Accidentally typed ci rather than vi?
[2300] What does x on a linux directory mean?
[2299] How much space does my directory take - Linux
[2203] Always use su with minus. And where do programs come from?
[2201] Running straight from the jar, but not from a tar
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1902] sstrwxrwxrwx - Unix and Linux file permissions
[1897] Keeping on an even keel
[1893] Some Linux and Unix tips
[1803] FTP passive mode - a sometimes cure for upload hangs
[1764] Yank and Push - copy and move in vi
[1651] ls command - favourite options
[1527] Selecting file names in a shell - one word or another
[1438] Copy and paste / cut and paste and other vi techniques
[1408] Wireless hotel tips - FTP and Skype connections failing
[1366] awk - a powerful data extraction and manipulation tool
[1288] Linux run states, shell special commands, and directory structures
[1287] Work and play at Well House Manor - Football and Shell Shortcuts
[1259] Where am I and how did I get here?
[1068] ls -l report, Linux / Unix - types and permssions
[1013] Copy multiple files - confusing error message from cp
[1012] Moving files between Windows / DOS and Linux / Unix
[984] Cardinal numbers and magic numbers
[749] Cottage industry or production line data handling methods
[711] THE home directory or MY home directory
[710] Linux training Glasgow, Python programming course Dundee
[703] Copying files and preserving ownership
[679] More or less on the edge of the page
[659] Web Application Components
[593] Finding where the disc space has gone
[431] File permissions of Linux and Unix systems
[430] Linux commands - some basics
[249] An easy way out
[152] Aladdin, or careful what you wish.
[74] pushd and popd
[73] vi - full circle
(article) awk - pattern scanning and formatting
(article) Korn Shell - Basics
(article) Korn Shell - History, storing to file, commands
(article) Korn Shell Scripting - an introduction
(article) Tiny guide to vi basics

Module A158 -
[4708] Scons - a build system in Python - building hello world

Module A161 - Users and Groups
[4045] Linux Web Server - User Roles, User Accounts, and shared administration
[2639] su or su - ... what is the difference?
[2491] Root is root for a reason!
[2301] Mistaken identity?
[2203] Always use su with minus. And where do programs come from?
[2117] Choosing a railway station fairly in PHP
[2103] Ask the Tutor - Open Source forum
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1902] sstrwxrwxrwx - Unix and Linux file permissions
[1773] The Longest Possible Day
[1650] Looking for files with certain characteristics (Linux / Unix)
[1619] User and Group settings for Apache httpd web server
[1592] Setting up a new user - Linux or Unix
[683] Supporting users on Linux and Unix
[431] File permissions of Linux and Unix systems
[409] Functions and commands with dangerous names
(article) A Web interface for your Linux admin tasks

Module A162 - Backups and File System Management
[4481] Extracting data from backups to restore selected rows from MySQL tables
[4405] Backup procedures - via backup server
[4400] Commenting out an echo killed my bash backup script
[4390] Checking MySQL database backups have worked (not failed)
[4115] More or less back - what happened to our server the other day
[4063] Backups by crossover between network centres - setting up automatic scp transfers
[4056] An overpractical test of our backup strategy!
[2299] How much space does my directory take - Linux
[1893] Some Linux and Unix tips
[1801] Will your backups work if you have to restore them?
[1765] Dialects of English and Unix
[1648] The tourists guide to Linux
[1439] Linux / Unix - layout of operating system files
[1288] Linux run states, shell special commands, and directory structures
[1023] Finding public writeable things on your linux file system
[1013] Copy multiple files - confusing error message from cp
[754] tar, jar, war, ear, sar files
[735] Boys will be boys, saved by Ubuntu
[703] Copying files and preserving ownership
[593] Finding where the disc space has gone
[554] What backup is adequate?
[334] Symbolic links and hard links
[153] Linux - where to put swap space
(article) Linux and httpd file system layout - LAMP server
(article) Why Partition a disc drive?
(article) Linux and XP - loading a dual boot system
{twice_weekly} Twice weekly backup script
{hourly} Hourly database backup script

Module A163 - Network Configuration and Security
[4134] Setting up your MacBook Air as a mobile broadband router
[3448] Checking all the systems on a subnet, using Expect and Tk
[2489] Parallel Pinging, using Python Threads or Expect spawn lists
[2052] How was my web site compromised?
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1712] As different as night and tyres
[1666] Slow boot and terminal start on Linux boxes
[1408] Wireless hotel tips - FTP and Skype connections failing
[1073] Heartbeat script in Perl
[511] Domain Forwarding - 2 ways of doing it
[506] What are DHCP and DNS?
[332] Looking up IP addresses
[267] Searching security holes
[37] Security and Safety
[11] A bolt of lightning on Multicasting
(article) Firewall fundamentals - Linux
{hosts} Archived /etc/hosts file

Module A164 - Services and Regular Jobs
[4487] Starting MySQL. ERROR! The server quit without updating PID file - how we fixed it.
[3792] Managing daemons from a terminal session
[3791] The Kernel, Shells and Daemons. Greek Gods in computing
[3143] On time
[3011] What are .pid files?
[2182] What Linux run level am I in?
[2145] Using the internet to remotely check for power failure at home (PHP)
[1903] daemons - what is running on my Linux server?
[1765] Dialects of English and Unix
[1733] memcached - overview, installation, example of use in PHP
[1731] Apache httpd, MySQL, PHP - installation procedure
[1700] FTP server on Fedora Linux
[1633] Changing a screen saver from a web page (PHP, Perl, OSX)
[1553] Automatic startup and shutdown of Tomcat
[1288] Linux run states, shell special commands, and directory structures
[1028] Linux / Unix - process priority and nice
[907] Browser -> httpd -> Tomcat -> MySQL. Restarting.
[544] Repeating tasks with crontab
(article) Windows clients to a Linux Server
{timeset} Sample crontab job - checking system clock
{crontab} Sample crontab file - repeated, timed jobs

Module A165 - Installing Software
[4259] Upgrading our training systems to all the current stable versions
[3053] Make - automating the commands for building and installing
[2201] Running straight from the jar, but not from a tar
[2139] OS Commerce install made simple
[1700] FTP server on Fedora Linux
[809] What to do during a Linux build

Module A166 - Linux Utilities
[4682] One line scripts - Awk, Perl and Ruby
[4586] Extending your bash shell with aliases, functions and extra commands
[3902] Shell - Grep - Sed - Awk - Perl - Python - which to use when?
[3764] Shell, Awk, Perl of Python?
[3446] Awk v Perl
[2638] Finding what has changed - Linux / Unix
[2484] Finding text and what surrounds it - contextual grep
[2320] Helping new arrivals find out about source code examples
[2145] Using the internet to remotely check for power failure at home (PHP)
[1690] Conversion of c/r line ends to l/f line ends
[1366] awk - a powerful data extraction and manipulation tool
[1361] Korn shell course
[71] Comparators in Linux and Unix
[63] Almost like old times
(article) awk - pattern scanning and formatting
(article) Korn Shell - Basics
(article) Korn Shell - History, storing to file, commands
(article) Korn Shell Scripting - an introduction
{ladies.dat} input data for utilities
{as2} awk - match in whole line or on specific field
{as1} awk - BEGIN, END and patterns
{aspers.txt} grep example output
{gents.dat} Input data for utilities
{demo.pl} Sample Perl script to analyse data file
{as3} Using awk to select and format data, and calculate
{demo.awk} awk script to analyse a data file
{requests.txt} input data for utilities
{lsof_extract.awk} awk program to analyse and report on listing of open files

Module A167 - Shell Programming (bash)
[4587] shell - bash. Writing conditional tests and statements - the options available
[4586] Extending your bash shell with aliases, functions and extra commands
[4584] Bash ... some new scripts to - handling user input
[4487] Starting MySQL. ERROR! The server quit without updating PID file - how we fixed it.
[4400] Commenting out an echo killed my bash backup script
[3791] The Kernel, Shells and Daemons. Greek Gods in computing
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1527] Selecting file names in a shell - one word or another
[1468] Lexical v Arithemetic testing, Bash and Perl
[1345] Perl and Shell coding standards / costs of an IT project
[1287] Work and play at Well House Manor - Football and Shell Shortcuts
[827] No news is good news with Unix and Linux
[749] Cottage industry or production line data handling methods
[64] Shell Script for CGI on the web
[63] Almost like old times
{lookup.sh} Bourne Again Shell script for CGI Web server
{skcount} Skill counter - sample script in alternative Perl language
{fnk} function definition and use
{yesterday} yesterday in a bash script
{help} Towards bash scripting - series of commands
{dc_checked} Data copy with conditional check
{dcj} Data copy, with command line parameter
{wont} Stopping ^C in a shell using trap
{dc5} Data copy, calculating statistics
{askuser} select - choose from stdin
{skillcounter} Perl script - needs setting up to run as Linux command
{shelc} Shell numric and string comparisons. Also backup script
{dci} Data copy, use of shell variables
{pex} textual manipulation of shell variables
{eocl} Usage line and for loop - bash
{dc4} Data copy, loop to copy files one by one, checking
{dcif} Data copy, use of shell if statement
{datcopy} Simple copy script to run from command line
{another} Shell read from stdin up to next new line

Module A168 - Compiler and development tools
[4585] What is make? What is gcc?
[4013] Web Frameworks - nested templates
[3666] Makefile variables - defined internally, from the command line and from the environment
[3658] Using Make for a distribution
[3652] A Complete makefile example
[3651] Makefile - some basics, and a demonstration
[3632] What is Make?
[3053] Make - automating the commands for building and installing
[2674] Make and makefiles - a commented example to help you learn
[1671] Compiling C programs with gcc - an overview
[694] Ant and Make
{mytcl.c} C program for gcc practise
{Make_3} Variable and their types, conditionals and make functions
{makefile} Simple makefile example
{more.c} Second source file for makefile / compiler demo
{demo.c} Hello World in C for compiler tool demo
{Make_1} Straightforward, commented Makefile
{Make_2} Makefile - with standard rules and Make variables
{makefile_hello} Compiler tools - simple Make file

Module A171 - Linux Server Admin - Exercise
[2491] Root is root for a reason!
[1719] A special day - last Friday in July
[1666] Slow boot and terminal start on Linux boxes

Module A172 - Korn Shell - interactive and programming facilities
[1660] Korn shell - some nuggets
[1659] String, Integer, Array, Associative Array - ksh variables
[1658] Some useful variables and settings in the Korn Shell
[1367] korn tips - some useful korn shell techniques
[1365] Korn Shell scripts on the web
[1364] Korn shell course - resources
[1361] Korn shell course
(article) Korn Shell - Basics
(article) Korn Shell - History, storing to file, commands
(article) Korn Shell Scripting - an introduction
{dat_backup} Simple shell script to back up file
{dat_backup3} Korn shell conditional testing
{dat_backup2} Uses bourne shell compatible tests
{sharon} for loop - Korn Shell
{stroppy} String Test Operators
{script_korn} Korn shell script
{funky} Define a function - Korn shell
{filestat} Comparing one or two files
{kornserver.cgi} Korn shell / web script using CGI
{pippa} Setting up and referencing a Ksh array
{gvar} ksh - global and local variables
{selk} Korn Shell - Select example
{tracey} Korn shell array and while loop
{townline} Selects a town ending
{numtee} Korn Shell - numeric (integer) testing
{hello_korn} Korn shell commands in a file

Module A180 - Name Services - overview
[690] Adding Virtual Hosts
[686] Name Services - telling your LDAP from your DNS
(article) What are NIS, LDAP, DNS and BIND

Module A181 - LDAP / OpenLDAP server
[686] Name Services - telling your LDAP from your DNS
(article) What are NIS, LDAP, DNS and BIND
{training.ldif} A sample user data entry
{org_struct.ldif} define the organisation structure

Module A191 - Installing Linux
[3632] What is Make?
[1292] DHCP automatic IP address v Static IP
[1288] Linux run states, shell special commands, and directory structures
[705] Disc Partitioning

Module A192 - Firewalls
[3680] How can I run multiple web servers behind a single IP address?
[3679] Setting up your Linux system as a firewall using iptables
[806] Check your user is human. Have him retype a word in a graphic
[770] Splash!
(article) Firewall fundamentals - Linux
{chaingang} sample iptables for firewalling a web server

Module A193 - DNS
[4491] Web Server Admin - some of those things that happen, and solutions
[2537] Faster network, but not faster browsing until ...
[690] Adding Virtual Hosts
[686] Name Services - telling your LDAP from your DNS
(article) What are NIS, LDAP, DNS and BIND
{resolv.conf} client file to point to DNS server
{named.conf} bind 9 sample file - /etc/named.conf
{resolve.php} PHP to look up country and domain details from an IP
{cco.php} setting up a menu to offer countries
{wellho.zone} sample zone file for spring.wellho.net domain

Module A199 -
[2232] Why sendmail one way, and pop3 the other?
[1774] What is my real and my effective ID? [Linux]
[1292] DHCP automatic IP address v Static IP
[476] May I be politically incorrect?

Module A207 - HTTP
[3432] 3 digit HTTP status codes - what are they, which are most common, which should be a concern?
[2918] Downloading a report from the web for further local analysis
[2738] What is all this SESSION stuff about? (PHP)
[2596] Http protocol - what does a web server send
[2321] Uploading and Downloading files - changing names (Perl and PHP)
[1549] http, https and ajp - comparison and choice
[1503] Web page (http) error status 405
[1378] Etag in http headers - what is it?
[484] Setting the file name for a downloaded document
{relocate} Move a directory permanently via .htaccess

Module A211 - Web Application Design and Deployment
[3532] Sharing the user experience - designing a form with the customer in mind
[2072] Copyright, Portability and other nontechnical web site issues
[1798] What does an browser understand? What does an HTML document contain?
[1547] New bathing idea for hotels from Hotelympia
[1545] Letting new visitors know we provide training courses
[1351] Compressing web pages sent out from server. Is it worth it?
[1256] What country are you in? How we find out on our web site
[1198] From Web to Web 2
[767] Finding the language preference of a web site visitor
[659] Web Application Components
[443] Server side scripting of styles to suit the browser
[356] Sudoku helper or sudoku cheat
[23] Skills and responsibilities
(article) Using current exchange rates on a web page

Module A212 - Secure Service and Credit Cards
[2097] PHP Course - for hobby / club / charity users.
[1840] Validating Credit Card Numbers
[46] Near and far security

Module A213 - Commercial and Legal Aspects
[4283] Can a legitimate forum post become illegal a year later?
[4234] Change to Libel and Defamation laws from 1st January 2014
[3747] An easy way to comply with the new cookie law if your site is well designed
[3746] Google Analytics and the new UK Cookie law
[3745] Legal change - You need to obtain user consent if you use cookies on your website
[3168] Web Sites - Subject to Advertising Standards from 1st March - check your sites
[3104] Catering in Syracuse, the Saigon Cafe, stolen images and Christmas
[3016] The legal considerations of your web presence - revisited
[2686] Freedom of Information - consideration for web site designers
[2592] Re-using our pictures
[2252] Leaping dog, Leaping horse, copyright of old masters
[2140] Beware - giving copyright away when you upload a picture - Dogs Trust
[1937] Getting hold of the wrong end of the stick
[1840] Validating Credit Card Numbers
[1747] Who is watching you?
[1506] Ongoing Image Copyright Issues, PHP and MySQL solutions
[1486] Does anyone understand Lithuanian?
[1485] Copyright and theft of images, bandwidth and members.
[1431] Getting the community on line - some basics
[1054] UK legal requirements for your commercial web site
[994] Training on Cascading Style Sheets
[876] Making pages clearer - easy Disability Discrimination Act Compliance
[795] Remember a site's non-technical issues too
[759] Watch your Google profile
[746] Domain Listing Center and Domain Registry of America
[532] Copyright - how much can I legally copy?
[322] More maps
[320] Ordnance Survey - using a 'Get a map'
[288] Colour blindness for web developers
[259] Responding to spam
[142] Colour for access
(article) Using current exchange rates on a web page

Module A301 - XML, DTD, XSLT, XHTML and More
[2554] Adding retrospective ALT attributes to IMG
[2378] Handling XML in Perl - introduction and early examples
[2246] What difference does using the XHTML standard really make?
[1901] XML, HTML, XHTML and more
[1050] The HTML++ Metalanguage
[653] Easy feed!
(article) Handling XML in Java
(article) Using LWP to write Web Clients
{imglist.xsl} XSLT sample - produces a table of images -->
{reminder.html} Sample HTML document from this module
{capname.pl} Altering an XML document through LibXML
{xml5.pl} Alternative - using handlers
{xslt.php4} Process an XML file through XSLT in PHP

Module A401 - Structured Code and Object Orientation
[3085] Object Oriented Programming for Structured Programmers - conversion training
[1717] Q - Should I use Perl or Python?
[343] Should I use structured or object oriented?
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{firstwish} First program in Tcl
{firstclass.java} Sample program - written in Java */
{firstprog} This is a sample of the Python language
{firstweb} This is a sample of the PHP language
{firstalt} This is a sample of the Perl language

Module A501 - Java - Basic Language Overview
[2423] What is a JVM, a JRE, a JDK - components of the core Java Environment
[2120] Java on the Web Server - course for delegates with some prior Java experience
[871] Java oversold?
[659] Web Application Components
(article) New to programming. Portable code. Perl or Java?

Module A502 - Java - Basic Tools
[4412] Java -making sure you have the right versions
[3819] Packing a tar, jar or war file - best practise
[3151] Disassembling Python and Java - previously compiled code
[2859] Using java, javac, jar, and CLASSPATH - a simple example
[2422] Looking inside Java classes - javap and javadoc
[2153] Class Loading and Variable Conversion in Java
[1909] javax.servlet cannot be resolved - how to solve
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1562] Java Compiler - needs all classes, compiles them all too
[1192] What are WEB-INF and META-INF directories?
[1082] Straight from the .jar
[754] tar, jar, war, ear, sar files
{Bella.java} Running a method in Java
{Summer.java} Summer test program
{Passport.java} Passport class
{Annie.java} "Hello World" in Java
{Chloe.java} Running a method from another class
{Debbie.java} Class used in Chloe.java example
{javalog.001} Annotated log

Module A503 - Java - Sourcing, Installing, Initial Testing
[2184] Choosing the right version of Java and Tomcat
[2153] Class Loading and Variable Conversion in Java
[2080] Using ApacheBench and jconsole to test and monitor Tomcat
[2079] Java - Memory Allocation and garbage collection
[1908] Java CLASSPATH explained

Module A504 - Java - Terminologes, Technologies and releases.
[4317] Java - an update of the basics
[1766] Diagrams to show you how - Tomcat, Java, PHP
[124] PHP v Java

Module A506 - Java - Installing and Deploying optional Technologies
[3043] Gathering information - logging - with log4j. First steps.
[2082] Jmeter - a first test case
[2081] Connecting jconsole remotely - the principles
[2079] Java - Memory Allocation and garbage collection
[1718] Increasing Java Virtual Machine memory for Tomcat
{Thumb.java} Hello log4j world
{Finger.java} simple logging - log4j - using a properties file

Module A507 - Java - Servlets and JSPs
[4431] A Java servlet that is also a stand alone program. And a server that is also a web client.
[3997] Servlet v JSP (Java Server Page). What is the difference?
[3044] Changing a Servlet - more that just editing and compiling
[2525] Using JSPs, Tag Libraries, Java Beans, Tomcat in one short example
[2151] What is a JSP tag library?
[479] New servlet from old

Module A508 - Jakarta and Struts
[3046] Java Beans, tag libraries and JSPs - what and why.

Module A509 - Java - Ant build tool
[4708] Scons - a build system in Python - building hello world
[3155] Rake - a build system using code written in Ruby
[694] Ant and Make
(article) Overview of Ant - a Java based build tool

Module A601 - Apache httpd - an overview
[4434] Public training courses - upcoming dates
[4064] Apache httpd - a robust, open source web server
[2186] An FAQ on the Apache httpd and Apache Tomcat web servers, and on using them together
[2077] Why put Apache httpd in front of Apache Tomcat
[2063] Internal Dummy Connections on Apache httpd
[2054] Tuning httpd / the supermarket checkout comparison
[2038] Sticky Sessions with mod_jk (httpd to Tomcat)
[2016] Apache httpd and Apache Tomcat miscellany
[1897] Keeping on an even keel
[1593] Keep the client experience easy - single server contact point
[1265] Apache, Tomcat, Jakarta, httpd, web server - what are they?
[924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl
[659] Web Application Components
[576] Why run two different web servers

Module A602 - Apache httpd - Sourcing, Installation, Testing
[4437] Adding a PHP build option, rotating an image based on camera data, and a new look at thumbnails in PHP
[3426] Automed web site testing scripted in Ruby using watir-webdriver
[2520] Global and Enable - two misused words!
[2184] Choosing the right version of Java and Tomcat
[2096] Where is my new Apache httpd installed
[2080] Using ApacheBench and jconsole to test and monitor Tomcat
[1945] Summary - Apache httpd build on Linux
[1768] What is built in to this httpd and PHP?
[1731] Apache httpd, MySQL, PHP - installation procedure
[1707] Configuring Apache httpd
[1455] Connecting to MySQL 5 from PHP on Mac OSX Leopard
[1449] Upgrade Mac OSX to Leopard, Web Server Apache httpd config lost
[1292] DHCP automatic IP address v Static IP
[1095] Apache httpd , browser, MySQL and MySQL client downloads
[982] Notes from the white board
[907] Browser -> httpd -> Tomcat -> MySQL. Restarting.
[660] Stopping and restarting Apache httpd cleanly
[550] 2006 - Making business a pleasure
[526] Apache httpd - serving web documents from different directories
[523] Apache httpd release 2.2
(article) Linux and httpd file system layout - LAMP server
(article) A Web interface for your Linux admin tasks
(article) Windows - running Apache and MySQL from a CD
{config.nice} Sample configuration details
{yumyum.pl} Setting up and first test program for CGI scripts

Module A603 - Further httpd Configuration
[4307] Identifying and clearing denial of service attacks on your Apache server
[4001] Helping search engines with appropriate 400 error codes
[3955] Building up from a small PHP setup to an enterprise one
[3862] Forwarding a whole domain, except for a few directories - Apache http server
[3635] Parse error: parse error, unexpected T_STRING on brand new web site - why?
[3449] Apache Internal Dummy Connection - what is it and what should I do with it?
[3133] An image from a website that occasionally comes out as hyroglyphics
[2900] Redirecting a page - silent, temporary or permanent?
[2478] How did I do THAT?
[2272] Monitoring and loading tools for testing Apache Tomcat
[2060] Database connection Pooling, SSL, and command line deployment - httpd and Tomcat
[1974] Moving a directory on your web site
[1955] How to avoid duplicating web page maintainance
[1954] mod_rewrite for newcomers
[1939] mod_proxy_ajp and mod_proxy_balancer examples
[1778] Pointing all the web pages in a directory at a database
[1767] mod_proxy and mod_proxy_ajp - httpd
[1762] WEB-INF (Tomcat) and .htaccess (httpd)
[1707] Configuring Apache httpd
[1636] What to do if the Home Page is missing
[1619] User and Group settings for Apache httpd web server
[1566] Strange behaviour of web directory requests without a trailing slash
[1564] Default file (MiMe types) for Apache httpd and Apache Tomcat
[1554] Online hotel reservations - Melksham, Wiltshire (near Bath)
[1551] Which modules are loaded in my Apache httpd
[1381] Using a MySQL database to control mod_rewrite via PHP
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat)
[1355] .php or .html extension? Morally Static Pages
[1351] Compressing web pages sent out from server. Is it worth it?
[1207] Simple but effective use of mod_rewrite (Apache httpd)
[1121] Sharing the load with Apache httpd and perhaps Tomcat
[1080] httpd.conf or .htaccess?
[1009] Passing GET parameters through Apache mod_rewrite
[934] Clustering, load balancing, mod_rewrite and mod_proxy
[853] To list a directory under httpd on a web server, or not?
[755] Using different URLs to navigate around a single script
[662] An unhelpful error message from Apache httpd
[649] Denial of Service ''attack''
[631] Apache httpd to Tomcat - jk v proxy
[550] 2006 - Making business a pleasure
[526] Apache httpd - serving web documents from different directories
[466] Separating 'per instance' data from binaries and web sites
[345] Spotting a denial of service attack
(article) Linux and httpd file system layout - LAMP server
(article) A Web interface for your Linux admin tasks
(article) Load balancing and robustness - httpd, tomcat, PHP, Servlets, MySQL
(article) Making all your .html files run a Perl script
(article) The proxy jServ, jk, jk2, warp and jk story
(article) Windows - running Apache and MySQL from a CD
{DOThtaccess} mod_rewrite - all .html request divert to a script
{README} sample README file
{DOTmy.cnf} Override MySQL defaults with .my.cnf
{mpmsample.conf} Sample Annotated Prefork and Worker MPM configurations
{add_account.php} Add a MySQL and Linux account from a web page
{andy} A Programmed RewriteMap for mod_rewrite in PHP
{webuser} Script to run
{AUP} Acceptable User Policy
{demo.php} Demonstration of mod_rewrite
{fulluser} Script to create Linux and MySQL accounts

Module A604 - Apache httpd - virtual hosts
[4404] Which (virtual) host was visited? Tuning Apache log files, and Python analysis
[3568] Telling which ServerAlias your visitor used - useful during merging domains
[3132] Virtual Hosting with Apache http server - an overall scheme, and avoiding common pitfalls
[1896] Virtual Hosts and Virtual Servers
[1687] Virtual Hosting on Apache httpd - a primer example
[690] Adding Virtual Hosts
(article) Multiple domains on a single web server
{vh} Virtual hosts - a simple structure
{vhost_withnote} Virtual Hosting - sample template for many-domain system
{vhosts_proxy.conf} Virtual Hosting Example with forwarding to Tomcat
{vhost.snowdrop.conf} Virtual host sample - snowflake, snowdrop and raindrop

Module A606 - Apache httpd - log files and log tools
[4491] Web Server Admin - some of those things that happen, and solutions
[4404] Which (virtual) host was visited? Tuning Apache log files, and Python analysis
[4307] Identifying and clearing denial of service attacks on your Apache server
[3984] 20 minutes in to our 15 minutes of fame
[3974] TV show appearance - how does it effect your web site?
[3670] Reading Google Analytics results, based on the relative populations of countries
[3554] Learning more about our web site - and learning how to learn about yours
[3491] Who is knocking at your web site door? Are you well set up to deal with allcomers?
[3447] Needle in a haystack - finding the web server overload
[3443] Getting more log information from the Apache http web server
[3087] Making the most of critical emails - reading behind the scene
[3027] Server logs - drawing a graph of gathered data
[3019] Apache httpd Server Status - monitoring your server
[3015] Logging the performance of the Apache httpd web server
[1796] libwww-perl and Indy Library in your server logs?
[1780] Server overloading - turns out to be feof in PHP
[1761] Logging Cookies with the Apache httpd web server
[1656] Be careful of misreading server statistics
[1598] Every link has two ends - fixing 404s at the recipient
[1503] Web page (http) error status 405
[1237] What proportion of our web traffic is robots?
[376] What brings people to my web site?
(article) Web Forensics
(article) Log file analysis - short Python example
{httpd-info.conf} Config file for Apache Status and Info
{o10x} Generate parallel network traffic to test a server
{als} Analysing Web Server Logs
{statlog} Server Status Logger / hpptd to run via crontab

Module A607 - Apache httpd mod_rewrite
[3862] Forwarding a whole domain, except for a few directories - Apache http server
[3753] Adding a passcode to a directory
[3568] Telling which ServerAlias your visitor used - useful during merging domains
[3339] Simplest ever proxy configuration?
[3197] Finding and diverting image requests from rogue domains
[2981] How to set up short and meaningfull alternative URLs
[2900] Redirecting a page - silent, temporary or permanent?
[2773] Dynamically watching your web site via a PHP wrapper
[2768] Carrying a long URL around - looking for memorable shorts
[2728] Redirecting a home page using mod_rewrite
[2555] Bookkeeping
[2094] If you have a spelling mistake in your URL / page name
[1954] mod_rewrite for newcomers
[1778] Pointing all the web pages in a directory at a database
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1731] Apache httpd, MySQL, PHP - installation procedure
[1636] What to do if the Home Page is missing
[1381] Using a MySQL database to control mod_rewrite via PHP
[1376] Choosing between mod_proxy and mod_rewrite
[1207] Simple but effective use of mod_rewrite (Apache httpd)
[1009] Passing GET parameters through Apache mod_rewrite
[1006] Apache httpd and Apache Tomcat together tips
[934] Clustering, load balancing, mod_rewrite and mod_proxy
[755] Using different URLs to navigate around a single script
[631] Apache httpd to Tomcat - jk v proxy
(article) Making all your .html files run a Perl script
(article) The proxy jServ, jk, jk2, warp and jk story
(article) Load Balancing and Clustering

Module A608 - Apache httpd mod_proxy
[3892] Distributed, Balanced and Clustered Load Sharing - the difference
[3680] How can I run multiple web servers behind a single IP address?
[3339] Simplest ever proxy configuration?
[3293] Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat)
[2482] Load balancing with sticky sessions (httpd / Tomcat)
[2325] Apache, Tomcat, mod_proxy
[2273] Three recent questions on Tomcat Convertors
[2062] Virtual hosting and mod_proxy forwarding of different domains (httpd)
[1944] Forwarding session and cookie requests from httpd to Tomcat
[1939] mod_proxy_ajp and mod_proxy_balancer examples
[1767] mod_proxy and mod_proxy_ajp - httpd
[1566] Strange behaviour of web directory requests without a trailing slash
[1376] Choosing between mod_proxy and mod_rewrite
[1121] Sharing the load with Apache httpd and perhaps Tomcat
[1006] Apache httpd and Apache Tomcat together tips
[934] Clustering, load balancing, mod_rewrite and mod_proxy
[631] Apache httpd to Tomcat - jk v proxy
(article) The proxy jServ, jk, jk2, warp and jk story
(article) Load Balancing and Clustering
{proxy.conf} Sample mod_proxy configurations
{httpd.conf} httpd.conf which includes extra proxy forwarder file
{httpd-forwarder.conf} Proxy Forwarder include file for Apache httpd 2.2

Module A651 - Tomcat Overview
[4434] Public training courses - upcoming dates
[3997] Servlet v JSP (Java Server Page). What is the difference?
[2753] You do not just fly - that is just part of the journey
[2186] An FAQ on the Apache httpd and Apache Tomcat web servers, and on using them together
[2077] Why put Apache httpd in front of Apache Tomcat
[2016] Apache httpd and Apache Tomcat miscellany
[1941] Server - Service - Engine - Host, Tomcat
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1265] Apache, Tomcat, Jakarta, httpd, web server - what are they?
[659] Web Application Components
[576] Why run two different web servers
[498] Why is Tomcat called Tomcat?
[49] Business is the predominant user of Tomcat, Perl and Tcl

Module A652 - Tomcat -Sourcing, Installing and Initial Testing
[3819] Packing a tar, jar or war file - best practise
[2088] Changing the 404 - file not found - page in Tomcat
[1550] Java (JSP and Servlet examples) live on our server
[1049] Java 6, Apache Tomcat 6.
[837] Tomcat - Shutdown port
(article) Running CGI scripts in Apache Tomcat
(article) Running SSI (Server Side Include) scripts in Apache Tomcat
{web.course.xml} web.xml, as cut down / modified during a training course
{tomcat-users.course.xml} tomcat-users.xml file, modified on a training course
{server.course.xml} Cut down server.xml file, from a course practical

Module A653 - Tomcat - Configuring Web Applications
[3996] Tips on Tomcat - moving applications around
[3044] Changing a Servlet - more that just editing and compiling
[2088] Changing the 404 - file not found - page in Tomcat
[1909] javax.servlet cannot be resolved - how to solve
[1564] Default file (MiMe types) for Apache httpd and Apache Tomcat
[1552] Extra public classes in deploying Apache httpd and Tomcat
[1192] What are WEB-INF and META-INF directories?
[1082] Straight from the .jar
[1074] Java beans and classes, .war and .jar files
[1006] Apache httpd and Apache Tomcat together tips
[754] tar, jar, war, ear, sar files
[479] New servlet from old
[465] Changing Tomcat's web.xml and reloading a web application
(article) Running CGI scripts in Apache Tomcat
(article) Running SSI (Server Side Include) scripts in Apache Tomcat
{isbnform.html} Form for bl3.jsp example -->
{Smallest.java} Smallest servlet - hit counter
{prog1.cgi} Perl script to test Apache Tomcat CGI support
{Summer.java} First Example of using Java Servlet Sessions
{Book.java} Book bean - connect to MySQL to look up Author based on ISBN */
{demo.jsp} A Java Server Page Multiplication table -->
{first.jsp} A simple calculator in a JSP page -->
{booklook.jsp} JSP tags used to call up Java Beans -->
{Agetest.java} Class to use with age testing JSP pages such as supervisor.jsp
{first.web.xml} Very simplest web.xml -->
{Autumn.java} Servlet Sessions, and variable scope.
{together_jsp.java} Conversion of together.jsp into a servlet
{shortform.html} A short form to allow the user to input to a JSP -->
{page1.html} Test page - HTML - for new Tomcat install -->
{demoform.jsp} A JSP to calculate based on form data -->
{index.html} Home page for latmj web application -->
{idemo.shtml} SSI Script to test Apache Tomcat SSI support
{Tempconv.java} Temperature Conversion Servlet -->
{web.xml} mapping servlet URLs to classes -->
{Coffeeweb.java} Servlet source + web.xml + CLASSPATH all in one example
{bookrun.jsp} JSP to get author based on ISBN number in form -->
{together.jsp} A form and a program in the same .jsp -->
{bookform.html} Form to ask for ISBN number -->
{supervisor.jsp} JSP Page to compare your age to 21, using the agetest class -->
{TinyServ.java} A Simple servlet for testing initial operation of Tomcat

Module A654 - Configuring and Controlling Tomcat
[3043] Gathering information - logging - with log4j. First steps.
[2652] Reading and writing cookies in Java Servlets and JSPs
[2163] CATALINA_OPTS v JAVA_OPTS - What is the difference?
[2061] Tomcat 6 - Annotated Sample Configuration Files
[2039] The Invoker
[1994] tomcat-users.xml; what a difference a space made
[1943] Port and Glasses
[1762] WEB-INF (Tomcat) and .htaccess (httpd)
[1553] Automatic startup and shutdown of Tomcat
[1503] Web page (http) error status 405
[1370] Apache Tomcat Performance Tuning
[1351] Compressing web pages sent out from server. Is it worth it?
[914] A practical example of roles
[907] Browser -> httpd -> Tomcat -> MySQL. Restarting.
[837] Tomcat - Shutdown port
{6_web.xml} Sample web.xml for Tomcat 6
{6_context.xml} Tomcat 6 - sample context.xml
{6_server.xml} Tomcat 6 - sample server.xml file
{tomcat} Tomcat 5 startup script for /etc/init.d and chkconfig use
{6_tomcat-users.xml} Sample tomcat_users.xml for Tomcat 6

Module A655 - Using Tomcat and Apache httpd Together
[3999] Handling failures / absences of your backend server nicely
[3018] Tuning Apache httpd and Tomcat to work well together
[2482] Load balancing with sticky sessions (httpd / Tomcat)
[1944] Forwarding session and cookie requests from httpd to Tomcat
[1940] URL rewriting with front and back servers
[1938] Predictive Load Balancing - PHP and / or Java
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1552] Extra public classes in deploying Apache httpd and Tomcat
[1549] http, https and ajp - comparison and choice
[1383] Monitoring mod_jk and how it is load balancing
[1376] Choosing between mod_proxy and mod_rewrite
[631] Apache httpd to Tomcat - jk v proxy
[576] Why run two different web servers
[436] Linking Apache httpd to Apache Tomcat
(article) Load balancing and robustness - httpd, tomcat, PHP, Servlets, MySQL
(article) The proxy jServ, jk, jk2, warp and jk story
{httpd.forward} Forwarding from http to Tomcat
{jkworkers.properties} Configuration file for mod_jk with load balancing
{snowdrop.httpd.jk.conf} mod_jk configuration example - balancing and status

Module A656 - More Tomcat Configuration
[3018] Tuning Apache httpd and Tomcat to work well together
[2272] Monitoring and loading tools for testing Apache Tomcat
[1899] Virtual Hosting under Tomcat - an example
[1718] Increasing Java Virtual Machine memory for Tomcat
[1370] Apache Tomcat Performance Tuning
[466] Separating 'per instance' data from binaries and web sites
[282] Short weekend
(article) Load balancing and robustness - httpd, tomcat, PHP, Servlets, MySQL
{server.xml} Sample server.xml file
{Store6.java} Store class, used to maintain state in JSP demo */
{products.txt} Product data for Shopping cart demo
{web.xml} Session timeout changed to 120 minutes -->
{index.jsp} A Shopping cart JSP that maintains state -->

Module A657 - Using httpd to front Tomcat
[3999] Handling failures / absences of your backend server nicely
[3018] Tuning Apache httpd and Tomcat to work well together
[2483] Clustering on Tomcat
[1944] Forwarding session and cookie requests from httpd to Tomcat
[1940] URL rewriting with front and back servers
[1939] mod_proxy_ajp and mod_proxy_balancer examples
[1566] Strange behaviour of web directory requests without a trailing slash
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat)
[631] Apache httpd to Tomcat - jk v proxy
[576] Why run two different web servers
(article) The proxy jServ, jk, jk2, warp and jk story

Module A690 - Clustering and load balancing
[4432] Java web application for teaching - now with sessions and clustering / load balancing demonstrations
[3892] Distributed, Balanced and Clustered Load Sharing - the difference
[3339] Simplest ever proxy configuration?
[3293] Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat)
[2483] Clustering on Tomcat
[2482] Load balancing with sticky sessions (httpd / Tomcat)
[2059] Sharing the load between servers - httpd and Tomcat
[1995] Automated server heartbeat and health check
[1993] Load Balancing - Hardware or Software?
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1121] Sharing the load with Apache httpd and perhaps Tomcat
[934] Clustering, load balancing, mod_rewrite and mod_proxy
(article) Load balancing and robustness - httpd, tomcat, PHP, Servlets, MySQL
(article) The proxy jServ, jk, jk2, warp and jk story
(article) Load Balancing and Clustering
{server.xml} Tomcat 6.0 server.xml with named jvmroute

Module A692 - Monitoring and load testing your server
[3027] Server logs - drawing a graph of gathered data
[3019] Apache httpd Server Status - monitoring your server
[3015] Logging the performance of the Apache httpd web server
[2272] Monitoring and loading tools for testing Apache Tomcat
[2082] Jmeter - a first test case
[2080] Using ApacheBench and jconsole to test and monitor Tomcat
[2079] Java - Memory Allocation and garbage collection
[1718] Increasing Java Virtual Machine memory for Tomcat

Module A801 - Overview of J2EE technology
[687] Presentation, Business and Persistence layers in Perl and PHP

Module A802 - The JBoss application server
[754] tar, jar, war, ear, sar files

Module A805 - Perl - modPerl, Mason, CGI.pm and LWP
[2416] Automating access to a page obscured behind a holding page
[260] Embperl
[45] CGI v mod_perl
{coojar} Automated web client to wait for results page

Module A900 - Tomcat - Extra Features
[3018] Tuning Apache httpd and Tomcat to work well together
[1939] mod_proxy_ajp and mod_proxy_balancer examples
[1899] Virtual Hosting under Tomcat - an example
[1896] Virtual Hosts and Virtual Servers
[1383] Monitoring mod_jk and how it is load balancing
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat)
[1376] Choosing between mod_proxy and mod_rewrite
[1370] Apache Tomcat Performance Tuning
[1121] Sharing the load with Apache httpd and perhaps Tomcat
[1006] Apache httpd and Apache Tomcat together tips
[934] Clustering, load balancing, mod_rewrite and mod_proxy
(article) Load Balancing and Clustering
{mod_rewrite-load_balance} Configuration file mod_rewrite load balancing
{sslc} server.xml setup example - SSL connector
{server.xml.virtual} Virtual Hosting on Tomcat.
{bal.httpd.conf} Load balancing a number of Tomcat instances via httpd
{balance.conf} httpd mod_rewrite map for load balancing Apache Tomcat
{cluck.pl} "heartbeat" script to switch servers
{clust} Clustering - basic setup for server.xml

Module A901 - Inside Tomcat and its Java Engine.
[2272] Monitoring and loading tools for testing Apache Tomcat
[2079] Java - Memory Allocation and garbage collection
[1718] Increasing Java Virtual Machine memory for Tomcat
[1370] Apache Tomcat Performance Tuning

Module A911 - Using Tomcat in a live environment
[2218] Multiple web applications under Tomcat - what are the options?

Module A912 - Upgrading and tuning Tomcat
[3018] Tuning Apache httpd and Tomcat to work well together
[2082] Jmeter - a first test case
[2060] Database connection Pooling, SSL, and command line deployment - httpd and Tomcat
[1908] Java CLASSPATH explained
[1718] Increasing Java Virtual Machine memory for Tomcat
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat)

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

C: C and C++ programming

Overview C050 - C - General
[4434] Public training courses - upcoming dates
[4341] Segmentation Fault, Segmentation Violation, Bus Error, Stack Smashing
[4335] Flexible public courses - residential or commuting, programming newcomer or experienced, C or C++
[3129] Extra courses - C and C++
[3053] Make - automating the commands for building and installing
[2848] C course - final course example puts it all together
[2763] Our C and C++ training course are on Open Source platforms
[2669] Efficient use of dynamic memory - C and realloc
[2536] All the Cs ... and Java too
[2504] Learning to program in ...
[2091] C, C++ and C# ... Java and JavaScript
[2086] C Programming v Learning to Program in C. Which course?
[2002] New C Examples - pointers, realloc, structs and more
(article) Introduction to the C Programming Language
{cppex.c} uses of preprocessor directives (cpp)
{pinc2.c} Pascal's triangle all in calloc'd memory
{tryme.c} realloc - adds new memory in sizeable chunks
{starstar.c} multilevel pointers
{remember.c} Call by value v call by address
{globals.h} include file for cppex.c
{pinc.c} Pascal's Triangle - calloc'd rows

Overview C051 - C++ - General
[4355] C++ in 2 days
[4335] Flexible public courses - residential or commuting, programming newcomer or experienced, C or C++
[3809] Dwarf Exception Unwind Info
[3587] C++ Courses - do I get official certification at the end of my Well House course?
[3250] C++ - how we teach the language and the concepts behind the language
[3155] Rake - a build system using code written in Ruby
[3129] Extra courses - C and C++
[3067] Using C and C++ functions in the same program - how to do it
[3052] Getting your C++ program to run
[2851] Further C++ material - view new or old
[2763] Our C and C++ training course are on Open Source platforms
[2577] Complete teaching example - C++, inheritance, polymorphism
[2536] All the Cs ... and Java too
[2504] Learning to program in ...
[2370] C++, Python, and other training - do we use an IDE
(article) Introduction to the C plus plus Programming Language
{act_02.cpp} Second C++ demo - heap v stack, char handling, this, static
{shape_main.cpp} main shape program - a.k.a. hereitis
{shape.cpp} shape class methods
{g_hotel.cpp} method code for base functionallity
{shape.h} headers for shape class
{starredhotel.cpp} extensions to base functionallity - second example
{square.h} headers for square class
{starredhotel.h} header file - the other extended class
{sixtytwo.cpp} Inheritance, constructor calls, virtual methods
{selfhotel.cpp} extensions to base functionallity - first example
{rectangle.h} headers for rectangle class
{circle.cpp} circle class methods
{comparetors.cpp} With Comparators
{circle.h} headers for circle class
{selfhotel.h} header file - one of the extended classes
{makefile} Makefile for complete C++ example
{sixtythree.cpp} er and est
{computers.cpp} Inheriting constructors and multiple methods of same name
{heapdog.cpp} Homes and Animals
{square.cpp} square class methods
{g_hotel.h} header file - base class
{fiftytwo.cpp} First definition and use of class
{sixty.cpp} First Interitance
{further.cpp} Main demo program to show polymorphism in C++
{rectangle.cpp} rectangle class methods
{act_01.cpp} Simple C++ demo - class - interface and test program
{sixtyfour.cpp} adds a destructor

Module C101 - Introduction to C
[2842] Staring a C course with Hello World - why?
[1933] Learning to Program in C
[885] Why do we still need C?
[336] Targetted Advertising
[318] Choosing a theme
[317] Programming languages - a comparison
[304] Training courses in the C language
(article) Introduction to the C Programming Language
{starter.c} Read from user - calculate - provide answer
{second.c} Loops and functions
{friend.h} Snippet of code to #include
{greeting.c} Hello World in C
{g3.c} Hello World with extra function call
{fourthmain.c} Separate function file and include file [main part]
{fourthfuncs.c} Separate function file and include file [functions part]
{fourth.h} Separate function file and include file [header part]
{g4.c} Loading code from another file
{ltab.c} Comparing while and do loops

Module C201 - C Language Fundamentals
[4566] C - why is slow to write and debug) but fast to run?
[4555] Preprocessor directives in C and C++ - what they mean
[4324] Learning to program - variables and constants
[3917] BODMAS - the order a computer evaluates arithmetic expressions
[3591] Integer types, and integer overflows, in C
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java.
[3234] Your program - you just provide the filling in the sandwich
[3120] Learning to write good programs in C and C++ - separating out repeated code
[2842] Staring a C course with Hello World - why?
[2576] What does const mean? C and C++
[2005] Variables and pointers and references - C and C++
[1671] Compiling C programs with gcc - an overview
[888] Turning C from source to a running program
{hello.c} First C program
{first.c} First program and some comments
{second.c} Commenting code in C
{makefile} makefile for C version of "hello world"
{tara.c} Sample function to illustrate inclusion
{cond01.c} C and C++ preprocessor examples
{t2.c} What happens when you overflow

Module C202 - A first practical program
[4632] Remember to ask the question before you listen for the answer
[4337] Learning to program sample program - past its prime, but still useful
[3590] Defining, declaring and initialising variables in C
[3236] C - a first program that does something useful for you
[3121] New year, new C Course
[2580] C course inspires new teaching examples
[888] Turning C from source to a running program
{vars.c} Delaring but not initialising - what happens?
{tconv.c} Temperature conversions
{second.c} Read, Calculate, output results */
{fred.c} Calculation of VAT on an amount
{vars2.c} Declaring and initialising variables
{makefile} makefile for module C202
{p003.c} Remember to prompt the user
{nranges.c} Testing number ranges in C
{cvopt.c} Prompt - read - calculate - decide - report
{calcit.c} First calculation
{adder.c} Variables and arithmetic in C

Module C203 - Conditionals and Loops
[4337] Learning to program sample program - past its prime, but still useful
[4323] Learning to program - Loop statements such as while
[4322] Learning to Program - the conditional statement (if)
[3397] Does a for loop evaluate its end condition once, or on every iteration?
[3384] Loops - a comparison of goto, while and for
[3243] Breaking the running sequence - an introduction to conditional statements and loops
[3200] How a for loop works Java, Perl and other languages
[3121] New year, new C Course
[3004] Increment operators for counting - Perl, PHP, C and others
[2570] Function Prototypes in C
[2002] New C Examples - pointers, realloc, structs and more
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1582] Ruby, C, Java and more - getting out of loops
[1220] for loop - how it works (Perl, PHP, Java, C, etc)
[1191] Smart English Output - via PHP and Perl ? : operator
[962] Breaking a loop - Ruby and other languages
[353] Wimbledon Neck
{lp1.c} repeating code in a while loop
{ex_203.c} Exercise - throw a die until you get a 6
{sindol.c} Singapore Teapot answer
{seven.c} Conditional statements in C and C++
{tall4.c} Temperature conversions with ++ and +=
{fresh.c} looping via a goto
{sindy.c} Singapore teapot in C
{otherbits.c} Functions used in function prototype demo (ANSI C)
{eight.c} loop showing weight loss needed until user is healthy
{makefile} makefile for module C203
{third.c} Conditional - if and else - example
{greet.c} Learning to program in C ... first day's illustrations
{tall.c} Temperature conversions using if
{lp2.c} for loop - bad and good examples
{tall3.c} Temperature conversions in a while loop
{tall6.c} Temperature conversions in a while loop
{freshveggies.c} for loop - compare to goto loop and while loop
{eer.c} Program that makes use of ANSI C function prototypes
{demo.h} Function prototypes for err.c and otherbits.c demo
{freshmeat.c} while loop - compared to goto loop and for loop
{cb.c} Using { and } to scope a block
{tall2.c} Temperature conversions using switch

Module C204 - Functions, Macros and programs in multiple files
[4557] Function prototype - what they are and why you should use them - C and C++
[4555] Preprocessor directives in C and C++ - what they mean
[4554] Passing information into functions in C - by name, by value
[4338] Passing arrays into functions in C
[3721] Naming blocks of code, structures and Object Orientation - efficient coding in manageable chunks
[3717] Returning extra results from a function in C
[3237] Using functions to keep look and feel apart from calculations - simple C example
[2841] C Course exercise and sample answer - source in 2 files
[2575] Sharing variables between files of code in C - extern
[2570] Function Prototypes in C
[1478] Some new C programming examples - files, structs, unions etc
[1163] A better alternative to cutting and pasting code
[775] Do not duplicate your code
{abcpointers.c} Ways of passing back results from a function
{tcsub.c} Functions in their own file
{funfuncs.c} use of extern to reference variable held elsewhere
{taxi.c} functions for VAT rate exercise
{tcsub.h} Using functions - the header file
{p3.c} Returning values from a function
{healthybits.c} functions to be loaded from another program
{twice.cpp} Two functions of same name in C++
{funfiles.c} The home for an extern variable
{makefile} makefile for module C204
{lp3.c} Variable declaration and scopr in inner blocks
{third.c} Separating look and feel from business logic
{tcall.c} Function definition and call
{astamp.c} changing a parameter's value within a function
{fundy.c} call by value v call by pointer / reference
{healthcheck.c} function prototypes and extern
{tcmain.c} Using functions
{twice.c} Function names must be unique in C
{xrcz.c} Sample answer - main code for VAT exercise

Module C205 - Arrays
[4566] C - why is slow to write and debug) but fast to run?
[4338] Passing arrays into functions in C
[3245] Collections in C and C++ - arrays, vectors and heap memory blocks
[3144] Setting up arrays in C - fixed size at compile time, or dynamic
[3121] New year, new C Course
[3118] Arrays of arrays - or 2D arrays. How to program tables.
[2840] Just pass a pointer - do not duplicate the data
[2002] New C Examples - pointers, realloc, structs and more
[1614] When an array is not an array
{series.c} read array, print in reverse, min and max
{abits.c} extern - a global variable
{morearr.c} Arrays - days and months
{amain.c} Use of constants and globals
{abits.h} header file for global variable demo
{par.c} pointers v arrays
{pa3.c} Allocating heap memory and passing to a function
{afp.c} Pointers and Arrays - Interaction
{makefile} makefile for module C205
{rainfall.txt} Sample rainfall data (1) - always 31 days of data
{paif.c} Passing an array to a function - (1)
{lp.c} declaring an array and defining its length
{eleven.c} Array - declaration, filling with data, reusing
{arrbad.c} Arrays - triangle numbers WITH ERROR
{pa2.c} Passing an array to a function - (2)
{arr1.c} Arrays - triangle numbers

Module C206 - Character Strings
[4633] String handling in C - new examples of extracting integers from a string
[4556] Strings in C - strncmp strncpy and friends
[4340] Simple C structs - building up to full, dynamic example
[3718] Splitting a record into individual data values in C
[3593] Chars, char arrays and strings in C. Some early cautions and pitfalls.
[3146] Strings in C
[3144] Setting up arrays in C - fixed size at compile time, or dynamic
[3122] When is a program complete?
[2844] Learning about Regular Expressions in C through examples
[2843] String functions in C
[1338] Handling Binary data in Tcl (with a note on C)
{reg2.c} Match and Capture - Regular Expressions
{fff} Some sample data
{cli4.c} Picking out command line options into an array
{cli5.c} More advanced coding style to handle argv and argc
{rabbit.c} Structures and file i/o - C
{cli3.c} Command line params - more complex character string arrangement
{s1.c} String compare and copy
{p021.c} String handling examples
{p023.c} read an array of numbers from a text string
{chout.c} Strings v chars
{cx.c} String copying and manipulation
{makefile} makefile for module C206
{cstr.c} String manipulation in C
{cs1.c} Comparing strings in C
{p022.c} parsing and checking integers off a line
{lynebreak.c} Tokenising a C string
{sti1.c} Characters and strings in C
{s4.c} Read lines from file, tokenise them, save data into an array of structs.
{readwrite.c} File handling basics in C
{reg.c} Regular Expression matching in C
{cli.c} Command Line Handling
{ccis.c} Basic string and command line handling
{cli2.c} Command line - use of pointers example
{range.c} Summing numbers from the command line
{dynamic.c} memory allocation and release with calloc and free
{pothat.c} Strings via pointers and arrays of chars
{dynbad.c} How NOT to do it - overrunning an array
{csame.c} Comparisons of strings in C

Module C207 - Pointers and references
[4560] Variables, Pointers and References - C and C++
[4128] Allocating memory dynamically in a static language like C
[3399] From fish, loaves and apples to money, plastic cards and BACS (Perl references explained)
[3386] Adding the pieces together to make a complete language - C
[3242] How to return 2 values from a function (C++ and C) - more uses of pointers
[3238] Bradshaw, Ben and Bill. And some C and C++ pointers and references too.
[3121] New year, new C Course
[3004] Increment operators for counting - Perl, PHP, C and others
[2670] Pointers to Pointers to Pointers - what is the point?
[2572] The what and why of C pointers
[2005] Variables and pointers and references - C and C++
[1497] Training Season Starts again!
[1478] Some new C programming examples - files, structs, unions etc
[1155] Pointers in C
{ip2.c} Passing pointers to functions
{po.c} Pointers and addresses - the mechanism
{p1.c} First use of pointers
{referee.cpp} References and pointers (and direct variable use)
{fifth.c} Further use of pointers - returning multiple values
{pfirst.c} use of pointer - passing to function
{p2.c} Passing a reference to allow a variable to be change from a function
{arp.c} referencing array members through pointers
{excuse.c} Pointers - illustrative example 1
{dj.c} Comparing call by name and call by value
{makefile} makefile for module C207
{plot.c} Passing an array to a function
{ex_c207.c} passing pointers in to a function to allow multiple returns
{p4.c} Passing complex data via a single pointer
{ptr1.c} Temperature conversions - pointers
{fourth.c} function calls - call by value and call by name
{psecond.c} How a pointer can give a temporary name
{cli2.c} Handling command line args via pointers
{stock.c} Jelly beans
{pdo.c} Hello pointer world

Module C208 - Programming techniques and tools
[4341] Segmentation Fault, Segmentation Violation, Bus Error, Stack Smashing
[4336] Test Driven Development - a first example of principle in C
{qn208.c} Command line options and parameters
{fyle.c} File reading - template for delegates
{ctoken.c} Tokenising a string into a structure
{tdd.c} Test harness - test driven development
{makefile} makefile for module C202
{bmi.c} Functions to be tested
{cle.c} Command line arguments and the environment
{bmi.h} header file for functions to be tested

Module C209 - Structures and Unions
[3386] Adding the pieces together to make a complete language - C
[3145] Structures v Structure Pointers in C. How, which, why.
[3122] When is a program complete?
[2573] C Structs - what, how and why
[1669] What are Unions (C programming)
[1584] Using Structs and Unions together effectively in C
[1572] C - structs and unions, C++ classes and polymorphism
[1478] Some new C programming examples - files, structs, unions etc
{trains_04.c} Structure Pointers
{trains_01.c} Simple demonstation of a structure
{tud.c} A Union within a struct - practical use demonstration
{combo3.c} stuctures - array of structs
{ts2.c} Definition and use of pointer to structure
{trains_03.c} An Array of Structures
{ot2.c} Defining and using a structure
{ot3.c} Structure with char pointer
{sixteen.c} Setting up and using structures on the heap
{combo.c} stuctures - a first example
{trains.c} An array of structures
{mytrains.c} Use of pointer to a structure
{trains_06.c} Dynamic allocation for struct and struct pointers, and populating from file
{trains_05.c} Dynamic allocation of memory for structs
{ts.c} definition and use of structure
{ztwo.c} C (towards C++), Septmeber 2018
{ot4.c} Pointer to malloc'd memory from a structure
{st1.c} Definition and first use of a structure
{services.txt} Data for trains_06.c example
{trains_02.c} Copying Strings in and out of a structure
{dinners.c} Read file into array of structs
{lunches.c} Read file into array of structs
{combo2.c} stuctures - adding pointers
{reso.c} Struct, Structures and Structure Pointers
{union.c} Example of a Union in C

Module C210 - File Handling
[4340] Simple C structs - building up to full, dynamic example
[4339] Command line and file handling in C
[3386] Adding the pieces together to make a complete language - C
[3122] When is a program complete?
[2572] The what and why of C pointers
[2571] Reading and writing files in C
[2002] New C Examples - pointers, realloc, structs and more
{sf.c} Reading all the files named on the command line
{deardir.c} Parsing a directory
{cmelk.c} Text file read and write
{ffiles.c} fopen to access files at a higher level
{filesinc.c} low level file handling with open
{lunches.c} Read file into array of structs

Module C211 - Standard Libraries and other headers
[4465] Sockets, time handling and keyboard interrupt handling in C
[3244] C and C++ - preprocess, compile, load, run - what each step is for
[3234] Your program - you just provide the filling in the sandwich
[3148] OpenGL / C / C++ - an example to get you started
[2575] Sharing variables between files of code in C - extern
{abc.h} include file example for cpp.c
{first.c} The Sandwich of your application within standard elements
{hash} Sample preprocessor directives
{house.c} Sharing variables between object files - main program
{shared.c} First example of shared code
{g2.c} Gift server demonstration
{cpp.c} C Preprocessor examples
{ex1.c} use of #define and #include
{bathroom.c} Sharing extern variables - a file of functions
{clever.h} Example of included file
{ten.c} Preprocessor directive demonstration
{waterhorse.h} extern, and use of preprocessor to control it

Module C212 - Memory Management
[4635] Encapsulating logic in functions and structs - the C approach to Object Oriented techniques
[4634] Regression testing - via a very short C testing framework
[4340] Simple C structs - building up to full, dynamic example
[4128] Allocating memory dynamically in a static language like C
[3416] Storing Tcl source code encoded, and running via your own C program
[3386] Adding the pieces together to make a complete language - C
[3144] Setting up arrays in C - fixed size at compile time, or dynamic
[3118] Arrays of arrays - or 2D arrays. How to program tables.
[2848] C course - final course example puts it all together
[2669] Efficient use of dynamic memory - C and realloc
[1845] Passing a table from Lua into C
[1670] Dynamic Memory Allocation in C
[1589] Dynamic Memory Allocation in C - calloc, realloc
[1581] What is an lvalue? (Perl, C)
[1497] Training Season Starts again!
(article) Want something more dynamic than an array?
{trinamic.c} Memory allocation and freeing - demo of principles
{access_checkpoint_01.c} Routines to load data into array of structures and access it (1)
{access_checkpoint_04.c} Complete example - loading log file and filtering
{slurpit.c} Dynamic memory allocation - reading a file of unknown length
{supper.c} Read file into array of structs
{loglook.c} Complete example - regex, realloc, string and file handling, etc
{access_checkpoint_03.c} Routines to load data (imporved API and Regex in C example (3)
{twelve.c} Dynamically sized collection
{afp2.c} Dymanic array - runtime sizing on using calloc
{framework.c} Framework for testing lower level code
{access_checkpoint_02.c} Routines to load data into array of structures and access it (2)
{strainer.c} reallocing for an array of structures

Module C221 - Secure C Programming
[4635] Encapsulating logic in functions and structs - the C approach to Object Oriented techniques
{oob.c} A poor program - using un initialised variables and an out of bounds array

Module C230 - Revision of C
[4566] C - why is slow to write and debug) but fast to run?
[4555] Preprocessor directives in C and C++ - what they mean
[4466] Moving from C to C++ - Structured to Object Oriented - a lesson for engineers
{overflow.c} Fast but unchecked - C
{ooc.c} C program using OO type patterns

Module C231 - Introduction to C++
[4562] Left shift operator on an output stream object - C++
[4561] Hello World in C++ - a first program, with the process explained
[4466] Moving from C to C++ - Structured to Object Oriented - a lesson for engineers
[3250] C++ - how we teach the language and the concepts behind the language
[3069] Strings, Garbage Collection and Variable Scope in C++
[3053] Make - automating the commands for building and installing
[3052] Getting your C++ program to run
[2845] Objects and Inheritance in C++ - an easy start
[2169] When should I use OO techniques?
[2004] Variable Scope in C++
[928] C++ and Perl - why did they do it THAT way?
[336] Targetted Advertising
[318] Choosing a theme
[317] Programming languages - a comparison
(article) Introduction to the C plus plus Programming Language
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{fiftyfour.cpp} private method, arrays of objects and object pointers
{app1.cpp} Main application
{fifty.cpp} define and use a class
{rsmain.cpp} Scoping of variables in C++
{cpp.cpp} C++ - example for C comparison
{shift.cpp} The << operator in C++
{cs.cpp} string objects
{tabbymain.cpp} Sample / test program - first OO class
{fiftythree.cpp} several methods of same name
{makefile} Compile / Load instructions for examples in this module
{ir.inc} Function prototypes for first demo
{hw.cpp} Hello C++ world
{ir.cpp} File of functions
{tabby.cpp} All together - C++ demo class and test program
{table.cpp} Code for class in first demo
{table.h} API definition - first class demo

Module C232 - Defining and using classes in C++
[4565] Allocation of memory for objects in C++ - Stack v Heap
[4372] Template / design pattern for C++ constructor and accessors
[4129] Simple OO demonstration in C++, comparison to Python
[3978] Teaching OO - how to avoid lots of window switching early on
[3810] Reading files, and using factories to create vectors of objects from the data in C++
[3721] Naming blocks of code, structures and Object Orientation - efficient coding in manageable chunks
[3716] Learning C++ - a design pattern for your first class
[3250] C++ - how we teach the language and the concepts behind the language
[2579] Creating, setting up and using objects in C++
[2578] Where are your objects stored in C++?
[2577] Complete teaching example - C++, inheritance, polymorphism
[1925] Introduction to Object Oriented Programming
{demo2.h} Further base and subclass header definition
{allin1.cpp} Class definition and use all in one file
{hmain.cpp} First class in C++
{demo1.h} Base class and subclass header definition
{demomake} makefile for module c232
{tabletest.cpp} A test harness for the Table class
{afuncs.cpp} Class use with accessory functions
{hcd.cpp} Class description with accessor functions
{book.inc} Class interface - book
{book.cpp} Class implementation code - book
{a2.cpp} Array of objects of different types
{a3.cpp} Inherited methods - test program
{hellosurvey.cpp} Template for your first OO classes
{mylib.cpp} Main application calling constructors and destructors
{objects_bothways.cpp} stack v heap - object persistance
{makefile} Compile / Load instructions for examples in this module
{demo2.cpp} Further base and subclass definition
{melksham.cpp} Class use with accessor functions
{transport.cpp} Hello c++ world - define and use an object / Compare to Python
{demo1.cpp} Base class and subclass method definition
{hotel.inc} Class descriptor
{g_main.cpp} Fundamental use of classes example - C++
{dayfour.cpp} Creating objects on the stack or heap
{hotel.cpp} Class member code
{table.cpp} code - the internals of the Table class
{table.h} Definition of API of a class
{template.cpp} Design Pattern for class definition and test

Module C233 - OO in C++ - beyond the basics
[4560] Variables, Pointers and References - C and C++
[4559] When do I use the this keyword in C++?
[4377] Designing a base class and subclasses, and their extension, in C++
[4375] Final examples for 2014 - and a look at our 2015 training course options
[4356] Object factories in C++, Python, PHP and Perl
[3979] Extended and Associated objects - what is the difference - C++ example
[3811] Associated Classes - using objects of one class within another
[3508] Destructor methods in C++ - a primer
[3251] C++ - objects that are based on other objects, saving coding and adding robustness
[3244] C and C++ - preprocess, compile, load, run - what each step is for
[3142] Private and Public - and things between
[3124] C++ - putting the language elements together into a program
[3123] C++ objects - some short, single file demonstrations
[3056] C++ - a complete example with polymorphism, and how to split it into project files
[2845] Objects and Inheritance in C++ - an easy start
[2577] Complete teaching example - C++, inheritance, polymorphism
[1819] Calling base class constructors
[1674] What a lot of files! (C++ / Polymorphism demo)
[1572] C - structs and unions, C++ classes and polymorphism
[1217] What are factory and singleton classes?
[925] C++ - just beyond the basics. More you can do
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl
[801] Simple polymorphism example - C++
[798] References and Pointers in C++
{testh.cpp} First denmo of polymorphism
{allinone.cpp.ex} Inheritance and Polymorphism example (all in 1 file)
{NewHotel001.cpp} Second program to use our HotelRoomBooking - Array
{shapes_combined} All the files for the shape demo on one page!
{classinclass.cpp} Associated objects - one object used within another
{pert.cpp} Overloading, Inheritance, Virtual, Polymorphism and more
{loader} Complete first Polymorphism example
{accom4.cpp} An array of objects
{NewHotel002.cpp} Second program to use our HotelRoomBooking - Vector
{animal.cpp} the code for the base class (2)
{midi.cpp} Inheriting a Constructor
{animal.h} Header file for a base class (2)
{Make_3} Makefile for our C++ inheritance / polymorphism demo (2)
{regionhotel.cpp} Derived class member code
{shapes_02.cpp} Complete demonstration - data stored on the heap
{ptx.cpp} inheritance and polymorphism - bus and train
{human.cpp} second subclass of animal - human (2)
{booklet.cpp} Destructors - how and when they run
{trans.cpp} Associative classes example
{regionhotel.inc} include file to define region hotel
{pet.cpp} code for second subclass - pet (2)
{accomchooser.cpp} Class using classes and derived classes with inheritance
{accom3.cpp} An array of objects
{makefile} Compile / Load instructions for examples in this module
{accom2.cpp} Class storing strings within an object
{beasts.cpp} Definition of polymorphic class methods
{shapes_03.cpp} Overloading +
{hotel.inc} Class descriptor
{shapes_01.cpp} Complete inheritance and polymorphism demo
{petite.cpp} Abstract base class, two subclasses, polymorphic array
{melkshamhotel.inc} include file to define melkshamhotel
{second_inheritance.cpp} What is Inheritance / how is it implemented in C++ (2)
{human.h} extended subclass definintion
{tinin.cpp} base class, extended class, test code
{hotel.cpp} Class member code
{beasts.h} Definition of polymorphic class headers
{melkshamhotel.cpp} Derived class member code
{testh2.cpp} Demo of polymorphism across an array
{Accounts.cpp} C++ factory returning different object types
{small.cpp} Declare, define, use a class - all in one file
{pet.h} Definition of subclass headers (2)
{first_inheritance.cpp} What is Inheritance / how is it implemented in C++ (1)

Module C234 - Further C++ Object Oriented features
[4559] When do I use the this keyword in C++?
[4377] Designing a base class and subclasses, and their extension, in C++
[4366] Changing what operators do on objects - a comparison across different programming languages
[3982] Using a vector within an object - C++
[3509] Operator Overloading, Exceptions, Pointers, References and Templates in C++ - new examples from our courses
[3430] Sigils - the characters on the start of variable names in Perl, Ruby and Fortran
[3238] Bradshaw, Ben and Bill. And some C and C++ pointers and references too.
[3124] C++ - putting the language elements together into a program
[3069] Strings, Garbage Collection and Variable Scope in C++
[3057] Lots of things to do with and within a C++ class
[2849] What are C++ references? Why use them?
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2673] Multiple Inheritance in C++ - a complete example
[2576] What does const mean? C and C++
[2005] Variables and pointers and references - C and C++
[2004] Variable Scope in C++
[1819] Calling base class constructors
[1159] It can take more that one plus one to get two.
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl
[802] undefined reference to typeinfo - C++ error message
[801] Simple polymorphism example - C++
{act_02.cpp} Second C++ demo - heap v stack, char handling, this, static
{a4t.cpp} load filtered files to vector
{sixth.cpp} Interitance, Base Classes, Overloading of methods, etc - C++ course
{first.cpp} OO Buildup in C++ - starter
{alias.cpp} Direct, Pointer and Reference access to variables
{regionhotel.cpp} Derived class member code
{bighotels.cpp} Comparing objects
{sixtyfive.cpp} Direct, reference and pointer access to variables
{refs.cpp} Direct, pointer and reference comparison
{cube.cpp} Operator overloading
{regionhotel.inc} include file to define melkshamhotel
{pet.cpp} multiple constructors, default parameters
{makefile} Compile / Load instructions for examples in this module
{Xmas.cpp} Vector, Multiple Inheritance, virtual, Polymorphism, Factory
{r2.cpp} References and Pointers for each array member
{coffee.cpp} Overriding add, multiply and << for print
{overload_add.cpp} Operator (+) and to_string overloading, C++
{hotel.inc} Class descriptor
{compare.cpp} Comparatives - heavy, heavier, heaviest
{act_03.cpp} Object Extras. Vector, delete, factory, destructor, etc
{refdemo.cpp} References and Pointers
{melkshamhotel.inc} include file to define melkshamhotel
{hotel.cpp} Class member code
{tinyref.cpp} References - description and sample code
{PMdemo} Polymorphism - complete example
{melkshamhotel.cpp} Derived class member code
{station_test.cpp} file read to object framework
{erandest.cpp} costly, costly, costliest - object comparison
{act_01.cpp} Simple C++ demo - class - interface and test program

Module C235 - I/O in C++
[4563] Formatting and outputting your own classes in C++
[4562] Left shift operator on an output stream object - C++
[3810] Reading files, and using factories to create vectors of objects from the data in C++
[3807] Reading (and writing) files in C++
[3390] Printing objects in C++
[3252] C++ - unknown array size, unknown object type. Help!
[3124] C++ - putting the language elements together into a program
[1675] Comparing Objects in C++
[1478] Some new C programming examples - files, structs, unions etc
{stdcodes.xyz} Sample data file ...
{nine.cpp} Outputting an object via a stream
{fullapp2.cpp} Wholesale factory - a single call to make many objects
{flow2.cpp} Factory method and file input to seed objects
{file01.cpp} File handling with C++ streams
{ioex.cpp} Stream demonstration
{fullapp.cpp} Shell for full application
{comb.cpp} Reading and writing files, file names from command line
{makefile} Compile / Load instructions for examples in this module
{mtbsprint.cpp} implicit formatting to print an object
{Person.h} header file for object output demo
{boring.data} Sample data for C++ course examples
{cppdata.cpp} Reading data from a file
{Person.cpp} for use in print object demo
{fpri.cpp} Formatting floating point numbers in C++

Module C236 - Exceptions
[3509] Operator Overloading, Exceptions, Pointers, References and Templates in C++ - new examples from our courses
[3068] Throwing your own exception in C++, and catching it
[2622] Handling unusual and error conditions - exceptions
[1875] What are exceptions - Python based answer
[799] The case for exceptions
(article) errors v exceptions
{except.cpp} Exception handling - catches
{makefile} Compile / Load instructions for examples in this module
{prob.cpp} Exception handling - why we need it
{levels.cpp} Exceptions - try, catch yourself AND throw to parent too
{CppExcept.cpp} Creating exception objects, throwing and catching them
{microthrow.cpp} Defining, throwing, catching an excpetion

Module C237 - Namespaces
[3066] Separating groups of variables into namespaces
{Ns.cpp} Definition and use of namespaces
{ave.c} Calling a C function from a C++ main program

Module C238 - Templates
[3982] Using a vector within an object - C++
[3810] Reading files, and using factories to create vectors of objects from the data in C++
[3509] Operator Overloading, Exceptions, Pointers, References and Templates in C++ - new examples from our courses
[3388] Templates in C++ - defining a family pattern of methods / functions
[3252] C++ - unknown array size, unknown object type. Help!
[3245] Collections in C and C++ - arrays, vectors and heap memory blocks
[1478] Some new C programming examples - files, structs, unions etc
{swab.cpp} more features of templates
{trans.cpp} Use of a vector as a member within an object
{flow4.cpp} Reading a file within a factory, tokenising, vector
{makefile} Compile / Load instructions for examples in this module
{clever.cpp} Reference, pointers, templates
{vec01.cpp} Use of a vector in C++
{template.cpp} Function templates

Module C239 - Putting it all together
[4559] When do I use the this keyword in C++?
[4374] Test driven development, and class design, from first principles (using C++)
[4326] Learning to program - comments, documentation and test code
[3810] Reading files, and using factories to create vectors of objects from the data in C++
[3252] C++ - unknown array size, unknown object type. Help!
[3069] Strings, Garbage Collection and Variable Scope in C++
[3067] Using C and C++ functions in the same program - how to do it
[2851] Further C++ material - view new or old
[2674] Make and makefiles - a commented example to help you learn
[2673] Multiple Inheritance in C++ - a complete example
[2646] Compile but do not run PHP - syntax check only
[1181] Good Programming practise - where to initialise variables
[945] Code quality counts
[925] C++ - just beyond the basics. More you can do
[836] Build on what you already have with OO
(article) What makes a good variable name?
{pd1.cpp} Inheritance in C++ - base demonstration
{service_11.cpp} classes and subclasses
{flow.cpp} Reading a file named on the command line within a factory
{Expense.h} Header file for second subclass
{Makefile} Makefile for multiple inheritance demo
{pd3.cpp} Add an object comparator
{Film.cpp} main subclass for multiple inheritance demo
{alltogether.cpp} 7 file example
{Filmtest.cpp} Main program for multiple inheitance demo
{complete.cpp} this, vector, factory, inherrited constructor, file input, tokeniser
{pd5.cpp} Switching from array to vector
{HireFilm.h} Main class specification - multiple inheritance demo
{trains.txt} Data file for flow / flow2 / flow4 examples
{Expense.cpp} A second subclass for multiple inheritance demo
{Ninety.cpp} vector, factory method, files, tokeniser
{HireFilm.cpp} Main class for multiple inheritance demo
{fourthobject.cpp} 7 file full example with a factory and a vector
{Make_mark_2} Alternative Makefile to show Makefile facilities
{Film.h} header file for main subclass - multiple inheritance demo
{pd2.cpp} add an array of objects
{pd4.cpp} add iostream / namespace, inline, new, printing function, override +

Module C501 - Objective C, XCode and iOS Resources
[3650] Possessive Regular Expression Matching - Perl, Objective C and some other languages
[3649] A single action for multiple iPad / iPhone buttons, and animation
[3648] iPad and iPhone programming - our seminar weekend with Xcode
[3599] Seeing how Melksham has changed over the years, via an iPad
[3596] Want to learn iPad and iPhone programming? Come along and learn with me for free.
[3594] Back to Uni
{helloipad_ViewController.m} Hello iPad World - main view controller
{hello.m} First program example - Objective C
{helloipad_ViewController.h} Hello iPad World - header
{helloipad_ViewController.xib} Hello iPad world - view layout
{timeline_ViewController.m} ViewController nethods
{timeline_ViewController.h} Headers for ViewController

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

G: General Training Topics

Subject G100 - Introduction to Melksham
[3932] River nearly bursting its banks in Melksham
[3696] Melksham government and business organisations
[3344] Repost - some useful pages on our site
[3232] Around and about Melksham in more pictures
[2704] A walk within without - Melksham Without
[2350] Ten years in Melksham - looking forward to ten more.
[2329] Great to be in Melksham
[1725] A future vision for Melksham
[1341] Moving to Melksham? Househunting map.
[866] A lazy programmer is a good programmer
[847] Image maps for navigation - a straightforward example
[676] Melksham, Wiltshire
[517] An occasional chance, and reducing data to manageable levels
[322] More maps
[291] Why are we no. 404
[269] Free parking for short errands in Melksham
(article) Creating Really Memorable Experiences

Subject G101 - Getting to and from Melksham
[4701] Pretty at the station too
[4168] Travelling to and from courses - much easier from December 2013
[3752] Melksham Visitors Map - Bus routes and train lines to and from the town
[3751] Public transport for international arrivals into Melksham
[3276] International travel to the UK - coming to Melksham
[2791] Bath to Melksham buses - times
[2789] Melksham to London (Heathrow, and Central London)
[2634] London to and from Melksham by public transport
[2493] Melksham buses to/from Chippenham, Trowbridge, Bath, Devizes, London
[2367] Learning to program - how to jump the first hurdles
[2057] Train and Coach fares from London (and airports) to Melksham
[1997] Travelling to a course - station pickups
[1802] Motorcycles welcome at Well House Manor
[1723] Bath - Melksham - Devizes. Bus route changes, new timetable
[1594] Please support improvements in our train service
[1567] Melksham - Swindon. Train v Bus v Car
[1511] Buses from Well House Manor, Melksham, to Bath
[1428] Travel Across Wiltshire - the game
[1085] Lawrence Webb's Melksham Taxi service
[952] Coming from London to Melksham by train for a course
[856] The train returns for a few weeks
[814] Melksham Railway Calendar 2007
[796] Busy day in Melksham
[790] Shadow Transport Minister to visit Melksham
[715] First way to get rid of customers
[606] Train service from December
[538] A company we can work with
[486] Rail services under threat - Swindon, Melksham ... and Newquay and Bicester too
[413] Save the train
[187] a popular bus number
[154] Railway train service, Melksham station
[40] Take the train to training
(article) It's easy to get to Melksham, and there's things to do!

Subject G102 - Things to do in Melksham
[3531] Blowing our trumpet about Melksham
[3284] What to do in the evening during a Tcl course
[3239] TrainWest, 2011 in pictures - Christie Miller, Bowerhill, Melksham
[3230] Whaddon - near us and yet so remote from us
[3229] Coincidence, or naturally repeating event?
[3062] Melksham Carnival - getting ready for 2011
[2716] Melksham in Pictures
[2656] Melksham Carnival
[2175] Melksham in pictures
[2141] Town Crier competiton
[1928] Melksham Oak Community School, Melksham, Wiltshire
[1894] Shopping in Melksham
[1452] Santa on the train to Melksham
[1330] While waiting for Melksham Post Office
[989] Melksham Quiz
[977] Melksham and Norwich
[957] Improving the historic town of Melksham
[951] What happened at Geekmas
[929] Presenting Melksham - for a weekend away in Wiltshire
[829] Where to go within 30 minutes of Melksham
[670] Architectural Heritage - Devizes
[524] Santa comes to Melksham
[500] Bowerhill, Melksham, 2006 Calendar
[488] Looking for railway groups and users - Swindon, Salisbury, Southampton
[354] Ballooning from Bath
[344] Walk in Bath
[342] The evening after the course
[329] the Stately Homes of England
[325] Gone Racing - Larkhill, Wiltshire
[312] Maud Heath
[305] Within about an hour
[298] Sharing pictures of Wiltshire
[266] A beautiful place to live and learn
[51] Gym and swimming - Melksham Blue Pool
[5] Driving in the UK for new arrivals from the USA

Subject G103 - Where to stay in Melksham
[4570] A warm welcome awaits you at Well House Manor, Melksham
[4506] Peak weekend - where there are still rooms near Melksham
[4447] Overnight accommodation in Melksham - if Well House Manor is full!
[4299] The Best Bed and Breakfast in Melksham?
[3865] What makes Well House Manor different?
[2705] Hotel booking in Melksham made easy!
[2581] Snow scenes - and how snow effected our business
[1929] 2009 - Hotel, Meeting, Training Course prices
[1436] A little touring help during a business trip to England
[933] Course Joining package - updated
[902] Brand new hotel and training centre, Melksham
[667] Well House Manor goes ahead
[571] Well House Manor
[555] Hotel novelties
[550] 2006 - Making business a pleasure
[512] Exciting futures - the Well House Manor project
[475] Where to stay in and near Melksham
[319] Accommodation and landing pages
(article) Good places to stay in Melksham

Subject G104 - Where to eat in Melksham
[4026] The coffee of the Stars comes to Melksham
[3304] Scones with or without fruit?
[2784] Course Lunches
[2597] Does my course include breakfast, lunch, dinner and a hotel room?
[2512] Kim of the Castle
[1447] Refa Tandoori Indian Restaurant, Melksham
[1329] Subway Restaurant in Melksham, Wiltshire
[529] Halal in Melksham
[525] Vision AND venture
[176] Extra chips
[47] Effective fundraising

Subject G200 - Course and Company information
[4588] What teach you in a week stays with you for a decade
[4564] Perl, PHP, Python, Lua, Tcl, C++, Ruby - final public courses for 2015
[4519] Course Schedule - October 2015 to June 2016
[4518] Open source programming courses - October to December 2015
[4305] Learning to program in Java - yes, we can help.
[4172] Public courses - Python, PHP, Perl, Ruby, Lua, Tcl, C and C++ - autumn 2013 and through 2014
[3935] Whether you have programmed before or not, we can teach you Python
[3816] Want to escape the Olympics? Learn to program in the countryside!
[3235] How we make our programming courses both time and cost effective
[3202] Telling you something about us in just one line
[3115] Perl, Python, PHP, Lua, Linux, and more - and business hotel too. Menu for 2011
[3112] Public and private courses - subjects available for 2011
[2935] 01225 707126 to 01225 344596 to 01225 899360 - Well House Fax
[2925] Well House - the pictures
[2838] Respecting our customers anonimity
[2777] Blowing our own trumpet
[2762] Well House - Mission and Policy summaries
[2661] Current Public Courses
[2659] New numbers, as 01225 707126 and 01225 709638 are being retired
[2637] Courses - Melksham and elsewhere - until the end of April
[2560] Training comparison to QA Training, Learning Tree, GB Direct.
[2558] Happy new decade - and course and hotel prices for 2010
[2505] I almost put the bins out this morning
[2400] Are you wanting to learn PHP?
[2354] Training, Open Source computer languages
[2350] Ten years in Melksham - looking forward to ten more.
[2341] Koulutus, Open Source tietokone kielillä
[2340] ldning, Open Source dator språk
[2339] Opplæring, Open Source datamaskinen språk
[2338] Uddannelse, Open Source computer sprog
[2337] Opleiding, Open Source computertalen
[2336] Formação, Open Source computador línguas
[2335] Ausbildung, die Open-Source-Sprachen
[2334] Formazione, Open Source computer lingue
[2333] Formación, de los lenguajes de código abierto
[2332] Formation, des langages Open Source
[2326] Learn a new programming language this summer.
[2278] First courses for 2010
[2227] Learning PHP, Ruby, Lua and Python - upcoming courses
[2222] A (biased?) comparison of PHP courses in the UK
[2118] Spring Sprung
[2041] httpd, Tomcat and PHP course enhancements
[1629] A short introduction to our courses
[1623] PHP Techniques - a workshop
[1577] Spring and early summer training courses
[1565] Languages compared - based on developer community size
[1492] Well House Consultants Training and Hotel - 2008 news
[1453] What makes our courses special?
[1384] An email update for past guests and delegates
[1317] 2008 course schedule - Perl, Python, PHP, Linux, Java Deployment, Ruby and more
[1102] A Reference
[1087] Telling a story in different ways
[1018] Open Source Courses and Business Hotel - products and prices for 2007
[564] Open Source training from Well House Consultants
[550] 2006 - Making business a pleasure
[549] 2005 - Come as a student, leave as a friend
[504] We are about Open Source programming courses in the UK
[419] Most popular courses
[277] Fire drill
[234] How to get the best from your supplier
[181] Maximum number of trainees on a course
[13] Mobile Office revamp
(article) Training - our guarantee and commitment
(article) For the newcomer to Well House Consultants

Subject G203 - Training course prices
[4602] Training course and hotel room prices - 2016
[4416] Challenging the IT course business model
[4379] Well House Consultants / Well House Manor - Prices for 2015
[4246] Python, PHP, Ruby, C, Lua, etc ... course prices held for the rest of 2014
[4230] Well House Consultants - course prices for 2014
[4082] Training around the world - easy payment in pounds Sterling
[3196] No news is good news.
[3107] Hotel and Training Course prices - the effect of the VAT rise on 4th January 2011
[2560] Training comparison to QA Training, Learning Tree, GB Direct.
[2541] VAT Changes
[2311] Floor to ceiling
[2003] Discount Training Courses - PHP, Perl, Python
[1912] Book now for 2009
[1492] Well House Consultants Training and Hotel - 2008 news
[499] Good IT training cannot be cheap
[295] Pricing strategy - simple and fair
[163] Introduction fees, bonuses, commissions, kickbacks
[101] Good value, low cost, cheap.
(article) How come our list prices are lower?
(article) Price Comparison on our training courses
(article) Pay on the day - not months in advance!

Subject G204 - Equipment and facilities
[4261] Updated delegate computers - nine of the best
[3489] Python courses and Private courses - gently updating our product to keep it ahead of the game
[3310] How fast is your Internet access? Do you need something faster for your business or home?
[3196] No news is good news.
[3174] Sharing a single hotel internet connection without carrying extra hardware
[3137] Training Classes - should the training company provide a system for each delegate to use?
[3130] New Computers for delegates to use
[3109] A weighty decision
[2935] 01225 707126 to 01225 344596 to 01225 899360 - Well House Fax
[2850] Fresh Paint for course presentation - including C++
[2810] A course review - for the tutor to complete
[2795] Simon says
[2370] C++, Python, and other training - do we use an IDE
[2222] A (biased?) comparison of PHP courses in the UK
[2032] Mobile Internet - an alternative to hotel WiFi
[1701] Training Course and Business Conference Technology
[1488] New trainee laptop fleet for our Open Source courses
[1415] Better technology makes for longer commutes?
[1364] Korn shell course - resources
[1363] One computer per delegate, or pair programming?
[1126] MacFormat - Me and My Mac
[1089] Playing old games
[460] New Network
[452] Is enough enough?
[450] Wheelchair access - can do!
[432] New print centre for our manuals

Subject G205 - Food and Drink.
[4415] Buffet review - taking the price into account
[3387] Eating out in Melksham - where we like for lunch.
[3233] C / C++ Course Lunch - sitting out at the West End
[3199] Lunch for Melksham Businesses
[3182] What we look for in a lunchtime cafe restaurant in Melksham
[2784] Course Lunches
[2591] Melksham Hotel, B and B or business accommodation?
[2590] A healthy, local breakfast in Melksham
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1843] How many cups of coffee?
[1332] Melksham Hotel - Five Star Kitchen!
[456] Laying out a vegetarian lunch
[302] Dining full circle
[221] Lunchtime Drink
[211] Look after your staff and they'll look after you. AOL.
[207] Canteen Dragon
[184] MTBF of coffee machines
[36] Tesco at 5
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing

Subject G206 - Our training centre
[4012] A course is not just for a year - its for a career
[3545] Finding all matches to a pattern in Perl regular expressions
[2943] Our facilities to support Well House Consultants Courses
[2926] Journey times to Melksham, Wiltshire
[2660] One number for Well House - 01225 708225
[2538] Open Source Training Centre and Courses for 2010
[2537] Faster network, but not faster browsing until ...
[2126] Weeding out old phone numbers
[1240] Fancy going to Glastonbury?
[1200] Training information - England, Scotland, Wales and Ireland
[640] Training Centre Pictures
[627] JIT or JAU
[448] Out of the norm.
[256] Spring is in the air
[53] Drive the drive
(article) Bottles from Melksham Spa
(article) Well House Consultants - Key Facts

Subject G207 - Staff
[4227] Happy Christmas from the Well House Manor team
[4189] Who are we - Lisa, Graham, Gypsy and Billy
[3961] Well House Staff Party
[3586] Emergency First Aid Provision at Well House Manor - part of the service
[3490] How not to call when job seeking ...
[3460] Flying Colours!
[3425] Our National Autograss Champion, from Melksham
[3311] Exhilarating day!
[3212] Well House Manor - a home from home for the business and leisure guest in Melksham
[3201] A change to the Well House team - thank you and good luck, Chris
[3103] Thank you - and Happy Christmas
[3051] Positively reforming the system - could it be done?
[2960] The Well House team - September 2010
[2934] Not so much software training - more hotel keeping!
[2775] Declarations of interest - knowing where you stand with people
[2772] Graham Ellis - Summary of Training Record
[2566] Excellent staff make for excellent hotel
[2164] Updating my public profile - Graham Ellis
[2050] Why the Pony Tail?
[2044] Please Trouble me
[2009] The Royal Mail Receipt
[1324] Well House Manor appoints a General Manager
[1141] A strong team broadens the professional coverage
[1083] Behind the scenes
[1065] Graham Ellis - an Introduction
[1002] Meet the neighbours
[972] Both one team and two
[895] Welcome, Martin
[862] 4 weeks to go
[578] Woman screaming at me
[393] Trainer answers phone
[371] The training team that's looking out for you
[185] Who am I?
[168] Welcoming Leah Davies to our team
[88] Getting the right level of trainer
[41] A Thousand and four words
[10] What do you look for in your IT trainer?
(article) The Author of the Apache httpd and Tomcat Course

Subject G208 - Library
[3440] Research is exciting. But should routine be automated?
[3259] Our library in Melksham
[2943] Our facilities to support Well House Consultants Courses
[924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl
[669] The best Open Source library in town
[167] Upgrade to the Library

Subject G209 - Keeping up to date
[4314] PHP training - refreshed modern course, backed up by years of practical experience
[4200] Endorsed Perl, Python and PHP training - Tcl, Lua, Ruby and C too!
[3755] Cruising on the Mersey Ferry?
[3653] What is happening in 59 days time in Melksham?
[3469] Teaching dilemma - old tricks and techniques, or recent enhancements?
[3003] What will we be teaching in six years?
[2940] Training course locations - Melksham, UK; Buxton, UK; Lake Constance, Germany; Venice Italy, the USA and India
[2564] Microblogging services - Plurk, Twitter, Jaiku and more
[2352] Printed Directories - the start of the updating season
[2078] A lot has changed - but the memory lingers on
[2032] Mobile Internet - an alternative to hotel WiFi
[1488] New trainee laptop fleet for our Open Source courses
[396] The next technologies
[250] We dont stand still
[160] Review of the Autumn
[143] Network Camera
[86] Talk review - Idiomatic Perl, David Cross
[83] Geek Cruising
[82] Keeping up to date
(article) Portrait of the Author of PHP

Subject G210 - History
[3628] Historic Drawings from near Melksham
[3615] Historic documents for Wiltshire
[3510] The skull above the door in Melksham Town Hall
[3149] Looking back at www.wellho.net
[2999] 2999 - looking back
[2968] Well House Consultants - a potted history
[225] 10 years and counting
[164] Well House Consultants - review of 2004
[38] An update for old friends
(article) Time Line - growth of our Open Source training
(article) Taxi from Melksham Station, Sir?

Subject G211 - The story of our Georgian HQ and Edwardian Hotel
[4751] Final day of training at Well House Manor - Python, Lua, Tcl and C/C++ continue at The Spa, Melksham
[4139] Out of doors (mostly) at Well House in Melksham
[3864] Guest Guide for Well House Manor and Melksham
[3847] The Accidental Hotelier
[2987] Memorial to a day in 1999
[2962] Well House Manor - the history of the hotel
[2935] 01225 707126 to 01225 344596 to 01225 899360 - Well House Fax
[2565] Bright day, snowy day
[2548] Ten years ago, we moved to Melksham Spa
[2350] Ten years in Melksham - looking forward to ten more.
[2158] On the roof of a Melksham Spa House
[1443] Christmas is coming very early
[1126] MacFormat - Me and My Mac
[830] Butterflies in a Wiltshire garden
[811] Melksham in Bloom
[719] Gardens, Well House Consultants HQ
[174] Contrast - the storm and the calm.
[118] History around you
(article) Time Line - growth of our Open Source training
(article) Bottles from Melksham Spa
(article) Well House Consultants - Key Facts

Subject G300 - Public Courses
[4769] Python, Tcl, Lua and other Open Source programming courses for 2018
[4751] Final day of training at Well House Manor - Python, Lua, Tcl and C/C++ continue at The Spa, Melksham
[4739] A year of changes for Lisa and Graham Ellis, and Well House
[4705] Course dates - from October 2016 to December 2017
[4689] Training Course schedule for summer and autumn 2016
[4564] Perl, PHP, Python, Lua, Tcl, C++, Ruby - final public courses for 2015
[4519] Course Schedule - October 2015 to June 2016
[4434] Public training courses - upcoming dates
[4416] Challenging the IT course business model
[4408] Additional Python courses added to our schedule
[4375] Final examples for 2014 - and a look at our 2015 training course options
[4358] A brilliant finish to 2014 training and business guests, and a look to 2015
[4300] Public courses - Autumn 2014 and 2015
[4279] Upcoming public courses from Well House Consultants
[4230] Well House Consultants - course prices for 2014
[4197] Python and Tcl courses, November, UK (Melksham) ... just a few places left
[4172] Public courses - Python, PHP, Perl, Ruby, Lua, Tcl, C and C++ - autumn 2013 and through 2014
[4015] Upcoming courses and availabiity
[3983] Upcoming courses at Well House Manor - Ruby, Python, Perl
[3964] What is coming up from Well House in 2013 - public Open Source / IT courses.
[3924] The bedrooms at Well House Manor
[3911] How well do you know Perl and / or Python?
[3903] Python Programming class for delegates who have already self-taught the basics
[3876] October to December 2012 - Public Courses
[3829] Training courses - rest of 2012, 2013 and January 2014
[3823] Know Python or PHP? Want to learn Perl too?
[3637] April, May and June 2012 - Public Open Source Programming Courses
[3573] New in Java 7 - and why we are not running public Java 7 courses
[3559] Well House Consultants - Open Source Programming Courses for 2012
[3528] December courses - PHP, Python, Perl - and a weekend Lua course
[3401] Open Source Training Schedule - learn a programming language - in Autumn 2011 or 2012
[3365] Turning bright delegates into bright and knowledgable ones
[3358] Upcoming Programming courses ... High Summer, 2011
[3219] How do I become a Linux System Administrator?
[3205] Open Source (Public) courses - PHP, Tcl, SQL, Python, C and C++ in Melksham, Wiltshire, UK
[3160] Extra courses - Advanced PHP, MySQL and Lua
[3129] Extra courses - C and C++
[3078] Royal Wedding. How William and Catherine have changed our schedule
[3074] Running a course ... what if the tutor isn't well?
[3071] Well House Price list, January to March 2011
[3021] Courses for late 2010 and early 2011
[2965] Testimonials - Well House Consultants Open Source courses
[2942] Open Source Programming - Training Course Schedule
[2928] Public (scheduled) or private course? Book direct, or through a third party?
[2927] Announcing 2011 Open Source Training courses - dates and prices
[2881] Tailoring of courses to meet customers needs - how it works
[2839] Software versions used - June 2010
[2736] Perl Course FAQ
[2558] Happy new decade - and course and hotel prices for 2010
[2341] Koulutus, Open Source tietokone kielillä
[2340] ldning, Open Source dator språk
[2339] Opplæring, Open Source datamaskinen språk
[2338] Uddannelse, Open Source computer sprog
[2337] Opleiding, Open Source computertalen
[2336] Formação, Open Source computador línguas
[2335] Ausbildung, die Open-Source-Sprachen
[2334] Formazione, Open Source computer lingue
[2333] Formación, de los lenguajes de código abierto
[2332] Formation, des langages Open Source
[2048] Learning to program in PHP, Python, Java or Lua ...
[1968] Review of 2008
[1929] 2009 - Hotel, Meeting, Training Course prices
[1857] November and December Public Course Schedule
[1836] Next in the sequence - courses next year (2009)
[1751] Public Training Course Dates until July 2009
[1693] July to December 2008 - Open Source training schedule
[1615] PHP training courses every month
[1565] Languages compared - based on developer community size
[1420] The Learning Perl crew, October 2007
[1414] What we teach - expained for the non-technical
[1035] Longer hours and better value courses
[933] Course Joining package - updated
[845] Course scheduling and Geekmas - are they traditions yet?
[646] PHP - London course, Melksham Course, Evening course
[387] Training course plans for 2006
[181] Maximum number of trainees on a course
[172] Public courses in London
(article) Free software - the joy of Open Source

Subject G301 - Booking a Public Courses
[4602] Training course and hotel room prices - 2016
[4122] Well House - booking through agents
[3600] Visa, MasterCard and American Express - changing payment profiles
[3180] Age limits for Well House Consultants Open Source courses?
[2743] Public Open Source Training Courses running this summer and autumn in Melksham
[2352] Printed Directories - the start of the updating season
[2278] First courses for 2010
[1932] Training Passports - booking a training program
[1693] July to December 2008 - Open Source training schedule
[1634] Kiss and Book
[1555] Advanced Python, Perl, PHP and Tcl training courses / classes
[1193] Dangerous Dogs and Hotel Marketing
[664] Ruby course - oops - it's not happening
[487] On line course booking - credit card protection
(article) How come our list prices are lower?
(article) Pay on the day - not months in advance!

Subject G302 - Coming to a course.
[4558] Well House Consultants - Python courses / what's special.
[4335] Flexible public courses - residential or commuting, programming newcomer or experienced, C or C++
[4231] Well House Consultants - Public Training Course times for 2014
[2835] A course is more than just a chap giving a lecture
[2286] New to programming? It is natural (but needless) for you to be nervous
[2249] Public Transport from London to Melksham, Wiltshire
[1996] Advise before my Apache / Tomcat course
[1792] All the pieces fall into place - hotel and courses
[952] Coming from London to Melksham by train for a course
[933] Course Joining package - updated
[898] Courses at Well House Manor
[695] In the hospitality business
[490] A new way to get lost
[464] Technical Loneliness
[306] Bristol Airport this morning, The Farm this evening.
[264] 100% Training
[2] Diary entry - 5th August 2004
(article) It's easy to get to Melksham, and there's things to do!

Subject G303 - During the course
[4558] Well House Consultants - Python courses / what's special.
[4132] Using your own laptop on our courses - now even easier!
[3771] Fine evening, country walk from Melksham - pictures
[3588] Learning about how to help people learning - and retaining
[3233] C / C++ Course Lunch - sitting out at the West End
[2560] Training comparison to QA Training, Learning Tree, GB Direct.
[2342] Training Classes in other tongues
[1816] Holt on holt
[1466] Effective Java training - the bootcamp approach
[1459] Interactive training, and advancing techniques further
[1420] The Learning Perl crew, October 2007
[1363] One computer per delegate, or pair programming?
[1245] Ensuring that our tutor answers YOUR questions
[1035] Longer hours and better value courses
[670] Architectural Heritage - Devizes
[640] Training Centre Pictures
[570] Features and Benefits
[455] A Stengthening day
[342] The evening after the course
[273] Course Picture
[56] Dress Code
(article) Moving up a class

Subject G304 - Getting home
[4231] Well House Consultants - Public Training Course times for 2014
[2789] Melksham to London (Heathrow, and Central London)
[2726] Every cloud has a silver lining
[2366] At the end of the course
[2248] Getting home from Melksham
[1989] So sad to see you go

Subject G305 - Post Course support
[4588] What teach you in a week stays with you for a decade
[3770] Sample answers to training course exercises - available on our web site
[3701] Refresh and Revision training class days - Perl / PHP / Python / Lua / Ruby / Tcl / C / C++
[3419] Data that we use during our training courses, and other training resources
[3391] For programmers who use Internet Explorer as their browser
[3045] After Course Resources - do we publish sample answers. Example from Java Exceptions module.
[2732] Asking about Jesus
[2102] What do people think of our Apache httpd / Tomcat course?
[1874] Is it worth it?
[1245] Ensuring that our tutor answers YOUR questions
[651] Please Register with Opentalk - but just once!
[609] Been on a course, but still not got it?
[569] Instructions for bright people
[516] Open source questions? Anyone can ask.
[509] Snippets from Geekmas
[389] Tough Love
[336] Targetted Advertising
[327] How far should our support go
[293] Course follow-ups
[248] Use me, but use me effectively
[244] Getting your examples, my examples and the data files after your course
[199] Post course support - part of the service
[136] Please tell us

Subject G310 - A better class of course
[4583] Back in the saddle again - excellent open source course from Well House Consultants
[4558] Well House Consultants - Python courses / what's special.
[4280] Making use of huge data, object orientation, unit testing and frameworks
[3587] C++ Courses - do I get official certification at the end of my Well House course?
[3419] Data that we use during our training courses, and other training resources
[3385] Do university courses teach the right things for life at work later on?
[3271] The importance of feedback
[3001] How will we present courses over the coming years?
[2762] Well House - Mission and Policy summaries
[2633] Why do I teach niche skills rather than mainstream?
[2187] Are we IITT (Institute of IT Training) members?
[2109] Why most training fails ...
[2084] Books and distance learning from Well House Consultants?
[2074] Weekday or Weekend PHP, Python and Perl classes?
[2049] Why Choose Well House Consultants for your course?
[2010] How long should a training module be?
[1933] Learning to Program in C
[1645] Seeing how others do it - PHP training
[1576] Making PHP and MySQL training relevant to the course delegates
[1488] New trainee laptop fleet for our Open Source courses
[1453] What makes our courses special?
[1035] Longer hours and better value courses
[726] In praise of training course delegates.
[646] PHP - London course, Melksham Course, Evening course
[579] Short Linux and Perl courses for small groups
[577] Learning to program in Perl or PHP
[559] ''I don't know'' is sometimes a good answer
[554] What backup is adequate?
[497] I have a river to cross
[394] A year on - should we offer certified PHP courses
[371] The training team that's looking out for you
[350] Want to be one better
[292] Elegant languages - Perl, PHP, Python
[230] Course sizes - beware of marketing statistics
[224] YOUR application and YOUR data
[219] Some unusual features
[215] Open Source becomes mainstream
[211] Look after your staff and they'll look after you. AOL.
(article) Moving up a class
(article) Why so many different courses?
(article) Training - our guarantee and commitment
(article) For the newcomer to Well House Consultants
(article) Creating Really Memorable Experiences

Subject G400 - Private course
[4358] A brilliant finish to 2014 training and business guests, and a look to 2015
[4082] Training around the world - easy payment in pounds Sterling
[3074] Running a course ... what if the tutor isn't well?
[3071] Well House Price list, January to March 2011
[2965] Testimonials - Well House Consultants Open Source courses
[2953] Turning an exercise into the real thing with extreme programming
[2928] Public (scheduled) or private course? Book direct, or through a third party?
[2881] Tailoring of courses to meet customers needs - how it works
[2802] After the Perl course in Nurnberg
[1968] Review of 2008
[1929] 2009 - Hotel, Meeting, Training Course prices
[1555] Advanced Python, Perl, PHP and Tcl training courses / classes
[1414] What we teach - expained for the non-technical
[1092] Tcl training - often for a larger group
[994] Training on Cascading Style Sheets
[387] Training course plans for 2006
[321] Sales - the alternative close
[181] Maximum number of trainees on a course

Subject G401 - On Site courses
[4769] Python, Tcl, Lua and other Open Source programming courses for 2018
[4739] A year of changes for Lisa and Graham Ellis, and Well House
[4602] Training course and hotel room prices - 2016
[4230] Well House Consultants - course prices for 2014
[4132] Using your own laptop on our courses - now even easier!
[3950] 10 reasons why I travel the night before a course starts
[3898] The course must go on - improvements to tutor travel plans, with immediate effect
[3715] Changing face - Filton
[3691] Back in Cambridge to give a Lua course
[3137] Training Classes - should the training company provide a system for each delegate to use?
[3131] Lua, Tcl, Python; Worldwide training classes
[2956] On site course - travel and accommodation expenses
[2928] Public (scheduled) or private course? Book direct, or through a third party?
[2810] A course review - for the tutor to complete
[2801] Binary data handling with unpack in Perl
[2311] Floor to ceiling
[2309] Lua training class in Spanish
[2041] httpd, Tomcat and PHP course enhancements
[1781] Reception
[1600] Cambidge - Tcl, Expect and Perl courses
[1465] Perl, PHP, Python, Tcl, Linux, MySQL, Ruby courses ...
[1027] Cue the music, I'm happy.
[439] You cant
[438] Fair system for travel and accommodation expenses
[382] Central London Courses - Perl, PHP, Python, Tcl, MySQL
[241] Dress for training
[213] Off to Munich
[191] Setting up a training room for a course
[139] Just provide a room and the students
(article) Onsite training - expenses
(article) On the Oban Road
(article) Pay on the day - not months in advance!

Subject G402 - Private courses at Melksham
[1989] So sad to see you go
[1900] Table Topics
[1081] Customer takes over class, and I am delighted
[933] Course Joining package - updated
[898] Courses at Well House Manor
[640] Training Centre Pictures

Subject G403 - On site - venues, UK and Ireland
[4168] Travelling to and from courses - much easier from December 2013
[3489] Python courses and Private courses - gently updating our product to keep it ahead of the game
[3153] Points West to Belfast
[3065] Pictures from the Birkenhead to Belfast crossing
[3058] MacBook Air - hardware and system review
[2956] On site course - travel and accommodation expenses
[1599] Fresher tutor, better course
[1200] Training information - England, Scotland, Wales and Ireland
[910] Helping the miles pass
[710] Linux training Glasgow, Python programming course Dundee
[378] A word of admiration for the London cabbie
[120] Good early morning

Subject G404 - On site venues
[4671] Ruby training, half a world away
[4011] From Salford
[3950] 10 reasons why I travel the night before a course starts
[3636] Best tenner I ever spent?
[3292] Every tenth picture.
[3131] Lua, Tcl, Python; Worldwide training classes
[3130] New Computers for delegates to use
[2989] Oddballs in Plymouth
[2731] Training Courses - time of change
[2309] Lua training class in Spanish
[741] Last week - picture of the Perl course
[727] A journey, an arrival, a people
[382] Central London Courses - Perl, PHP, Python, Tcl, MySQL
[196] An Open Source course on the Channel Islands
[107] Taking Equipment offshore to run a course

Subject G500 - Running a training company
[4135] Introducing your product to Well House Consultants - single, personally tuned email please
[4004] Annual Accounts - a big job for a small business
[3824] Planned for a quiet period during the Olympics - but it is far from that!
[3684] Once upon a Maundy Thursday
[3610] Training to do a job, or training to pass an exam?
[3361] Blowing our own trumpet - MySQL resources
[2940] Training course locations - Melksham, UK; Buxton, UK; Lake Constance, Germany; Venice Italy, the USA and India
[2924] Job applicants - wondering why they apply
[2838] Respecting our customers anonimity
[2144] Looking for a career change - Physician to Web Site Designer
[2084] Books and distance learning from Well House Consultants?
[2074] Weekday or Weekend PHP, Python and Perl classes?
[2049] Why Choose Well House Consultants for your course?
[2021] Short health and safety course
[2003] Discount Training Courses - PHP, Perl, Python
[1963] Best source to learn Java (or Perl or PHP or Python)
[1884] Recession? Depression?
[1433] Linux, PHP, Tcl, Ruby, C, C++ - last minute training course availability
[1393] First Alternative / what has happened there?
[1369] One business, four different angles!
[1040] What the customer is looking for - effective training
[1022] No courses. No hotel guests. Rushed off our feet!
[978] Wellhouse Manor, Hotel, Melksham
[926] Training rooms to learn Open Source programming
[838] Talking about other training companies.
[813] Monday Morning at Well House Consultants Melksham
[652] Morning Post
[627] JIT or JAU
[545] Is training seasonal?
[470] I wanna be a Python trainer
[402] Netless
[385] Feast or famine
[251] WIBNIF
[171] Skills and techniques of being a successful trainer

Subject G501 - Customer Service
[4232] Not wanted here - hotel guests who will not be happy
[4078] Train works for me!
[4077] Palty or Parliamentary?
[3835] The Information age - not yet truly with us?
[3808] Can you put names to faces?
[3378] New product - ensuring that supply matches demand
[3294] It's not just about the jam in the sandwich
[3271] The importance of feedback
[3103] Thank you - and Happy Christmas
[3073] Customer Service - the boundary
[2961] Initial handling of phone calls and walk in visitors
[2880] Getting in touch - Please allow me to see you when you are online
[2650] Getting a phone line changed ...
[2530] Taking a knock over Santa
[2258] Questions I have been asked on answering the phone
[2236] Alumni - revisiting and supporting the old University
[2124] Building down expectations
[2102] What do people think of our Apache httpd / Tomcat course?
[2049] Why Choose Well House Consultants for your course?
[2015] Service Excellence Awards
[1991] Rules for a King
[1985] Learning to program as a part of your job
[1835] 23:30 bookings and midnight checkins
[1637] Providing exceptional service - and carrying on doing so.
[1606] Sheep Shearers, Marathon Runners and Ocean Sailors
[1516] Pictures you can use - for free - from our library
[1446] An answer to a student asking 'Help'
[1434] Market survey - to learn, to prove a point, or to sell your product?
[1319] Customer feedback - lifeblood of a business
[1262] Keep in touch with PHP, Perl, Python and old friends too
[1046] Bounce, bounce, bounce
[1007] Friends and family
[966] CSL, KISS and RTFM
[961] Products that our customers want more of
[944] Just ******* Google it
[852] Eventful evening - a lesson in looking after contacts
[841] Forum help - a push in the right direction
[725] Better communication
[717] A customer service company
[650] A person of few words
[628] Active Learning
[621] And the staff put the icing on the cake
[609] Been on a course, but still not got it?
[569] Instructions for bright people
[566] May all your screw-ups be big ones
[552] Keeping Customers Informed
[482] Different ways of selling
[440] Upgrade!
[393] Trainer answers phone
[350] Want to be one better
[327] How far should our support go
[265] Business practise, 2005 style
[233] Giving customers best value
[195] Customer service - examples to warn us
[189] Tuesdays and Fridays
[150] Confession
[126] Feedback shows the tip of an iceberg
[91] On line every 24 hours
[72] On Customer Service

Subject G502 - Business Practice
[4520] No cold sales calls please - but delighted to hear from others!
[4415] Buffet review - taking the price into account
[4293] Certification
[4107] Snog, Marry, Avoid
[3755] Cruising on the Mersey Ferry?
[3750] Matching opening hours to when customers can come in and buy
[3665] Will will smile?
[3613] Keeping Business Local. But is that realistic?
[3506] Cold call contacts - preference services and turning off spam sales approaches
[3333] Honesty and a friendly welcome goes a long way
[3157] A new monopoly on the ferry to Northern Ireland
[3073] Customer Service - the boundary
[2966] Cheap Country Hotel in Melksham, Wiltshire?
[2936] The service that customers should receive
[2821] Chancellor George Osborne inspires Perl Program
[2788] Cost of Sales
[2598] An excuse for making a sales call
[2465] Melksham Town - asleep or awake?
[2331] Certification Revisted - Lua
[2283] Everyone is in the customer relations business
[2190] How you are (re)presented at an exhibition
[2187] Are we IITT (Institute of IT Training) members?
[2161] Get it right ... if it goes wrong, it takes so much effort to sort out!
[2126] Weeding out old phone numbers
[2122] Commission Creep
[2044] Please Trouble me
[1913] Alastair Darling helps make paperwork and confusion
[1855] Volunteer v Employee - a skewed balance? (FSB)
[1713] Ways to accept credit cards - or not!
[1626] Early May - a short chance to regroup and improve
[1485] Copyright and theft of images, bandwidth and members.
[1453] What makes our courses special?
[1394] Business to Business Networking - North and West Wilts / Melksham
[1373] New Month, New Quarter, New Laws
[1342] Google, wwmdirectory, Freshwater, ATP - new scam?
[1319] Customer feedback - lifeblood of a business
[1263] 0800 043 8225 - a new phone number for Well House
[1260] An inspirational business talk from one of our prospective MPs
[1243] Heavy duty hole punch
[1165] Extended Credit request - train in June and be paid in September
[1157] Speed Networking - a great evening and how we arranged it
[1133] B-2-B Networking, 20th April. Useful for YOUR business?
[1084] Writing terms and conditions for conferences and other events
[1057] Selling by phone and Skype - our policy
[906] A commitment we won't be making
[883] Age discrimination law
[869] UNABLE TO ATTEND
[849] Staff Meeting
[808] Sales call
[766] Discounts and approved supplier lists
[664] Ruby course - oops - it's not happening
[652] Morning Post
[626] Not just a pretty face to answer the phone.
[536] Cancellations and penalties
[491] Being atypical is typical
[487] On line course booking - credit card protection
[467] Tell them three times
[457] Do the work and take the risk - a PHP contract to avoid
[438] Fair system for travel and accommodation expenses
[399] simplicity hides real size
[321] Sales - the alternative close
[297] A reminder that the customer is King
[226] Growing our systems
[217] Use of time
[211] Look after your staff and they'll look after you. AOL.
[200] Tips for the top
[188] Pink elephant and appreciation
[180] Skunk works
[157] Automatic service upgrades
[137] Certification schemes
[129] Trawling our site to prevent student copying
[125] Staff theft
[121] Fair and Simple
[108] A typical morning
[95] Five red flags
[88] Getting the right level of trainer
[77] Telephone systems
[68] Get the strategy worked out and the tactics just fall into place.
[27] Sales technique
[15] 90 to 10 or 80 to 20 rule
(article) Free software - the joy of Open Source
(article) Phone and fax to 070059 numbers in the UK
(article) Creating Really Memorable Experiences

Subject G503 - Newsletter and publicity
[4266] Facebook marketing - who are we reaching?
[3984] 20 minutes in to our 15 minutes of fame
[3974] TV show appearance - how does it effect your web site?
[3354] Sales and Marketing - adding advertising to the product
[3165] Journalism 101
[3153] Points West to Belfast
[2873] Another toot of the trumpet
[2564] Microblogging services - Plurk, Twitter, Jaiku and more
[2388] `Of Course` is back!
[2244] What should a web site cost you?
[2124] Building down expectations
[2051] A Presentation about our company - web and PHP
[1698] Dealing with The Press
[1673] Spam Filters ... are working!
[1494] A time to update pictures
[1284] An update on the West Wilts show ...
[1090] Too many instructions, too much detail
[1087] Telling a story in different ways
[1000] One Thousand Posts and still going strong
[904] Of course I'll tell you by email
[734] Keeping customers informed by email
[480] New look to website
[458] Final courses of '05 coming up ....
[336] Targetted Advertising
[281] What they are saying about our OF COURSE newsletter
[57] Posting 1000 letters!
[48] PHP - onwards and upwards

Subject G504 - Writing Notes
[4031] Showing what programming errors look like - web site pitfall
[4009] Clear, concise examples - Ruby classes and objects.
[3152] Jargon busting
[2828] Sharing our programs - easy. Sharing our data - harder.
[2812] What is Perl?
[2481] Sample code with errors in it on our web site
[2414] Hello World - a good traditional start to a Java course
[2192] Copy writing - allowing for the cut
[2010] How long should a training module be?
[1950] Copyright of Training Notes and Web Site
[982] Notes from the white board
[979] Empty seats, Nodding Donkeys and buses
[797] Writing up new C / C++ notes.
[407] Theft of training material
[398] Training course material - why we write our own
[394] A year on - should we offer certified PHP courses
[9] Study room - the Oxford train
[7] Writing on a Sunday
[4] Seeing the wood for the trees.
(article) The Author of the Apache httpd and Tomcat Course

Subject G600 - Well House Manor
[4715] Well House Manor - Still five out of five!
[4101] POETS day at Well House Manor
[3970] Comparing four VERY different places to stay
[3814] Returning guests - a sign of a good product. Cream teas and hotel rooms.
[3800] Fancy a weekend away? Try Well House Manor in Melksham, Wiltshire
[3702] Digital Champions think that Well House Manor is a champion venue!
[3549] Well House Manor - perhaps the best hotel rooms in Melksham
[3405] Where do businessmen stay in Melksham?
[2962] Well House Manor - the history of the hotel
[2565] Bright day, snowy day
[1706] The Story of Well House Manor
[1520] Terms and Conditions - Hotel, England - plain English
[1388] Well House Manor - a year on
[1332] Melksham Hotel - Five Star Kitchen!
[1211] A lot has happened in a year
[1072] Well House Manor in the Snow
[1059] Three sets of twins
[963] George Hotel and Well House Manor, Melksham
[933] Course Joining package - updated
[902] Brand new hotel and training centre, Melksham
[891] Well House Manor Hotel, Melksham, Wiltshire
[884] Drive time
[667] Well House Manor goes ahead
[643] If it's Sunday, it must be Bedwyn
[617] Easy, Free, Reliable internet access
[615] Looking for leading not bleeding edge
[598] Should we cruise around the world?
[594] Twice is a co-incidence and three times is a pattern
[582] DWIM and AWWO
[575] Eating for the single business traveller
[571] Well House Manor
[558] Converting between acres and hectares
[555] Hotel novelties
[550] 2006 - Making business a pleasure
[525] Vision AND venture

Subject G900 - Miscellany
[3775] Alan Turing - 1912 to 1954
[3612] Help to get online in Melksham
[3315] Friday - Electrician, Food Festival, C++ Course, Rail Group Meeting
[3000] Looking forward - the next 3000
[2534] And now for some posts a bit more technical
[2258] Questions I have been asked on answering the phone
[2144] Looking for a career change - Physician to Web Site Designer
[2019] Baby Caleb and Fortune City in your web logs?
[1898] Every cloud has a silver lining
[1867] Domain Renewal Group
[1183] Improving searches - from OR to AND?
[1040] What the customer is looking for - effective training
[1038] Know to the police
[1024] Web site - a refresh to improve navigation
[636] What is your business latency and potential?
[397] Where now for dial-up providers?
[336] Targetted Advertising
[333] Do NOT follow links or read attachments in these emails
[201] 0870 telephone numbers
[170] MySQL, Java, PHP and Linux - new technical articles

Subject G901 - Talks and lectures
[4284] Talk and walk to promote train service - Melksham Carnival
[3834] Geekmas 2012 - celebrating open source languages such as Perl, PHP and Python
[3351] Research and development with the help of your tutor or guide
[3221] How long is a speech?
[1459] Interactive training, and advancing techniques further
[1422] Wiltshire - speaker / after dinner talker offer
[1419] National Speaker - now to get the talk ready
[1242] Speaking at St. Catherine's College, Oxford University
[1101] Mushroom Curry and Perl Courses
[924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl
[310] Just in time - the talk is writ
[247] Extreme training
[134] Geekmas - a brief review
[128] Technical Weekend / Geekmas
[99] Should we call it 'Geekmas'?
[62] Technical Open House
(article) Open Source - here to stay, or a flash in the pan?
(article) Web applications using LAMP technologies

Subject G902 - Web site techniques, utility and visibility
[4492] Almost so wrong, but perhaps it's right for some?
[4474] Effect on external factors on traffic to our web sites - an update
[4401] Selecting RECENT and POPULAR news and trends for your web site users
[4376] Well House Consultants, Well House Manor, First Great Western Coffee shop, TransWilts / 2014 web site reports
[4239] Facebook marketing - early experiences
[4136] How do I post automatically from a PHP script to my Twitter account?
[4115] More or less back - what happened to our server the other day
[4076] Web site - fully back!
[4001] Helping search engines with appropriate 400 error codes
[3974] TV show appearance - how does it effect your web site?
[3896] An email marathon
[3776] Some traps it's so easy to fall into in designing your web site
[3745] Legal change - You need to obtain user consent if you use cookies on your website
[3744] Short Web Addresses for Melksham
[3734] QR codes with marketing logos embedded
[3623] Some TestWise examples - helping use Ruby code to check your web site operation
[3589] Promoting a single one of your domains on the search engines
[3563] How big is a web page these days? Does the size of your pages matter?
[3554] Learning more about our web site - and learning how to learn about yours
[3532] Sharing the user experience - designing a form with the customer in mind
[3491] Who is knocking at your web site door? Are you well set up to deal with allcomers?
[3426] Automed web site testing scripted in Ruby using watir-webdriver
[3367] Google +1 - what is it?
[3197] Finding and diverting image requests from rogue domains
[3149] Looking back at www.wellho.net
[3087] Making the most of critical emails - reading behind the scene
[3022] Retaining web site visitors - reducing the one page wonders
[2981] How to set up short and meaningfull alternative URLs
[2668] Is it worth it?
[2569] How to run a successful online poll / petition / survey / consultation
[2552] Web site traffic - real users, or just noise?
[2532] Analysing Google arrivals by country of origin
[2519] Status Page / breaks of service in early December
[2410] Removal of technical resources from this site
[2389] Writing with our customers words
[2341] Koulutus, Open Source tietokone kielillä
[2340] ldning, Open Source dator språk
[2340] ldning, Open Source dator språk
[2339] Opplæring, Open Source datamaskinen språk
[2338] Uddannelse, Open Source computer sprog
[2337] Opleiding, Open Source computertalen
[2336] Formação, Open Source computador línguas
[2335] Ausbildung, die Open-Source-Sprachen
[2334] Formazione, Open Source computer lingue
[2333] Formación, de los lenguajes de código abierto
[2332] Formation, des langages Open Source
[2225] How important is a front page ranking on a search engine?
[2065] Static mirroring through HTTrack, wget and others
[2056] Web Site Loading - experiences and some solutions shared
[1982] Cooking bodies and URLs
[1970] Plagarism - who is copying my pages?
[1961] Making our things easier to find
[1955] How to avoid duplicating web page maintainance
[1888] Find the link
[1856] A few of my favourite things
[1833] Web Bloopers - good form design - avoiding pitfalls
[1797] I have been working hard but I do not expect you noticed
[1793] Which country does a search engine think you are located in?
[1756] Ever had One of THOSE mornings?
[1747] Who is watching you?
[1711] Rapid growth leads to server move
[1653] How do Google Ads work?
[1634] Kiss and Book
[1630] To provide external links, or not?
[1610] PHP course dot co, dot uk
[1554] Online hotel reservations - Melksham, Wiltshire (near Bath)
[1541] Colour, Composition or Content
[1534] Where in the world / country is my visitor from?
[1513] Perl, PHP or Python? No - Perl AND PHP AND Python!
[1506] Ongoing Image Copyright Issues, PHP and MySQL solutions
[1505] Script to present commonly used images - PHP
[1494] A time to update pictures
[1437] Above the fold with First Great Western
[1297] Stuffing content into a web page - easy maintainance
[1237] What proportion of our web traffic is robots?
[1212] What brought YOU to our web site?
[1207] Simple but effective use of mod_rewrite (Apache httpd)
[1198] From Web to Web 2
[1186] Two new pages / sites
[1184] Finding resources - some pointers
[1177] Sorting out for a site map
[1104] Drawing dynamic graphs in PHP
[1055] Above the fold
[1029] Our search engine placement is dropping.
[1015] Search engine placement - long term strategy and success
[994] Training on Cascading Style Sheets
[976] Santa at the station
[916] Driving customers away
[893] Visibility
[800] Effective web campaign?
[767] Finding the language preference of a web site visitor
[757] Horse and Python training
[732] Where is a web site visitor browsing from
[718] Protecting images from theft
[681] Mirroring a dynamic site
[658] Keeping the visitors happy and browsing
[649] Denial of Service ''attack''
[533] Bigger Box Campaign
[528] Getting favicon to work - avoiding common pitfalls
[510] Dynamic Web presence - next generation web site
[492] New Navigation Aid - Launch of My Wellho
[414] Form Madness
[376] What brings people to my web site?
[369] CMS - the minefield of Choices
[348] Graveyard pages
[347] Frightening and from-friend viruses and spams
[322] More maps
[320] Ordnance Survey - using a 'Get a map'
[314] What language is this written in?
[311] Growth pains
[288] Colour blindness for web developers
[284] The Iconish language
[278] Cover all the options
[276] An apology to Mr Boneparte
[274] Our most popular resources
[268] Information request forms, cleaning up spam
[261] Putting a form online
[259] Responding to spam
[222] Who are all these visitors?
[202] Searching for numbers
[197] Allow for peak traffic on your web site
[182] Your personal Google ranking
[179] The hunt for unique words
[173] Data Mining
[165] Implementing an effective site search engine
[142] Colour for access
[117] A case of case
[109] URLs - a service and not a hurdle
[98] No more 'Error 404' pages. Something better.
[32] Web design platoon
[23] Skills and responsibilities
(article) Spotting and stopping denial of service attacks
(article) Suggesting alternative search terms to web site users
(article) Making all your .html files run a Perl script
(article) Error messages in PHP
(article) Keeping the PHP and the HTML apart
{googleplusone.html} Google +1 - source example of what you need in your page

Subject G903 - Running and moderating forums and social media sites
[4492] Almost so wrong, but perhaps it's right for some?
[4403] The unbalanced relationship between customer and provider
[4315] Welcoming genuine forum posters quickly - but turning away off topic advertisers
[4307] Identifying and clearing denial of service attacks on your Apache server
[4283] Can a legitimate forum post become illegal a year later?
[4239] Facebook marketing - early experiences
[4234] Change to Libel and Defamation laws from 1st January 2014
[4065] Handling requests to a forum - the background process
[4025] Backups, Codebase, Strategy and more - dealing with forum incidents
[4017] Acceptable User Policy / vexatious interacter
[3910] Identifying your real customers and keeping them well informed fast
[3479] Practical Extraction and Reporting - using Python and Extreme Programming
[2820] Netiquette for forum newcomers
[2781] The 500 pound question to get you started
[2569] How to run a successful online poll / petition / survey / consultation
[2527] Flying tonight
[2526] A reluctance to move from old shoes to new
[2386] Computing under the influence of alcohol
[2254] Forum membership - a privilege not a right
[2177] Preventing forum spam - checks at sign up
[2162] Admins thoughts on banning a member from a forum
[2156] Stopping forum spam - control of the signup process
[2116] Why do we delay new forum members through authorisation?
[2103] Ask the Tutor - Open Source forum
[1972] Pettifog and forum boards away from public view
[1923] Making it all worthwhile
[1759] While the world sleeps ...
[1678] Software - changes and delays. But courses must run on time!
[1595] First Great Western Weekend
[1578] Please don't shout at me!
[1569] I dont care - goodbye
[1563] Guidlines for posting on a forum
[1539] A forum is not always the best vehicle
[1532] Comment spam blocked. Please comment via Forums
[1523] Ive just received an email from myself. Should I be worried?
[1485] Copyright and theft of images, bandwidth and members.
[1472] The Horse goes on and on
[1362] No Thank You
[1190] Save the Forum - A regular clean sweep
[1088] Why use BBC code not HTML?
[948] Running an on line campaign
[923] Why shouldn't I spam?
[919] Freedom for X is denial of privacy for Y
[841] Forum help - a push in the right direction
[828] Freedom of speech and freedom to post
[806] Check your user is human. Have him retype a word in a graphic
[651] Please Register with Opentalk - but just once!
[516] Open source questions? Anyone can ask.
[424] How not to run a forum
[248] Use me, but use me effectively
[231] Feedback as lifeblood
[204] The confidence to allow public comments
[130] Spelling and grammar
[115] Expiration dates or times on web pages
[29] Silence is Golden
[22] Falling out over the silliest things
(article) Moderating a forum

Subject G904 - Mac and OS X
[3174] Sharing a single hotel internet connection without carrying extra hardware
[3058] MacBook Air - hardware and system review
[2267] winmail.dat enclosure ... reading on an Apple
[1491] Apple Mac Operating System OS X - code names and version numbers
(article) Running open source on Mac OSX

Subject G905 - Blogging and Blog Administration
[4714] The technical article feed continues - personal updates more proactive on Facebook now!
[4568] Moderation - and the tendency to over-moderate
[4292] The Horse is back!
[4121] Has your Twitter feed stopped working? Switching to their new API
[4000] 9 years, and 4000 articles on
[3759] The five oldest blogs and the horses mouth
[3514] Microblogging - what I should have tweeted in the last 48 hours
[3208] Links for social media, microblogs and business networking
[3186] How to add a customised twitter feed to your site
[3163] Twitter - the special use of @ # and http: in tweets
[3016] The legal considerations of your web presence - revisited
[2823] Where have all the bloggers gone?
[2751] Going off at a tangent, for a ramble
[2564] Microblogging services - Plurk, Twitter, Jaiku and more
[2517] Blogging accuracy - open invitation for any corrections
[2449] Four aspects - Chamber, Transport, Courses and Hotel
[2192] Copy writing - allowing for the cut
[2000] 2000th article - Remember the background and basics
[1978] From spam to mod_alias - finding resources
[1203] A Fresh horse
[1077] In answer to 'am I glad I started a blog' ...
[1000] One Thousand Posts and still going strong
[876] Making pages clearer - easy Disability Discrimination Act Compliance
[671] Both ends of the animal
[508] Comment, please!
[425] Caching an XML feed
[410] Reading a news or blog feed (RSS) in your PHP page
[405] Horse's Mouth is a year old
[390] Moderating wiki, blog, and forum contributions
[359] Chicken soup without the religion
[245] I'm not blogging it
[231] Feedback as lifeblood
[204] The confidence to allow public comments
[185] Who am I?
[177] Blogs come of age
[145] A comment on comments
[141] Too technical?
[18] Wanted: More hours in the day
[6] Blog v Forum
[1] First Jottings

Subject G906 - Programming Standards
[3685] Programming Standards in Lua
[2364] Getting it right from the start - new programmers
[2363] Alpaca Case or Camel Case
[2322] Looking for a practical standards course
[1852] Perl and Blackberries
[1679] PHP - Sanitised application principles for security and useability
[1596] Selling curry to the chinese takeaway
[945] Code quality counts
[356] Sudoku helper or sudoku cheat
[343] Should I use structured or object oriented?
[272] More to programming than just programming
[148] Programming in isolation
{fur4.py} Comments
{fur1.py} Read, calculate, report

Subject G907 - Recruitment and Career Development
[3740] Looking and Learning - even on Holiday
[3594] Back to Uni
[3490] How not to call when job seeking ...
[3440] Research is exciting. But should routine be automated?
[2294] Can you learn to program in 4 days?
[2255] Past PHP delegates / others - coding help needed for next 3 months
[2109] Why most training fails ...
[1967] LinkedIn - Thrice Asked, and joined.
[1963] Best source to learn Java (or Perl or PHP or Python)
[849] Staff Meeting
[759] Watch your Google profile
[751] Want to be a technical trainer in the UK?
[729] Career development advice
[722] I'm answering a job applicant
[587] Job vacancy - double agent wanted
[585] Looking for Python staff
[503] 10 years C# knowledge please
[408] Can an older person learn a programming language
[389] Tough Love
[285] What career opportunities for web designers
[253] Finding the right holes
[198] A new skill may not be quick and easy
[116] The next generation of programmer
(article) Creating Really Memorable Experiences

Subject G908 - Language Comparisons
[3785] Programming languages - what are the differences between them?
[3169] Rekeying a table - comparison in #Ruby #Perl and #Python
[3112] Public and private courses - subjects available for 2011
[3003] What will we be teaching in six years?
[2947] Teaching Lua to a Perl advocate
[2866] Ruby - how does it compare and where is it the right language?
[2755] Books in the store in the USA - still a portent of the UK market to come?
[2700] The same very simple program in many different programming languages
[1990] Speaking all the languages
[1717] Q - Should I use Perl or Python?
[1582] Ruby, C, Java and more - getting out of loops
[209] FAQ - Perl or PHP
(article) errors v exceptions
{incr.rb} Programming language Comparison - a ruby program
{incr.cpp} Programming language Comparison - a C++ program
{pee3.py} Invert (rekey) a file / Python
{incr.py} Programming language Comparison - a Python program
{incr.pl} Programming language Comparison - a Perl program
{incr.php} Programming language Comparison - a PHP program
{incr.tcl} Programming language Comparison - a Tcl program
{pee3.pl} Invert (rekey) a file / Perl
{incr.java} Programming language Comparison - a Java program
{incr.c} Programming language Comparison - a C program
{incr.lua} Programming language Comparison - a Lua program
{incr.sh} Programming language Comparison - a bash shell program
{pee3.rb} Invert (rekey) a file / Ruby

Subject G909 - Spam, Spamming and Spammers
[4520] No cold sales calls please - but delighted to hear from others!
[4315] Welcoming genuine forum posters quickly - but turning away off topic advertisers
[4135] Introducing your product to Well House Consultants - single, personally tuned email please
[3946] Moving from a warning system to a control system - PHP, forum spammers
[3912] Sand to Arabia, Coals to Newcastle or Woodburners to Russia
[3910] Identifying your real customers and keeping them well informed fast
[3661] Keeping forum and blog comments clean
[3506] Cold call contacts - preference services and turning off spam sales approaches
[3352] World Trade Register - Certainly NOT worth 2985 Euros.
[3316] Twitter Phishing Trips ... and a great new alert service
[3190] What do the following web sites have in common?
[3166] Well house is strong - confirmed?
[3016] The legal considerations of your web presence - revisited
[2884] Hotlinked images onto adult material sites
[2697] Email metrics and filtering
[2398] Websitemediasolution and a goldfish called Carl Johnson
[2276] Who is Marc Schneider of Multilingual Search Engine Optimization Inc
[2179] Offers that I can refuse
[2177] Preventing forum spam - checks at sign up
[2019] Baby Caleb and Fortune City in your web logs?
[1978] From spam to mod_alias - finding resources
[1817] Marc Schneider is still having email trouble
[1763] Co-operating to save, yet we dont
[1532] Comment spam blocked. Please comment via Forums
[1523] Ive just received an email from myself. Should I be worried?
[1115] Unexpected visitors to our site
[1037] Impact Engineering and Backscatter
[872] Email metrics
[495] More spam - a success story
[417] Telephone Preference Service - we're registered
[347] Frightening and from-friend viruses and spams
[338] OO techniques are hard to teach
[276] An apology to Mr Boneparte
[268] Information request forms, cleaning up spam
[259] Responding to spam

Subject G910 - Scams
[4651] Pressure selling in the fire safety business
[4385] A booking that looks too good to be true? It probably is too good to be true!
[3859] Youve Been Selected for the 2012 Edition of the Global Registry
[3480] Direct Message: Really horrible blog about you ... a clever phishing trip, said to be from an MP
[3291] Pay and refund scam - alive and kicking against Melksham businesses
[3222] Clickjacking - another way to get you to follow a malicious link - Facebook issue
[2988] Not mugged in London!
[2895] Global Computer Maintenance Department
[2690] The World Company Register - is it another scam?
[2524] An update on legal changes from the FSB?
[2403] Hotel Booking Scam / Cost of calls to 070 numbers
[2373] Translation from Ghanaian to English
[1795] What have iTime, honeytrapagency and domain listing center got in common?
[1772] Ken Palm, iTime, and Domain Name Tasting
[1680] Astroturfing - the online definition
[1342] Google, wwmdirectory, Freshwater, ATP - new scam?
[1313] Tratum Technologies
[860] Warning - false emails, said to be from Paypal
[347] Frightening and from-friend viruses and spams
[178] Calling a spade a spade
[78] Domain Registry of America
(article) Identity theft - Phishing for your details

Subject G911 - Search Engine Optimisation
[4121] Has your Twitter feed stopped working? Switching to their new API
[3746] Google Analytics and the new UK Cookie law
[3670] Reading Google Analytics results, based on the relative populations of countries
[2748] Monitoring the success and traffic of your web site
[2686] Freedom of Information - consideration for web site designers
[2562] Tuning the web site for sailing on through this year
[2552] Web site traffic - real users, or just noise?
[2428] Diluting History
[2330] Update - Automatic feeds to Twitter
[2324] What search terms FAIL to bring visitors to our site, when they should?
[2137] Reaching the right people with your web site
[2107] How to tweet automatically from a blog
[2106] Learning to Twitter / what is Twitter?
[2065] Static mirroring through HTTrack, wget and others
[2045] Does robots.txt actually work?
[2019] Baby Caleb and Fortune City in your web logs?
[2000] 2000th article - Remember the background and basics
[1984] Site24x7 prowls uninvited
[1982] Cooking bodies and URLs
[1971] Telling Google which country your business trades in
[1969] Search Engines. Getting the right pages seen.
[1793] Which country does a search engine think you are located in?
[1344] Catching up on indexing our resources
[1029] Our search engine placement is dropping.
[1015] Search engine placement - long term strategy and success
[427] The Melksham train - a button is pushed
[165] Implementing an effective site search engine

Subject G912 - Photography for the Web
[3402] That spec is a kingfisher ...
[3170] How far is something pictured from the camera?
[3104] Catering in Syracuse, the Saigon Cafe, stolen images and Christmas
[2884] Hotlinked images onto adult material sites
[2592] Re-using our pictures
[2252] Leaping dog, Leaping horse, copyright of old masters
[2224] Trowbridge - a missed opportunity? Melksham - into the breach?
[1895] Comparison - with and without flash
[1732] Old pictures and comparisons
[1568] What colour is the season?
[1506] Ongoing Image Copyright Issues, PHP and MySQL solutions
[1396] Using PHP to upload images / Store on MySQL database - security questions
[1194] Drawing hands on a clock face - PHP
[1188] What shape is your shake?
[1185] Themes for the web site
[1114] PHP Image upload script
[1087] Telling a story in different ways
[937] Display an image from a MySQL database in a web page via PHP
[819] My projector has a photo-id
[665] PHP Image viewing application
[563] Merging pictures using PHP and GD
[553] Keep that image small
[546] The relevance of the hairy woodpecker
[194] Published Photographer
[97] What makes a professional photographer?

Subject G913 - Hardware and Devices
[4134] Setting up your MacBook Air as a mobile broadband router
[3596] Want to learn iPad and iPhone programming? Come along and learn with me for free.
[3457] Away to train - but still around by video for Melksham meetings
[3075] Change of balance, of attitude, and of work method
[3058] MacBook Air - hardware and system review
[2667] Web page to telephone calls / links using an iPhone
[2188] Camera to record where a picture was taken
[2055] Effect on server when memory runs out and swapping starts
[2033] Huawei D100 Wireless Router - Mobile Internet
[1993] Load Balancing - Hardware or Software?
[1827] What a shock
[1281] Latercomer to the technology
[630] Hostnames spring forward

Subject G914 - Other Software
[4426] FileMaker Day to Unix Time conversion
[4303] Libre Office - unable to get past REOPEN WINDOWS? question
[4038] Using Pygments to colour our training examples
[3991] Email from Christopher Columbus to announce finding America?
[3896] An email marathon
[3648] iPad and iPhone programming - our seminar weekend with Xcode
[3599] Seeing how Melksham has changed over the years, via an iPad
[3584] QR codes - graphics images that provide quick phone links
[3213] Should I use Open Source or Commercial software?
[2906] Switching from Adobe Photoshop to Gimp - testing it on animals
[2600] Go Programming Language and Courses?
[2470] Windows 7 and Open Source Programming
[2191] RT @brento - a valuable source for the twitter newbie
[2106] Learning to Twitter / what is Twitter?
[75] It's just not cricket
{ViewController.xib} Objective C nib file (ViewController.xib) - First iPad application
{ViewController.m} Objective C source code - First iPad application
{Viewcontroller.h} Objective C header - First iPad application

Subject G996 - Newsletter Scripts
[3179] Oops - I typed ci not vi, and have lost my file ...
[2539] Changing Images
[2433] Controlling, supressing, enabling PHP error messages
[2360] Error Handling in Lua with assert and pcall
[2259] Grouping rows for a summary report - MySQL and PHP
[2145] Using the internet to remotely check for power failure at home (PHP)
[2046] Finding variations on a surname
[1954] mod_rewrite for newcomers
[1813] Ajax - going Asyncronous and what it means
[1743] First class functions in Lua lead to powerful OO facilities
[1665] Factory method example - Perl
[1601] Replacing the last comma with an and
[1505] Script to present commonly used images - PHP
[1487] Efficient PHP applications - framework and example
[1387] Error logging to file not browser in PHP
[1321] Resetting session based tests in PHP
[1217] What are factory and singleton classes?
[1123] mysqldump and mysqlrestore
[1066] Final, Finally and Finalize - three special words in Java
[1001] .pdf files - upload via PHP, store in MySQL, retrieve

Subject G997 - Newsletter Lead Articles
[3202] Telling you something about us in just one line
[2743] Public Open Source Training Courses running this summer and autumn in Melksham
[2538] Open Source Training Centre and Courses for 2010
[2425] Weekend and Christmas Promotion - Well House Manor Hotel, Melksham
[2370] C++, Python, and other training - do we use an IDE
[2253] Walks in and around Melksham, Wiltshire
[2119] Make your business a DESTINATION business
[2052] How was my web site compromised?
[1912] Book now for 2009
[1819] Calling base class constructors
[1754] Upgrade from PHP 4 to PHP 5 - the TRY issue
[1663] Python in an afternoon - a lecture for experienced programmers
[1600] Cambidge - Tcl, Expect and Perl courses
[1545] Letting new visitors know we provide training courses
[1488] New trainee laptop fleet for our Open Source courses
[1386] New software product for warmblooded programmers
[1318] Well House Manor - feature comparison against the old place!
[1224] Object Relation Mapping (ORM)
[1136] Buffering output - why it is done and issues raised in Tcl, Perl, Python and PHP
[1065] Graham Ellis - an Introduction
[1000] One Thousand Posts and still going strong

Subject G998 - Newsletter Highlighted Box
[3168] Web Sites - Subject to Advertising Standards from 1st March - check your sites
[2520] Global and Enable - two misused words!
[2400] Are you wanting to learn PHP?
[2385] Reading all our recent news from a single source
[2222] A (biased?) comparison of PHP courses in the UK
[2125] We have lost a regular business guest
[2050] Why the Pony Tail?
[1967] LinkedIn - Thrice Asked, and joined.
[1843] How many cups of coffee?
[1751] Public Training Course Dates until July 2009
[1629] A short introduction to our courses
[1621] Linux and Java Course in London
[1521] Evening drive across the roof of Wiltshire
[1475] Tcl/Tk - updating your display while tasks are running
[1375] Python v Ruby
[1307] Troy, up state New York
[1237] What proportion of our web traffic is robots?
[1132] Well House Manor, Melksham, Art Gallery
[1068] ls -l report, Linux / Unix - types and permssions
[1011] Well House Manor and Beechfield House, Hotels, Melksham

Subject G999 - Keynote
[4588] What teach you in a week stays with you for a decade
[3164] Brown - or Mrs Sally Brown, accountant from Whitstable?
[2537] Faster network, but not faster browsing until ...
[2483] Clustering on Tomcat
[2384] Looking ahead to the Autumn season of training and accommodation
[2326] Learn a new programming language this summer.
[2228] Where do I start when writing a program?
[2216] Past Delegate Offer - Summer Holiday / Weekend Break
[2144] Looking for a career change - Physician to Web Site Designer
[1975] Well House Manor Hotel - on plan for 2009 business guests
[1955] How to avoid duplicating web page maintainance
[1929] 2009 - Hotel, Meeting, Training Course prices
[1859] Wiltshire at dawn - the tourist trail
[1857] November and December Public Course Schedule
[1773] The Longest Possible Day
[1748] Hotel room prices - Melksham, Wiltshire
[1676] A warm welcome for visitors from the USA
[1615] PHP training courses every month
[1555] Advanced Python, Perl, PHP and Tcl training courses / classes
[1492] Well House Consultants Training and Hotel - 2008 news
[1481] The Christmas Letter
[1414] What we teach - expained for the non-technical
[1319] Customer feedback - lifeblood of a business
[1317] 2008 course schedule - Perl, Python, PHP, Linux, Java Deployment, Ruby and more
[1245] Ensuring that our tutor answers YOUR questions
[1161] A contrast in room rates and facilities
[1079] Wilts and Berks - two conference / training rooms in Melksham
[929] Presenting Melksham - for a weekend away in Wiltshire
[898] Courses at Well House Manor
[890] Open
[845] Course scheduling and Geekmas - are they traditions yet?
[774] Bed and Breakfast, or Hotel?
[695] In the hospitality business
[626] Not just a pretty face to answer the phone.
[549] 2005 - Come as a student, leave as a friend
[464] Technical Loneliness
[452] Is enough enough?
[428] Swindon - Chippenham - Melksham - Trowbridge - Westbury train service
[419] Most popular courses
[360] Spring turns to Summer
[295] Pricing strategy - simple and fair
[225] 10 years and counting
[164] Well House Consultants - review of 2004

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

H: PHP programming and techniques

Overview H050 - PHP - General
[4314] PHP training - refreshed modern course, backed up by years of practical experience
[3966] Our examples work with any recent version of PHP
[3952] PHP revision ... by example.
[3530] A typical weekend??
[3025] Learning to Program ... in PHP. Course examples.
[2663] Improve your PHP on a weekend away
[2589] Your PHP code does not work? Here is where to start looking.
[2559] Moving the product forward - ours, and MySQL, Perl, PHP and Python too
[2504] Learning to program in ...
[2430] Not just a PHP program - a good web application
[2400] Are you wanting to learn PHP?
[2227] Learning PHP, Ruby, Lua and Python - upcoming courses
[2222] A (biased?) comparison of PHP courses in the UK
[2097] PHP Course - for hobby / club / charity users.
[1722] PHP examples - source code and try it out too
[235] Preparation for a day's work
[116] The next generation of programmer
(article) What is PHP?
{pcre.php} Regular Expression testbed
{fourth.php} Straightforward form and simple validation
{chris.php} Demonstration of form and pricing
{p_fifth.php} One page application - design and human interface MATTERS

Module H101 - Introduction to PHP
[4621] The power of scripting
[4118] We not only teach PHP and Python - we teach good PHP and Python Practice!
[3025] Learning to Program ... in PHP. Course examples.
[2097] PHP Course - for hobby / club / charity users.
[1958] PHP - Parse error: syntax error, unexpected $end ...
[1753] Perl v PHP, choosing the right language
[1717] Q - Should I use Perl or Python?
[1198] From Web to Web 2
[1050] The HTML++ Metalanguage
[949] Sludge off the mountain, and Python and PHP
[924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl
[917] Syntax checking in PHP
[846] Is Perl being replaced by PHP and Python?
[795] Remember a site's non-technical issues too
[789] Hot answers in PHP
[712] Why reinvent the wheel
[691] Testing you Perl / PHP / MySQL / Tcl knowledge
[646] PHP - London course, Melksham Course, Evening course
[629] Choosing the right language
[624] It's REALLY easy to add a little PHP
[577] Learning to program in Perl or PHP
[433] FTP - how to make the right transfers
[382] Central London Courses - Perl, PHP, Python, Tcl, MySQL
[380] Bridging to the customer requirement
[341] Happy Birthday, PHP
[317] Programming languages - a comparison
[135] Too many Perls
[132] Portrait of the author
[124] PHP v Java
[93] Case Sensitive?
[55] Evening classes to learn PHP
[48] PHP - onwards and upwards
(article) Portrait of the Author of PHP
(article) What is PHP?
{motor.php} Elements of a PHP Page
{greetings} Entering and leaving PHP mode - documentation and comments
{g2} First variables and calculations in PHP (stand alone)
{t2.php} cost comparison script
{greet3.php} Calculation in a web page, with inputs from a form
{form3.html} Sample form for PHP application
{greet4.php} Calculations in a page, inputs from an included form
{g5} stand alone program in PHP, showing nested blocks
{g4} Stand alone program in PHP, with conditions and loops
{t3.php} Totalling script - daily, weekly, monthly, annual amounts
{rupert.php} First program - and how to comment it!
{greet2.php} Calculation within a web page
{greet.php} The structure of a PHP page
{greet5.php} Starting to add structure to your PHP application
{g3} Stand alone program in PHP - read from keyboard, calculate, write to screen
{abc.php} Some easy things to do with PHP

Module H102 - A First PHP Web Page
[4074] A comment on comments in PHP
[3915] How does PHP work?
[2432] Using print_r in PHP to explore mysql database requests
[1448] Question on division (Java) - Also Perl, PHP, Python ...
[624] It's REALLY easy to add a little PHP
{a1.html} Date stamping a page automatically (for copyright and audit)
{g2.php} Multiple statements and functions calls
{g3.php} Multiple print statements, showing case insignificance of functions
{greeting.php} HTML page with embedded PHP

Module H103 - Variables, Operators and Expressions
[4642] A small teaching program - demonstration of principles only
[4324] Learning to program - variables and constants
[3917] BODMAS - the order a computer evaluates arithmetic expressions
[3916] PHP variables - dynamically typed. What does that mean?
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java.
[2215] If nothing, make it nothing.
[748] Getting rid of variables after you have finished with them
[483] Double Dollars in PHP
{k3a.php} Getting a form variable - new and somewhat more secure style
{simsan.php} Simple sanitisation and sticky field example
{k3.php} Getting a variable from a form - OLD style
{result} Master and Header code merged
{header.txt} File to be included in master example ?>
{k1.php} A calculation in PHP
{master.php} PHP page that calls in an include file ?>
{k4.php} Example of comment types
{k2.php} A calculation with variables

Module H104 - Control Statements
[4323] Learning to program - Loop statements such as while
[4322] Learning to Program - the conditional statement (if)
[3914] While, for, foreach or something else to loop.
[3895] Flowchart to program - learning to program with Well House
[3397] Does a for loop evaluate its end condition once, or on every iteration?
[3200] How a for loop works Java, Perl and other languages
[2912] Predictions for the seagull population
[2304] Extracting real data from an exported file in PHP or Perl
[1825] Question Mark - Colon operator (Perl and PHP)
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1477] Decisions - small ones, or big ones?
[1220] for loop - how it works (Perl, PHP, Java, C, etc)
[1199] Testing for one of a list of values.
[1191] Smart English Output - via PHP and Perl ? : operator
[962] Breaking a loop - Ruby and other languages
[863] Double and Triple equals operator in PHP
[657] The ternary operator in Python
[421] Don't repeat code - use loops or functions
[406] Assignment, equality and identity in PHP
[353] Wimbledon Neck
[340] Code and code maintainance efficiency
{condits.php} example simple if statements
{houred.php} different image to reflect time of day
{macorder.php} 2 page simple ordering system
{units.php} Conversion of units of area
{tt2.php} for loop
{if2.php} if, block, else and elseif
{timothy.php} demonstration of if / else / while
{coin.php} switch, case, default and break
{ttab.php} Temperature table - a while loop
{ifvswit.php} if v switch / first "step through" application
{floop.php} while, for and foreach loops
{bristolgulls.php} Table of calculations
{tt3.php} lazy operators, increments, +=, ? : and endfor

Module H105 - Functions
[3026] Coding efficiency - do not repeat yourself!
[2929] Passing a variable number of parameters in to a function / method
[2737] Improving your function calls (APIs) - General and PHP
[2682] Adding extensions to PHP Open Source applications - callbacks
[2630] Static variables and ampersands in PHP
[2488] A variable number of arguments in a PHP function
[1784] Global - Tcl, PHP, Python
[1380] Static variables in PHP
[1357] Clean my plate, but keep my wine bottle. (PHP; Static)
[1267] is there a lookup function in php?
[1202] Returning multiple values from a function (Perl, PHP, Python)
[1163] A better alternative to cutting and pasting code
[1021] PHP - static declaration
[936] Global, Superglobal, Session variables - scope and persistance in PHP
[866] A lazy programmer is a good programmer
[775] Do not duplicate your code
[421] Don't repeat code - use loops or functions
[409] Functions and commands with dangerous names
[340] Code and code maintainance efficiency
[339] Passing information into and out of PHP functions
[308] Call by name v call by value
[223] There is a function in PHP to do that
[96] Variable Scope
{dressing.inc} example of "call by name" and defaulting parameters
{funsan.php} Simple sanitisation and sticky field example using functions
{funk2.php} Example with local, global and static variables
{scope2.php} Use of a function to separate out complicated / repeated code
{near.php} Ordnance Survey and Map reference point calculations
{hotdiary.php} PHP Diary generator
{personetc.inc} for scope4 demo
{funk3.php} Loading functions from an include file
{callback} Calling a list of functions named in an array
{dropahead.php} Selection from the week ahead
{medical.inc} for scope3 demo
{funky.php} Defining and calling a function
{stademo.php} use of a static variable in PHP
{scope3.php} function code now in separate file
{bmi1.php} control example - showing need for functions and includes
{scope1.php} Keyboard to Screen - simple PHP program
{bmi2.php} functions and includes to make for shorter, more maintainiable code
{scope4.php} Now using an Object Oriented approach
{footer.inc} Inlcude file - a standard block of HTML

Module H106 - Arrays
[4244] Disambiguation - PHP List
[4072] Splitting the difference with PHP
[4068] Arrays in PHP - contain different and even mixed data types
[3534] Learning to program in PHP - Regular Expression and Associative Array examples
[3379] Sorting data the way YOU want it sorted
[3004] Increment operators for counting - Perl, PHP, C and others
[2920] Sorting - naturally, or into a different order
[2915] Looking up a value by key - associative arrays / Hashes / Dictionaries
[2274] PHP preg functions - examples and comparision
[2215] If nothing, make it nothing.
[1614] When an array is not an array
[1451] More PHP sample and demonstration programs
[1199] Testing for one of a list of values.
[1116] PHP adding arrays / summing arrays
[832] Displaying data at 5 items per line on a web page
[773] Breaking bread
[603] PHP - setting sort order with an associative array
[409] Functions and commands with dangerous names
{skills.php} A Small search tool
{herbert.php} finding a value from a list of ranges
{assoc.php} Associative array - sorting and traversing
{walter.php} regular and associative arrays
{nb.html} Speed networking - generate a page for an attendee
{fullmenu.php} Ordering system from menu file
{simgrep.php} read a file into an array and display selected items
{rubys.php} read a file into an array and display selected items
{a3.php} Array_walk example. Also the difference between null and empty
{nbm.html} Speed networking - seating matrix generator
{ts.php} Lengthen or shorten an array
{a1.php} Setting up an array, looking at individual elements
{pflog.php} Most viewed pictures (Mk 1)
{a2.php} Array - dealing with missing elements and finding keys
{arrarr.php} Summing arrays in PHP
{menu.txt} Menu for fullmenu.php example
{5pl.php} Display a list in columns
{patrick.php} User defined sort
{pflog2.php} Where are scripts loaded from (2)
{arrx.php} Ways of passing through an array

Module H107 - String Handling in PHP
[4072] Splitting the difference with PHP
[4071] Setting up strings in PHP
[3790] Solution looking for a problem? Lookahead and Lookbehind
[3789] More than just matching with a regular expression in PHP
[3788] Getting more than a yes / no answer from a regular expression pattern match
[3534] Learning to program in PHP - Regular Expression and Associative Array examples
[3516] Regular Expression modifiers in PHP - summary table
[3515] PHP - moving from ereg to preg for regular expressions
[3424] Divide 10000 by 17. Do you get 588.235294117647, 588.24 or 588? - Ruby and PHP
[3020] Handling (expanding) tabs in PHP
[2629] Curly braces within double quoted strings in PHP
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua
[2165] Making Regular Expressions easy to read and maintain
[2046] Finding variations on a surname
[1799] Regular Expressions in PHP
[1613] Regular expression for 6 digits OR 25 digits
[1603] Do not SHOUT and do not whisper
[1533] Short and sweet and sticky - PHP form input
[1372] A taster PHP expression ...
[1336] Ignore case in Regular Expression
[1195] Regular Express Primer
[1058] PHP Regular expression to extrtact link and text
[1008] Date conversion - PHP
[728] Looking ahead and behind in a Regular Expression
[716] Evaluating arithmetic expressions in configuration files
[642] How similar are two words
[608] Don't expose your regular expressions
[589] Robust PHP user inputs
[574] PHP - dividing a string up into pieces
[560] The fencepost problem
[558] Converting between acres and hectares
[493] Running a Perl script within a PHP page
[463] Splitting the difference
[422] PHP Magic Quotes
[337] the array returned by preg_match_all
[54] PHP and natural sorting
[31] Here documents
(article) An overview of PHP String functions
(article) Analysing incoming data lines
(article) Nasty Characters in Web Applications
(article) Pattern Matching - a primer on regular Expressions
(article) Web Page and HTML Spell Checker
{toke.php} String tokenising - strtok, implode, explode
{popage.php} Counting in a log file - associative arrays and regular expressions
{fvar.php} Filtering of variables
{splitting.php} Ways of splitting a string
{dlog.php} String handling example - extracting simple data from a complex line
{s1.php} Single and double quoted strings
{stickform.php} Stick Fields and Input Validation
{secdo.php} Convert seconds to minutes and seconds
{s2.php} Character string as an array
{arrivals.php} Regex and associative arrays - search engine arrivals
{sfex.php} Demo of sticky fields and security
{bits.php} Ways of writing strings
{sprint.php} Formatting with sprintf
{extrawords} Extra words for spell checker
{20101101_statlog.txt} Sample data from server operation log file
{regex.php} Regular expression - validating an email address
{pc1} ereg v preg
{shunt.php} Evaluting BODMAS expression using MySQL cell tables
{spell.php} Spell Checker
{clformat.php} Formatting data [file] for quick web display
{pmoffs.php} Capturing regular expression offsets
{s3.php} String cleansing with functions such as strspn
{strp.php} Curly braces in double quoted strings
{myform.php} Robust, sticky form demo with field validation
{code} Reaping from an HTML page with regular expressions
{mystdinc.inc} Include file for sticky fields demo
{ex2.php} various preg style functions in use
{stdist.php} Search - do two words look or sound the same?
{bustimes.php} Using PHP to format data (timetable in this example)
{echovalley.php} How to put in blocks of HTML

Module H108 - Objects in PHP
[4628] Associative objects - one object within another.
[4627] Caching results in an object for efficiency - avoiding re-calculation
[4626] Singleton design pattern - examples and uses
[4366] Changing what operators do on objects - a comparison across different programming languages
[4356] Object factories in C++, Python, PHP and Perl
[4073] Learning about Object Orientation in PHP - a new set of examples
[4057] stdClass in PHP - using an object rather than an associative array
[3953] Objects in PHP - Revision
[3843] Caching Design Patterns
[3841] Copying, duplicating, cloning an object in PHP
[3840] Autoload in PHP
[3609] How do classes relate to each other? Associated Classes
[3608] Design Patterns - what are they? Why use them?
[3607] Designing your application - using UML techniques
[3211] Computer Graphics in PHP - World (incoming data) to Pixel (screen) conversion
[3210] Catchable fatal error in PHP ... How to catch, and alternative solutions such as JSON
[3142] Private and Public - and things between
[2922] Getting the OO design write - with PHP a example
[2921] Does copying a variable duplicate the contents?
[2774] PHP - Object Oriented Design in use
[2741] What is a factory?
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2680] Static class members in PHP - a documented example
[2641] Object Oriented Programming in PHP
[2632] Shipping a test harness with your class in PHP
[2435] Serialization - storing and reloading objects
[2434] Abstract classes, Interfaces, PHP and Java
[2380] Object Oriented programming - a practical design example
[2172] PHP4 v PHP5 - Object Model Difference
[2171] Cleaning up redundant objects
[2169] When should I use OO techniques?
[2160] PHP - getclass v instanceof
[1925] Introduction to Object Oriented Programming
[1820] Sorting objects in PHP
[1819] Calling base class constructors
[1682] Accounts in PHP - an OO demo
[1535] OO PHP demonstration - comparing objects and more
[1217] What are factory and singleton classes?
[1153] Object Oriented Model - a summary of changes from PHP4 to PHP5
[1027] Cue the music, I'm happy.
[836] Build on what you already have with OO
[720] Planning a hotel refurb - an example of a Gant chart in PHP
[656] Think about your design even if you don't use full UML
[485] North, Norther and Northest - PHP 5 Objects
[421] Don't repeat code - use loops or functions
[343] Should I use structured or object oriented?
[205] PHP5 lets you say no
[124] PHP v Java
[67] Object Oriented Programming in PHP
{animal3.php} Abstract class and interface example
{dogdisc.php} Serialization of an object for save and restore
{compo.php} Complete inheritance and object method demonstration
{rest006.php} magic __tostring and comparator methods
{bbcoo2.php} oo demo step 2 for BBC
{accos.php} Complete example with polymorphism and inheritance
{southbound.txt} Data for factory.php demo
{clx.php} object assign and object clone
{equtest.php4} Explicits PHP4 - objects, foreach, array_push ....
{pps} Data for Gant Chart Demo
{dog.inc} Simple class in PHP
{pdemo.php} PHP application using places.inc - create array of place objects from file
{rest001.php} First OO / class example
{systems.txt} Data file for systems example
{single3} Singleton AND dymanic data
{systems.php} Objects and inheritance - main worked example program
{pets.php} Test page for the dog.inc class
{studentsys.inc} Student system - a derived class
{third.php} Command line PHP classes - inheritance, overloading, polymorphism, comparator
{ob2.php} Loading in a class from another file and using it
{cwuseanimal.php} Test program for cwa class
{rest004.php} This is my table test file
{elligant.php} Gant chart in PHP
{dogs.inc} Simple class in PHP
{bewarethedog.php} Object copying - beware - differs in PHP4 and PHP5
{aa.php} Autoload example
{rest003.php} class example - data from file
{hound.inc} Simple class in PHP
{twigs.inc} class to be loaded in autoload example
{factory.php} Example of a factory method and comparators
{ns.php} Namespaces in PHP5 - a short syntax demo
{equip.inc} equip.inc - define pieces of equipment (base class)
{staffsys.inc} Staff system - a derived class
{equtest.php} PHP example - objects, foreach, array_push ....
{rest005.php} This is my table test file
{stan.php} Standard Class stdClass
{staticmember.php} Static class members - set up and use
{valentines.php} Inheritance, Overloading, Polymorphism in PHP objects
{places.inc} A PHP abstract class (places) with postcode, county and other subclasses
{po8} Associative Objects
{animal1.php} An Abstract class - cannot construct directly
{litter.php} cloning and copying objects
{allone.php} Complete OO example
{kennel.php} Application to use class hound
{demo.php} PHP Version tester
{ob1.php} OO PHP demo - inhertitance, statics, test harness, etc
{systems.php4} Objects and inheritance - main worked example program - PHP4 example
{animal2.php} Abstract class, extended to a subclass, instantised via the subclass
{visits.php} Factory method, static method, associated objects
{rest002.php} class example - array of objects
{oop5.php} Two classes, inheritance, factory, JSON, error handler, etc
{serversys.inc} Server system - a derived class
{cwa.inc} cwa class

Module H109 - Input / Output
[4483] Moving from mysql to mysqli - simple worked example
[3424] Divide 10000 by 17. Do you get 588.235294117647, 588.24 or 588? - Ruby and PHP
[3159] Returning multiple values from a function call in various languages - a comparison
[3029] PHP data sources - other web servers, large data flows, and the client (browser)
[2964] An introduction to file handling in programs - buffering, standard in and out, and file handles
[1780] Server overloading - turns out to be feof in PHP
[1442] Reading a file multiple times - file pointers
[1113] File and URL reading in PHP
[1096] Sample script - FTP to get a file from within PHP
[1094] PHP fread - truncated data
[997] Most recent file in a directory - PHP
[709] Handling huge data files in PHP
[653] Easy feed!
[616] printf - a flawed but useful function
[114] Relative or absolute milkman
{radio.php} look up current radio program in a text file
{spammiest.php} The 20 spammiest emails in our filter records are ...
{fread1.php} Read all lines from a data file, report matches
{mcq.txt} data for Christmas Quiz
{exchange.html} Exchange rate convertor
{mail_analysis.php} Read and analyse spam report file
{savepeople.php} Using PHP to download a data file
{recent.php} Link to the recently updated file in a directory
{cloak.php} Cloaking a web site in a PHP wrapper
{eurorates.php} Read currency exchanges rates
{secdo.php} Convert seconds to minutes and seconds
{quote.htp} HTML template for quote demo -->
{xmasq.php} Christmas Quiz in PHP
{grabtitle.php} Grab the title of a web page (local or remote)
{seedoku.php} highlighting a source file
{top_pdf.php} Showing top 10 downloads from our site
{fr2.php} Pulldown menu of files, then search for regex
{fread2.php} File system and status reports and directory listings
{timber.php} Reading and extracting from a remote URL
{webhelpers.inc} Web Helpers for quote demo
{saver.php} Write to file - simple diary page
{buslogic.inc} Business logic for quote demo
{quote.php} Quote demo - top level code

Module H110 - HTML Web Page Data Handling
[3926] Filtering PHP form inputs - three ways, but which should you use?
[3036] Sending out an email containing HTML from within a PHP page
[2135] What features does this visitors browser support? (PHP)
[2107] How to tweet automatically from a blog
[2046] Finding variations on a surname
[2025] Injection Attack if register_globals in on - PHP
[1831] Text formating for HTML, with PHP
[1169] Emailing as HTML (Web Page) - PHP example
[1136] Buffering output - why it is done and issues raised in Tcl, Perl, Python and PHP
[1053] Sorting people by name in PHP
[1001] .pdf files - upload via PHP, store in MySQL, retrieve
[896] PHP - good coding practise and sticky radio buttons
[789] Hot answers in PHP
[589] Robust PHP user inputs
[50] Current cost in your local currency
(article) Example - PHP form, Image upload. Store in MySQL database. Retrieve.
{victor.php} Putting our conditional example on the web
{urlex.html} Does a URL exist?
{agnew.php} How to do it - sending header first
{selfinfo.php} Information available from PHP
{meldrew.inc} Helper function - set up an enquiry box
{sticker.php} Sticky form demo ...
{agone.php} How NOT to do it - sending header too late
{mcheck.php} generate and select from radio boxes
{feedlet.php} Bare Bones demo of password protection
{veryniceform.php} Form completion with sticky fields and generalised code
{melksham.php} Images at random - pictures of Melksham
{pdfstore.php} store a .pdf that's uploaded into a MySQL database
{myenv.php} The PHP environment - use of variables available to you
{one_pizza.php} Validating a Pizza order in one page.
{getpost.php} Using a PHP script to POST to another server
{alang.php} What langauge does the visitor prefer?
{pdfup.php} form to upload a .pdf to a PHP script
{pdfget.php} download a .pdf file from a MySQL database
{apull.php} Selection of database records via a pulldown menu

Module H112 - Further Web Page and Network Handling
[4483] Moving from mysql to mysqli - simple worked example
[4070] Passing variable between PHP pages - hidden fields, cookies and sessions
[3918] Multiple page web applications - maintaining state - PHP
[3568] Telling which ServerAlias your visitor used - useful during merging domains
[3540] Easy session example in PHP - keeping each customers data apart
[3432] 3 digit HTTP status codes - what are they, which are most common, which should be a concern?
[3036] Sending out an email containing HTML from within a PHP page
[2918] Downloading a report from the web for further local analysis
[2729] Uploading a document or image to its own URL via a browser
[2679] How to build a test harness into your PHP
[2632] Shipping a test harness with your class in PHP
[1549] http, https and ajp - comparison and choice
[1518] Downloading data for use in Excel (from PHP / MySQL)
[1515] Keeping staff up to date on hotel room status
[1505] Script to present commonly used images - PHP
[1496] PHP / Web 2 logging
[1495] Single login and single threaded models - Java and PHP
[1485] Copyright and theft of images, bandwidth and members.
[1379] Simple page password protection - PHP
[1355] .php or .html extension? Morally Static Pages
[1210] PHP header() function - uses and new restrictions
[1187] Updating a page strictly every minute (PHP, Perl)
[1183] Improving searches - from OR to AND?
[1114] PHP Image upload script
[1009] Passing GET parameters through Apache mod_rewrite
[936] Global, Superglobal, Session variables - scope and persistance in PHP
[904] Of course I'll tell you by email
[847] Image maps for navigation - a straightforward example
[789] Hot answers in PHP
[767] Finding the language preference of a web site visitor
[675] Adding PHP tags to an old cgi program
[603] PHP - setting sort order with an associative array
[565] Using PHP to output images, XML, Style sheets, etc
[542] Morning image, afternoon image
[537] Daily Image Santafied
[484] Setting the file name for a downloaded document
[451] Accessing a page via POST from within a PHP script
[443] Server side scripting of styles to suit the browser
[425] Caching an XML feed
[410] Reading a news or blog feed (RSS) in your PHP page
[376] What brings people to my web site?
[372] Time calculation in PHP
[356] Sudoku helper or sudoku cheat
[345] Spotting a denial of service attack
[314] What language is this written in?
[220] When to use Frames
(article) Using current exchange rates on a web page
(article) Using Frames with PHP
(article) Shopping cart application in PHP
(article) A Web interface for your Linux admin tasks
(article) Suggesting alternative search terms to web site users
{pcook.php} Setting and checking a persistent cookie
{fromwhere.php} Tracking how visitors reach a page
{exchange.php} Exchange rate convertor
{dopost.php} Using the POST method to read from a URL within a PHP script
{d404.html} Script run when our web site can't find a requested page
{gherkin.php} Download and store results from a web enquiry
{sesscart.php} Session demo - shopping cart
{sessdemo.php} Session demo - shopping cart - from PHP 4.2
{sucksee.php} does a URL exist?
{about_you.php} Information about the visitor avaialble to a web site provider
{imap.php} Image map controlled by PHP script
{automailer} PHP script to email from the command line
{sessions.php5} Session demo for more recent PHP4 and PHP5 systems
{upload_test.php} How to upload a file via a web page
{uploader.php} Upload a file from a browser
{favcol.php} cookie demo - lock in favourite colour
{cook.php} Setting and reading a cookie
{ppmh} Sending an email as HTML not plain text
{cookie_demo.php} Setting and deleting a cookie
{supermail.php} simple form for mailing
{pubsales.php} Cookie check for new visitor
{phpemenc} Emailing with enclosures from a web page
{roomstates.php} Room State Reporter

Module H113 - Using MySQL Databases in PHP Pages
[4483] Moving from mysql to mysqli - simple worked example
[4378] What FGW passengers want to talk about / and PHP programming to find out
[3455] MySQL, MySQLi, PDO or something else - how best to talk to databases from PHP
[3035] How to display information from a database within a web page
[2628] An example of an injection attack using Javascript
[2561] The future of MySQL
[2447] MySQL stored procedures / their use on the web from PHP
[2432] Using print_r in PHP to explore mysql database requests
[2320] Helping new arrivals find out about source code examples
[2259] Grouping rows for a summary report - MySQL and PHP
[2071] Setting up a MySQL database from PHP
[1983] Keeping PHP code in database and running it
[1561] Uploading to a MySQL database through PHP - examples and common questions
[1010] Dates, times, clickable diarys in PHP
[947] What is an SQL injection attack?
[937] Display an image from a MySQL database in a web page via PHP
[915] Paging through hundreds of entries
[723] Viewing images held in a MySQL database via PHP
[666] Database design - get it right from first principles
[647] Checking for MySQL errors
[581] Saving a MySQL query results to your local disc for Excel
[572] Giving the researcher power over database analysis
[515] MySQL - an FAQ
[104] mysql_connect or mysql_pconnect in PHP?
(article) MySQL version 5, PHP version 5 and mysqli
(article) MySQL and PHP - enquiry tool for ad-hoc requirements
(article) Interfacing applications to a MySQL database engine
{mqclim.php} searching and paging through results
{sqlhelper.inc} PHP helper - make up a where clause element
{sqltab.php} Full navigation around an SQL database from PHP
{mqchunks.php} Pagination through a database - PHP and MySQL
{sqldelete.php} deleting a database table from PHP
{sekiy.php} Converts data into MySQL commands
{select1.php} Selecting information from a database table - unchecked
{sqladd.php} Add information to a database table
{yikes.php} Downloading complete database via a PHP script
{sqd.php} Algorithm selection of where clauses
{sort_sql.php} Using an array to sort records off a database
{showtowns.php} First steps on looking up data in an existing database on a web page
{bookstats.php} PHP to front a MySQL multiway join
{aos.php} Save a MySQL result set to the local machine
{select2.php} Selecting information from a database table - fully validated
{sqlreport.php} report on information held in a relational database
{pic_up.php} Uploading an image from a form to a MySQL database via PHP
{approach.php} Relational Databases - Comparison of approaches
{people.php} Simple database lookup - using MySQL from PHP
{picclim.php} Search a database of images
{ild.php} mysqli - database to csv example
{generic.php} Display a MySQL table, summarising rows
{ildi.php} mysqli - database to csv example
{agents.php} Joining MySQL database and searching results in PHP
{picscript.php} Retrieve an image from a database and display it
{pic_alog.php} view images stored in a MySQL database via PHP
{sqlcreate.php} Create a MySQL table from a PHP page
{sql_image_store.html} Web page to call up an image held in an SQL database
{mysql_joins.php} Showing Joined tables on a web page

Module H114 - Sourcing, installing and configuring PHP
[4437] Adding a PHP build option, rotating an image based on camera data, and a new look at thumbnails in PHP
[4319] PHP - some quick fixes if scripts have issues, and how to use our support
[3955] Building up from a small PHP setup to an enterprise one
[3635] Parse error: parse error, unexpected T_STRING on brand new web site - why?
[3132] Virtual Hosting with Apache http server - an overall scheme, and avoiding common pitfalls
[2646] Compile but do not run PHP - syntax check only
[2589] Your PHP code does not work? Here is where to start looking.
[2433] Controlling, supressing, enabling PHP error messages
[2317] How to make a Risotto (PHP build style)
[1936] Quick Summary - PHP installation
[1768] What is built in to this httpd and PHP?
[1731] Apache httpd, MySQL, PHP - installation procedure
[1688] cannot restore segment prot after reloc message - PHP / httpd
[1667] Checking server performance for PHP generated pages
[934] Clustering, load balancing, mod_rewrite and mod_proxy
[481] PHP upgrade - traps to watch
[316] Development Environments
[192] Current MySQL and PHP paths and upgrades
(article) Sourcing, installing and configuring PHP
{yellowlion.php} Test for Apache httpd + PHP + MySQL interaction
{railways.php} Start of an application in a page
{ini.extras} Some commonly changed limits for PHP

Module H115 - Designing PHP-Based Solutions: Best Practice
[4691] Real life PHP application using our course training MVC example
[4641] Using an MVC structure - even without a formal framework
[4326] Learning to program - comments, documentation and test code
[4118] We not only teach PHP and Python - we teach good PHP and Python Practice!
[4069] Even early on, separate out your program from your HTML!
[3926] Filtering PHP form inputs - three ways, but which should you use?
[3820] PHP sessions - a best practice teaching example
[3813] Injection Attacks - PHP, SQL, HTML, Javascript - and how to neutralise them
[3539] Separating program and artwork in PHP - easier maintainance, and better for the user
[2679] How to build a test harness into your PHP
[2430] Not just a PHP program - a good web application
[2221] Adding a newsfeed for your users to a multipage PHP application
[2199] Improving the structure of your early PHP programs
[1794] Refactoring - a PHP demo becomes a production page
[1694] Defensive coding techniques in PHP?
[1623] PHP Techniques - a workshop
[1533] Short and sweet and sticky - PHP form input
[1490] Software to record day to day events and keep an action list
[1487] Efficient PHP applications - framework and example
[1482] A story about benchmarking PHP
[1391] Ordnance Survey Grid Reference to Latitude / Longitude
[1390] Converting from postal address to latitude / longitude
[1389] Controlling and labelling Google maps via PHP
[1381] Using a MySQL database to control mod_rewrite via PHP
[1323] Easy handling of errors in PHP
[1321] Resetting session based tests in PHP
[1194] Drawing hands on a clock face - PHP
[1182] Painting a masterpiece in PHP
[1181] Good Programming practise - where to initialise variables
[1166] Back button - ensuring order are not submitted twice (PHP)
[1052] Learning to write secure, maintainable PHP
[1047] Maintainable code - some positive advice
[945] Code quality counts
[936] Global, Superglobal, Session variables - scope and persistance in PHP
[896] PHP - good coding practise and sticky radio buttons
[839] Reporting on the 10 largest files or 10 top scores
[572] Giving the researcher power over database analysis
[563] Merging pictures using PHP and GD
[426] Robust checking of data entered by users
[394] A year on - should we offer certified PHP courses
[340] Code and code maintainance efficiency
[261] Putting a form online
[237] Crossfertilisation, PHP to Python
[123] Short underground journeys and a PHP book
(article) Portrait of the Author of PHP
(article) The practical solution of requirements using PHP
(article) Error messages in PHP
(article) Keeping the PHP and the HTML apart
(article) What makes a good variable name?
{gruse.php} Capthca Driver
{images.xml} XML data used by demonstration program
{mvc_fhc.php} MVC Framework and Helpers / Components all in one!
{sqldemo.inc} SQL functions for sc5 and sc6 demos
{imnames.xsl} Style sheet used to get a list of all images held in XML file
{hph.php} Using an array to set a generalised form
{4lm_business.inc} business logic for 4 layer demo
{hph2.php} Sticky form, Regex Validation, save to db when AOK
{4lm_webhelpers.inc} Web Helpers for 4 layer model demo
{sc5.php} Main demo script - uses sessions, functions, SQL, XML and XSLT
{grgen.php} Generate a graphic to show a text string
{niceform.php} Form, validation, sticky fields, email results
{4lm_top.php} Full PHP application / 4 layer model - start here
{slidetell.php} Look up records (paginated) in a MySQL table.
{mvc2.php} MVC Framework and Helpers - with exceptions and validation
{xsltdemo.inc} xslt functions for sc5 and sc5 demos
{details.xsl} Style sheet to format one particular piece of information from an XML file
{sc6.php} Main demo script; uses sessions, functions, SQL, XML and XSLT
{4lm_template.htp} HTML template for 4 layer model
{stdsess.inc} standard functions for sc5 and sc6 demos
{demo.htp} Template for sc5.php4 and sc6 "best practise" examples

Module H116 - Shopping Cart Application in PHP
[3820] PHP sessions - a best practice teaching example
[1634] Kiss and Book
[1623] PHP Techniques - a workshop
[1487] Efficient PHP applications - framework and example
[1321] Resetting session based tests in PHP
(article) Shopping cart application in PHP
{thankyou.htp} Template web page for carter.php4
{carter.php4} Session demonstration - full shopping cart
{s2.php} Free form shopping cart in a page
{getshop.inc} Functions for carter.php4 and other shopping cart apps
{getaddy.htp} Template web page for carter.php4
{offer.htp} Template web page for carter.php4
{getccard.htp} Template web page for carter.php4

Module H117 - Security in PHP
[4642] A small teaching program - demonstration of principles only
[3813] Injection Attacks - PHP, SQL, HTML, Javascript - and how to neutralise them
[3747] An easy way to comply with the new cookie law if your site is well designed
[3698] How to stop forms on other sites submitting to your scripts
[3210] Catchable fatal error in PHP ... How to catch, and alternative solutions such as JSON
[2939] Protecting your images from use out of context
[2688] Security considerations in programming - what do we teach?
[2628] An example of an injection attack using Javascript
[2025] Injection Attack if register_globals in on - PHP
[1779] Injection Attacks - avoiding them in your PHP
[1747] Who is watching you?
[1694] Defensive coding techniques in PHP?
[1679] PHP - Sanitised application principles for security and useability
[1542] Are nasty programs looking for security holes on your server?
[1482] A story about benchmarking PHP
[1396] Using PHP to upload images / Store on MySQL database - security questions
[1387] Error logging to file not browser in PHP
[1323] Easy handling of errors in PHP
[1086] Injection attacks - safeguard your PHP scripts
[1052] Learning to write secure, maintainable PHP
[947] What is an SQL injection attack?
[920] A lion in a cage - PHP
[426] Robust checking of data entered by users
[345] Spotting a denial of service attack
(article) Spotting and stopping denial of service attacks
{inject.php} Injection attacks and preventing them

Module H118 - Generating CSS through PHP
[996] Setting your colour theme through PHP
[565] Using PHP to output images, XML, Style sheets, etc
[501] .css - using PHP to make dynamic style sheets
{west.html} Selecting and applying CSS themes through PHP
{style.inc} Full demo - PHP to set style sheets
{revinf.php} MySQL content report with counts, in PHP using CSS
{index.php} full demo - top layer and main code file
{picklet.php} Image library application using dynamic PHP style sheets
{dss.php} Dynamic Style sheet
{page.htp} Full demo - template for display
{httpd.hta} full demo - .htaccess file
{stdsess.inc} Full demo - web helper functions

Module H201 - PHP and MySQL for Content Management
[3453] Reading and using emails including enclosures on your web server.
[2071] Setting up a MySQL database from PHP
[1745] Moodle, Drupal, Django (and Rails)
[1576] Making PHP and MySQL training relevant to the course delegates
[1555] Advanced Python, Perl, PHP and Tcl training courses / classes
[647] Checking for MySQL errors
{tail.txt} Boiler plate HTML for the foot of every page -->
{stdfuncs.inc} Standard functions for all pages e.g. open database connection, shopping cart handling
{edit.php4} Offer the content editor a record to edit (or a blank record)
{create.sql} File of SQL commands to create an empty database and tables for this example
{error.txt} Error messages file - allows for translation into other languages
{index.php4} Start of application - offer a series of search boxes, and also an editor's login form
{offeredit.php4} Validate an editor's login if necessary, and offer a list of records that can be edited
{top.txt} Boiler plate HTML for the head of every page
{select.php4} List out all records that match the searcher's criteria, in the form of a selection menu
{confirm.php4} Confirm and update to the content, and save it into database.
{user.inc} User definable functions - optional file that may include functions to run on any of the database columns when the content is being reported
{display.php4} Display a single record from the database in full detail

Module H202 - Case Study
[4691] Real life PHP application using our course training MVC example
[2051] A Presentation about our company - web and PHP
[1495] Single login and single threaded models - Java and PHP
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{sendform.php} Emailing form entries to the web site owner
{review.php} Form - course review

Module H203 - Complete example - Registering for a get-together
(article) Complete PHP example - Registering for a get-together
{together.php} Complete source code - registering for a get-together
{qmeet.php} Complete Application - meeting room quotation

Module H204 - PHP and MySQL example application - adhoc database analysis
[572] Giving the researcher power over database analysis
{helppage.php} Help system - template wrapper
{help20.txt} Sample help file - result page
{help11.txt} Sample help file - select rows
{adhoc.conf} Configuration file for ad hoc MySQL query system
{help12.txt} Sample help file - select columns
{help10.txt} Sample help file - query type
{sqlwrapper.inc} An SQL wrapper to aid portability
{sampledata.sql} Commands used to create sample SQL database and tables
{page_layout.htp} Template for adhoc MySQL Query system
{help199.txt} Sample help file - logout
{webhelpers.inc} standard functions 4 layer model applications
{help1.txt} Sample help file
{businesslogic.inc} BUSINESS LOGIC
{adhoc_sql_query_engine.php} Application to look after generalise casual queries on a complex table structure

Module H212 -
[4378] What FGW passengers want to talk about / and PHP programming to find out

Module H300 - PHP Revision
[4050] A couple of new fast-start PHP examples
[3953] Objects in PHP - Revision
[3952] PHP revision ... by example.
[2742] A simple server benchmark script
[1787] Howto - write and manage a news box on your web page
[1615] PHP training courses every month
{oo1.php} First really simple object!
{oo3.php} Third OO PHP example - factory and cache design patterns
{seven.php} Regular Expression demo
{oo2.php} Second OO example - object, inheritance, public / protected / private
{one.php} first PHP revision example
{four.php} form, completion, checking
{nibs.php} Extracting data / complex text file format
{index.php} Directory navigator
{two.php} Second PHP revision example - arrays
{showdb.php} Retreiving and displaying information from a database
{three.php} third PHP revision example - functions
{speed.php} Converting distance travelled and time taken into a speed
{hf.php} Directory source display
{xxy.php} Web Site news - a simple edit box

Module H301 - Sticky fields and session
[4070] Passing variable between PHP pages - hidden fields, cookies and sessions
[3918] Multiple page web applications - maintaining state - PHP
[3820] PHP sessions - a best practice teaching example
[3540] Easy session example in PHP - keeping each customers data apart
[2738] What is all this SESSION stuff about? (PHP)
[2416] Automating access to a page obscured behind a holding page
[1911] Remember Me - PHP
[1766] Diagrams to show you how - Tomcat, Java, PHP
[1739] Bath, Snake or Nag?
{firstmultipage.php} Session in use for multipage application / named pages
{fru2.php} Sticky fields, and preventing injection attacks
{stracker.php} Cookie demo - session alternative
{westend.php} PHP Session - first principles
{zxzx.php} Viewing session from another web page
{wsss.php} Sessions - a demo of the mechanism
{secondmultipage.php} Session in use for multipage application / named pages. Split template
{dozen.php} Sending out holding pages before final result page
{multitemplate.htp} Template for secondmultipage and thirdmultipage demos
{tracker.php} Cookie demo - demonstration of session principles
{thirdmultipage.php} Session in use for multipage application / named pages / webhelpers

Module H302 - MVC, 4 layer model and templating
[4314] PHP training - refreshed modern course, backed up by years of practical experience
[4114] Teaching CodeIgniter - MVC and PHP
[4066] MVC and Frameworks - a lesson from first principles in PHP
[3956] Zend / layout of MVC and other files in an example application (PHP)
[3539] Separating program and artwork in PHP - easier maintainance, and better for the user
[3454] Your PHP website - how to factor and refactor to reduce growing pains
[2221] Adding a newsfeed for your users to a multipage PHP application
[2199] Improving the structure of your early PHP programs
[2174] Application design in PHP - multiple step processes
[1766] Diagrams to show you how - Tomcat, Java, PHP
[1716] Larger applications in PHP
[1634] Kiss and Book
(article) Keeping the PHP and the HTML apart
{z_view.htp} View (Template) for MVC demo
{stages.php} Muliple page, session based application
{george.htp} View - for view / program separation
{t2.xxx} Look and feel (business logic elsewhere)
{stages.finish2.inc} Read and record an incident record
{shoptop.php} Top level
{george.php} Simple separation of view from program
{multiply.php} Separting look and feel from business logic - business logic
{mvc_control.php} Control - All elements in one piece of code
{stages.webhelpers.inc} Web helpers for stage.php demo
{stages.prepare3.inc} prepare phase 3 - no form, just an onward link
{mvc_principles.php} Model, View, Controller, Components, Framework and Helpers - single file
{business.inc} Business Logic
{mvc_split.php} Controller for Model, View, Controller demo
{stages.htp} Multiple Stage Application
{mpd.php} Session based multiple page application Mk 2
{stages.prepare1.inc} prepare for phase 1
{mpc.php} Session based multiple page application Mk 1
{z_helpers.php} Helpers for MVC demo
{template.txt} template file
{mpa.php} First shell for multipage application
{z_framework.php} Framework and bootstrap for MVC demo
{stages.finish1.inc} validate email, name and department
{web.inc} Web Helpers
{simsess.php} Session demo / single included file
{product.txt} Product listing
{needed.inc} Sample included file
{mpe.php} Session based multiple page application Mk 3
{stages.prepare2.inc} prepare for phase 2
{mpb.php} Stepping through and validating over multiple pages
{z_model.php} Model for MVC demo
{stages.finish0.inc} initialise for new visitor

Module H303 - Long and short term cookies and security
[3813] Injection Attacks - PHP, SQL, HTML, Javascript - and how to neutralise them
[3698] How to stop forms on other sites submitting to your scripts
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua
[1911] Remember Me - PHP
[1646] Using cookies and sessions to connect different URLs - PHP
{suggest.php} Cookie and clean form demo
{codo.php} Memorising via a cookie
{ss2.php} Session - logging time and remembering inputs

Module H304 - DDA, Style and image handling
[3747] An easy way to comply with the new cookie law if your site is well designed
[2917] Upload Image, Store in database, redisplay in browser. PHP and MySQL
[2715] Uploading an image, document or pdf via a browser (php)
[2539] Changing Images
[2343] World Flags in your PHP pages
[2031] Choosing from an image with an image map
[1506] Ongoing Image Copyright Issues, PHP and MySQL solutions
[806] Check your user is human. Have him retype a word in a graphic
{imagetodb.php} Save already uploaded image into database
{gbs.php} What can PHP tell me about my browser?
{imagefromdb.php} Display image held in database
{park.php} Change image every minute. Retain style based on cookie (DDA)
{imagine.php} Upload an image
{browtype.php} Check browser type - feed out plain text or image / flash references
{browsers.php} Counting browser types visiting our site

Module H305 - Web server configuration
[3143] On time
[2981] How to set up short and meaningfull alternative URLs
[2774] PHP - Object Oriented Design in use
[2773] Dynamically watching your web site via a PHP wrapper
[2478] How did I do THAT?
[1938] Predictive Load Balancing - PHP and / or Java
[1778] Pointing all the web pages in a directory at a database
{frontend} Front end task - Predictive Load Balancing
{backend} Back end task - Predictive Load Balancing

Module H306 - Who is your visitor?
[3946] Moving from a warning system to a control system - PHP, forum spammers
[3094] Setting your user_agent in PHP - telling back servers who you are
[2667] Web page to telephone calls / links using an iPhone
[2380] Object Oriented programming - a practical design example
[2343] World Flags in your PHP pages
[2135] What features does this visitors browser support? (PHP)
[1736] Current visitors from around the world - PHP
{sqlshowrecent.php} Display recently visited pages
{second.php} Web Log Analysis - example
{parly.php} Welcome a User - but only between 3pm and 5pm on Wednesday!

Module H307 - Web2 and caching
[4627] Caching results in an object for efficiency - avoiding re-calculation
[4136] How do I post automatically from a PHP script to my Twitter account?
[4106] Web server efficiency - saving repetition through caches
[4075] Further recent PHP examples
[4055] Using web services to access you data - JSON and RESTful services
[3999] Handling failures / absences of your backend server nicely
[3955] Building up from a small PHP setup to an enterprise one
[3458] On this day ... one PHP script with three uses
[3186] How to add a customised twitter feed to your site
[3094] Setting your user_agent in PHP - telling back servers who you are
[3029] PHP data sources - other web servers, large data flows, and the client (browser)
[2545] Scraping content for your own page via PHP
[2321] Uploading and Downloading files - changing names (Perl and PHP)
[2196] New Example - cacheing results in PHP for faster loading
[1995] Automated server heartbeat and health check
[1926] Flash (client) to PHP (server) - example
[1814] Javascript/HTML example, dynamic server monitor
[1813] Ajax - going Asyncronous and what it means
[1812] Starting Ajax - easy example of browser calling up server data
[1733] memcached - overview, installation, example of use in PHP
[1647] Exchange Rates - PHP with your prices in your users currency
[1633] Changing a screen saver from a web page (PHP, Perl, OSX)
(article) Using current exchange rates on a web page
{cademo.php} Caching between pages via memcached
{train_graphic.php} Display info from application server on an image
{a_logshow.php} Log file analysis (2) - code optimised for readability
{xavier.php} demonstration of caching
{proxydown.php} Redirecting failed proxy request to valid page
{twitblog.php} Twitter feed from your PHP program
{prod.php} Web Site performance test page
{service.php} Service layer demonstration
{ajax456.html} Asyncronous call from Javascript on client to PHP on server
{caching} Caching in an object
{rs.php} Web service to give user current server stats
{a_papershow.php} Log file analysis (3) - results cached for run time efficiency
{a_timbershow.php} Log file analysis (1) - base case - functioning but poorly structured
{ajaxcode.php} Web Service provider - first Ajax demo ajax123.html
{exr.php} Grab exchange rates to/from Euro
{ajax123.html} JavaScript to load data from server
{phping.php} Heartbeat script to watch vital server
{sendimage.php} Serve a download from a database
{currency.inc} Currency abbreviations and names
{scraper.php} Scraping a remote URL content
{hb.php} Heartbeat script to check server
{client.php} Service layer - sample client
{ajaxstatus.html} Ajax demonstration - a dynamically updating status page.
{pset.php} Setting the User Agent in your PHP code
{ostell.php} Demonstration of cached resource
{train_pixelreport.php} An easy way to add an image point to a file

Module H308 - Searches, and search engines
[4401] Selecting RECENT and POPULAR news and trends for your web site users
[3163] Twitter - the special use of @ # and http: in tweets
[3159] Returning multiple values from a function call in various languages - a comparison
[2631] How to show a large result set page by page in PHP
[2166] Crossrefering documents with uniqueness and inconsistency issues - PHP proof of concept demo
[2137] Reaching the right people with your web site
[1735] Finding words and work boundaries (MySQL, Perl, PHP)
[1020] Parallel processing in PHP
{liked.php} Algorithm for sorting most recent likes
{ntx} File of surnames for matching demo
{globalindex.html} ") {
{page_it.php} Paging through a result set
{pplev.php} Looking for a similar surname

Module H309 - Maps, Graphics and Geographics
[4655] Image indexer / thumbnail display scripts in PHP
[4437] Adding a PHP build option, rotating an image based on camera data, and a new look at thumbnails in PHP
[4365] The changing face of Christmas
[4178] Where are you? How to write a geosensitive application
[3817] Fpdf - generating .pdf documents easily from your PHP program
[3734] QR codes with marketing logos embedded
[3584] QR codes - graphics images that provide quick phone links
[3536] UK Mapping Data - and more to come - under government Open Data measures
[3447] Needle in a haystack - finding the web server overload
[3211] Computer Graphics in PHP - World (incoming data) to Pixel (screen) conversion
[3197] Finding and diverting image requests from rogue domains
[3133] An image from a website that occasionally comes out as hyroglyphics
[3027] Server logs - drawing a graph of gathered data
[2939] Protecting your images from use out of context
[2729] Uploading a document or image to its own URL via a browser
[2675] Redirecting to your main domain for correct security keys
[2583] Reducing image size on digital photos - PHP
[2390] Dynamic / changing images on your web page
[2361] Geocoding - converting address to latitude / Longitude with PHP via Google
[2343] World Flags in your PHP pages
[1956] Images for Christmas
[1923] Making it all worthwhile
[1756] Ever had One of THOSE mornings?
[1752] Dynamic maps / geographics in PHP
[1734] All around the world?
[1724] addslashes v mysql_real_escape_string in PHP
[1628] Gant charts - drawing them with a PHP script
[1391] Ordnance Survey Grid Reference to Latitude / Longitude
[1390] Converting from postal address to latitude / longitude
[1389] Controlling and labelling Google maps via PHP
[1194] Drawing hands on a clock face - PHP
[1104] Drawing dynamic graphs in PHP
[937] Display an image from a MySQL database in a web page via PHP
[665] PHP Image viewing application
[563] Merging pictures using PHP and GD
[320] Ordnance Survey - using a 'Get a map'
{thumbnew.php} Image rotate and thumbnail
{popup.php} A popup window to show details of an item on a page
{railinfo.php} Convert Latitude and Longitude to nearest stations
{isp.php} Plotting your web site visitors on a world map
{fpdf_demo.php} Sample using fpdf (free PDF convertor from www.fpdf.org)
{train_graphic.php} Display info from application server on an image
{tfdt.txt} Sample text file - location of places on image
{isp_eu.php} Plot web site visitors on a map of Europe
{th_2.php} Thumbnail library, Mk 2 - thumbnail generator
{index.php} All the images in a folder as thumbnails
{latlong2os.php} latitude / longitude to ordnance Survey grid positions
{tgf.html} Graphic and report based on data from application server
{showmap.php} Selecting from an image map
{tfd.txt} Bare data that we've cached from our application server
{totem.php} BR Totem graphic generator
{yearson.php} Plot years v data
{serverlog.php} Graphing server log files
{pictureindex.php} Thumbnail library, Mk 2 - main program
{railuse.php} Table and graph of same data
{railstats.txt} Railway Station codes, locations, usage 2004 - 2014
{shift_graphic.php} Shift Graphic Demo
{train_pixelreport.php} An easy way to add an image point to a file
{railtrends.php} OO based GD graphics example
{qr_demo.php} Dynamic qr code
{showmanor.php} Slide Show - single file example

Module H310 - Putting it all together
[3454] Your PHP website - how to factor and refactor to reduce growing pains
[2931] Syncronise - software, trains, and buses. Please!
[2635] A PHP example that lets your users edit content without HTML knowledge
[2275] Debugging multipage (session based) PHP applications
[1962] Index Card System for Game Characters in PHP
[1840] Validating Credit Card Numbers
[1794] Refactoring - a PHP demo becomes a production page
[1754] Upgrade from PHP 4 to PHP 5 - the TRY issue
[1716] Larger applications in PHP
[687] Presentation, Business and Persistence layers in Perl and PHP
[468] Stand alone PHP programs
{todo4.htp} Template for the wiki demonstration
{jndex.php} Simple wiki demonstration
{indexcard.php} Index Card System - Version 0.9
{dot_htaccess} .htaccess file for wiki demonstration
{paged.php} paged display of station data

Module H311 - Testing your PHP
[4652] Testing new algorithms in PHP
[3959] Testing code coverage (have I tested everything?) in PHP
[3958] Testing classes for your PHP website with PHPUnit
[3623] Some TestWise examples - helping use Ruby code to check your web site operation
[3426] Automed web site testing scripted in Ruby using watir-webdriver
{oo3.php} A Sample class for testing demos
{p4l} Spike solution and algorithm testing
{five.php} phpunit - main program example

Module H312 - Tips and Techniques
[4621] The power of scripting
[4426] FileMaker Day to Unix Time conversion
[4319] PHP - some quick fixes if scripts have issues, and how to use our support
[4310] Problem ... I want to print a series of numbered forms
[4074] A comment on comments in PHP
[2981] How to set up short and meaningfull alternative URLs
[2478] How did I do THAT?
[2274] PHP preg functions - examples and comparision
[2025] Injection Attack if register_globals in on - PHP
[1983] Keeping PHP code in database and running it
[1958] PHP - Parse error: syntax error, unexpected $end ...
[1684] Two PHP include files to make easy web site indexing and navigation
[1667] Checking server performance for PHP generated pages
[1649] Easy conversion - image formats, currencies and distances
[1270] PHP Standalone - keyboard to screen
[1010] Dates, times, clickable diarys in PHP
[917] Syntax checking in PHP
[789] Hot answers in PHP
{msf.php} generates HTML to link to files in
{robert} Sample data for crossreference demo
{ppq.php} Crossreferencing data markers to web pages
{dxy.php} Using .html URLs to search a data file
{callback.php} How a Callback works in PHP
{myod.php} generates HTML to link to subdirectories

Module H313 - Page Application and Service Layer
[4059] Curl and curling from PHP
[4055] Using web services to access you data - JSON and RESTful services
[4053] Frameworks - learning through exploring and understanding data sources

Module H321 - CodeIgniter
[4114] Teaching CodeIgniter - MVC and PHP
[4062] Sessions, forms and validation in CodeIgniter - early examples
[4060] CodeIgniter - an excellent PHP framework with an easy start point
[4053] Frameworks - learning through exploring and understanding data sources
{header.php} header for first CodeIgniter example
{placetime.php} view - transport form Mk 2
{mycontroller.php} CodeIgnitor - first example controller
{transwilts_views_mainpages.php} main page content
{footer.php} Footer for first CodeIgniter example
{transport.php} 2nd CodeIgniter example - sessions and form - controller
{transwilts_views_transwilts_tail.php} footer
{index.html} Holding / home page outside CodeIgnitor
{transwilts_views_transwilts_top.php} header
{dot_htaccess} Typical CodeIgniter .htaccess file
{placetime.hld} view - transport form Mk 1
{main.php} Main view - hello CodeIgnitor World
{transwilts_htaccess} map most URLs onto CodeIgniter
{transwilts_models_places_model.php} model - business logic
{success.php} success view - 2nd CodeIgniter example
{transwilts_config_config.php} config file - added encryption key at about line 228
{transwilts_controllers_passenger.php} main controller functions
{transwilts_views_mailpage.php} Form demonstration

Module H400 - Open Source Applications in PHP
[2682] Adding extensions to PHP Open Source applications - callbacks

Module H401 - Some extra PHP modules
[3454] Your PHP website - how to factor and refactor to reduce growing pains
[3453] Reading and using emails including enclosures on your web server.
[2682] Adding extensions to PHP Open Source applications - callbacks
[2343] World Flags in your PHP pages
[732] Where is a web site visitor browsing from
{mailme.php} Reading emails from a POP3 mailbox
{windex.html} Combining blog and forum feeds using MagpieRSS
{525i.php} Using PHP mysqli functions - a working example

Module H998 - ADOdb
{adodb.php} Adodb example - selecting from a database
{mysql.php} MySQL example - selecting from a database

Module H999 - Additional PHP Material
[4655] Image indexer / thumbnail display scripts in PHP
[3210] Catchable fatal error in PHP ... How to catch, and alternative solutions such as JSON
[3118] Arrays of arrays - or 2D arrays. How to program tables.
[2684] Exception handling in PHP
[2215] If nothing, make it nothing.
[2073] Extra PHP Examples
[1623] PHP Techniques - a workshop
[1519] Flipping images on your web page
[1505] Script to present commonly used images - PHP
[1485] Copyright and theft of images, bandwidth and members.
[1451] More PHP sample and demonstration programs
[1391] Ordnance Survey Grid Reference to Latitude / Longitude
[1390] Converting from postal address to latitude / longitude
[1389] Controlling and labelling Google maps via PHP
[1270] PHP Standalone - keyboard to screen
[1194] Drawing hands on a clock face - PHP
[1104] Drawing dynamic graphs in PHP
[1053] Sorting people by name in PHP
[1020] Parallel processing in PHP
[1010] Dates, times, clickable diarys in PHP
[937] Display an image from a MySQL database in a web page via PHP
[917] Syntax checking in PHP
[839] Reporting on the 10 largest files or 10 top scores
[822] PHP - a team member leaves
[806] Check your user is human. Have him retype a word in a graphic
[789] Hot answers in PHP
[687] Presentation, Business and Persistence layers in Perl and PHP
[665] PHP Image viewing application
[603] PHP - setting sort order with an associative array
[563] Merging pictures using PHP and GD
[493] Running a Perl script within a PHP page
[483] Double Dollars in PHP
[468] Stand alone PHP programs
[372] Time calculation in PHP
[337] the array returned by preg_match_all
[322] More maps
[320] Ordnance Survey - using a 'Get a map'
[239] What and why for the epoch
[54] PHP and natural sorting
(article) Graphic User Interfaces (GUIs)
(article) Example - PHP form, Image upload. Store in MySQL database. Retrieve.
{tear.php} Tear from one image to another
{2dar.php} 2 dimensional array in PHP
{fader.php} Fade from one image to another
{gmap.php} Google Maps / PHP - show your office
{image2.php} Generating a button with variable graphics and text in PHP
{gobbler} Forking in PHP - parallel processing
{imglist.xsl} Sample XSLT template as used in xslt.php4 example and others
{aso.php} First sorting example
{hands.php} Draw hands on a clock
{xslt.php} Process an XML file through an XSLT template and insert result in a PHP page
{nats.php} Natural Sort Order demo
{feeder.php} Script to handle image library in MySQL database as if it was a directory of images
{php_parallel} Parallel processing example in PHP
{images.xml} Sample XML file as used in xslt.php4 example and others
{xml3.php} Using PHP to handle XML, stand alone!
{ml1.php} Simple Author extraction from Medline
{xml1.php} Xml handling in PHP
{exp.php} Exceptions in PHP
{imgdump.php} Generate the html to call up 10 images from a database
{uso.php} User defined sorting
{image1.php} Generating a graphic in PHP
{rome.php} Random image for use in a web page
{th.php} dynamic thumbnail generator
{site_title} Stand alone script - grab title of remote web page
{hml.inc} Horses Mouth - latest topic feed
{loclook.php} Google Maps / Geocoding demo
{mustcount.php} Script to accompany access counter discussion
{thumb.php} thumbnailing an image in one file and saving in another
{mergeover.php} Stippleover from one image to another
{oursites.php} Parallel processes in PHP
{tinso.php} Sorting an associative array
{whowentwhere.php} Practical example of 2 dimensional array in use
{grids.php} Shows you where a place is on an Ordnance Survey Map
{vars.php} Variable types in PHP
{picclim.php} Search a database of images
{xdo.php} Reading an RSS feed in your PHP page
{exc.php} An exercise in sorting
{xml2.php} Second example - using PHP to handle XML
{ac_check.php} Sorting an associative array
{lottery.php} Array manipulation functions range, shuffle etc
{os2latlong.php} Convert Ordnance survey grid positions to latitude / longitude
{imgflip.php} Flipping an image in PHP
{showcount.php} Show counter record file
{mkgraphic.php} Stand along programming in PHP / also graphics example
{uso2.php} More complex user defined sort
{thumbview.php} Thumbnail index and image view application
{dademo.php} Date and Time and sorting em in PHP
{imgfeed.php} Show an image held in a MySQL database

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

J: Java programmming including Web

Overview J050 - Java - General
[4430] The spirit of Java - delegating to classes
[4412] Java -making sure you have the right versions
[4317] Java - an update of the basics
[4305] Learning to program in Java - yes, we can help.
[3573] New in Java 7 - and why we are not running public Java 7 courses
[2861] MySQL and Java - connectivity past, present, and future thoughts
[2504] Learning to program in ...
[2420] Exceptions in Java - why and how
[2417] Java Programming Fundamentals
[2114] Which Version of Java am I running?
[2091] C, C++ and C# ... Java and JavaScript
[2087] Comparing Java Courses - what can we do?
(article) Overview of Java
{WellHouseInput.java} Reading from the keyboard or a file
{Bernie.java} static method (function) calls
{Fred.java} Reading user input from keyboard
{Xena.java} Example with and without exception handling
{Wendy.java} Test program within a class
{Niamh.java} loading a method from a class in a package
{Lenny.java} Static Methods, comparing objects
{Steve.java} A second extended class
{Viv.java} An ArrayList - an extendable array
{Combo2.java} Combined demonstration - phase 2
{Adam.java} Hello World, and command line input
{Zoe.java} StringTokeniszer, ArrayList and Exception demonstration
{Margaret.java} String handling example
{Peter.java} underlying (base) class
{Edward.java} Shared code - load and run method from another class
{Quentin.java} Calling in an extended class
{Rolf.java} Extended class
{Time.java} Base class for examples up to Lenny
{Julie.java} Array of arrays (i.e. 2 dimensional array)
{Yvonne.java} Directory listing, file i/o and formatting demo
{Trevor.java} Polymorphism - an array of different objects
{Chloe.java} First use of variables and conditionals
{Combine.java} Step 1 combo for full demo
{Glenda.java} loop, with break and continue
{Daniel.java} Integer Calculation
{Aileen.java} Sorting an ArrayList
{Orlando.java} Class within a package
{Ulrika.java} An array of objects
{Irene.java} Arrays - setup, fill, pass, process, length
{Keith.java} Using a class
{Hilary.java} Passing values in and out of a local method

Module J601 - Java Introduction
[4332] First Java Application - calculating the weight of a tablecloth
[2536] All the Cs ... and Java too
[2423] What is a JVM, a JRE, a JDK - components of the core Java Environment
[2115] Finding your java program - the CLASSPATH variable
[1908] Java CLASSPATH explained
[1766] Diagrams to show you how - Tomcat, Java, PHP
[1557] Trying out our Java examples on our web site
[1497] Training Season Starts again!
[1466] Effective Java training - the bootcamp approach
[1418] A Golf Club Decision - Perl to Java
[1158] Private Java Course - A customer's pictures
[1049] Java 6, Apache Tomcat 6.
[871] Java oversold?
[792] Is Java the right language to learn?
[317] Programming languages - a comparison
[124] PHP v Java
[111] Training notes available under Open Distribution license
[25] Release numbers
(article) Overview of Java
(article) Book review - Beginning Java 2
{demolet.java} Sample Servlet - init doGet and doPost methods
{Hello.java} Program to test basic operation of Java tools.
{FirstFull.java.oo1} Full program - prompt, read, calculate, print

Module J606 - Java Roadmap - Beyond the Fundamentals
[4305] Learning to program in Java - yes, we can help.
[3043] Gathering information - logging - with log4j. First steps.
[2036] Java Tag Libraries / how they work / Tomcat Deployment
[1910] Java - Generics
[1562] Java Compiler - needs all classes, compiles them all too
[1049] Java 6, Apache Tomcat 6.

Module J607 - Servlets, JSP, Tomcat
[2642] What does a web application look like under Tomcat?
[2147] A very easy JSP (Java Server Page)
[2058] Invoker and cgi servlets on Tomcat 6
[1766] Diagrams to show you how - Tomcat, Java, PHP

Module J608 - Naming Conventions and Code Management
[2604] Tips for writing a test program (Ruby / Python / Java)
[2415] Variable names like i and j - why?

Module J610 - Archived examples from previous versions of courses
[2654] Java - from applets to servlets. JSPs and more
[1070] Java Deployment course - lunch break
{ivy.java} ivy.java
{chaffinch.java} chaffinch.java
{redstart.java} redstart.java
{Whitfell.html} Whitfell.html
{crossbill.html} crossbill.html
{lapwing.java} lapwing.java
{fittleton.java} fittleton.java
{chestnut.java} applet to show colours
{t1.java} t1.java
{raven.html} raven.html
{PastelFilter.java} PastelFilter.java
{Whernside.html} Whernside.html
{Task.java} Task.java
{bradford.java} file manipulation
{Commem.java} extending a base class AND implementing an interface
{dunlin.java} Java Properties - what version / OS / etc
{coot.html} coot.html
{mp.html} mp.html
{dice_1.java} Random throws of a die
{woodborough.java} woodborough.java
{amesbury.java} read from keyboard via a supplied class
{durrington.java} while, if, break
{pack_5.java} pack_5.java
{redshank.java} redshank.java
{goftp.java} ftp from a java program
{Snowdon.java} Snowdon.java
{Fish.java} Simple base class (see Catchfish)
{Obj_v_prim.java} Obj_v_prim.java
{ford.java} ford.java
{moorhen.html} moorhen.html
{parcel.java} parcel.java
{chirton.java} Non rectangular 2D arrays
{bradley.java} file handling
{Canisp.html} Canisp.html
{Whitfell.java} Whitfell.java
{magpie.html} magpie.html
{patrick.java} patrick.java
{rserver.java} rserver.java
{chalfield.java} using an enumeration
{aspen.html} aspen.html
{lavington.java} lavington.java
{enford.java} basics of using an array
{avocet.java} Internationalisation / resource strings
{hawfinch.html} hawfinch.html
{brambling.java} general graphing applet
{linnet.html} linnet.html
{gargany.java} extended gadwall
{green2.html} green2.html
{raven.java} raven.java
{Phone_002.java} Phone_002.java
{marden.java} marden.java
{milston.java} milston.java
{suspect_card_8.java} suspect_card_8.java
{longer.java} longer.java
{hawthorn.java} hawthorn.java
{t3.java} t3.java
{worton.java} worton.java
{Swsmall.java} Swsmall.java
{pack_1.java} pack_1.java
{jay.java} jay.java
{goldfinch.java} goldfinch.java
{rowde.java} rowde.java
{Eiger.html} Eiger.html
{fcdata.java} socket programming (client)
{AllNames.html} AllNames.html
{chestnut.html} chestnut.html
{new_street.java} new_street.java
{alton.java} while loop demonstration
{cyprus.java} border layout in awt
{pagestats.java} pagestats.java
{tree.html} tree.html
{svlmp.java} svlmp.java
{pack_4.java} pack_4.java
{playing_card_8.java} playing_card_8.java
{svl_o2.html} svl_o2.html
{willow.java} willow.java
{DialApplet.java} Dialler applet using Swing
{fir.html} fir.html
{birch.html} birch.html
{quote.java} quote.java
{coot.java} dynamic graphics drawing
{potterne.java} potterne.java
{teal.html} teal.html
{beech.java} More applet components
{curlew.html} curlew.html
{charlton.java} Array of array (quasi 2D array)
{bromham.java} hello world
{fclient.java} socket programming (client)
{chough.java} font handling
{svl_l2.html} svl_l2.html
{box.html} box.html
{wraxall.java} wraxall.java
{waxwing.java} Generalised Graphing Applet
{redshank.html} redshank.html
{ash.html} ash.html
{blunsdon.java} Unicode and character string handling
{lime.java} lime.java
{Tryfan.java} Tryfan.java
{card_6.java} card_6.java
{crossbill.java} Command line and stand alone added to an applet
{porton.java} porton.java
{brambling.html} brambling.html
{Scafell.java} Scafell.java
{larkhill.orig.java} larkhill.orig.java
{twite.html} twite.html
{skylark.html} skylark.html
{svl_left.html} svl_left.html
{packages.html} packages.html
{TreeDemo.java} TreeDemo.java
{MoelHebog.java} MoelHebog.java
{cholderton.java} if and else
{calne.java} calne.java
{hen.java} hen.java
{acorn.html} acorn.html
{pack_3.java} pack_3.java
{Coin.java} abstract base class
{t2.java} t2.java
{lapwing2.html} lapwing2.html
{aspen.java} applet components
{Caldemo.java} Caldemo.java
{atworth.java} exception handling
{imgframe.java} imgframe.java
{willow.html} willow.html
{burton.java} arrays of objects
{pochard.java} pochard.java
{larkhill.java} larkhill.java
{swift.java} swift.java
{ImageHold.java} ImageHold.java
{gadwall.java} Server (present swap on port 7979) with graphic monitor
{oak.html} oak.html
{MoelHebog.html} MoelHebog.html
{smew.java} smew.java
{nuthatch.java} nuthatch.java
{crow2.html} crow2.html
{fifield.java} labels - also break v continue v exit
{Maovally.html} Maovally.html
{redpoll.html} redpoll.html
{grabpage.java} grabpage.java
{took.html} took.html
{whitley.java} whitley.java
{tilshead.java} tilshead.java
{idmiston.java} idmiston.java
{rsp.java} rsp.java
{heron.java} heron.java
{spruce.java} spruce.java
{hen.html} hen.html
{Phone.java} Phone.java
{jay.html} jay.html
{lapwing.html} lapwing.html
{Phone_001.java} Phone_001.java
{bremhill.java} Heavily commented simple program
{talker.java} talker.java
{maple.java} maple.java
{linnet.java} linnet.java
{buzzard.html} buzzard.html
{swallow.java} swallow.java
{scaup.html} scaup.html
{fyfield.java} fyfield.java
{kingsdown.java} kingsdown.java
{siskin.java} siskin.java
{haxton.java} haxton.java
{Tryfan.html} Tryfan.html
{Nevis.java} Nevis.java
{beech.html} beech.html
{smew.html} smew.html
{nettleton.java} nettleton.java
{pack_2.java} pack_2.java
{suspect_card_6.java} suspect_card_6.java
{Chocolate.java} Extending a class
{waxwing.html} waxwing.html
{svl_temp.html} svl_temp.html
{jackdaw.java} jackdaw.java
{maple.html} maple.html
{mildenhall.java} mildenhall.java
{Daily.java} extending the class Coin
{jackdaw2.html} jackdaw2.html
{figheldean.java} a first for loop
{pack_6.java} pack_6.java
{lechlade.java} lechlade.java
{Dunkery.java} for loop and Float objects
{elm.java} elements that can be drawn on a canvas
{Canisp.java} a telephone keypad using awt
{jackdaw.html} jackdaw.html
{BigginHill.java} Command line input / validation
{chough.html} chough.html
{greenshank.java} greenshank.java
{Eiger.java} awt GridBag
{heron.html} heron.html
{BeinnDearg.java} Character frequency analysis in a data file
{holly.java} holly.java
{all.java} all.java
{seend.java} seend.java
{Maovally.java} Maovally.java
{wilsford.java} wilsford.java
{yew.html} yew.html
{Whernside.java} Whernside.java
{svl_outer.html} svl_outer.html
{elm.html} elm.html
{inglesham.java} inglesham.java
{lockeridge.java} lockeridge.java
{redpoll.java} redpoll.java
{gp2.java} Grabbing a page of html
{ramsbury.java} ramsbury.java
{winEvent.java} winEvent.java
{blackbird.java} threading example via the runnable interface
{birch.java} Grid layout with buttons
{chippenham.java} chippenham.java
{nuthatch.html} nuthatch.html
{teal.java} teal.java
{grittleton.java} grittleton.java
{hawthorn.html} hawthorn.html
{card_8.java} card_8.java
{corsham.java} corsham.java
{Catchfish.java} extending a class and calling the base class constructor
{green3.html} green3.html
{oak.java} oak.java
{Hms2.java} Hms2.java
{siskin.html} siskin.html
{gp3.java} gp3.java
{playing_card_6.java} playing_card_6.java
{alderton.java} Test program to call intter classes example
{scaup.java} scaup.java
{brambling2.html} brambling2.html
{graphic_finger.java} a graphic client program to call up the finger daemon
{greenfinch.java} greenfinch.java
{fir.java} border layout example
{westwood.java} westwood.java
{Scafell.html} Scafell.html
{bulford.java} while loop
{honeystreet.java} honeystreet.java
{suspect_card_9.java} suspect_card_9.java
{Trip.java} Trip.java
{greenshank.html} greenshank.html
{n2.java} n2.java
{broughton.java} exception handling
{curlew.java} test program to log events generated by an applet
{shrewton.java} shrewton.java
{Pocket.java} Pocket.java
{lemon.java} lemon.java
{spot.html} spot.html
{palm.java} palm.java
{hawfinch.java} hawfinch.java
{BenHutig.java} AWT grid layout
{goldfinch.html} goldfinch.html
{moorhen.java} moorhen.java
{twite.java} twite.java
{greenfinch.html} greenfinch.html
{bremhill.html} bremhill.html
{Swapp.java} Swapp.java
{card_9.java} card_9.java
{rook.html} rook.html
{mailout.java} mailout.java
{mallard.java} mallard.java
{bullfinch.html} bullfinch.html
{new_street.html} new_street.html
{rook.java} rook.java
{palm.html} palm.html
{playing_card_9.java} playing_card_9.java
{marlborough.java} marlborough.java

Module J702 - Hello Java World
[4350] Keyboard reader for Java programming newcomers
[2859] Using java, javac, jar, and CLASSPATH - a simple example
[2414] Hello World - a good traditional start to a Java course
(article) Overview of Java
(article) Hello Java World
{Two.java} Second Java program - calls methods
{Hello.java} "Hello World!" in Java

Module J703 - Variables
[4345] Incrementing a variable in Java - Pre and Post Increment
[4324] Learning to program - variables and constants
[3917] BODMAS - the order a computer evaluates arithmetic expressions
[3365] Turning bright delegates into bright and knowledgable ones
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java.
[3041] Java - basic rules for arithmetic, variables and conversion
[3038] Setting up individual variables, and arrays, in Java - some commented examples
[2153] Class Loading and Variable Conversion in Java
[2148] Variable scope in Java Servlets and other web applications
[1448] Question on division (Java) - Also Perl, PHP, Python ...
[127] Conversion and coercion in Java
{WellHouseInput.java} Easy user interaction class
{Plus.java} Pre and Post increment in Java
{Add2.java} Adding and declaring variables in a single statement
{Addup.java} Simple use of variables - adding
{Av3.java} Average - *this* one works
{Cost.java} Reading a cost from the user
{Somevars.java} Declaration and initialisation of variables
{Av3b.java} An alternative working example
{Bnd.java} Setting up variables, reading values, calculating and output
{Av2.java} Average - fails at compile
{Average.java} Averages - how NOT to (try to) do it

Module J704 - Loops and Conditional Statements
[4427] Java example - for loop and conditionals from course exercise
[4346] A behaviour driven example of writing a Java program
[4323] Learning to program - Loop statements such as while
[4322] Learning to Program - the conditional statement (if)
[3397] Does a for loop evaluate its end condition once, or on every iteration?
[3200] How a for loop works Java, Perl and other languages
[3038] Setting up individual variables, and arrays, in Java - some commented examples
[2734] for and foreach in Java
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1582] Ruby, C, Java and more - getting out of loops
[1220] for loop - how it works (Perl, PHP, Java, C, etc)
[353] Wimbledon Neck
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{Sindoll.java} Excerise - Singapore to US Dollar table
{Day2a.java} Sample program for exercise
{Capacity.java} Course Exercise - capacity of tables in a restaurant
{Loop1.java} 'While' loop example
{Secondif.java} Nested 'ifs', and 'else'
{Firstif.java} Example of a first if statement
{Updown.java} Example of a boolean variable
{Bills.java} Nested loops, conditionals, breaks, labels etc
{Forloop.java} the 'for' loop in Java
{Loop2.java} Breaking from a loop
{Newtab.java} First read - calculate - loop program

Module J705 - Arrays
[4428] Using the lead - passing arrays and other collections in Java
[4413] Binomial Coefficient (Pascal Triangle) objects in Java
[4347] Arrays in Java - an introduction for newcomers
[3118] Arrays of arrays - or 2D arrays. How to program tables.
[3039] Fresh Paint - Java Arrays
[3038] Setting up individual variables, and arrays, in Java - some commented examples
[2648] Java arrays - are they true arrays or not?
[1614] When an array is not an array
[1498] Java is a dynamic language .... (and comparison)
[1497] Training Season Starts again!
{Arr1.java} First Array in Java
{Cornet.java} Sample exercise answer (2)
{Hurdy.java} Pascal's traingle using a two dimensional array
{Flute.java} Sample exercise answer (1)
{Bowerhill.java} Dynamic Array sizing (multidimensional)
{Arx.java} Array demonstration
{rowby.java} Dynamic use of arrays
{A365.java} Array - length, initialise throughout, arrays or strings
{compton.java} Array initialisation
{rushall.java} Two dimensional array
{Ax1.java} Passing arrays by their references
{A350.java} Array - setting up, filling, looking for highest and lowest values
{Weekend.java} Array of Objects
{Charlton.java} Setting up and using array of arrays
{PascalAsObject.java} Pascal Triangle as Object
{Wilsford.java} Two Dimensional non-rectangular Array */
{upavon.java} Array Manipulation
{Gurdy.java} Pascal's triangle using dynamic arrays

Module J706 - Objects and Classes
[4422] Objects - from physical to virtual or abstract - Java
[4413] Binomial Coefficient (Pascal Triangle) objects in Java
[2651] Calculation within objects - early, last minute, or cached?
[2616] Defining a static method - Java, Python and Ruby
[2422] Looking inside Java classes - javap and javadoc
[2169] When should I use OO techniques?
[1925] Introduction to Object Oriented Programming
[1906] Long, Longer, Longest in Java
[1500] First Class Java. First step and moving forward.
[1296] An example of Java Inheritance from scratch
[1163] A better alternative to cutting and pasting code
[477] Class, static and unbound variables
[96] Variable Scope
{Ourpets.java} Our Pets - example application
{Film2.java} A class of objects with static methods, public variables, overloaded constructors and private internal methods */
{Film.java} Defining a simple class of objects in Java */
{Ourmenag.java} Sample application for use during practical
{Eve2.java} Example class that uses the Film2 class */
{Eve.java} Example class that uses the Film class */
{Animal.java} Sample class for use during practical
{Eve3.java} Static methods and comparing objects - test harness
{Film3.java} Static methods and comparing objects - class
{Ourzoo.java} Ourzoo - sample application

Module J707 - Strings
[4414] Java - converting an integer to a fixed length string
[4393] Splitting Java strings and extracting numbers
[3048] String handling - from first steps to practical examples
[2649] Length, size or capacity in Java?
[1557] Trying out our Java examples on our web site
[1446] An answer to a student asking 'Help'
(article) Analysing incoming data lines
{cricklade.java} String object manipulation
{Station.java} Extracting data from a string, passing to factory
{ashton.java} Comparing Strings
{malmesbury.java} Stringbuffer
{StringBreaker.java} Splitting and interpertting a string
{purton.java} startsWith endsWith and other string comparison methods
{highworth.java} More character variables
{oaksey.java} indexOf and substring
{Vest.java} Open file, read line by line, do string manipulation
{minety.java} Accessing characters within a string object
{crudwell.java} copyValueOf and toCharArray examples
{marston.java} Arrays of Character String Objects
{ransbury.java} char variables and char arrays

Module J708 - Packages
[2865] Relationships between Java classes - inheritance, packaging and others
[2419] Where is my Java class?
[2114] Which Version of Java am I running?
[754] tar, jar, war, ear, sar files
{Isobel.java} packaged class for Geraldine / Hilda / Hattie demo
{pack.java} Package class example
{Geraldine.java} Class and calling code - all in same file
{sopworth.java} Calling a class in a subpackage
{axford.java} Calling a class in current package
{sherston.java} Importing a class from a package
{Hilda.java} Calling a class - using import to save repeated package names
{Hattie.java} Calling a class in another package

Module J709 - Class Access
[4398] Accessing variables across subroutine boundaries - Perl, Python, Java and Tcl
[3142] Private and Public - and things between
[3047] What is a universal superclass? Java / Perl / Python / Other OO languages
[2535] When should I use Java, Perl, PHP, or Python?
[2419] Where is my Java class?
[874] Who can use which access door?
(article) "Java Cookbook" - review
{luckington.java} Inner class example

Module J710 - Extending Classes and More
[4422] Objects - from physical to virtual or abstract - Java
[4419] Java Inheritance example - group of classes - step by step
[4394] Philosophy behind object design - and how I applied in to a Java example
[4366] Changing what operators do on objects - a comparison across different programming languages
[4334] Splitting out code into name blocks for clarity and reusability
[3047] What is a universal superclass? Java / Perl / Python / Other OO languages
[2860] What methods are available on this Java object?
[2604] Tips for writing a test program (Ruby / Python / Java)
[2434] Abstract classes, Interfaces, PHP and Java
[2185] Abstract Classes - Java
[1819] Calling base class constructors
[1556] Java - a demonstration of inheritance on just one page
[1538] Teaching Object Oriented Java with Students and Ice Cream
[1501] Java - using super to call a method in the parent class
[1294] An example of Java Inheritance from scratch
[1217] What are factory and singleton classes?
[1066] Final, Finally and Finalize - three special words in Java
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl
[656] Think about your design even if you don't use full UML
{Student.java} second subclass for use in exercise
{Book.java} Inheriting from the Universal Superclass. Also test harness in same file as class.
{Lecturer.java} Lecturer - subclass for use in exercise
{insurable.java} Interface definition
{Round.java} Exercise template - calculate price of a round
{Tv.java} Another extended class - TV
{BaseFile.java} An abstract base class
{Interit2.java} Interitance bundle + array, abstract, super, overload
{Babysitter.java} Application that uses Hire, Cinema and TV films
{HireFilm.java} Class HireFilm (extends film from other module)
{Hire.java} Hire Film - extended class
{Hires.java} Application to use HireFilm
{Ipay.java} Application using an array of objects that implement an interface
{Lecture.java} Lecture - application for exercise
{Interit.java} Interitance demo bundle - 4 files in Java
{People.java} People - base class for use in exercise
{User.java} Hiding detailed logic in (static) methods
{House.java} Another class than implements an interface
{Cinema.java} extended class example
{Car.java} Class that implements an interface
{Lunch.java} Using methods inherited from the base class Object

Module J711 - Java in the Web Page
[3049] Computer Graphics is fun - even if Java Applets are Old Hat
[2036] Java Tag Libraries / how they work / Tomcat Deployment
[1325] Java - Client side applet applications as well as server side
{Puffin.html} Demonstration of double buffering
{box.java} Applet to draw a rectangle in a border
{Mountain.java} Buttons, Fonts, drawing on a Canvas in an applet
{Mountain.html} HTML test framework for Mountain applet
{Puffin.java} Applet that demonstrates double buffering

Module J712 - Exceptions
[4396] Java Utility class - flexible replacement for array. Also cacheing in objects and multiple catch clauses example.
[4350] Keyboard reader for Java programming newcomers
[3048] String handling - from first steps to practical examples
[3045] After Course Resources - do we publish sample answers. Example from Java Exceptions module.
[2862] Fail Safe Error Handling in Java via Exceptions
[2622] Handling unusual and error conditions - exceptions
[2420] Exceptions in Java - why and how
[1875] What are exceptions - Python based answer
[1066] Final, Finally and Finalize - three special words in Java
(article) errors v exceptions
{Adder.java} Solution to Addbase exercise
{card_7.java} for neston demo - interface card
{Keira.java} try, catch, finally - full example
{suspect_card_7.java} class used within "neston" demonstration
{E1.java} Class to which to add exception handling during practicals
{KeyRead.java} Keyboard Read for use during early exercises
{Jane.java} Define your own exception class
{Bikini.java} Practical Exception Handling Example
{E1a.java} Sample answer - handling exceptions on reading use input
{wadswick.java} Sample program that will throw an exception, not catch it, and fail
{neston.java} First example of an exception
{Addbase.java} Exercise Base - make this user proof
{playing_card_7.java} class of playing_card, used in "neston"

Module J713 - More Input and Output
[4420] Flexibility in input - read from file, web resource or keyboard
[4414] Java - converting an integer to a fixed length string
[4350] Keyboard reader for Java programming newcomers
[2420] Exceptions in Java - why and how
[1239] End of File on a Java BufferedReader
(article) Formatting to a fixed number of decimal places
{bratton.java} Formatted Printing
{d3y.java} Exercise based on day 2 template
{snip1} Code snippet - reading from a file
{wellreader.java} Sample Input class from earlier courses and modules
{d2x.java} Application using multiple classes
{Javafgrep.java} Example for modification exercise
{farleigh.java} Checking file status, reading and writing
{winsley.java} File Manipulation examples
{snip2} File existence checking
{snip3} Writing to a file

Module J714 - Fundamental classes
[4431] A Java servlet that is also a stand alone program. And a server that is also a web client.
[4421] How healthy are the stars of stage and screen?
[4396] Java Utility class - flexible replacement for array. Also cacheing in objects and multiple catch clauses example.
[4330] Java - factory method, encapsulation, hashmap example
[3048] String handling - from first steps to practical examples
[2920] Sorting - naturally, or into a different order
[2734] for and foreach in Java
[2649] Length, size or capacity in Java?
[2421] Sorting Collections of Objects in Java
[2418] Viv.java uses unchecked or unsafe operations - explanation and cure
[2323] Java Collection Objects in the java.util package
[1910] Java - Generics
[1502] Java, sorting, ArrayList example, generics
[1062] Java sorting - comparable v comparator
[42] Do languages change?
(article) Want something more dynamic than an array?
(article) Fundamental classes java.lang, java.util and others
{Arlist.java} ArrayList in Java
{Bynum.java} A Comparator class
{Strtok.java} StringTokenizer Example
{Handbag.java} A class in which descructor calls are delayed
{About.java} System Properties
{Mhs2.java} A further example of sorting in Java
{Station.java} Station class used in Network example
{Train.java} To accompany Trans3 demo
{Network.java} Vector to replace an array
{Mypocket.java} Forcing a destructor to run
{NetworkStation.java} class uses in AUtil demo
{Ptr.java} To accompany Trans3 demo
{Bus.java} To accompany Trans3 demo
{ByValue.java} Comparator for Trans3 demo
{outmarsh.java} Using a stack
{Hmap.java} Hashmap example
{Discfree.java} Running an operating system command from Java
{floater} Float object v float primitive
{AUtil.java} Creating a hash of objects
{Hset.java} Hashset example
{Access.java} Access Log analysis / String Tokenizer
{Mathop.java} Maths operations
{stuff} Data for Trans3 demo
{Tshirt.java} Utility classes ArrayList and Hashmap set up to help analyse data file
{Objvprim.java} Object to primitive comparison
{Hmapsort.java} Sorting in Java - using collections
{Acsort.java} Sorting in Java using the comparable interface
{Trans3.java} ArrayList, Hashmap and Collections sorting
{holt.java} Using a Vector object
{hinton.java} An Example of a Hashtable
{Thing.java} Example of destructor

Module J715 - Putting the Java Language Together
[4430] The spirit of Java - delegating to classes
[4326] Learning to program - comments, documentation and test code
[2735] Type checking, Java arrays and collections
[1181] Good Programming practise - where to initialise variables
[836] Build on what you already have with OO
{PF3.java} Third example application
{Area.java} defintion of an area of the UK
{Station.java} Class of objects from file or URL, factory, Vector and HashMap, select, sort, output
{Place.java} Solution - base class (abstract)
{MF.java} Final example application
{PF2.java} Second example application
{District.java} definition of a district of the UK
{PF4.java} Final lookup on data example, ignoring area v district distinction
{Person.java} Calculating BMI of various stars
{PF1.java} Sample extended class
{Multifinder.java} Full application
{P3.java} Example object
{Placefinde.java} Solution - application class
{P4.java} Object P4 definition

Module J801 - Review of Java Basics
[4394] Philosophy behind object design - and how I applied in to a Java example
[1082] Straight from the .jar
(article) Overview of Java
{Aviary.java} Sample program - using Duck and Gull classes
{Desert.java} Base Class for use in Dairy Queen demo
{Colddesert.java} Part of the Dairy Queen demo
{Duck.java} inheriting and implementing class
{Bird.java} Base (abstract) class
{DairyQueen.java} Main application to show inheritance and polymorphism
{Friend.java} Interface to define an extra API
{Insurable.java} Dairy Queen demo - just a shell interface to show the implements mechanism
{Av2.java} An array of objects of different types
{Icecream.java} A subclass of Desert
{Gull.java} Class in a package, extends another, implements an interface

Module J802 - Abstract Windowing Toolkit
[3049] Computer Graphics is fun - even if Java Applets are Old Hat
[2654] Java - from applets to servlets. JSPs and more
[2649] Length, size or capacity in Java?
[2245] Client side (Applet) and Server side (Servlet) Graphics in Java
[1325] Java - Client side applet applications as well as server side
(article) Graphic User Interfaces (GUIs)
{ash.java} Constructs and scaling - AWT and Applets
{awtfont.java} Fonts, text manipulation, graphics. Applet or stand alone application.
{acorn.java} Basic Graphic Applet
{magpie.java} A Histogram of financila results
{skylark.java} General Purpose Graphing Applet
{yew.java} Applet, nested panels and layouts

Module J803 - Applet Parameters
[2654] Java - from applets to servlets. JSPs and more
[1325] Java - Client side applet applications as well as server side
{crow.java} Graphing Applet that picks up parameters from the HTML
{crow.html} Web page calling applet with data parameters

Module J804 - Threads
[3040] Doing several things at the same time - Java threads
[2212] Dripping taps, Java threads and the single thread model
{robin.java} Using threads via the runnable interface
{wren.java} Using threads by extending the Thread class
{redtail.java} Syncronisation problem
{redwing.java} Syncronisation solution

Module J807 - Images
[2245] Client side (Applet) and Server side (Servlet) Graphics in Java
{gannet.html} HTML frame for applet
{starling.java} Graphing Applet with command line interface too
{starling.html} HTML to load a parameter driven applet
{waxwing.java} Graphic Applet - labelled, markers, etc
{gannet.java} Applet to load an image
{waxwing.html} Load an applet with data parameters
{ConfirmDialog.java} Dialog Confirmation Class
{Imgfilter.java} Changing the colours of an image to make a subtle background

Module J808 - Network Programming
[4420] Flexibility in input - read from file, web resource or keyboard
[2863] Writing a server in Java
[1976] Where is this IP address, IPv4 and IPv6
(article) "Java Cookbook" - review
{Station.java} Class of objects from file or URL, factory, Vector and HashMap, select, sort, output
{Leanne.java} Multithreaded tcp/ip server in Java

Module J809 - Serialization
[2435] Serialization - storing and reloading objects
[1149] Turning objects into something you can store - Pickling (Python)
[1067] Serialization in Java - all layers required!
{Bead.java} The Serialiable class itself
{kingfisher.java} Application to demonstrate serialiasble objects
{Drawing.java} A class managing a vector of selializable objects
{mousehandler.java} Serialiazable demo mouse handler class

Module J810 - Internationalization
[3497] Not the same language - but based on the same constructs
{pintail.java} Numbers, currency and date - internationalization
{buzzard.java} An Applet to show and navigate a Unicode font
{Avocet.java} Resource bundles in use

Module J811 - JDBC - Relational Database Access
[3046] Java Beans, tag libraries and JSPs - what and why.
[2861] MySQL and Java - connectivity past, present, and future thoughts
[2154] Bean Classes in Java and Java Database Connections
[515] MySQL - an FAQ
(article) Interfacing applications to a MySQL database engine
{J850insert.java} Servlet that adds a MySQL table row
{J850select.java} Servlet to run a MySQL select (jdbc)
{Oralink.java} Connecting to an Oracle database
{J850_jdbc.java} Class to perform a MySQL table insert
{jdbc1.java} Connecting to a MySQL database
{J850staff.java} Servlet to insert into and report on a table
{Maggie.java} MySQL Database Connection and Query
{J850sjdbc.java} Generic database insert and select code (MySQL demo)
{make_J850.java} Create table for J850 series of demos

Module J812 - Java Beans
[3046] Java Beans, tag libraries and JSPs - what and why.
[2155] No subject or title?
[1074] Java beans and classes, .war and .jar files
{Cube.java} Java Bean example as used by Tag library (J907)

Module J815 - Handling XML in Java
(article) Handling XML in Java

Module J816 - Regular Expressions in Java
[1195] Regular Express Primer
(article) Regular Expressions in Java
{Reg3.java} Look for all lines containing a term and report the first field from matching lines
{Reg6.java} Regular expressions - match and replace
{Reg1.java} Regular expressions - look for email address
{Reg2.java} Regular expressions - look for all matching lines in a file
{Reg4.java} Look for email address on command line and report on user and domain name parts

Module J901 - Servlets
[4432] Java web application for teaching - now with sessions and clustering / load balancing demonstrations
[3997] Servlet v JSP (Java Server Page). What is the difference?
[3044] Changing a Servlet - more that just editing and compiling
[2652] Reading and writing cookies in Java Servlets and JSPs
[1909] javax.servlet cannot be resolved - how to solve
(article) Sessions in Servlets
{symdyn.html} Dynamic operation of a Servlet
{svl_right.java} Servlet to read form and echo
{svl.html} Servlet demo - HTML form
{Maryland.java} Checking and setting cookies in a Servlet
{Memo.java} Linking requests together via a session in a servlet
{Lifeanswer.java} Basic Servlet - simple calculation and a visit counter
{Noah.java} A simple servlet, and how to modify it

Module J902 - Extending Graphics in Java
[1326] GUI design - Sketch it out first! (Java / Swing example)
[1325] Java - Client side applet applications as well as server side
(article) Graphic User Interfaces (GUIs)
(article) Extending Graphics in Java
(article) Extending Graphics in Java part 2
(article) Extending Graphics in Java Part 3
{Dialapplet.java} Swing Applet - dialler example
{S1.java} JFrame, JLabel and Jbutton - Swing
{Dialer.java} Java dialer with echo in a Jlabel
{TreeDemo2.java} Jtree with contents and interaction
{swsmall.java} Event handler - Swing
{Swtiny.java} Swing - tiny example (JFrame and JLabel)
{S2.java} Grid layout - Jbuttons for telephone dialer
{TreeDemoSetup.java} Jtree

Module J906 - Servlets in More Detail
[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.
[3293] Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat)
[3044] Changing a Servlet - more that just editing and compiling
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2652] Reading and writing cookies in Java Servlets and JSPs
[2183] Servlet life cycle, and Java Servlet variable scope
[1909] javax.servlet cannot be resolved - how to solve
[1550] Java (JSP and Servlet examples) live on our server
[1495] Single login and single threaded models - Java and PHP
[479] New servlet from old
(article) Sessions in Servlets
{Barman.java} Simple Session Tracking
{Station.java} Station class (transport demo)
{Framework.java} Main servlet / stand alone program (transport demo)
{ByName.java} Comparator class for Stations (transport demo)
{PubWatch.java} Session Tracking for Cluster and Load Balance demos
{web.xml} Example URL to servlet class mappings
{Landlord.java} Simple Session Tracking servlet reporting all users
{MyStream.java} MySteam web or file reader (transport demo)
{HelloServlet.java} Hello Servlet World

Module J907 - JSP - JavaServer Pages
[3997] Servlet v JSP (Java Server Page). What is the difference?
[3046] Java Beans, tag libraries and JSPs - what and why.
[2525] Using JSPs, Tag Libraries, Java Beans, Tomcat in one short example
[2183] Servlet life cycle, and Java Servlet variable scope
[2151] What is a JSP tag library?
[2147] A very easy JSP (Java Server Page)
[1550] Java (JSP and Servlet examples) live on our server
[1050] The HTML++ Metalanguage
[79] Last day of Java
{tcform.html} Form to read a temperature in degrees F
{gje2.jsp} JSP example - Java separated from HTML
{Book.java} net.wellho.Book class - Java Bean to look up on MySQL database
{Store6.java} Store class, used to maintain state in JSP demo */
{lovely.jsp} JSP example linking a series of pages, good practise shown
{boxes.jsp} JSP / Tag Library / Java Bean - the JSP part
{products.txt} Product data for Shopping cart demo
{web.xml} Session timeout changed to 120 minutes -->
{index.jsp} A Shopping cart JSP that maintains state -->
{gje3.jsp} JSP - Form input and validation
{tcvt.jsp} JSP to read temperature in C and convert to F
{course.jsp} Simple JSP, displaying a calculation in a page
{bookjava.jsp} Replacing Java Source code with Tags - some equivalents
{counter.jsp} Sessions in a JSP
{graham.jsp} Hello JSP world
{rep_aut_2.jsp} Web -> Tomcat -> JSP -> Tag Library -> MySQL - booklookup
{report_author.jsp} Web -> Tomcat -> JSP -> MySQL - booklookup
{Tconv.java} Class for use from JSP using standard tag library

Module J909 - Putting it all together
[4305] Learning to program in Java - yes, we can help.
[2653] Java Server Pages - putting it all together
[2525] Using JSPs, Tag Libraries, Java Beans, Tomcat in one short example
(article) A multithreaded server in Java
(article) What makes a good variable name?
{Room.java} Business logic for JSP demo (price)
{hello.jsp} Simple JSP calling in business logic from a class
{price.jsp} Example of a JSP and what the raw Java would be
{loglook.jsp} JSP to read and analyse data from a file
{Beast.java} Java Bean for JSP demo (hello)

Module J910 - Introduction to Ant
[694] Ant and Make
(article) Overview of Ant - a Java based build tool
{build.xml} ant instructions for Babysitter application -->

Module J950 - Tomcat Sourcing, Installation and Initial Testing
[2219] Configuring httpd, or Tomcat, to run CGI scripts in Perl
[2218] Multiple web applications under Tomcat - what are the options?

Module J951 - Tomcat - Configuring Web Applications
[754] tar, jar, war, ear, sar files

Module J953 - Combined Java Web Example: Servlets, JDBC and Graphics
[2245] Client side (Applet) and Server side (Servlet) Graphics in Java
[1466] Effective Java training - the bootcamp approach
{Im2.java} Generating an image file (AWT) using data from a database (JDBC) */
{Im4.java} An image (AWT) with form selected data (HTTP) from a database (JDBC) via a web page (Servlet) */
{Im3.java} An image file (AWT) from a database (JDBC) via a web page (Servlet) */
{web.xml} Tomcat config file for the sample application -->
{Im1.java} Generating an image file through AWT */
{formpage.html} Web form that uses Im4.java -->
{multigraph.html} Web form that uses Im4.java (multiple images in one page) -->

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

M: Well House Manor; hotel and events

Subject M100 - Introduction to Well House Manor
[4715] Well House Manor - Still five out of five!
[4613] Our best hotel customers help us ... to help them ... be our best customers.
[4299] The Best Bed and Breakfast in Melksham?
[4147] A hidden hotel gem in Melksham
[3985] Special weekend at Well House Manor - come and see Wiltshire
[3864] Guest Guide for Well House Manor and Melksham
[3800] Fancy a weekend away? Try Well House Manor in Melksham, Wiltshire
[3765] Christmas in June? Melksham hotel bookings and Santa train
[3611] A customer thanks Well House Manor
[3202] Telling you something about us in just one line
[3115] Perl, Python, PHP, Lua, Linux, and more - and business hotel too. Menu for 2011
[3014] Well House Manor - the next six years
[2978] Christmas 2010 - Well House Manor, Melksham, Hotel
[2941] Wedding season in Melksham - somewhere good to stay
[2923] Fresh air and beautiful places in Wiltshire
[2425] Weekend and Christmas Promotion - Well House Manor Hotel, Melksham
[2125] We have lost a regular business guest
[2119] Make your business a DESTINATION business
[2076] A New Advert for Well House Manor
[1975] Well House Manor Hotel - on plan for 2009 business guests
[1968] Review of 2008
[1866] What a difference a day made
[1706] The Story of Well House Manor
[1492] Well House Consultants Training and Hotel - 2008 news
[1388] Well House Manor - a year on
[1384] An email update for past guests and delegates
[1371] Hotel in Melksham at Christmas
[1332] Melksham Hotel - Five Star Kitchen!
[1261] High summer at Well House Manor
[1211] A lot has happened in a year
[1132] Well House Manor, Melksham, Art Gallery
[1112] Bank Holiday country breaks in Melksham, Wiltshire
[1072] Well House Manor in the Snow
[1069] Rail trouble forced me to buy hotel
[1018] Open Source Courses and Business Hotel - products and prices for 2007
[1002] Meet the neighbours
[978] Wellhouse Manor, Hotel, Melksham
[940] Winter at Well House Manor - Open Houses
[902] Brand new hotel and training centre, Melksham
[891] Well House Manor Hotel, Melksham, Wiltshire
[793] The Wilts and Berks Canal
[756] Seeing the bricks for the trees
[677] Sympathetic development
[571] Well House Manor
[512] Exciting futures - the Well House Manor project

Subject M101 - Business Accommodation in Melksham
[4614] PC Plod - alive and scaremongering in Wiltshire?
[4603] Happy New Year. Our customers are our ambassadors
[4570] A warm welcome awaits you at Well House Manor, Melksham
[4137] Early morning - welcoming business and leisure guests to Melksham
[4005] New guest ... becoming returning guest
[3969] Four in a Bed comes to Melksham tonight
[3405] Where do businessmen stay in Melksham?
[3107] Hotel and Training Course prices - the effect of the VAT rise on 4th January 2011
[2984] Customer Review - Hotel Room, Melksham
[2925] Well House - the pictures
[2821] Chancellor George Osborne inspires Perl Program
[2581] Snow scenes - and how snow effected our business
[2558] Happy new decade - and course and hotel prices for 2010
[2024] Carry on Training - in spite of the weather
[1929] 2009 - Hotel, Meeting, Training Course prices
[1907] Melksham Hotel Rates
[1824] Which is your best hotel room?
[1808] We love children ... but our hotel is not going to be their scene
[1748] Hotel room prices - Melksham, Wiltshire
[1701] Training Course and Business Conference Technology
[1676] A warm welcome for visitors from the USA
[1520] Terms and Conditions - Hotel, England - plain English
[1318] Well House Manor - feature comparison against the old place!
[1164] Grand Central Station
[1089] Playing old games
[1079] Wilts and Berks - two conference / training rooms in Melksham
[1059] Three sets of twins
[1011] Well House Manor and Beechfield House, Hotels, Melksham
[963] George Hotel and Well House Manor, Melksham
[926] Training rooms to learn Open Source programming
[902] Brand new hotel and training centre, Melksham
[889] Opening approaches!
[873] Hotel Exchange Rates
[857] Strikingly busy
[844] Hotel, Melksham, Wiltshire
[731] Hotel Technology Requirements
[721] Residential
[717] A customer service company
(article) Good places to stay in Melksham

Subject M102 - Well House Manor - booking system
[4232] Not wanted here - hotel guests who will not be happy
[4153] Rooms available tonight - how to code an algorithm from first principles
[4144] Getting the best hotel rates - customer and hotelier viewpoints
[4138] Should a hotel accept guests who book for just one night?
[4122] Well House - booking through agents
[3976] Easy pricing, quick and easy checkout
[3932] River nearly bursting its banks in Melksham
[3825] Well House Manor - direct hotel bookings help us improve the customer experience
[3281] Does Well House Manor Hotel in Melksham offer lots of discounts?
[2705] Hotel booking in Melksham made easy!
[2436] Melksham Hotel Rooms - pictures
[2403] Hotel Booking Scam / Cost of calls to 070 numbers
[2377] Wiltshire / Melksham Weddings - guest accommodation
[1907] Melksham Hotel Rates
[1815] Hotel Guest Surveys
[1554] Online hotel reservations - Melksham, Wiltshire (near Bath)
[1311] What do people look for on a hotel web site?
[1084] Writing terms and conditions for conferences and other events
[864] Add to shopping cart - NO VACANCIES sign

Subject M103 - Getting to and from Well House Manor
[4264] Weekend breaks by train to Melksham, Wiltshire
[4175] An alternative format for a new train service timetable
[4174] What would the extra trains from Melksham mean to your journey?
[3849] New bus times - Melksham to Bath
[3752] Melksham Visitors Map - Bus routes and train lines to and from the town
[3751] Public transport for international arrivals into Melksham
[3276] International travel to the UK - coming to Melksham
[2926] Journey times to Melksham, Wiltshire
[2791] Bath to Melksham buses - times
[2789] Melksham to London (Heathrow, and Central London)
[2634] London to and from Melksham by public transport
[2493] Melksham buses to/from Chippenham, Trowbridge, Bath, Devizes, London
[2249] Public Transport from London to Melksham, Wiltshire
[2248] Getting home from Melksham
[1802] Motorcycles welcome at Well House Manor
[1511] Buses from Well House Manor, Melksham, to Bath
[1452] Santa on the train to Melksham
[1200] Training information - England, Scotland, Wales and Ireland
[952] Coming from London to Melksham by train for a course
[814] Melksham Railway Calendar 2007
(article) It's easy to get to Melksham, and there's things to do!

Subject M104 - Finding Well House Manor.
[2659] New numbers, as 01225 707126 and 01225 709638 are being retired
[1802] Motorcycles welcome at Well House Manor
[1311] What do people look for on a hotel web site?
[933] Course Joining package - updated
[555] Hotel novelties

Subject M105 - Where to eat
[4582] A near-empty plate of pastries - sign of a breakfast enjoyed
[4567] Japanese and Malaysian food in Melksham
[4018] Afternoon Teas and Breakfasts at Well House Manor
[3977] A variety of continental breakfasts
[3861] Melksham Food Festival - the food fayre - pictures
[3719] Strawberry Cream Teas, Well House Manor, Melksham, starting this weekend
[3708] Strawberry Cream Teas in Melksham - available every day this summer
[3643] Hotel food, Melksham - enjoy the variety of the American way
[3327] Why are chefs miserable?
[3308] Behind the scenes - setting up a cafe
[3304] Scones with or without fruit?
[3295] Strawberry Cream Teas, Coffee straight from the Bean and freshly squeezed orange juice - Melksham, every afternoon
[3199] Lunch for Melksham Businesses
[3182] What we look for in a lunchtime cafe restaurant in Melksham
[3127] Burger me!
[2593] Food and drink launch
[2584] Melksham Food and Drink Festival, 2010
[2239] Cornerstone Cafe, Melksham
[1957] Why are cooks bad tempered?
[1843] How many cups of coffee?
[1359] Little Gems but not Lettuce
[1332] Melksham Hotel - Five Star Kitchen!
[1329] Subway Restaurant in Melksham, Wiltshire
[1226] Melksham Art Cafe

Subject M106 - We suggest these local businesses
[4327] Good, stable, reliable local businesses
[4254] Where is Melksham Market? In the Market Place, every Tuesday
[4019] Coffee Shop in Melksham
[3597] Niche businesses in Melksham. From glass painting to Tcl and Lua courses.
[3337] Home Grown Pigs, near Melksham Station
[2793] They do weddings, we do courses.
[2591] Melksham Hotel, B and B or business accommodation?
[2027] Who sticks by you in the snow?
[2021] Short health and safety course
[1894] Shopping in Melksham
[1883] Spa Road Garage and Convenience Store, Melksham
[1655] A date for your diary - 16th July 2008
[1559] Calling on Melksham / Trowbridge / Devizes / Chippenham businesses
[1394] Business to Business Networking - North and West Wilts / Melksham
[1257] Data cabling (Cat 5e), Melksham, Wiltshire
[1253] Key new contacts
[1250] Business speed networking - a place tonight!
[1223] Asda opening large new store in Melksham
[1208] Meet other local businesses in Melksham
[1085] Lawrence Webb's Melksham Taxi service
[894] Where quality costs less
[851] Emergency First Aid Training
[315] Supporting local business
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing

Subject M107 - Well House Manor Newsreel
[4543] Saturday morning at Well House Manor
[4358] A brilliant finish to 2014 training and business guests, and a look to 2015
[4262] Updated staff systems helps us look after our customers better
[4183] Reaching a hotel standard where 99% of guests would return - and maintaining that standard
[4116] International Melksham - industry, and beautiful countryside
[4101] POETS day at Well House Manor
[3967] Hotel bedroom - even larger TV!
[3965] Well House Manor, Melksham - on national TV next week
[3963] National TV - Melksham - 9th January 2013, Pre-alert.
[3883] Apple Pressing Day 2012
[3858] The apple crop of 2012
[3834] Geekmas 2012 - celebrating open source languages such as Perl, PHP and Python
[3828] Pimms and Croquet in Edwardian Melksham - 8th September 2012 - Food Festival Event
[3827] Melksham Community Apple Pressing Day
[3821] Well House Manor at Dawn ... and later in the day
[3645] Keeping our hotel looking like new, by using our gained experience
[3586] Emergency First Aid Provision at Well House Manor - part of the service
[3535] Melksham, Luxury Hotel Rooms, Christmas.
[3505] Well House Manor - Winter Warmers - Open 7 days a week, 11 to 5 ++
[3405] Where do businessmen stay in Melksham?
[3014] Well House Manor - the next six years
[2984] Customer Review - Hotel Room, Melksham
[2424] A Winter Weekend Special at Well House Manor
[2076] A New Advert for Well House Manor

Subject M149 - Well House Manor - FAQ
[3848] Where do I find .... (Our hotel FAQ)
[3600] Visa, MasterCard and American Express - changing payment profiles
[3359] Cash and Cheque policy - UK Hotel
[3263] Come as a customer, leave as a friend - Well House Manor, Hotel, Wiltshire
[3071] Well House Price list, January to March 2011
[2838] Respecting our customers anonimity
[2352] Printed Directories - the start of the updating season
[2014] First Class
[1809] Coming home tonight
[1683] Plenty of car parking at Well House Manor, Hotel, Melksham
[1263] 0800 043 8225 - a new phone number for Well House
[820] Robert and William Whitworth
[617] Easy, Free, Reliable internet access
(article) Good places to stay in Melksham

Subject M150 - For users of Well House Manor.
[4613] Our best hotel customers help us ... to help them ... be our best customers.
[4567] Japanese and Malaysian food in Melksham
[4379] Well House Consultants / Well House Manor - Prices for 2015
[3976] Easy pricing, quick and easy checkout
[3552] Melksham Training Centre and Hotel internet speed - how does it compare?
[3544] Looking for hotel rooms in Melksham over Christmas? We still have some availability
[2962] Well House Manor - the history of the hotel
[2660] One number for Well House - 01225 708225
[2590] A healthy, local breakfast in Melksham
[2307] Breakfast in Mexico
[2253] Walks in and around Melksham, Wiltshire
[1290] Badges, Breakfasts and Trigger
[582] DWIM and AWWO
(article) Creating Really Memorable Experiences

Subject M151 - Conference Facilities
[4570] A warm welcome awaits you at Well House Manor, Melksham
[4285] Pictures of Melksham Heritage Discovery Fair
[4158] Wedding from Well House Manor - an excellent base in Melksham
[4155] Wedding Reception preps at Well House Manor
[4049] Business meetings in Melksham - Well House Manor
[3992] Conference and Meeting Rooms available in Melksham
[3983] Upcoming courses at Well House Manor - Ruby, Python, Perl
[2941] Wedding season in Melksham - somewhere good to stay
[2663] Improve your PHP on a weekend away
[2068] Playing Catchup
[1942] Christmas scenes and events
[1929] 2009 - Hotel, Meeting, Training Course prices
[1701] Training Course and Business Conference Technology
[1683] Plenty of car parking at Well House Manor, Hotel, Melksham
[1264] Business events in Melksham
[1255] Interviewing job candidates in Melksham
[1227] Melksham businesses - networking together
[1211] A lot has happened in a year
[1100] Wondering where I have been
[998] The year of the exploding projector

Subject M152 - Hotel Facilities
[4644] In your room at Well House Manor, Melksham, Wiltshire
[4614] PC Plod - alive and scaremongering in Wiltshire?
[4582] A near-empty plate of pastries - sign of a breakfast enjoyed
[4521] Should we get an AA or Visit Wiltshire hotel assessment?
[4026] The coffee of the Stars comes to Melksham
[4019] Coffee Shop in Melksham
[3924] The bedrooms at Well House Manor
[3865] What makes Well House Manor different?
[3863] Five new fans at Well House Manor
[3831] Our Melksham Hotel is not quiet - but we are waiting to give you a quiet welcome. Big difference!
[3552] Melksham Training Centre and Hotel internet speed - how does it compare?
[3549] Well House Manor - perhaps the best hotel rooms in Melksham
[3437] Light bulbs
[3373] Another busy Week at Well House Manor ... pictures from the midweek
[3308] Behind the scenes - setting up a cafe
[3296] Dog, hotel, Melksham, Wiltshire?
[3212] Well House Manor - a home from home for the business and leisure guest in Melksham
[2847] Local information for Melksham Hotel Guests
[2559] Moving the product forward - ours, and MySQL, Perl, PHP and Python too
[2490] Friendly Hotel in Melksham, near Bath
[2424] A Winter Weekend Special at Well House Manor
[2303] Turning potential customers away
[2216] Past Delegate Offer - Summer Holiday / Weekend Break
[2076] A New Advert for Well House Manor
[1328] Oliver says ....

Subject M153 - Training Facilities
[3816] Want to escape the Olympics? Learn to program in the countryside!
[3612] Help to get online in Melksham
[3521] Emergency First Aid at Work (HSE) training in Melksham - places available for 19.1.2012
[2943] Our facilities to support Well House Consultants Courses
[2538] Open Source Training Centre and Courses for 2010
[2537] Faster network, but not faster browsing until ...
[1227] Melksham businesses - networking together
[379] Getting the lighting right

Subject M160 - Environmental
[3863] Five new fans at Well House Manor
[3134] Melksham Weather - Warm and windy becoming colder and calmer
[2794] The Farming Industry pictured around Melksham
[2762] Well House - Mission and Policy summaries
[2730] Bird Watching on the Melksham Avon
[2707] A walk on the Kennet and Avon
[2253] Walks in and around Melksham, Wiltshire
[1800] Spiders Web
[1499] Climate change, renewable resources and paper v plastic
[1276] On flooding in Wiltshire and elsewhere in the West of England

Subject M161 - Gardens at Well House Manor
[4666] Spring at Well House Manor
[4166] Pimms and Croquet - Melksham Festival of Food and Drink
[4162] Pimms and Croquet at Well House Manor - 7th September 2013
[4155] Wedding Reception preps at Well House Manor
[4139] Out of doors (mostly) at Well House in Melksham
[4083] Spring at Well House Manor - Teas and Coffees, Museum, Garden, Rooms
[4030] What is on OUR pond?
[3980] Well House Manor in the snow
[3883] Apple Pressing Day 2012
[3856] Edwardian day with Croquet - Well House Manor, 8th September 2012 - Pictures
[3855] Mad week done - so come for Croquet
[3842] Relax at Well House Manor - gardens, fountain, hotel
[3836] In the garden at Well House Manor
[3814] Returning guests - a sign of a good product. Cream teas and hotel rooms.
[3708] Strawberry Cream Teas in Melksham - available every day this summer
[3314] Garden Seating, Well House Manor
[3296] Dog, hotel, Melksham, Wiltshire?
[1786] Picturing the rain
[1683] Plenty of car parking at Well House Manor, Hotel, Melksham
[1196] The last tree to leaf
[1142] Planters in the Spring
[707] A story of goldfish

Subject M162 - Disabled Facilities
[876] Making pages clearer - easy Disability Discrimination Act Compliance
[654] Making use of disabled facilities
[252] A West End show

Subject M200 - Wiltshire
[4702] Up and down TransWilts - some pictures off the rails!
[4084] New Pictures - Melksham Pack Horse Bridge
[3989] Plenty to see and do - even in Winter - on a Well House Manor weekend
[3806] 2011 Census results - initial figures for Wiltshire.
[3800] Fancy a weekend away? Try Well House Manor in Melksham, Wiltshire
[3729] Then and now pictures of Melksham - on show through the summer
[3723] Bank Holiday Monday, so it was pouring with rain.
[3513] Olympic Torch - dates and places in Wiltshire in 2012
[2923] Fresh air and beautiful places in Wiltshire
[2888] Recent Pictures
[2882] Seeing Wiltshire - from a Melksham base
[2750] Views of Wessex
[2713] History is all around us
[2594] Melksham Area - your community view is sought
[2411] Further North - long summer days and lovely countryside
[2288] Wiltshire Community Area Partnerships
[2279] Understanding the new local government structure in Wiltshire
[2176] Balloon Journey in Wiltshire
[2128] Wiltshire - where everybody matters
[1981] Bitter cold
[1859] Wiltshire at dawn - the tourist trail
[1521] Evening drive across the roof of Wiltshire
[1428] Travel Across Wiltshire - the game
[1399] Pictures Framed
[1156] Two by One by Wiltshire
[1129] Golfing, Wiltshire (near Melksham)
[1112] Bank Holiday country breaks in Melksham, Wiltshire
[1106] Spring Pictures
[971] Wiltshire letterboxes
[946] Look around this mouth.
[942] Index of Pictures
[829] Where to go within 30 minutes of Melksham
{osmap.tk} Draw a Tk Canvas using Ordnance Survey data
{game01.php} Choosing start and end points for a game
{tracks.txt} OS data for Wiltshire Public Transport

Subject M201 - Around Melksham, Wiltshire
[4701] Pretty at the station too
[4357] Seeing Christmas Coming to Melksham
[4169] Around and about - Melksham
[4151] Tell me a bit about Melksham
[4145] After the storm
[4141] My pictures of Melksham Carnival, 13th July 2013
[4119] Melksham - Flower Town
[4084] New Pictures - Melksham Pack Horse Bridge
[3962] Melksham welcomes visitors - new blue plaque trail and more
[3960] Picture - between Lacock and Melksham
[3949] Melksham Spa from Woolmore Farm
[3944] Melksham Christmas Lights, 2012
[3897] Autumn scenes from Melksham
[3869] How have Melksham shops changed in 60 years?
[3864] Guest Guide for Well House Manor and Melksham
[3837] Evening behind Melksham Spa
[3822] Town Clean - Melksham
[3771] Fine evening, country walk from Melksham - pictures
[3744] Short Web Addresses for Melksham
[3735] A walk around Melksham this morning. Can you place all of these?
[3720] Melksham ATC - freedom of the town
[3712] Some unpublished and historic pictures - Museum of Melksham
[3704] The Bowerhill Villager - a newsletter for Bowerhill, Melksham
[3703] A Museum for Melksham History. Open from 12th May 2012.
[3697] Events in Melksham - read all about them, and tell us about yours
[3692] Deeper than Art - An exhibition of the tattoo Canvas - Melksham
[3659] Welcome to Melksham - our new communities
[3657] Basham Festival, Melksham, early August 2012 - a welcome
[3656] TrainWest 2012 - 14th and 15th April, Melksham, Wiltshire
[3647] Along the brook - East Melksham to Melksham
[3646] Exploring Melksham with a film maker
[3644] The way of the Prioress - Melksham history pictured today
[3605] Snow comes to Melksham, Wiltshire - pictures
[3569] Images of the new year in Melksham
[3543] Some different pictures from Melksham
[3526] Melksham has a Heart - Montage picture for sale
[3525] Melksham has a heart - come and see the pictures. Sunday, 11 to 3, Assembly Hall
[3520] Quintessentially English - scenes from our Wiltshire town
[3507] Melksham Forward - meeting summary and pictures
[3502] Sunday Evening ... newest and oldest Melksham pictures
[3499] Images of Melksham
[3470] Currently pictured in Melksham
[3389] Plenty to do in Melksham
[3337] Home Grown Pigs, near Melksham Station
[3305] Getting away from the madding crowd - an intercontinental journey
[3266] Easter on the Canal - near Melksham, Wiltshire
[3258] Morning in Melksham
[3248] What have these pictures in common?
[3232] Around and about Melksham in more pictures
[3227] Her favourite store
[3209] Seeing Electricity Pylons near Melksham
[3050] Views of Melksham - November 2010
[3023] Autumn walk from Bowerhill
[2950] Camilla, Duchess of Cornwall, turns first sod in Melksham Link Canal
[2854] Melksham Food and Drink Fair and Town Crier Competition
[2829] Dauncey Gardens, Melksham
[2739] Melksham Scouts
[2716] Melksham in Pictures
[2708] The bull on the footpath
[2691] New brochures for the Melksham area
[2665] Early Spring walk in Melksham
[2588] Freddies Wood and the K and A Canal
[2585] Consultation in Melksham, on Melkshams future
[2528] Melksham Christmas Lights
[2497] Brown horses in Melksham
[2480] Pantomimes around Melksham - 2009/2010 season
[2349] Businesses effected by road works in Melksham
[2329] Great to be in Melksham
[2297] Standing on the corner, Melksham Carnival
[2262] History is not always pretty
[2253] Walks in and around Melksham, Wiltshire
[2175] Melksham in pictures
[2168] In honour of the photograph, I present ... a walk from Reybridge to Lacock
[2142] Riverside Development
[2066] Melksham Industrial
[2064] East of Melksham Countryside
[2043] Confidence, Customer Service and Tourism in Melksham
[2008] The Month Ahead - What is happening in Melksham
[1986] Walk to Bowerhill
[1977] Going round the block
[1928] Melksham Oak Community School, Melksham, Wiltshire
[1451] More PHP sample and demonstration programs
[1436] A little touring help during a business trip to England
[1368] Getting the local voice heard
[1360] Asda in Melksham - Welcome or not?
[1343] Melksham Laundrette
[1341] Moving to Melksham? Househunting map.
[1330] While waiting for Melksham Post Office
[1271] Till the cows come home
[1266] Party in the Park
[1206] Where and When - can you place the picture?
[1177] Sorting out for a site map
[1137] Wiltshire Circles
[1117] Newport Male Voice Choir
[977] Melksham and Norwich
[957] Improving the historic town of Melksham
[929] Presenting Melksham - for a weekend away in Wiltshire
[879] Tuesday night is party night
[866] A lazy programmer is a good programmer
[847] Image maps for navigation - a straightforward example
[830] Butterflies in a Wiltshire garden
[811] Melksham in Bloom
[805] Melksham Carnival Parade
[676] Melksham, Wiltshire
[437] Outside of the box
(article) It's easy to get to Melksham, and there's things to do!

Subject M202 - West Wiltshire
[4653] Coats of arms - towns and authorities in Wiltshire
[4623] Rambling from Westbury
[3722] Walking by the wiver
[3641] Swindon to Trowbridge - transport and travel options
[3498] Which West Wilts Town? A picture quiz for you
[3493] West Wilts Rail User Group - Walk yesterday from Bradford-on-Avon to Trowbridge
[3216] Images of a Spring Walk
[3195] Sunny day - Clanger and Picket Woods, Shearwater, and Westbury
[2852] Atworth Village Fete - on the Melksham Community Area Partnership stand
[2709] Old trackways and routes near Melksham
[2677] Blowing out the winter cobwebs
[2305] Hot Tap at West Wilts Show
[2302] See us at the West Wilts Show
[2224] Trowbridge - a missed opportunity? Melksham - into the breach?
[2142] Riverside Development
[2131] Patterns in street names
[1834] Seend, near Melksham, Wiltshire
[1710] At the Westbury Bypass Enquiry
[1583] Businesses in West Wiltshire - networking
[1252] Westbury Bypass - how it would effect Melksham
[1154] As I came back from Tesco
[1103] Dilton Marsh
[1030] Hotel for Trowbridge
[938] Bratton and Edington new town, Wiltshire
[929] Presenting Melksham - for a weekend away in Wiltshire
[880] Celebration circles
[842] Dramatic Skys at Longleat
[840] Computers, Brides and Cream Teas
[814] Melksham Railway Calendar 2007
[812] Minimal Signage
[804] The Courts, Holt
[713] Pictures from my travels

Subject M203 - North Wiltshire
[4653] Coats of arms - towns and authorities in Wiltshire
[3341] Farewell to the Hercules?
[3267] Reybridge, Easter Monday
[3207] Lambing at Lackham
[3206] Wiltshire College / Lackham College - the animals
[2819] Some more pictures ...
[2685] Stairs
[1625] Box from end to end
[1512] Summer Ball at Bowood - Saturday 12th July 2008

Subject M204 - Salisbury District
[4653] Coats of arms - towns and authorities in Wiltshire
[4622] Frosty morning, beauty of Wiltshire
[3723] Bank Holiday Monday, so it was pouring with rain.
[3709] Queen to visit eight Wiltshire areas - will she know what she misses in the other 13 areas?
[3642] Wiltshire Travel Times - Chippenham, Trowbridge, Salisbury and other places too
[2473] Exploring Old Railways
[2453] Dark to dark
[1652] Old Sarum airfield brings back fond memories
[1398] Someone else's wedding
[1128] Avon Vale hunt at the Point to Point
[1127] A day at the races
[880] Celebration circles
[833] Old Wardour Castle
[325] Gone Racing - Larkhill, Wiltshire

Subject M205 - Kennet District
[4653] Coats of arms - towns and authorities in Wiltshire
[4233] Open for the new year - Imber
[3482] Taking a boat down Caen Hill Locks
[3382] What is the picture?
[3376] Kennet and Avon - Walk from Bedwyn to Pewsey. TransWilts day out.
[3284] What to do in the evening during a Tcl course
[2830] Poulshot Village Fete
[2687] A lovely spring afternoon
[2443] Contrasting Cambridge, Bristol and Wiltshire
[2362] Thornham Farm Shop, Seend Cleeve, nr Melksham
[2146] An evening excursion to Devizes and Avebury
[1916] Why I remember East Grafton
[1846] Old Piles of the South West
[1842] Lua Course, and the Wiltshire Countryside too
[1830] Caen Hill and Olivers Castle
[1640] Walking on The Wiltshire Downs
[1635] Spring in Devizes
[1346] Evening, Devizes and Sells Green
[1071] Making a mountain out of a molehill
[1070] Java Deployment course - lunch break
[935] Autumn leaves in Wiltshire - Potterne
[865] Catching the slope
[861] Ballooning from Devizes
[854] Morgans Hill
[825] Pictures of the Vale of Pewsey
[824] Pictures of Avebury, Longleat and Dyrham
[809] What to do during a Linux build
[670] Architectural Heritage - Devizes

Subject M206 - Swindon
[4702] Up and down TransWilts - some pictures off the rails!
[4653] Coats of arms - towns and authorities in Wiltshire
[4265] A lovely meal in Swindon - just a short walk from the station
[3860] Melksham to Steam in Swindon, by train - great day out
[3641] Swindon to Trowbridge - transport and travel options
[1130] Science Museum - larger exhibits / store, Wroughton, Swindon
[1078] Wiltshire - multicultural community
[958] Plain Ole nice pictures
[950] Python and the Magic Roundabout
[793] The Wilts and Berks Canal

Subject M207 - Bath and North East Somerset
[3247] Light and dark at Green Park
[2237] Taking a pride in the community
[1930] Bath Christmas Market
[1851] Pictures from a delegate
[1822] Claverton Pump
[1821] Autumn
[1723] Bath - Melksham - Devizes. Bus route changes, new timetable
[1662] Westonbirt Arboretum Postcode
[1612] Comfy Chair - Floating Harbour, Bristol
[1611] Gauging point at entrance to Bristols Floating Harbour
[958] Plain Ole nice pictures
[929] Presenting Melksham - for a weekend away in Wiltshire
[848] Bath - a tourist city on our doorstep
[824] Pictures of Avebury, Longleat and Dyrham
[680] Letter Boxes

Subject M208 - Mendip - North Somerset
[3884] Pictures - across the park, French Weir and River Tone, Taunton
[2664] Oliver Cromwell at Bristol Temple Meads
[1846] Old Piles of the South West
[1609] Chew Valley Lakes
[1291] Day trip to Weymouth
[1218] Sunday afternoon
[1118] Origin of Jack and Jill and little Jack Horner

Subject M300 - Behind the scenes
[4365] The changing face of Christmas
[4302] Sunday is never quiet at Well House Manor
[3961] Well House Staff Party
[3844] Rooms ready for guests - each time, every time, thanks to good system design
[3743] Sunday - no longer a day of rest
[3093] How many toilet rolls - hotel inventory and useage
[2961] Initial handling of phone calls and walk in visitors
[2960] The Well House team - September 2010
[2916] Testing the robustness of our hotel and training systems - holiday and sickness times
[2910] Robust - testing the system
[2396] Easing off in our 50s?
[2247] A day in the life of a hotelier
[2125] We have lost a regular business guest
[1991] Rules for a King
[1973] Required Request
[1957] Why are cooks bad tempered?
[1948] Blame Culture
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1900] Table Topics
[1854] Three Seasonal Pictures
[1637] Providing exceptional service - and carrying on doing so.
[1571] Await guests in the early hours
[1520] Terms and Conditions - Hotel, England - plain English
[1515] Keeping staff up to date on hotel room status
[1490] Software to record day to day events and keep an action list
[1441] On cancellations, rebooking, and pricing schemes
[1371] Hotel in Melksham at Christmas
[1369] One business, four different angles!
[1319] Customer feedback - lifeblood of a business
[1311] What do people look for on a hotel web site?
[1285] In the army, or in civvie street?
[1189] Meet, greet and welcome
[1179] Sizing sheets and other domestic issues
[1159] It can take more that one plus one to get two.
[1105] A week is a long time in the life of a conference centre
[1083] Behind the scenes
[1000] One Thousand Posts and still going strong
[951] What happened at Geekmas
[939] Swipe cards for hotel rooms - Security issues
[931] Before and After - Well House Manor
[927] Hotel door furniture
[897] Too much for the National Trust
[868] Smoking, or no
[813] Monday Morning at Well House Consultants Melksham
[769] King Edward VII - days of empire
[742] A visit from the solicitor
[677] Sympathetic development
[203] Holes in on line information
(article) From Day Hotel to Hotel - not such a big change
{toiletrolls.pl} How many toilet rolls per day does our hotel use?

Subject M301 - The Well House Manor team
[4227] Happy Christmas from the Well House Manor team
[4004] Annual Accounts - a big job for a small business
[3988] Three cheers for the staff at Well House Manor
[3871] On getting noticed for the right reasons when you ask about job availability
[3425] Our National Autograss Champion, from Melksham
[3312] Are you cheerful, reliable and available on Saturday mornings?
[3201] A change to the Well House team - thank you and good luck, Chris
[2952] Concluding the interview process
[2946] Level playing fields, job vacancies, lemons and peaches
[2938] An opportunity to join our team!
[2924] Job applicants - wondering why they apply
[2037] The Interview and The Lift
[2027] Who sticks by you in the snow?
[2021] Short health and safety course
[1927] Team changes at Well House - looking forward
[1839] Job application
[1805] Carlisle High School - Class of 1973 Reunion
[1585] Well House Consultants / Manor - Staff
[1580] Congratulations, Martin and Marta
[1324] Well House Manor appoints a General Manager
[1083] Behind the scenes
[1065] Graham Ellis - an Introduction
[1002] Meet the neighbours
[972] Both one team and two
[895] Welcome, Martin
[849] Staff Meeting

Subject M302 - Networking with other businesses
[3521] Emergency First Aid at Work (HSE) training in Melksham - places available for 19.1.2012
[2793] They do weddings, we do courses.
[2127] Call in the professionals!
[2008] The Month Ahead - What is happening in Melksham
[1760] An opportunity for something new

Subject M350 - Well House Manor - project diary
[4739] A year of changes for Lisa and Graham Ellis, and Well House
[4012] A course is not just for a year - its for a career
[3968] Expecting nothing, but prepared for anything
[3963] National TV - Melksham - 9th January 2013, Pre-alert.
[3847] The Accidental Hotelier
[3645] Keeping our hotel looking like new, by using our gained experience
[3585] The changing Hotel and Bed and Breakfast business in Melksham
[3014] Well House Manor - the next six years
[1975] Well House Manor Hotel - on plan for 2009 business guests
[1211] A lot has happened in a year
[1098] Three big events - TWSW, Business of the year and the police
[1087] Telling a story in different ways
[1069] Rail trouble forced me to buy hotel
[941] Snagging
[932] A tale of a wee wall
[931] Before and After - Well House Manor
[902] Brand new hotel and training centre, Melksham
[894] Where quality costs less
[890] Open
[881] Coming together.
[862] 4 weeks to go
[858] From the Manor written
[855] Fitting our bathrooms
[844] Hotel, Melksham, Wiltshire
[816] Above the parapit, Well House Manor
[776] Naming Rooms
[756] Seeing the bricks for the trees
[744] We can offer a room, but we can't operate on a dog
[739] The eye
[721] Residential
[720] Planning a hotel refurb - an example of a Gant chart in PHP
[677] Sympathetic development
[571] Well House Manor
[555] Hotel novelties
[550] 2006 - Making business a pleasure

Subject M400 - The Hospitality Business
[4613] Our best hotel customers help us ... to help them ... be our best customers.
[4603] Happy New Year. Our customers are our ambassadors
[4543] Saturday morning at Well House Manor
[4521] Should we get an AA or Visit Wiltshire hotel assessment?
[4321] Are administration / review charges on hotel guests acceptable?
[4232] Not wanted here - hotel guests who will not be happy
[4202] Excellent Railfuture conference, but some setup lessons
[4051] On reading a new hotel review
[4033] Official Star ratings for hotels - still worth having?
[3988] Three cheers for the staff at Well House Manor
[3909] Every Customer Counts
[3838] Guest review - Well House Manor, Melksham
[3832] A busy day at Well House Manor - so come in and make it even busier!
[3743] Sunday - no longer a day of rest
[3660] A Pivotal Incident - learning how to welcome your guests
[3309] Tipping Policy - Well House Manor
[3164] Brown - or Mrs Sally Brown, accountant from Whitstable?
[3147] Hotel star ratings - towards a better system of review
[2936] The service that customers should receive
[2879] Night Porter and reception - 24 hours a day?
[2724] Escapee Grandparents welcome - Henfield and Melksham
[2593] Food and drink launch
[2303] Turning potential customers away
[2283] Everyone is in the customer relations business
[2007] Launch of Melksham Food and Drink Festival
[1877] Guests doing a bunk?
[1792] All the pieces fall into place - hotel and courses
[1622] An extra step - victory from defeat
[1548] Hotelympia - show report - the lighter side
[1445] Looking after you Christmas Customer Crowds
[1422] Wiltshire - speaker / after dinner talker offer
[1421] Castle Lodge Hotel, Ely, Cambridgeshire
[1284] An update on the West Wilts show ...
[1248] How NOT to oversell a hotel
[1180] Conjugation
[1161] A contrast in room rates and facilities
[1122] Hotel - online feedback forms compared
[1108] Express service
[1084] Writing terms and conditions for conferences and other events
[1048] Getting rid of people - hotel techniques
[1046] Bounce, bounce, bounce
[1002] Meet the neighbours
[988] You should think you're first in a hotel room
[922] Staying at your own hotel
[884] Drive time
[774] Bed and Breakfast, or Hotel?
(article) From Day Hotel to Hotel - not such a big change
(article) Creating Really Memorable Experiences

Subject M401 - Seeing how others do it
[4443] Seventh stay away this year - and it's still only February!
[4373] A long and disappointing evening
[4348] Taking my life in my hands in Swansea
[4321] Are administration / review charges on hotel guests acceptable?
[4255] Making a personal gain from a more expensive business hotel stay
[4245] It always happens to me when I'm in Borehamwood!
[4177] Setting and publishing your hours to suit your customer base
[4109] What might you find at a tiny bed and breakfast?
[4093] More things to make sure that we do NOT do ...
[4091] A reminder of why we opened Well House Manor for our customers
[4081] Pushing down the advertised price, pushing up the total price charged.
[4058] The highs and lows of customer service - Cheltenham
[3975] Being an amateur hotel inspector helps me run a professional hotel
[3970] Comparing four VERY different places to stay
[3963] National TV - Melksham - 9th January 2013, Pre-alert.
[3900] The Xxxxx Guest House in Xxxxxxxxxxx - my stay reviewed
[3794] Should hotel staff sit on the toilet in the customer bedrooms?
[3776] Some traps it's so easy to fall into in designing your web site
[3754] Eyes Wide Open
[3368] Well House Manor hotel, Melksham - recommended to you by our customers
[3333] Honesty and a friendly welcome goes a long way
[3054] Longhope Hotel
[2911] Feeding the Grockles
[2885] Twenty Questions
[2502] Monday night, Tuesday night
[2441] Not your cup of tea?
[2413] Sanity checking the price, and selling up to increase income
[2311] Floor to ceiling
[2308] A new place in pictures
[2127] Call in the professionals!
[2105] Hire Car, from Atlanta Airport
[2007] Launch of Melksham Food and Drink Festival
[1915] Quietly putting prices up
[1758] Lindors Hotel, near St. Briavels, Wye Valley
[1672] The Composting Cone Challenge
[1597] Comparing hotels - as a guest and from the proprietors view
[1547] New bathing idea for hotels from Hotelympia
[1525] Just one thing let the service down - but that is my memory
[1458] The wrong way to put up prices
[1454] From Sunday to Monday, from Melksham to the Balkans
[1413] The little gestures that can really count
[1406] Away or home - which do I prefer?
[1374] Maidenhead Coffee Challenge
[1356] Crystal Ball - How long do I need to be online?
[1354] Match the Bedroom to the Hotel
[1347] Wireless Internet Access at hotels - an update and some pitfalls
[1333] Kasteel Elsloo - Michelin rated hotel.
[1301] Plastic or China
[1287] Work and play at Well House Manor - Football and Shell Shortcuts
[1205] Arrival and Departure experiences - another hotel
[1091] The Psyche is all wrong.
[1026] The Wheatsheaf 2, The Bell 0
[1011] Well House Manor and Beechfield House, Hotels, Melksham
[966] CSL, KISS and RTFM
[736] New Tape Librarian
[714] Room for Octopuses
[699] Extremes costs of getting on line
[693] The on line booking experience
[619] If its Sunday, it must be the Norland
[514] Crazy Day-sies
[17] Differing tastes

Subject M402 -
[3024] Testing the new pavement ready for Christmas

Subject M444 - Four in a Bed
[4474] Effect on external factors on traffic to our web sites - an update
[4468] Four in a Bed - most popular answers
[4241] Four in a Bed - the story continues
[4232] Not wanted here - hotel guests who will not be happy
[4204] With the Shpigs and Donkeys
[4156] A further chance to see Melksham on TV
[4147] A hidden hotel gem in Melksham
[4138] Should a hotel accept guests who book for just one night?
[4112] Really good friends - four in a bed!
[3984] 20 minutes in to our 15 minutes of fame
[3977] A variety of continental breakfasts
[3975] Being an amateur hotel inspector helps me run a professional hotel
[3973] Well House Manor on Four in a Bed - the ongoing story
[3972] Four in a Bed - comment on results
[3971] The Experience
[3970] Comparing four VERY different places to stay
[3968] Expecting nothing, but prepared for anything
[3965] Well House Manor, Melksham - on national TV next week
[3962] Melksham welcomes visitors - new blue plaque trail and more
[3948] Quiet little town? Advanced Technology Centre?
[3933] Behind Melksham Spa - Mood Mist over wet fields.
[3924] The bedrooms at Well House Manor
[3864] Guest Guide for Well House Manor and Melksham

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

P: Perl programming and use

Overview P050 - Perl - General
[4301] Perl - still a very effective language indeed for extracting and reporting
[4296] Polishing the Perl courses - updated training
[3911] How well do you know Perl and / or Python?
[3902] Shell - Grep - Sed - Awk - Perl - Python - which to use when?
[3823] Know Python or PHP? Want to learn Perl too?
[3407] Perl - a quick reminder and revision. Test yourself!
[3332] DNA to Amino Acid - a sample Perl script
[3322] How much has Perl (and other languages) changed?
[3093] How many toilet rolls - hotel inventory and useage
[2971] Should the public sector compete with businesses? and other deep questions
[2825] Perl course - is it tailored to Linux, or Microsoft Windows?
[2783] The Perl Survey
[2736] Perl Course FAQ
[2504] Learning to program in ...
[2374] Lead characters on Perl variable names
[2242] So what is this thing called Perl that I keep harping on about?
[2228] Where do I start when writing a program?
[1897] Keeping on an even keel
[1750] Glorious (?) 12th August - what a Pe(a)rl!
[743] How to debug a Perl program
[400] New in the shops
[116] The next generation of programmer
(article) "Perl - I didn't know you could do that"

Module P201 - Introduction
[2832] Are you learning Perl? Some more examples for you!
[2812] What is Perl?
[2070] Converting to Perl - the sort of programs you will write
[1852] Perl and Blackberries
[1753] Perl v PHP, choosing the right language
[1717] Q - Should I use Perl or Python?
[924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl
[846] Is Perl being replaced by PHP and Python?
[743] How to debug a Perl program
[691] Testing you Perl / PHP / MySQL / Tcl knowledge
[629] Choosing the right language
[604] Perl - multiprocess applications
[594] Twice is a co-incidence and three times is a pattern
[577] Learning to program in Perl or PHP
[382] Central London Courses - Perl, PHP, Python, Tcl, MySQL
[317] Programming languages - a comparison
[25] Release numbers
(article) New to programming. Portable code. Perl or Java?
{pex3} Same thing - sorted!
{urler} Splitting out a URL
{pex4} Short Perl program ... XML output
{pex2} Extended end of day one demonstration
{calc} Command line / STDIN Perl calculator
{pear_ex} A short program to handle substantial data
{whc.pm} Sample standard set of subroutines to share between applications
{s_c3} Screen Counter demo - look for RasterFlex boards
{talker} Simple talker written in Perl

Module P202 - Perl Fundamentals
[4324] Learning to program - variables and constants
[3917] BODMAS - the order a computer evaluates arithmetic expressions
[3574] Perl functions such as chop change their input parameters
[3542] What order are operations performed in, in a Perl expression?
[3398] Perl - making best use of the flexibility, but also using good coding standards
[3329] Perl from basics
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java.
[3102] AND and OR operators - what is the difference between logical and bitwise varieties?
[3059] Object Orientation in an hour and other Perl Lectures
[2876] Different perl examples - some corners I rarely explore
[2832] Are you learning Perl? Some more examples for you!
[2442] Variable storage - Perl, Tcl and Python compared
[1946] Variable Types in Perl
[1826] Perl - Subs, Chop v Chomp, => v ,
[1726] Hot Courses - Perl
[1448] Question on division (Java) - Also Perl, PHP, Python ...
[1312] Some one line Perl tips and techniques
[748] Getting rid of variables after you have finished with them
[184] MTBF of coffee machines
{hello} "Hello World"
{av2} average of 2 ages, shows precedence and string to number conversions
{rw2} Using chop to get rid of the newline
{average} Calculate and print average of 2 ages
{read_write} Read a value, calculate, output an answer
{chopin} Read from user, write to screen WITH FAULT
{bod} Precedence of operators
{mfrp} Plan ahead - write the comments first
{ages} compare two ages
{one_line} two names are echoed back on one line
{codemo} Coercion - i.e. silent data type conversion
{bmi2} First Practical Program - including comments and documentation
{poor} A program that does something unexpected
{couple} reads two names and echos them
{yikes} chop - altered incoming value and returned value
{greeting} prompt and read user input
{wrong} A program with a syntax error
{language} Perl language fundamentals - example
{hello_again} Performing one action after another - a sequence of statements

Module P203 - More about the Perl Environment
[2876] Different perl examples - some corners I rarely explore
[1865] Debugging and Data::Dumper in Perl
[748] Getting rid of variables after you have finished with them
[743] How to debug a Perl program
[328] Making programs easy for any user to start
(article) Parrot - Perl's new Virtual Machine
{assume} Perl assumes empty variables
{rw2} read, calculate, print results (2)
{d2} Prompt, read, chop and echo with comments, warnings and POD documentation
{symbols.pm} Package used within simple perl example
{rw3} Calculate, using a module

Module P204 - Conditionals and Loops
[4323] Learning to program - Loop statements such as while
[4322] Learning to Program - the conditional statement (if)
[4031] Showing what programming errors look like - web site pitfall
[3895] Flowchart to program - learning to program with Well House
[3397] Does a for loop evaluate its end condition once, or on every iteration?
[3004] Increment operators for counting - Perl, PHP, C and others
[2832] Are you learning Perl? Some more examples for you!
[2711] For loop - checked once, or evety time? Ruby v Perl comparison and contrast
[2550] Do not copy and paste code - there are much better ways
[2351] Ternary operators alternatives - Perl and Lua lazy operators
[1727] Equality and looks like tests - Perl
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1607] Learning to program in Perl
[1477] Decisions - small ones, or big ones?
[1468] Lexical v Arithemetic testing, Bash and Perl
[1191] Smart English Output - via PHP and Perl ? : operator
[930] -> , >= and => in Perl
[353] Wimbledon Neck
{d2r2} Illustration of looping to process a series of values, accumulating totals
{summer} Answer to practical (reading and summing numbers)
{ask} if, elsif and else (right)
{readandtotal} Reading and totalling numbers - sample answer
{bmi4} bmi demonstration with loops
{nask} if, elsif and else (wrong use of =)
{lp1} Blocks within blocks
{d2r1} Illustration of looping to process a series of values
{din} Use of shorthand operators
{dinners} nested blocks - loops and conditionals
{bmi3} Demonstration with conditionals
{bitwise} Demonstration of bitwise and logical operators
{lp2} Blocks within blocks (shows \ protection)
{numbers} how to write numeric constants
{condition} if and if - else; blocks.
{looper} while loop

Module P205 - Initial String Handling
[3770] Sample answers to training course exercises - available on our web site
[3548] Dark mornings, dog update, and Python and Lua courses before Christmas
[3547] Using Perl to generate multiple reports from a HUGE file, efficiently
[3411] Single and double quotes strings in Perl - what is the difference?
[3005] Lots of ways of doing it in Perl - printing out answers
[2963] Removing the new line with chop or chomp in Perl - what is the difference?
[2832] Are you learning Perl? Some more examples for you!
[2816] Intelligent Matching in Perl
[2798] Perl - skip the classics and use regular expressions
[1860] Seven new intermediate Perl examples
[1849] String matching in Perl with Regular Expressions
[1608] Underlining in Perl and Python - the x and * operator in use
[1195] Regular Express Primer
[987] Ruby v Perl - interpollating variables
[970] String duplication - x in Perl, * in Python and Ruby
[324] The backtick operator in Python and Perl
[254] x operator in Perl
[31] Here documents
{pattern} Regular expression learning tool
{heredoc} Use of a here document for copyright block
{pig} Regular expression - first example with anchors, literals, groups, and counts
{sc} Case insensitive comparison
{proper} Case changes on string
{chx} Comparison of chop and chomp
{stringers} Strings in Perl
{lms} comparing . and ,
{perlstring} Ways of writing strings in Perl
{bticks} backtick operator - runs an operating system command
{finsent} Trimming a sentence
{im10} Intelligent match on scalars
{dqs} Single, double and back quotes
{pfilter} Filter roads.xyz to match a pattern
{eqt} Numeric, String and match comparisons
{singlename} regex to look for a single name
{fil_tar} Filtering a log file for 'lua'
{prop2} Using double quoted strings to change case
{pws} Use of eq rather that == for string comparison
{xz} Printing out variable contents with labelling text
{greeting} use of x operator
{romance} Quoted strings, qq strings and here documents
{prop3} single and double quotes, q and qq strings
{plook} Simple example of reading and filtering a data file
{cs} Exercise answer - completing a sentence
{pf2} Filter roads.xyz to match a pattern (using open or die)
{izit} ~~ =~ eq and == operators compared
{deepmidwinter} Course exercise - sample answer
{midwinter} Course exercise - sample answer
{autumn} Sample answer - course exercise
{fd} Delimiting a variable name
{firststring} low level string functions demonstrated
{winter} Course exercise - sample answer

Module P206 - More Loops and Conditionals
[3914] While, for, foreach or something else to loop.
[3619] Ruby v Perl - a comparison example
[3398] Perl - making best use of the flexibility, but also using good coding standards
[3200] How a for loop works Java, Perl and other languages
[2972] Some more advanced Perl examples from a recent course
[2967] Multiway branches in Perl - the given and when syntax
[2892] Alternative loops and conditionals in Ruby and Perl
[2832] Are you learning Perl? Some more examples for you!
[2824] A pint of Black Rat, and a lazy barman
[2817] Setting a safety net or fallback value in Perl
[2815] switch and case, or given and when in Perl
[2711] For loop - checked once, or evety time? Ruby v Perl comparison and contrast
[1825] Question Mark - Colon operator (Perl and PHP)
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1582] Ruby, C, Java and more - getting out of loops
[1220] for loop - how it works (Perl, PHP, Java, C, etc)
[1191] Smart English Output - via PHP and Perl ? : operator
[962] Breaking a loop - Ruby and other languages
[657] The ternary operator in Python
[299] What - no switch or case statement?
[138] Perl - redo and last without a loop
{eloop} Labelled block style of loop
{throwz} Sample answer - throwing a die
{tel4} Usin the ? : operator instead of if and else
{telegram} if and else example
{mls} Knock out Competition - how many teams?
{golf} Knockout competition - how many teams / players needed?
{swit} Use of label to mimic a switch
{g4} String formatting, conditionals and loops
{qc} while loop, rewritten as for loop
{power} inverted until loop example
{p023.c} read an array of numbers from a text string
{forloop} Good and bad examples of a for loop
{jumps} demonstration of next, last and redo
{safety_net} The // defined or operator
{bip} Different conditionals and comparisons
{dunt} A do ... until loop - reprompt until you get valid input.
{andor} and, or, &&, || - precendence
{dice} Sample answer - rolling a die
{pswit} given and when - a switchlike syntax
{iffy} Read - calculate - conditional - output
{tel2} unless, and if and unless written in reverse
{tae} Checking user input
{given_demo} given (Perl 5.10 onwards)
{tel3} Conditional operators "and" and "or"
{lazyops} Lazy and and && operators
{jump2} Using a label in Perl to jump out of nested loops
{qc2} use of triadic operator
{dowhile} a while loop that runs at least once
{jumps2} Using a label in Perl to jump out of nested loops

Module P207 - File Handling
[3839] Spraying data from one incoming to series of outgoing files in Perl
[3830] Traversing a directory in Perl
[3548] Dark mornings, dog update, and Python and Lua courses before Christmas
[3326] Finding your big files in Perl - design considerations beyond the course environment
[2833] Fresh Perl Teaching Examples - part 2 of 3
[2821] Chancellor George Osborne inspires Perl Program
[2818] File open and read in Perl - modernisation
[2405] But I am reading from a file - no need to prompt (Perl)
[2233] Transforming data in Perl using lists of lists and hashes of hashes
[1861] Reactive (dynamic) formatting in Perl
[1860] Seven new intermediate Perl examples
[1841] Formatting with a leading + / Lua and Perl
[1709] There is more that one way - Perl
[1467] stdout v stderr (Tcl, Perl, Shell)
[1442] Reading a file multiple times - file pointers
[1416] Good, steady, simple example - Perl file handling
[1312] Some one line Perl tips and techniques
[1312] Some one line Perl tips and techniques
[867] Being sure to be positive in Perl
[702] Iterators - expressions tha change each time you call them
[618] Perl - its up to YOU to check your file opened
[616] printf - a flawed but useful function
[255] STDIN, STDOUT, STDERR and DATA - Perl file handles
[114] Relative or absolute milkman
[12] How many people in a room?
(article) Writing to and reading from files
{newread} <> v readline
{biggy} Finding huge files
{legacy} Divide money between children and print neatly
{christmas} Formatted printing - splittin money between the grandchildren
{tin} Filter and reformat a data file
{perlwget} Running an OS command from within a Perl script
{sp} Formatted printing
{procmon} Process monitoring - demonstration of principle
{reporter} file status operators -x and -s
{costa} Output file handles, open, and defaults
{leedspark} alternative answer to practical at end of module
{paut} Piping a ping into your program
{wacsal} Re-active formatting
{forvat} Formatting strings and numbers
{sswd} Directory parsing, formatting data read
{park} Sample answer to "the park" exercise
{bridges} sample answer - town with Bridges in name
{pe2rl} Single parse of data, multiple reports generated
{addplus} Formatter - adding a leading plus
{ck} Splitting money many ways - formatted printing
{fsv} File open, read, write test example
{fan} One input and five output files in a single program
{fprint} Formatted printing - some specifier details
{piper} Use of file handles to pipe from and to processes
{ddd} Splitting and reformatting data

Module P208 - Lists
[4609] Mapping an array / list without a loop - how to do it in Perl 6
[3939] Lots of ways of doing the same thing in Perl - list iteration
[3906] Taking the lead, not the dog, for a walk.
[3870] Writing more maintainable Perl - naming fields from your data records
[3669] Stepping through a list (or an array) in reverse order
[3548] Dark mornings, dog update, and Python and Lua courses before Christmas
[3400] $ is atomic and % and @ are molecular - Perl
[2996] Copying - duplicating data, or just adding a name? Perl and Python compared
[2833] Fresh Perl Teaching Examples - part 2 of 3
[2813] Iterating over a Perl list and changing all items
[2484] Finding text and what surrounds it - contextual grep
[2295] The dog is not in trouble
[2226] Revision / Summary of lists - Perl
[2067] Perl - lists do so much more than arrays
[1918] Perl Socket Programming Examples
[1917] Out of memory during array extend - Perl
[1828] Perl - map to process every member of a list (array)
[1703] Perl ... adding to a list - end, middle, start
[1316] Filtering and altering Perl lists with grep and map
[1304] Last elements in a Perl or Python list
[968] Perl - a list or a hash?
[928] C++ and Perl - why did they do it THAT way?
[773] Breaking bread
[762] Huge data files - what happened earlier?
[622] Queues and barrel rolls in Perl
[560] The fencepost problem
[463] Splitting the difference
[355] Context in Perl
[240] Conventional restraints removed
[230] Course sizes - beware of marketing statistics
[140] Comparison Chart for Perl programmers - list functions
[28] Perl for breakfast
(article) Data Monging
(article) Context - List, scalar and double quotes
{lx} $ atomic, @ molecular
{404h} Exercise answer - looking for all "404" accesses from certain hosts
{fanlist} List functions such as chomp and push in use
{dmore} dicey list sample answer
{linelen} Using a list to count records of various lengths
{prog.pl} Iterating through a list
{prog2.pl} mapping a list, iterating a list with your own counter
{towns.xyz} Data file - list of States, Towns, Countries etc
{vgrep} Verbose grep - illustration of list slices
{im2} Using ~~ to match lists (arrays)
{prg} Lottery selection
{c1} Context, and splitting a list into named scalars
{booklook} chomp, grep, split, unshift and join example
{salad} setting up lists, looping through lists, list slices
{dins} Demonstration of some facilities of lists
{back} Setting up, using and looping through a list
{li1} First example of a list
{404hunter} Look for all "error 404" pages from certain hosts.
{yumyum} Elegant Context Demo
{dow} Anonymous list example
{cont2} List, scalar and double quote contexts
{odd} Shuffling a list
{ctx} Lists and contexts
{sal2} Context examples
{grepplus} grep altering the incoming list
{li2} looping through a list
{escape} naming list members
{gm} grep to comb, map to alter
{context} context demonstration
{lat.pl} copy a list - duplicates it
{sameness} File Comparison

Module P209 - Subroutines in Perl
[3833] Learning to use existing classes in Perl
[3574] Perl functions such as chop change their input parameters
[3066] Separating groups of variables into namespaces
[2929] Passing a variable number of parameters in to a function / method
[2833] Fresh Perl Teaching Examples - part 2 of 3
[2550] Do not copy and paste code - there are much better ways
[2069] Efficient calls to subs in Perl - avoid duplication, gain speed
[1921] Romeo and Julie
[1860] Seven new intermediate Perl examples
[1850] Daisy the Cow and a Pint of Ginger Beer
[1826] Perl - Subs, Chop v Chomp, => v ,
[1784] Global - Tcl, PHP, Python
[1782] Calling procs in Tcl and how it compares to Perl
[1202] Returning multiple values from a function (Perl, PHP, Python)
[1163] A better alternative to cutting and pasting code
[969] Perl - $_ and @_
[775] Do not duplicate your code
[588] Changing @INC - where Perl loads its modules
[531] Packages in packages in Perl
[357] Where do Perl modules load from
[308] Call by name v call by value
[96] Variable Scope
{valread.pm} standard subroutines to include in several programs
{mysub} calling a subroutine in the same file
{ct2} Coverage test - application using coverage objects
{mailfilter.pm} package to encapsulate information - NOT really objects.
{mc2} using email objects
{standardstuff.pm} Standard and repeated code - in own file
{utils.pm} Standard functions - tipsy demo
{bandq.pm} package with "romeo" example
{substamp} Sample use of subroutines
{melkservice} First use of training class
{coverage.pm} Routines to combine integer ranges to provide overall coverage information
{covertest} Sample application - coverage test given ranges of integers
{mailister2} including package name in package methods
{ua.pm} Identify whether a web access record is from a spider
{train.pm} Class for training - first use
{email.pm} email class of objects - a very simple class
{control} Example of how you should NOT repeat code
{bridges.pm} subroutines called up from example applications
{subgnrange} Passing parameters in and out of subroutines
{subby} repeated code in a sub
{funcall} passing a hash to a sub
{splitty} using subs to avoid repitition
{tipsy} Calling in a module from you Perl program
{romeo2} Answer to Romeo and Juliet question
{mc} Email analysis via a package
{tip1} Parameters in and out of a sub
{future} Using a class in Perl
{courses.pl} Sample (test) program to try out a diary
{ms2} calling subroutines in a different file
{myvar} Use of my to reduce variable persistance and scope
{mf2.pm} package of subroutines for mailfilter2
{cov2.pm} Coverage as a class. Allows multiple parallel coverage sets!
{l2} lists / context demo
{tip2} passing data in and out of subs
{diaryev.pm} Sample class for courses.pl demo
{scope} Scope - our, my and local
{subgetnum} Sample use of subroutines - returned parameters
{romeo} Romeo and Julie - solution
{maillister} using a module to retain information
{globvar} demonstration that variables default to global

Module P210 - Topicalization and Special Variables
[4700] Obfurscated code - it might work, but is it maintainable?
[4682] One line scripts - Awk, Perl and Ruby
[4395] Preparing data through a little bit of Perl
[4301] Perl - still a very effective language indeed for extracting and reporting
[3449] Apache Internal Dummy Connection - what is it and what should I do with it?
[2972] Some more advanced Perl examples from a recent course
[2876] Different perl examples - some corners I rarely explore
[2833] Fresh Perl Teaching Examples - part 2 of 3
[1922] Flurinci knows Raby Lae PHP and Jeve
[1860] Seven new intermediate Perl examples
[1829] Dont bother to write a Perl program
[1728] A short Perl example
[1705] Environment variables in Perl / use Env
[1704] Finding operating system settings in Perl
[1508] How not to write Perl?
[1444] Using English can slow you right down!
[1289] Pure Perl
[1232] Bathtub example
[1221] Bathtubs and pecking birds
[1136] Buffering output - why it is done and issues raised in Tcl, Perl, Python and PHP
[969] Perl - $_ and @_
[639] Progress bars and other dynamic reports
[493] Running a Perl script within a PHP page
(article) The wonders of Perl
{shhh} script to run on every line of a file
{johnny.vegas} Output from select demo
{topic1} Variable used many times - candidate for topicalisation
{shh} Counting Unique visitors in a log file
{rqu} Use of awk-like options with Perl
{topper} File handle <>
{bcv} Use of @ARGV command line and $_
{top3} Further use of $_
{oddgrep} Using grep and map with $_
{commline} Handling the command line via @ARGV
{spout} Special variables to control output formatting of lists
{gop} Handling the command line via Getopt. Also Usage lines.
{delay} select to change default output
{paws} Progress bar / progress reports
{topic2} Topicalisation in use
{hodo} Filter looking for IP addresses of computer(s) with "tea" in name
{ama} Use of $" to produce a csv output
{allhosts} Special variable $/; reading whole file to scalar
{special1} Program using a variety of special variables
{infovars} English and short names for informational special variables
{cv} rewrite of "dos2unix" in Perl
{ticker} Clock, using autoflush to update screen every second
{sample} Filter - takes names and attempts to capitalise correctly
{cl2} Program that generates a warning
{spot} Using implicit loop with -n
{start} BEGIN - CHECK - INIT - main code - END
{was} Use of command line options in Perl
{perltodiamond} Using the -p option on the command line
{exact} map, grep and $_ save loops
{gop2} Handling command line options - getopt

Module P211 - Hashes
[3662] Finding all the unique lines in a file, using Python or Perl
[3451] Why would you want to use a Perl hash?
[3400] $ is atomic and % and @ are molecular - Perl
[3106] Buckets
[3072] Finding elements common to many lists / arrays
[3042] Least Common Ancestor - what is it, and a Least Common Ancestor algorithm implemented in Perl
[2920] Sorting - naturally, or into a different order
[2915] Looking up a value by key - associative arrays / Hashes / Dictionaries
[2836] Perl - the duplicate key problem explained, and solutions offered
[2833] Fresh Perl Teaching Examples - part 2 of 3
[1917] Out of memory during array extend - Perl
[1856] A few of my favourite things
[1826] Perl - Subs, Chop v Chomp, => v ,
[1705] Environment variables in Perl / use Env
[1334] Stable sorting - Tcl, Perl and others
[968] Perl - a list or a hash?
[930] -> , >= and => in Perl
[738] (Perl) Callbacks - what are they?
[386] What is a callback?
[240] Conventional restraints removed
{account} Sample - extracting statistics from an access log file
{envrep} use of %ENV
{stdhash3} Hash keys must be unique - so make up a new keu
{cbdemo} How sort callbacks work
{aco_1} Access log - listing hosts via a hash
{stdcodes} Dialling codes for use with course exercises
{pathit} List out all programs on the current $PATH
{acc_0} Loading from a module in another file
{niports} hash - manipulation
{sthash2} Keys must be unique - solution 1 - Append all possible values
{langies} List of all the skills in a file, and who has them
{nip2} set up and loop though a hash in various ways
{stdhash} keys must be unique - example illustrates the problem
{so2} Sort using your own sort subroutine
{nip4} Sorting the keys of a hash
{bankout} initialising a hash
{stdhash4} Keys must be unique - design new keys, add accessor loops to find multiple keys
{ukports} fill and look up a hash
{im3} Using intelligent matches to check hash keys
{channel} Ferries to France - data file
{web_count} Sample answer - web access counter question 1
{ha1} Setting up, then displaying contents, of a hash
{so4} sort using a more complex routine
{h1} Setting up, adding to, changing a hash (associative array)
{hash1.pl} setting up and using a hash
{blx.pl} Use of hashes in Perl / CGI
{fwom} Hash - keys must be unique
{acl} Sample answer - web_c2, page 152
{nip3} the danger of jumping out of an each loop
{so5} sorting with a comparison block
{requests.xyz} Data file for hash demos and exercises
{env2} ENV module to import variables as globals
{sorter} Demonstration of default dort order
{webc2} Sample answer - 2nd question
{ford.pm} Module for use with account demo
{access_log.xyz} Log file used in many Well House exercises
{peeps.pl} Set up a hash of people

Module P212 - More on Character Strings
[4452] Binary data handling - Python and Perl
[3927] First match or all matches? Perl Regular Expressions
[3707] Converting codons via Amino Acids to Proteins in Perl
[3650] Possessive Regular Expression Matching - Perl, Objective C and some other languages
[3630] Serialsing and unserialising data for storage and transfer in Perl
[3546] The difference between dot (a.k.a. full stop, period) and comma in Perl
[3411] Single and double quotes strings in Perl - what is the difference?
[3332] DNA to Amino Acid - a sample Perl script
[3322] How much has Perl (and other languages) changed?
[3100] Looking ahead and behind in Regular Expressions - double matching
[3059] Object Orientation in an hour and other Perl Lectures
[2993] Arrays v Lists - what is the difference, why use one or the other
[2877] Further more advanced Perl examples
[2874] Unpacking a Perl string into a list
[2834] Teaching examples in Perl - third and final part
[2801] Binary data handling with unpack in Perl
[2657] Want to do a big batch edit? Nothing beats Perl!
[2379] Making variables persistant, pretending a database is a variable and other Perl tricks
[2230] Running a piece of code is like drinking a pint of beer
[1947] Perl substitute - the e modifier
[1735] Finding words and work boundaries (MySQL, Perl, PHP)
[1727] Equality and looks like tests - Perl
[1510] Handling Binary data (.gif file example) in Perl
[1336] Ignore case in Regular Expression
[1305] Regular expressions made easy - building from components
[1251] Substitute operator / modifiers in Perl
[1230] Commenting a Perl Regular Expression
[1222] Perl, the substitute operator s
[943] Matching within multiline strings, and ignoring case in regular expressions
[928] C++ and Perl - why did they do it THAT way?
[737] Coloured text in a terminal from Perl
[608] Don't expose your regular expressions
[597] Storing a regular expression in a perl variable
[586] Perl Regular Expressions - finding the position and length of the match
[583] Remember to process blank lines
[453] Commenting Perl regular expressions
(article) Analysing incoming data lines
(article) Pattern Matching - a primer on regular Expressions
{reg} Stepping through regular expressions
{n3} Capturing groups into a list
{name2} Match and substitute - (example that fails)
{ogado} Anagrams of First Great Western served stations
{pusher} Single v global match and alternatives
{glomatch} Use of "g" modifier
{rogues} Using tr to find invalid characters in a string
{bincopi} Read and analyse binary .gif files
{pwline2} using tr to change multiple characters; also c and s switches
{name} Match and substitute (long winded way!)
{pcrd} Modifiers im matching
{newsub} Examples of the =~ s for substitute operator
{holiday} Packing and unpacking binary data
{n5} Special variables $' $& and $`
{tophat} Hashes, Regular Expressions, Topicalisation ... end-of-course example
{greedyvglobal.pl} Greedy matches v Global matches
{bindemo} Printing out and reading in binary numbers
{favex.pl} Postcode, Zipcode, credit card no. etc - regular expression matches
{name3} Match and substitute executed block
{slurpex} matching lines - whole file at a time
{cats2} Sample answer 2
{n4} Special variables $' $& and $`
{emma_hunter} Match and Capture - email address
{itsperl} Serialise and unserialise strings
{catshow} Sample answer 1
{ystwyth.pl} binary data handling - examine a .gif file
{cstr} Defining Strings
{totext} Converting < > and & to web standard sequences
{pcv1} Postcode extractor - mark 1
{html2} Sparse matching, looking for an HTML tag
{pwline} Character by character translation with tr
{pcv2} Postcode extractor Mk2 - save into named variables
{n2} Capturing groups into $1 and $2
{stuff} storing a compiled regular expression - qr
{html1} Matching HTML - a greedy match doesn't work
{3to3} translate a DNA 3-character codon to an amino acid
{names} Regular expression match - revision
{yem} Perl regular expression - information returned
{phone} Substitution using back reference
{html3} Global matching in a scalar context
{packet} pack and unpack
{sedm} Substitue operator
{filler} Using Regular Expressions to "mailmerge"
{letters} Look for word starting and ending with same letter
{getlinks} Find all href links from a page
{emre} KISS - keep it simple - regular expression
{pcv3} Postcode, Mk3 - extract multiple postcodes
{trandy} tr (or y) and its modifiers
{regextra} Splitting up a URL via a regex - sample exercise answer
{html4} Global matching in a list context
{murl} Regular expression with comments
{sting} different ways of defining a string

Module P213 - Creating your own Classes
[4607] Classes and object - first steps in Perl 6
[3833] Learning to use existing classes in Perl
[3098] Learning Object Orientation in Perl through bananas and perhaps Moose
[3059] Object Orientation in an hour and other Perl Lectures
[2969] What does blessing a variable in Perl mean?
[2877] Further more advanced Perl examples
[2834] Teaching examples in Perl - third and final part
[2169] When should I use OO techniques?
[1925] Introduction to Object Oriented Programming
[1864] Object Oriented Perl - First Steps
[1664] Example of OO in Perl
[1435] Object Oriented Programming in Perl - Course
[1320] Perl for Larger Projects - Object Oriented Perl
[983] Blessing in Perl / Member variable in Ruby
[975] Answering ALL the delegate's Perl questions
[246] When to bless a Perl variable
[227] Bellringing and Programming and Objects and Perl
(article) Is Perl truly an OO language?
(article) Object Orientation in Perl - First Steps
{medium} OO with inheritance demonstrated
{need1} calling subs via bare words
{peeps.pm} Definition of two classes and polymorphism
{scemail} quick check of email address format
{need2} Solving the bare word
{room.pm} A simple class which uses a blessed hash
{antest} Introduction to Objects
{message.htp} Sample template for use in other demos
{nsp} variables in packages (autovivification!)
{big} How Object Inheritance is done in Perl
{tiny} Towards OO in Perl
{at2} Hello Perl Object World
{ub2} A test program to use the "book" class
{message.pl} None-OO example of template filling
{bd1.pm} A simple class, using a scalar to store object information
{thing.pm} Generic class for use during exercises
{housing.pm} Definition of house, castle and igloo classes
{book.pm} A simple class with a constructor and 2 access methods
{bd3.pm} A simple class, storing each object in a hash
{small} True OO example
{ce.pm} Object interface to call events
{roar} Sample program to use room.pm
{higloo} houses and igloos - an OO example
{oco} Using the house, castle and igloo classes
{ramble.pm} A class that includes a factory method
{commute.pm} commute.pm - used in factory demo
{journey} Call to factory class. See ramble.pm and commute.pm
{ubany.pl} Test program for ub1 ub2 and ub3 classes
{spammer} Using global matching to extract all matches
{usebook} Sample application, constructs and uses book objects
{massage.pl} Template object and test program
{blessing} Blessing and resultant polymorphism
{wheretogo} Example that uses commute.pm and ramble.pm
{bd2.pm} A simple class, using a list to store information about each object
{3cl} Object Orientation - 2 classes and polymorphism
{ub3} Another test program to use the book class

Module P214 - System Dependencies
[2825] Perl course - is it tailored to Linux, or Microsoft Windows?
[1702] Running operating system commands in Perl
[733] Perl for Systems Admin - suid scripts
{msword} extracting from a Word document ready for upload!
{courseend.pl} OS independent admin example - bundling up all training examples after a course
{registry.pl} Example of using registry from Perl
{faad} A template system report summary
{info_more} looking at your perl configuration in detail
{msexcel} Creating an Excel spread sheet
{back} system dependent backquotes
{userinfo} use of getpwnam for user information
{cv} End of line character conversion - Windows to Linux / Unix
{hostinfo} Looking up host by IP address and name
{ws1.wsf} Using Windows Script to list out special directories
{blockshell} running a series of shell commands
{ws2.wsf} Windows script - report on a datafile
{mytemp} template for faad example

Module P215 - More about Files
[3839] Spraying data from one incoming to series of outgoing files in Perl
[3412] Handling binary data in Perl is easy!
[3320] Reading the nth line from a file (Perl and Tcl examples)
[2964] An introduction to file handling in programs - buffering, standard in and out, and file handles
[2405] But I am reading from a file - no need to prompt (Perl)
[1832] Processing all files in a directory - Perl
[1709] There is more that one way - Perl
[1225] Perl - functions for directory handling
(article) Writing to and reading from files
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{lowther.pl} Reading data from the end of the program file
{dotty} globbing on a file handle
{whatsmypath} Lists out all duplicate executables
{dend} Data on end of program file
{chdirddemo} Using directory functions cwd, chdir, opendir, readdir
{file} _ and $_ in file operators
{ft} testing file existence, size and other stats
{allin} Read and report contents of a directory
{segment} Spray one input file across 16 different outputs
{fal} split an incoming file lots of ways
{inter} See is STDIN is interactive, and prompt if it is
{af} using the stat function to report on a file
{hunt} Random access to a file of fixed length records
{dxyz} Finding all files with names matching a pattern
{f2} Formatting using "format" and "write"
{ab_file} Using some of the file status operators

Module P216 - Handling Dates and Time
[765] Perl - turning seconds into days, hours, minutes and seconds
[454] Time conversions in Perl
[239] What and why for the epoch
{tim} Converting times between epoch seconds and regular time
{dante} Date and time demos
{dt4} use of time and localtime
{dt5} compare a stated date and time with now!
{dt2} dt2 - file last modified (seconds from 1.1.1970)
{dt1} file last modified (days ago)
{hf} Modified "chivvy" - perhaps less OS dependent
{dt3} current date and time (system dependent!)
{sigint} Use of Signals in Perl to trap ^C (Control C)
{chivvy} Using %SIG to timeout keyboard entry

Module P217 - More than Simple Lists and Hashes!
[3906] Taking the lead, not the dog, for a walk.
[3577] How to do multidimensional arrays (or rather lists and hashes) in Perl
[3444] Take the dog on a lead - do not carry her. Perl references.
[3406] Not multidimentional arrays - but lists of lists. Much more flexible. Perl!
[3399] From fish, loaves and apples to money, plastic cards and BACS (Perl references explained)
[3118] Arrays of arrays - or 2D arrays. How to program tables.
[3105] Adventure with references to lists and lists of references
[3072] Finding elements common to many lists / arrays
[3007] Setting up a matrix of data (2D array) for processing in your program
[2996] Copying - duplicating data, or just adding a name? Perl and Python compared
[2877] Further more advanced Perl examples
[2840] Just pass a pointer - do not duplicate the data
[2241] Perl references - $$var and \$var notations
[1514] Autovivification - the magic appearance of variables in Perl
[293] Course follow-ups
[43] Hash of lists in Perl
{refs} References - a first demo
{2tiny} A list of lists - autovivification
{menu} Passing a reference to a list
{rrr} Setting up a list of lists (like a 2D array) from a file
{ref2} References - the fundamentals
{ar4} Reading a data file into a structure
{hali} Example of a hash of lists
{multikey} A Hash of lists - a more complex example
{d2} Passing list, passing reference to list comparison
{ar3} Rekeying data
{show_acc} Setting up a list of lists
{lili} lists of lists - like a multidimensional array
{deal} A list of lists - dealing a pack of cards
{revise} Revision of reference notations in Perl
{m2} Passing a reference to a hash
{rain} Setting up a hash of lists
{rn2} Pushing a list v pushing a reference to a list
{d3} Collection of collections (i.e. 2D array)
{rq2d} Setting up a hash of lists
{ar2} Combining lists - list of lists v one long list
{clutter} Finding items common to a number of liats
{2ds} Setting up a list of lists (like a 2D array)
{lilo} Collections and references to collections
{ar3.cgi} Rekeying data / presenting it on a web page
{haha} A hash of hashes
{lili2} List of lists
{slush} Setting up a list of lists in Perl
{hohum} hash of list of hashes
{deal2} List of lists - flexible example

Module P218 - More Objects
[4366] Changing what operators do on objects - a comparison across different programming languages
[4356] Object factories in C++, Python, PHP and Perl
[4098] Using object orientation for non-physical objects
[4096] Perl design patterns example
[3941] Building an object based on another object in Perl
[3581] Perl - calls to methods that use => - what do they mean?
[3377] What do I mean when I add things in Perl?
[3098] Learning Object Orientation in Perl through bananas and perhaps Moose
[3097] Making Perl class definitions more conventional and shorter
[2972] Some more advanced Perl examples from a recent course
[2876] Different perl examples - some corners I rarely explore
[2811] Igloos melt in the summer, but houses do not
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2651] Calculation within objects - early, last minute, or cached?
[2427] Operator overloading - redefining addition and other Perl tricks
[1949] Nuclear Physics comes to our web site
[1819] Calling base class constructors
[1665] Factory method example - Perl
[1664] Example of OO in Perl
[1435] Object Oriented Programming in Perl - Course
[1320] Perl for Larger Projects - Object Oriented Perl
[1217] What are factory and singleton classes?
[930] -> , >= and => in Perl
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl
[656] Think about your design even if you don't use full UML
[592] NOT Gone phishing
[588] Changing @INC - where Perl loads its modules
[531] Packages in packages in Perl
[246] When to bless a Perl variable
[227] Bellringing and Programming and Objects and Perl
(article) Is Perl truly an OO language?
(article) Object Orientation in Perl - First Steps
{tharness} Perl program, calls 2 classes, polymorphism and interitance
{phisherman.pm} A simple class in Perl
{angler} Program to demonstrate use of phisherman class
{dish.pm} package showing Exporter
{teacup.pm} For use with require demo
{ua} Looking at data via Data::Dumper
{animal.pm} A framework for a generic base class
{cafe3} cafe3 - offer a number of dishes
{bne} a standard base class?
{offspring.pm} class offspring - an animal that need attention
{commemorative.pm} A class which uses simple inheritance
{basket} Sample program - polymorphism in Perl OO
{coin.pm} Simple base class defining a coin
{pet.pm} a pet is an animal ... inheritance ...
{pover} overloading operators
{lookinc} Display the @INC list
{runner.pm} Multiple classes in a single file
{cafe} Test application - use of EXPORTER
{test_class_1} Test harness for class "animal"
{overload_add.pl} Operator (+) and to_string overloading, Perl
{oo6} SUPER example
{tabby.pm} calling the base class constructor in Perl
{fruit.pm}
{fldo} Set up obects via a utility factory (main prog)
{test_class_2} Test harness for the various subclasses of animal
{rider} Application that uses the horse.pm module
{tptest} Test program for the trainingprogram.pm class
{opolop} Operator Overloading in Perl
{runtest} Test code - for polymorphism / inheritance demo
{visit.pm} Set up obects via a utility factory (classes prog)
{collect} Application that uses commememorative coin class
{li2} the @INC list and the %INC hash
{needbr} require is runtime, use is compiletime
{ptest} test harness for the program.pm class
{horse.pm} BEGIN END DESTROY and import special methods
{transport.pm} Definition of a transport animal

Module P219 - Libraries and Resources
[3377] What do I mean when I add things in Perl?
[3101] The week before Christmas
[3009] Expect in Perl - a short explanation and a practical example
[2931] Syncronise - software, trains, and buses. Please!
[2427] Operator overloading - redefining addition and other Perl tricks
[2234] Loading external code into Perl from a nonstandard directory
[2229] Do not re-invent the wheel - use a Perl module
[1865] Debugging and Data::Dumper in Perl
[1863] About dieing and exiting in Perl
[1444] Using English can slow you right down!
[1391] Ordnance Survey Grid Reference to Latitude / Longitude
[1235] Outputting numbers as words - MySQL with Perl or PHP
[1219] Judging the quality of contributed Perl code
[760] Self help in Perl
[737] Coloured text in a terminal from Perl
[712] Why reinvent the wheel
[358] Use standard Perl modules
[357] Where do Perl modules load from
[112] Avoid the wheel being re-invented by using Perl modules
[86] Talk review - Idiomatic Perl, David Cross
(article) "Perl - I didn't know you could do that"
{dadu}
{mod_demo} Use of standard modules
{ac1} perl -w / turning warnings on and off
{stx} croak - like die, but reports line in calling package
{wholenumbers} The integer pragma illustrated
{togridref} Latitude / Longitude to UK Ordnance Survey Grid Reference convertor.
{tolatlong} UK Ordnance Survey Grid Reference to Latitude / Longitude convertor
{colpert} printing coloured text in your terminal window

Module P221 - Perl on the Web
[3875] Using CGI and Perl to put a simple application online. Sometimes still the best way.
[2551] Perl and the Common Gateway Interface - out of fashion but still very useful?
[1198] From Web to Web 2
[975] Answering ALL the delegate's Perl questions
[687] Presentation, Business and Persistence layers in Perl and PHP
[662] An unhelpful error message from Apache httpd
[641] Simple but rugged form handling demo
[590] Danny and Donna are getting married
[493] Running a Perl script within a PHP page
[433] FTP - how to make the right transfers
{hww.pl} Simple CGI example with urldecoding and webify
{nice.htp} Template file for log analysis application
{templ.htp} Template for sdo2.pl Perl / CGI demo
{loganal.pl} Full cgi example - log file analysis
{onweb.pl} Looking up data in a file on the web
{echo.htp} Form / template to go with echo.pl demo
{sdo2.pl} Multiple page Perl / CGI application
{job3.pl} Select, display, edit job opportunities application
{st_look.pl} Form, template, validation, POST and GET all in one example
{letterlinks.pl} Perl on the web - simple file lookup
{demo.pl} First cgi program - read and echos form content
{railstats-1.xyz} data for st_look.pl demo
{echo.pl} Web basics - echo form content
{tabfeed.pl} Display list of SQL tables and/or table content on a web page
{samform.html} Sample form for an CGI script

Module P222 - Programming Efficiency and Style
[4611] Hungarian, Camel, Snake and Kebab - variable naming conventions
[2688] Security considerations in programming - what do we teach?
[2657] Want to do a big batch edit? Nothing beats Perl!
[2399] Firefighting with Perl
[1181] Good Programming practise - where to initialise variables
[743] How to debug a Perl program
{try7} regular expression efficiency demo - index rather than regex
{try3} regular expression efficiency demo - remove use of $&
{trybench} regular expression efficiency demo - testing with benchmark module
{try1} regular expression efficiency demo - start with literal
{try5} regular expression efficiency demo - read into list
{control} regular expression efficiency demo - control
{try2} regular expression efficiency demo - start with anchor
{try4} regular expression efficiency demo - process line by line
{try6} regular expression efficiency demo - via foreach

Module P223 - Interprocess Communication
[3940] Run other processes from within your Perl program
[3412] Handling binary data in Perl is easy!
[3011] What are .pid files?
[3010] Children, zombies, and reaping processes
[2970] Perl - doing several things at the same time
[2694] Multiple processes (forking) in Python
[1918] Perl Socket Programming Examples
[604] Perl - multiprocess applications
(article) Controlling multiple asynchronous processes in Perl
{pingalong} Parallel (forked) processes communicating via pipes
{dodo} running another process from Perl
{pinga2} Parallel (forked) processes communicating via signals and files
{nonfat} A process that responds to signals
{two_roles} Forking in Perl - two processes
{h_report} Two processing in parallel (via fork) communicating (via a pipe)
{fdem} Forking in Perl, then communicating between processes
{breadknife} Forking a process, then the two communicating
{f1.pl} Forking a process
{kidgoes} Children signalling to parents as they complete
{check} Expect - choreographing multiple pings and analysing result
{knife} fork and two separate processes
{pingpong} piping from another process
{pinga3} Parallel (forked) processes communicating via signals and pipes
{breeder} Parent forking multiple independent children
{butter} Send a signal to a registered process
{talker} Simple talker written in Perl

Module P224 - Intersystem Communications
[2970] Perl - doing several things at the same time
[2876] Different perl examples - some corners I rarely explore
[2695] TCP v UDP / Client v Server - Python examples
[2402] Automated Browsing in Perl
[1918] Perl Socket Programming Examples
[1073] Heartbeat script in Perl
[604] Perl - multiprocess applications
{netgrep} Network grep server - connect via telnet on port 5678
{perl_robot_client} robot.txt collector in Perl from a list of sites
{myweblib.pm} module to go with s1 web grab example
{pfinger} Client in Perl - talks to remote finger daemon
{victoria} fork and talk
{albert} Forking, Piping and Signals
{pg1} LWP - simplest test
{pg2} LWP - sets own User Agent
{s1} Grab a web page

Module P251 - Perl Review
[3430] Sigils - the characters on the start of variable names in Perl, Ruby and Fortran
[3407] Perl - a quick reminder and revision. Test yourself!
[3042] Least Common Ancestor - what is it, and a Least Common Ancestor algorithm implemented in Perl
[3007] Setting up a matrix of data (2D array) for processing in your program
[2242] So what is this thing called Perl that I keep harping on about?
{c1.pm} simple class
{pocket} Using a simple class
{ref2} References, lists, hashes, multidimensional structures
{ref1} Lists and refrences
{snobol} Various variable types in Perl

Module P252 - Perl on the Network
[2047] Small Web Server in Perl
(article) Making all your .html files run a Perl script

Module P254 - Moving Programs from Perl 4 to Perl 5
[1417] What software version do we teach?

Module P255 - Converting yourself to Perl
{greet} Regular Expression to match a floating point number
{flipper} Reporting size and age of files
{peephole} Read data into a hash and sort keys
{oops} Reading from user, echo, calculation
{peeps.txt} Sample Data
{pcode} Filtering a log file for images
{loglooker} Further log file analysis
{al1} Passing a list in Perl
{cf} A quick tool - web log filtering
{allo} Lists rather than arrays
{prg} Lottery selection
{demo.html} Sample output from pod2html
{c1} Perl Context - another demonstration
{gdi} Throwing a die question - sample answer
{cstr} Writing Strings in Perl
{lll1} Log File Analysis
{fil_tar} Filtering a log file for 'lua'
{diane_horse} Inverted blocks and less common conditionals
{skillstep} Report on the first word on [each] line.
{superls} Report on recently modified files
{al2} Passing by reference in Perl
{filer} Directory Processing
{extras.pm} Module forl use in al3 demo
{demo} Documentation for you Perl program
{log2} Analyse requests to our server by IP address
{lidem} List manipulation examples
{onion} Look for IP addresses that have accesses common images
{logger} Filtering all matching lines from a log file
{al3} Passing to an included file
{xmas} giving out Christmas money
{self} Using Perl for Sys Admin

Module P256 - Perl 6 Look Ahead
[3077] Perl 6 - significantly nearer, and Rakudo looks very good
[2967] Multiway branches in Perl - the given and when syntax
[2817] Setting a safety net or fallback value in Perl
[2816] Intelligent Matching in Perl
[2815] switch and case, or given and when in Perl
[2559] Moving the product forward - ours, and MySQL, Perl, PHP and Python too
[1721] Perl 6 - When will we have a production release?
[1417] What software version do we teach?
[1215] An update on Perl - where is it going?
[995] Ruby's case - no break
[582] DWIM and AWWO
[550] 2006 - Making business a pleasure
[113] A Parallel for Perl 6
[89] When will Perl 6 be available
(article) Overview of what we're expecting in Perl 6
(article) Parrot - Perl's new Virtual Machine
{oldperl.pl} Romeo and Juliet - Perl 5
{newperl.pl} Romeo and Juliet - Perl 6

Module P257 - Use with Microsoft software
(article) Using Perl to read Microsoft Word documents
{msword} extracting from a Word document ready for upload!
{registry.pl} An example of using the registry from Perl
{msexcel} Creating an Excel spread sheet
{ws1.wsf} Using Windows Script to list out special directories
{ws2.wsf} Windows script - report on a datafile

Module P258 - Solaris, OSX and Linux
[2834] Teaching examples in Perl - third and final part
[2022] Pre and post increment - the ++ operator
[1702] Running operating system commands in Perl
[1633] Changing a screen saver from a web page (PHP, Perl, OSX)
{change_screen.pl} Changing Images and starting Screensaver
{sed_awk} Linux / Unix system calls

Module P301 - Variables in Perl
[4608] Introspecion in Perl 6
[4398] Accessing variables across subroutine boundaries - Perl, Python, Java and Tcl
[3430] Sigils - the characters on the start of variable names in Perl, Ruby and Fortran
[3059] Object Orientation in an hour and other Perl Lectures
[2972] Some more advanced Perl examples from a recent course
[2877] Further more advanced Perl examples
[2374] Lead characters on Perl variable names
[2241] Perl references - $$var and \$var notations
[1946] Variable Types in Perl
[1581] What is an lvalue? (Perl, C)
[975] Answering ALL the delegate's Perl questions
{tgd} typeglobs - a package deal (one of everything!)
{ref2} Modifying values passed in to a subroutine
{sfact3} Using package names to supress strict warnings
{vartypedemo} 6 variable types in Perl
{vbn} Soft References
{mkd2} Anonymous lists using [ and ]
{sfact} Beware of variable scope in recursive code
{ty} Setting up and exercising a typeglob
{splitter} select and typeglobs for file handles - alternative to array of file handles
{ref3} handling a list of lists element by element, by row, and as a whole
{mkpascal} Pascal's triangle; clever use of formatting
{scal_type} ref function - what is in a scalar
{sfact1} Use of strict to flag scoping dangers
{danger} What variables have I used?
{phash} data munging - unpack, splice, regular expressions etc
{st2} Dumping out all variables defined
{fact} recursion in Perl
{iiw} my, local and global variables
{pers} persistent my variable
{st} Accessing Perl's symbol tables
{ref1} References
{gawd} Typeglob - one each of file handle, scalar, hash and list
{dele} delete, undef, defined and exists
{scope} variable scope illustration
{myscope} Scoping of our and my variables
{my2} scoping with "my"
{henry} Variable types

Module P302 - The Selfloader
[2876] Different perl examples - some corners I rarely explore

Module P303 - Miscellany
[3159] Returning multiple values from a function call in various languages - a comparison
[3012] Exception handling in Perl - using eval
[2877] Further more advanced Perl examples
[2876] Different perl examples - some corners I rarely explore
[2427] Operator overloading - redefining addition and other Perl tricks
[2219] Configuring httpd, or Tomcat, to run CGI scripts in Perl
{spt3} A subroutine prototype defined too late
{pmg} magic goto
{gogo} Goto based on string
{asp} Command line options to add implicit read loop and split
{hoco} the continue block
{spt4} A subroutine prototype defined in time
{go4} Goto an array of possibilities
{go1} The goto statement ... if you must ...
{owncheck} Use of caller and wantarray
{cmc.pm} Defining a subroutine prototype
{sptest2} Using a prototyped method incorrectly
{dob} uses of "do"
{pex} Exception Handing in Perl
{sudemo} Operation that will fail if run tainted
{evx} try and catch simulation via eval
{mudemo2} Testing to see if a variable is tainted
{sptest1} Using a prototyped method correctly
{protodemo} subroutine prototype
{goflavours} goto, and jumping with last
{go2} goto based on a value - a sort of switch
{mudemo} running an operating system command
{waw} warnings, caller, wantarray, ref, $#_

Module P304 - Tieing
[3409] When variables behave differently - Tie in Perl
[3007] Setting up a matrix of data (2D array) for processing in your program
[2379] Making variables persistant, pretending a database is a variable and other Perl tricks
[2243] Changing a variable behaviour in Perl - tieing
{textfile.pm} tie class that treats a file as a scalar
{acmagic} Persistant hash - NOT lost when the program exits
{alias_list} Accessing Unix's aliases database directly
{lower.pm} Tie class to force all strings to lower case
{ac3} Using a tie class to force lower case
{ac2} Using a tie class to force lower case
{acnset1} Crreating a database file through tie
{ah} Tieing a variable to change its behaviour
{bowtie} Using a variable tied to a file
{aphash.pm} tie class definition - an appending hash
{flash.pm} Appending hash tie class definition
{acnlook} Tieing a database file to a hash
{game} Appliaction that uses a scalar as a stack
{pwl2} Looking up user accounts, case insensitive
{fyle.pm} links a variable to a file
{stack.pm} Tie class that hides a stack under a scalar
{thash.pm} Tie class to access a disc file as a hash, with caching
{persist} Persistant variable via a tie class
{allcodes} tied hash, unique key solution
{acnset2} Tying a text file to a hash
{codes} location lookup
{codes2} Place lookup without tie - variables are cas sensitive
{pwlook} Looking up users, case sensitive
{acm2} tieing a text file to a hash

Module P305 - User Input
[2876] Different perl examples - some corners I rarely explore
[2382] Giving up on user input - keyboard timeout in Perl
[2213] Keyboard reading in Perl - character by character not line by line
{kbcheck} select to check input availability
{fc2} Reacting to each keystroke rather than awaiting a new line
{ask} Send a signal to program h1
{fi2} Reporting maximum field per line count
{kb2} Giving the user a limited time to make an entry
{h1} Long running program with interaction
{file_in} Unpacking characters
{askpw} Using ioctls and POSIX to provide a password entry system
{kbtest} If the user has started typing, wait for a whole line. Otherwise carry on
{pcr} Binary file copy
{keyin} print out ASCII decimal equivalents of entries

Module P306 - Plain Old Documentation
[760] Self help in Perl
[668] Python - block insets help with documentation
[242] Satisfaction of training
(article) POD (Plain Ole Documentation) - how to check it
{pod1} Example of POD
{d4} Sample code - alternatives to if and while
{pod1.html} Example of HTML generated from POD

Module P307 - Perl/Tk
[3009] Expect in Perl - a short explanation and a practical example
[1340] Tk locks up - 100% c.p.u. on a simple program (Tcl, Perl, Python)
[1310] Callbacks - a more complex code sandwich
[738] (Perl) Callbacks - what are they?
[599] Perl/Tk real time display
[596] The magic of -textvariable
[595] Add a friendly front end with Tk
(article) Graphic User Interfaces (GUIs)
{tk3} An interactive application with a Tk GUI
{tk1} A simple GUI with Perl/Tk
{ptkclock.pl} Simpler version of Perl/Tk clock
{tk3.pl} A toggle button implemented in Perl/Tk
{tk2} Drawing graphics on a canvas with Perl/Tk
{tk4.pl} An interactive form on a grid (tk)
{ptkcl2.pl} Clock using Perl/Tk
{bobbb} An interactive application with a Tk GUI
{bob} An interactive application with a Tk GUI
{tk5.pl} Tk demo - fill in form, moving graphic

Module P308 - Using SQL Databases from Perl
[3099] Perl - database access - DBD, DBI and DBIx modules
[2561] The future of MySQL
[2381] Checking the database connection manually
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1885] Hiding a MySQL database behind a web page
[1224] Object Relation Mapping (ORM)
[975] Answering ALL the delegate's Perl questions
[644] Using a MySQL database from Perl
[515] MySQL - an FAQ
(article) Interfacing applications to a MySQL database engine
{orange.pl} DBI used in a CGI script as a GUI to a table
{D2.sql} Sample people database
{D3_Main.pm} Second DBIx Demonstration - headline file for loading Schema
{D3_Main_People.pm} Define table/object data mapping for People and how they relate to Computers
{D3_Main_Computers.pm} Define table to object data mapping for Computers and link to people
{hellosql} Accessing and SQL database with DBI and DBD modules
{D2_Main.pm} First DBIx Demonstration - headline file for loading Schema
{fifthdbi} Perl DBI - display contents of MySQL table
{D2.pl} Adding DBIx on top of DBI and DBD - First simple example
{D3.sql} SQL source data for D3 demo (SQLite / DBIx / Perl)
{trains.sql} Data to create and populate train table for other examples
{dbdhash.pm} Tie a Perl hash to a MySQL table through DBI
{aggy} Connecting Perl to a MySQL database
{tie_main} Exercise - main program to die hash to database
{edbi} Example using many database access methods from DBI
{traintimes} Connect to an SQL database of train times
{sqlping} Using DBI and DBD to establish a connection and list available tables
{firstdbi} Simple Perl DBI Query
{D3.pl} Adding DBIx on top of DBI and DBD - Select on joined tables
{aclog2table} Set up database for web access log records
{D2_Main_People.pm} Define the table to object data mapping
{D1.pl} SQLite - DBD and DBI - create, insert, select, drop

Module P310 - Moose
[3098] Learning Object Orientation in Perl through bananas and perhaps Moose
[3097] Making Perl class definitions more conventional and shorter
{B6.pl} use of Universal superclass
{B5.pl} Base class, subclasses, polymorphism
{M6.pl} Default values - Moose
{B2.pl} Turning packaged hash references into Objects
{M5.pl} Roles and Inheritance with Moose
{B1.pl} Package, constructor and accessor
{M7.pl} Adding functionallity with after
{M1.pl} Basic set up of a class with Moose
{B4.pl} Use of caller to examine the sub stack
{M4.pl} Moose - calling automatically generated methods
{M2.pl} Moose - setting defaults
{B3.pl} Checking method calls / confess and croak
{M3.pl} Data Type checking in Moose
{B7.pl} Factory Method

Module P402 - Writing Your Own Simple Client and Server
[3874] Using Perl to read an RSS feed off a web site and extract data - via LWP and XML modules
[2047] Small Web Server in Perl
{pt4} Using local OS commands to run network processes
{pf1} Finger client
{pf3} Better finger client
{pt3a} time and date from a series of hosts
{sts} Simple Perl time SERVER
{dot2} Buffering - progress bar in dots
{dot} buffering - dotd come out all together
{mcopy} End of line conversion - moving data file between operating systems
{miniserver.pl} Small Web Server in Perl
{ptime} Simple client

Module P403 - The Common Gateway Interface
[3445] Perl and CGI - simple form, and monitoring script.
[2834] Teaching examples in Perl - third and final part
[2551] Perl and the Common Gateway Interface - out of fashion but still very useful?
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua
[45] CGI v mod_perl
{seedcalc.pl} Shows structure of a CGI script
{perlcycle.pl} cycling through images using CGI
{formone.cgi} Running a script when a form has been submitted
{shoots.pl} CGI script - sets up form, also handles form response, in a single page
{whc_filter.pm} utilities for CGI use
{withval.cgi} CGI page with some data validation
{wedlist} Wedding list application
{roadfinder.pl} Looking up an "A road" on a web site
{rf1.pl} Looking up an "A Road" - test program
{slip} Simple Perl / CGI script to calculate BMI
{area.pl} Single page ruggedised CGI form
{logone.pl} Filtering an access log file from a browser
{first.html} First HTML page to call up CGI script -->
{mypage.htp} HTML template for shoots.pl demo -->
{firstform.html} A first web form -->
{theywant.renew} Wedding list data
{formurl.pl} URL decoding - training example
{mydate.cgi} CGI first example - menu based on day of week
{seeding.html} Sample form - two boxes to submit to a CGI script -->
{bmic.cgi} Simple CGI script with separated view and elementary validation only
{rsq} Analaysis of a file to the web.

Module P404 - Extending Flexibility Using CGI
[1365] Korn Shell scripts on the web
[1187] Updating a page strictly every minute (PHP, Perl)
[641] Simple but rugged form handling demo
[590] Danny and Donna are getting married
[426] Robust checking of data entered by users
(article) Nasty Characters in Web Applications
(article) Accessing a MySQL database via a browser, Perl and CGI
{docwrite.pl} Writing a document within a CGI script
{mulcgi.pl} Handling a form with multiple fields
{twopost.pl} Collection information via POST
{jumper.pl} Random jump - return a location header
{twoa.pl} More generalised form handling
{envlist.pl} Environment and input lister

Module P405 - Web Service - Our Own Client
[2402] Automated Browsing in Perl
[2229] Do not re-invent the wheel - use a Perl module
{grablunch} Command line program to access webpage object
{pwebclient} Stand alone program to use web_fetch module to find links
{xmx} Parsing an XML feed which we get off a web server
{web_fetch.pm} Simple web client subroutine - connect via HTTP and get a page
{pwebserver} Perl server - low level socket programming - HTTP protocol tool
{cgiwebclient} CGI script to fetch page from another server
{webpage.pm} Module to connect to a web server and grab a page
{get_courses} Script to call an OO module that grabs a web page
{pg1} LWP - simplest test
{wtserv} Web server in Perl to expose file system
{pg2} LWP - sets own User Agent
{wclient} Simple web client - collect all links

Module P406 - More CGI Programs and Facilities
[2321] Uploading and Downloading files - changing names (Perl and PHP)
[1187] Updating a page strictly every minute (PHP, Perl)
[1009] Passing GET parameters through Apache mod_rewrite
[641] Simple but rugged form handling demo
(article) Making all your .html files run a Perl script
{utils.pm} Utilities for CGI
{mailer.pl} Emailing and working out the browser type
{useredit.pl} Edit a file all on one page!
{upfile.html} Uploading a file (live demo)-->
{winmailer.pl} emailing from Perl on a Windows box
{up.cgi} CGI script to receive uploaded file
{upsend.cgi} CGI script to receive and display uploaded file
{up.html} Form for uploading a file -->
{nph-clock.pl} Multipart and updating CGI document
{down.pl} Download a file off the server

Module P407 - State and Cookies
[1951] Whisky - Setting and reading cookies from Perl
[243] new 'Perl on the Web' example
(article) Handling Cookies through CGI.pm
{sweetest.pl} Perl, CGI, sessions - complete application template, full demo
{sweeter.pl} Perl, CGI, sessions - complete application template second steps
{whisky.pl} Cookies from first principles - demonstration
{sweet.pl} Perl, CGI, sessions - application template, first principles

Module P408 - Standard Web Modules
[4100] Perl Dancer - from installation to your first real application
[4099] Perl Dancer - a Perl Framework - Installation and first test
[3485] Perl - retrieving and caching web resources
[2416] Automating access to a page obscured behind a holding page
[2402] Automated Browsing in Perl
[2229] Do not re-invent the wheel - use a Perl module
[975] Answering ALL the delegate's Perl questions
(article) Using LWP to write Web Clients
{askuser.tt} Second template (form) - Dancer
{bin_app.pl} Perl Dancer - Controllers and routes
{cgi1.pl} Simple demo of CGI.pm
{cookie.pl} Setting, reading and deleting cookies
{fred} Grabbing a web page for echo
{cgilite.pl} Using CGI_Lite.pm - simple example
{page_checker} Using LWP::Simple to find all links from a web page
{cc2} Use LWP UserAgent to check and see if a remote site has changed
{townstyle.css} Style sheet - Dancer
{cgis.pl} Using CGI.pm as a structured code
{wellhouseframe.tt} layout example - Dancer
{grab2} A first example - grabbing a web page via LWP
{freda} Grabbing a web page for cache
{config.yml} configuration - Dancer
{goodlinks} Validate links from a page (LWP)
{frederick} Grabbing a web page for cache if refresh needed
{ecbgrab.pl} Grabbing a network resource through LWP UserAgent
{township.tt} first inner template - Dancer

Module P409 - Searching
[2233] Transforming data in Perl using lists of lists and hashes of hashes
[1183] Improving searches - from OR to AND?
{robotic_search.pl} Setting of a background indexer from a CGI script
{ar5.cgi} Rekeying data - CGI example with form based control
{searchform.html} Search form
{my_search.pl} recursive search through HTML files
{indexer.pl} Simple search through a few web pages
{bigger_search.pl} Setting up search indexes
{yetwider.pl} Wider area search using a pregenerated central keyword resource

Module P410 - Automated Email Answering
[2235] Sending awkward characters by email in Perl
[2232] Why sendmail one way, and pop3 the other?
[872] Email metrics
{automail} Emailing from a Perl Script
{pop3.pl} Using POP3 protocol to read emails into a Perl program
{mailsender.pl} Mail form - sending email from Perl
{am2} Emailing from a Perl script to a variety or recipients

Module P412 - Using CGI.pm
[2231] What is CGI.pm / A dozen new examples
(article) Handling Cookies through CGI.pm
{upload_form.pl} Using CGI.pm to upload an image - initial form
{upload_handler.pl} Using CGI.pm to upload an image - submission handler
{cgiobjects.pl} Hello Object Oriented CGI.pm
{cook3.pl} CGI.pm / sessions with hidden fields / page 2
{with.pl} Simple seb page with CGI.pm
{cgi_cookies.pl} Report on cookies from browser
{formdumper.pl} Finding what fields have been submitted - CGI.pm
{favbrek.pl} Sample exercise answer - favourite breakfast
{cgitables.pl} Setting up tables with CGI.pm
{cgi_shoppingcart.pl} Complete shopping cart demo - using CGI.pm
{extrapath.pl} CGI.pm - how to find server parameters such as remote address
{cgi_serverpush.pl} Server push - a series of responses pages
{cook2.pl} CGI.pm - sessions using hidden fields
{cgiform.pl} How to set up a form using CGI.pm
{cgireadback.pl} Reading back from a form via CGI.pm
{cgihello.pl} Hello CGI.pm world
{without.pl} Simple seb page withOUT CGI.pm (for comparison)
{bookkeeper.pl} function to clear old session files
{cookstart.pl} CGI.pm OO form / for hidden field session demo

Module P413 - Embperl
{adder.html} Embperl - a form and action example
{t2.epl} Embperl - first simple example -->

Module P420 - SQL databases from a browser via Perl and CGI
[1885] Hiding a MySQL database behind a web page
(article) Accessing a MySQL database via a browser, Perl and CGI
{testtabs} SQL test command
{addoperation} Add via form to operation table
{patients} patients data
{operations} Operations Data
{gempage} Display joined SQL tables via Perl and Web and Browser
{gem} Display joined SQL tables via Perl
{addpatient} Add via form to patient table
{mktabs} Create table structure (SQL for demo)

Module P600 - Perl 6
[4620] Perl 6 - a Practical Extraction and Reporting example!
[4611] Hungarian, Camel, Snake and Kebab - variable naming conventions
[4610] Sorting by key or by comparator - Perl 6
[4609] Mapping an array / list without a loop - how to do it in Perl 6
[4608] Introspecion in Perl 6
[4607] Classes and object - first steps in Perl 6
[4606] Using Perl 6 to analyse and report on data
[4605] Hello World - in Perl 6
[4604] Perl - version 6 - official version launched at Christmas
[2816] Intelligent Matching in Perl
[582] DWIM and AWWO
{position.pl6} Practical script - finding smaller stations
{mapper} Read file, map all lines, sort results and display top 25
{hello.pl6} Hello Perl 6 world
{classdemo.p6} A first class definition and use
{quieter.pl6} First data file analysis - using arrays, hashes, etc
{rstats2015.txt} Data for Perl 6 demo programs in P600 module

Module P602 - Advanced File and Directory Handling
[3429] Searching through all the files in or below a directory - Ruby, Tcl, Perl
[3412] Handling binary data in Perl is easy!
[2876] Different perl examples - some corners I rarely explore
[1861] Reactive (dynamic) formatting in Perl
[1832] Processing all files in a directory - Perl
[1709] There is more that one way - Perl
[1225] Perl - functions for directory handling
[975] Answering ALL the delegate's Perl questions
[839] Reporting on the 10 largest files or 10 top scores
(article) File Locking
{pls} Four ways of finding the contents of a directory
{ndd} Accessing NDBM files
{huge2} A progress line - hunting for huge files
{webfiles} Using typeglobs to handle an effective array of files
{loglook} reading a specific number of bytes
{recur} recursively scanning directories
{pfc} Copying a file block by block
{huge} finding lost disc space - hunting for huge files
{flockdemo} Co-operative file locing with flock
{bchop} Random access to a file - using a binary chop
{ftype} Establishing the type of a file system object
{nf} Use of $! to find out why an action failed
{nopen} $! in a string and a numeric context
{biggest} Look for biggest files in a tree
{wr_loop} Using file locking constants

Module P604 - Using Perl for Web Site Management
[3445] Perl and CGI - simple form, and monitoring script.
[2532] Analysing Google arrivals by country of origin
[2399] Firefighting with Perl
[314] What language is this written in?
{admin.pl} Report on server status

Module P605 - Perl Tools and Utilities
[316] Development Environments

Module P608 - Robots, Crawlers and Spiders
[2402] Automated Browsing in Perl
[2229] Do not re-invent the wheel - use a Perl module
[2045] Does robots.txt actually work?
[1031] robots.txt - a clue to hidden pages?

Module P609 - Network Security
[2688] Security considerations in programming - what do we teach?
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua
[426] Robust checking of data entered by users

Module P616 - FTP and Telnet Modules
[975] Answering ALL the delegate's Perl questions
[531] Packages in packages in Perl
{ftpdemo} Simple FTP retreival in Perl
{telnetdemo} Log in to a remote host and run a command
{sshlet} Using ssh to contact a remote host
{ftp2} Recursive FTP client in Perl

Module P623 - Alternatives to CGI
[975] Answering ALL the delegate's Perl questions
{sinp.pl} Simple server in Perl
{mp.pl} Simple modPerl Example

Module P667 - Handling Huge Data
[3375] How to interact with a Perl program while it is processing data
[3374] Speeding up your Perl code
[2834] Teaching examples in Perl - third and final part
[2806] Macho matching - do not do it!
[2805] How are you getting on?
[2376] Long job - progress bar techniques (Perl)
[1924] Preventing ^C stopping / killing a program - Perl
[1920] Progress Bar Techniques - Perl
[1397] Perl - progress bar, supressing ^C and coping with huge data flows
[975] Answering ALL the delegate's Perl questions
[762] Huge data files - what happened earlier?
[639] Progress bars and other dynamic reports
(article) Data Monging
{rt2} Handling data in chunks - chunk overlap issue solved
{slurp} slurping and sampling
{huge3} Asking a long running application for intermediate reports
{reg_opt2} Regular expression match - use of "o" modifier
{out.txt} Example of search results written to file
{reg_opt3} Regular expression match - more specific and faster
{huge2} Providing user feedback while handling huge data
{optim} Optimising code to avoid repeating calculations
{hugehunter} Long log file analysis, with progress and intermediate reporting
{makedirs} Preprocessing a huge data file to set up indexes
{paws} Progress Bar Techniques
{readtime} Efficiency - reading a file in large blocks
{useindex} Grab first ten sites on a topic area - QUICKLY via index
{behind} looking behind in huge data files
{huge1} A program to test handling a small part of a huge data set
{opt3} Improving sort efficiency
{mtx} Merging two huge files
{makeindex} Generating a list of markers to a huge sorted data set
{big.start} Finding largest file, with intermediate status reports
{reg_opt4} Regular expression match - a start assertion speeds it up!
{site.pm} Class used in other examples in this module
{opt4} Improving sort efficient further - caching record analysis
{reg_opt} Regular expression match - inefficient example
{huge3.pid} Example of the huge.pid file
{reg_opt1} Regular expression match - don't save $' $` and $&
{opt2} Sorting and data filtering efficiency

Module P668 - Handling XML in Perl
[3874] Using Perl to read an RSS feed off a web site and extract data - via LWP and XML modules
[2555] Bookkeeping
[2378] Handling XML in Perl - introduction and early examples
(article) Using LWP to write Web Clients
{xml0.pl} Parsing XML - first test program
{camels.xsl} XSLT sample for xlst1.pl demo
{medireport.pl} Using XML::Parser to extract information - practical example
{p2} Sample RSS data feed (XML data)!
{apps-admin.xml} Sample data file used in XML example
{p1} SAX parser - extracting titles from XML stream
{exp.pl} Direct use of the Expat module
{xml3.pl} Illustration of handling a stream
{xml1.pl} Using debug mode to quickly check a document
{xml5.pl} Alternative - using handlers
{gnome.pl} Parsing XML through LibXML
{medline.pm} Class of XML element handlers
{xslt1.pl} Using XML and XSLT to turn data into a web page
{goblin.pl} Altering an XML document through LibXML
{camels.xml} XML sample for xslt1 demo
{index.xml} Sample RSS data feed (XML data)
{xml4.pl} Converting an XML document into a tree in Perl collection variables
{mediweb.pl} Parsing XML within a cgi script
{stdsubs.pm} Standard cgi handler to collect form data
{xml2.pl} Using Subs to report on an XML source

Module P669 - Data Munging
[4620] Perl 6 - a Practical Extraction and Reporting example!
[3764] Shell, Awk, Perl of Python?
[3707] Converting codons via Amino Acids to Proteins in Perl
[3335] Practical Extraction and Reporting
[2702] First and last match with Regular Expressions
[2129] Nothing beats Perl to solve a data manipulation requirement quickly
[1947] Perl substitute - the e modifier
[1509] Extracting information from a file of records
[1316] Filtering and altering Perl lists with grep and map
[597] Storing a regular expression in a perl variable
(article) Data Monging
{new1} List iteration
{anagram} Perl program to look for anagrams
{pc2} Using the power of lists to save code and time
{memsave} Compressing data to save memory
{filedata} List manipulation - sorting files by size and reporting largest 10
{filedata2} Sorting files by size - shortened example, harder to follow?
{pc1} (Somewhat) conventional programming methods to parse data
{cdk.fasta} Data for sample bioinformatics program in Perl
{oldfash} Handling an "arraY" - really a list - the oldfashioned way
{new2} Alternative list iteration
{pc3} Handling a file as a single string of text
{bacon} Conversion Codons -> Amino Acids -> Protein

Module P701 - What is Perl?
[3446] Awk v Perl
[1753] Perl v PHP, choosing the right language

Module P704 - Managing Perl Projects
[2375] Designing your data structures for a robust Perl application
[2070] Converting to Perl - the sort of programs you will write
[1395] Dont just convert to Perl - re-engineer!
[836] Build on what you already have with OO

Module P711 - An Introduction to Standards in Perl
[4326] Learning to program - comments, documentation and test code
[3398] Perl - making best use of the flexibility, but also using good coding standards
[2875] A long day in Melksham ...
[2688] Security considerations in programming - what do we teach?
[2375] Designing your data structures for a robust Perl application
[1863] About dieing and exiting in Perl
[1853] Well structured coding in Perl
[1728] A short Perl example
[1555] Advanced Python, Perl, PHP and Tcl training courses / classes
[1395] Dont just convert to Perl - re-engineer!
[1345] Perl and Shell coding standards / costs of an IT project
[1221] Bathtubs and pecking birds
[1047] Maintainable code - some positive advice
[965] KISS - one action per statement please - Perl
[945] Code quality counts
[743] How to debug a Perl program
[668] Python - block insets help with documentation
[242] Satisfaction of training
(article) What makes a good variable name?
{avoidthis} Bad code - multiple actions in one statement
{chink} About dieing in Perl

Module P770 - A Quick Look Ahead
[1215] An update on Perl - where is it going?

Module P772 - Practical Example - Perl in use
[2657] Want to do a big batch edit? Nothing beats Perl!
[2129] Nothing beats Perl to solve a data manipulation requirement quickly
[2047] Small Web Server in Perl
{combine} Combine source code files into single dbn file
{place_people} Application that demonstrates integration of all the fundamental elements of Perl
{requests} Data file for place_people
{lpo} Manipulating a file of records to extract a report

Module P773 - Packaging Modules
{Changes} Revision history - sample
{Makefile.PL} Sample Makefile.PL scrtipt to check distribution
{README} Sample of install documentation
{MANIFEST} Sample list of contents
{1.t} Test routine for a sample module
{WhcStd.pm} Sample Object in CPAN / standard distribution form

Module P774 - Good CGI scripting.
[4391] Refactoring Perl applications to give them a rosy future
[4320] An example of Model-View-Controller techniques in a Perl / CGI script
[263] Harmony
[262] A little bit of fun - the new Perl Quiz
[261] Putting a form online
{msgsys.pm} Message System in Perl
{questionset.pm} Business logic for quiz system demo
{myhelpers.pm} Helpers for Perl Framework, MVC demo
{mymodel.pm} Model for Perl Framework, MVC demo
{main.htp} Template for Quiz system demo -->
{myview.htp} View for Perl Framework, MVC demo
{thing.pm} Generic object used within business logic
{Perl.1} Some sample quiz questions
{quiz.pl} Top level code for quiz system demo
{myframework.pl} The FRAMEWORK for a common gateway interface application
{q15.pl} Quiz - Statistical table generator
{whc_web.pm} Web helpers for quiz demo (and others too)
{bmic.pl} Simple CGI script with separated view and elementary validation only
{mycontroller.pm} Controller for Perl Framework, MVC demo

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

Q: General programming subjects

Overview Q050 - General Technical Subjects
[3213] Should I use Open Source or Commercial software?
[3112] Public and private courses - subjects available for 2011
[2800] The Merchants And
[2568] Forums for your Melksham and open source discussions
[2322] Looking for a practical standards course
[2099] Should I maintain the programming code on my own website?
[462] Big number
(article) Open Source - here to stay, or a flash in the pan?
(article) Web applications using LAMP technologies
(article) Free software - the joy of Open Source

Module Q100 - Learning to Progam
[4575] Learning not just what a program does, but how to design it in the first place.
[4337] Learning to program sample program - past its prime, but still useful
[4326] Learning to program - comments, documentation and test code
[4325] Learning to program - what are algorithms and design patterns?
[4324] Learning to program - variables and constants
[4323] Learning to program - Loop statements such as while
[4322] Learning to Program - the conditional statement (if)
[4318] Learning to Program - how we start to teach you at Well House Consultants
[4008] Reading and checking user inputs - first lessons - Ruby
[3895] Flowchart to program - learning to program with Well House
[3551] Some terms used in programming (Biased towards Python)
[3120] Learning to write good programs in C and C++ - separating out repeated code
[2973] Learning to program - where to start if you have never programmed before
[2898] Programming Standards from the start!
[2505] I almost put the bins out this morning
[2504] Learning to program in ...
[2326] Learn a new programming language this summer.
[2294] Can you learn to program in 4 days?
[2286] New to programming? It is natural (but needless) for you to be nervous
[2092] Tracking difficult bugs, the programmer / customer relationship
[2048] Learning to program in PHP, Python, Java or Lua ...
[2001] I have not programmed before, and need to learn
[1985] Learning to program as a part of your job
[1963] Best source to learn Java (or Perl or PHP or Python)
[1605] Learning and understanding scripting programming techniques
[116] The next generation of programmer
(article) Why so many different courses?
{vcy} Second validation example (function) / Ruby
{first.c} A first program - a series of instructions
{vcz} Third validation example (catching errors) / Ruby
{colin} Ruby example - planning and documenting your code
{second.c} Calling named blocks of code
{small_demo.php} A first useful program in PHP
{fifth.c} Named blocks of code (functions)
{seven.c} Repeating blocks of code with a loop
{sixth.c} Conditional code
{Chloe.java} First use of functions and command line - Java
{fur3.py} Conditionals
{ten.c} An array to store multiple values
{third.c} Calculate and print
{vcw} without validation / Ruby
{twelve.c} #define, breaking a loop, == testing
{furry.py} Whole program
{fourth.c} Calculations and precedence
{eleven.c} Reading data from file
{stuff.txt} Data for eleven.c and twelve.c
{fur2.py} Operator precedence
{vcx} Quick first validation example / Ruby

Module Q101 - Programming Principles
[4645] What are callbacks? Why use them? An example in Python
[4632] Remember to ask the question before you listen for the answer
[4611] Hungarian, Camel, Snake and Kebab - variable naming conventions
[4325] Learning to program - what are algorithms and design patterns?
[4206] Writing the perfect program in Tcl?
[4153] Rooms available tonight - how to code an algorithm from first principles
[4118] We not only teach PHP and Python - we teach good PHP and Python Practice!
[4090] Test Driven Development in Python - Customer Comes First
[4061] Seamless, integrated IT - we have a long way to go!
[4003] Web and console - same principle, same code - Ruby example
[3954] Lesson 1 in programing - write clean, reuseable and maintainable tidy code
[3928] Storing your intermediate data - what format should you you choose?
[3878] From Structured to Object Oriented Programming.
[3673] Object oriented or structured - a comparison in Python. Also writing clean regular expressions
[3551] Some terms used in programming (Biased towards Python)
[3548] Dark mornings, dog update, and Python and Lua courses before Christmas
[3542] What order are operations performed in, in a Perl expression?
[3456] Stepping stones - early coding, and writing re-usable code quickly
[3026] Coding efficiency - do not repeat yourself!
[2964] An introduction to file handling in programs - buffering, standard in and out, and file handles
[2915] Looking up a value by key - associative arrays / Hashes / Dictionaries
[2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use
[2769] Easy - but for whom?
[2737] Improving your function calls (APIs) - General and PHP
[2586] And and Or illustrated by locks
[2550] Do not copy and paste code - there are much better ways
[2510] The music of the stock market
[2415] Variable names like i and j - why?
[2327] Planning!
[2310] Learning to write high quality code in Lua
[2228] Where do I start when writing a program?
[2022] Pre and post increment - the ++ operator
[2001] I have not programmed before, and need to learn
(article) copying an object - copy the reference
{cbv2.c} Call by value and name - extended example
{askuser.py} Sample module for sharing ...
{fvm} difference between function and method
{design.001} Designing an application - start here
{cd1.c} Comments and sequence of statements
{algo_cgi.pl} CGI equivalent of Station Name / anagram program
{utilz.py} Simple sample module
{sweat} First Conditional
{whatos} Implementation of a design
{perspire} First Loop
{afresh} Modular programming!
{cbv.c} Call by value and call be name
{compat_stage1} reusing code in a module / Python
{rubfunc1} Ruby example - define and call a named block of code
{day2_1} Functional (structured) coding
{algo} Use of a sub to avoid repeating code
{compat} Sharing code between modules / Python
{comp_control} Control case / Python

Module Q102 - Choosing your language
[3785] Programming languages - what are the differences between them?
[3764] Shell, Awk, Perl of Python?
[3619] Ruby v Perl - a comparison example
[3558] Python or Lua - which should I use / learn?
[3169] Rekeying a table - comparison in #Ruby #Perl and #Python
[2866] Ruby - how does it compare and where is it the right language?
[2700] The same very simple program in many different programming languages
[2536] All the Cs ... and Java too
[2535] When should I use Java, Perl, PHP, or Python?
[2507] Admission
[2048] Learning to program in PHP, Python, Java or Lua ...
[2001] I have not programmed before, and need to learn
[1990] Speaking all the languages
[76] Learning to program in
(article) Is Perl truly an OO language?
(article) New to programming. Portable code. Perl or Java?
{revl.rb} Counting down in Ruby
{revl.c} Counting down in C
{revl.lua} Counting down in Lua
{revl.py} Counting down in Python
{revl.java} Counting down in Java
{revl.php} Counting down in PHP
{revl.shell} Counting down in Shell (Ksh or Bash)
{revl.pl} Counting down in Perl
{revl.tcl} Counting down in Tcl
{revl.cpp} Counting down in C++

Module Q104 -
[4575] Learning not just what a program does, but how to design it in the first place.

Module Q110 - Programming Algorithms
[4707] Some gems from an introduction to Python
[4656] Identifying the first and last records in a sequence
[4652] Testing new algorithms in PHP
[4410] A good example of recursion - a real use in Python
[4402] Finding sum, minimum, maximum and average in Python (and Ruby)
[4401] Selecting RECENT and POPULAR news and trends for your web site users
[4325] Learning to program - what are algorithms and design patterns?
[3662] Finding all the unique lines in a file, using Python or Perl
[3620] Finding the total, average, minimum and maximum in a program
[3451] Why would you want to use a Perl hash?
[3102] AND and OR operators - what is the difference between logical and bitwise varieties?
[3093] How many toilet rolls - hotel inventory and useage
[3072] Finding elements common to many lists / arrays
[3042] Least Common Ancestor - what is it, and a Least Common Ancestor algorithm implemented in Perl
[2993] Arrays v Lists - what is the difference, why use one or the other
[2951] Lots of way of converting 3 letter month abbreviations to numbers
[2894] Sorting people by their names
[2617] Comparing floating point numbers - a word of caution and a solution
[2586] And and Or illustrated by locks
[2509] A life lesson from the accuracy of numbers in Excel and Lua
[2259] Grouping rows for a summary report - MySQL and PHP
[2189] Matching disparate referencing systems (MediaWiki, PHP, also Tcl)
[1949] Nuclear Physics comes to our web site
[1840] Validating Credit Card Numbers
[1391] Ordnance Survey Grid Reference to Latitude / Longitude
[1187] Updating a page strictly every minute (PHP, Perl)
[1157] Speed Networking - a great evening and how we arranged it
[642] How similar are two words
[227] Bellringing and Programming and Objects and Perl
[202] Searching for numbers
(article) File Locking
{lif.py} Counting the number of times something occurs
{universe.pl} Handling unique lines from a file - Perl (list)
{uni2.pl} Handling unique lines from a file - Perl (generator)
{d2.9} summing a collection
{amm} Program to read in numbers and return some analysis (Python)
{algorithms} Some common algorithms applied to a file of data
{fodder_stats} Minimum, maximum, total, average, count (Ruby)
{scat} Getting multiple results from a single data traversal
{lca} Least Common Ancestor
{d2.8} finding extreme values from a collection
{universe.py} Handling unique lines from a file - Python

Module Q111 - Programming Security - the considerations.
[4090] Test Driven Development in Python - Customer Comes First

Module Q456 - Test Driven Development and Behaviour Driven Development
[4652] Testing new algorithms in PHP
[4634] Regression testing - via a very short C testing framework
[4542] The principle of mocking - and the Python Mock package
[4457] Test framework for TCL - Tcltest - some examples
[4387] Regression Testing my website - Cucumber and Watir
[4380] Behaviour Driven Development / Ruby and Cucumber
[4374] Test driven development, and class design, from first principles (using C++)
[4346] A behaviour driven example of writing a Java program
[4336] Test Driven Development - a first example of principle in C
[4326] Learning to program - comments, documentation and test code

Module Q624 - HTML - An Overview
[4034] The VERY basics of a web page ... and web site
[1831] Text formating for HTML, with PHP
[1463] All the special characters in HTML ...
[1160] HTML - example of a simple web page
[857] Strikingly busy
[433] FTP - how to make the right transfers
{reminder.html} Sample HTML document from this module
{index.html} Demo - home page -->

Module Q625 - HTML for Web Application Authors
[2913] Six languages in one file - an HTML++ web page
[2246] What difference does using the XHTML standard really make?
{tabledemo.html} A Sample Table
{former.html} Sample form showing each main element -->
{tabledemo.php4} Generating a table from a PHP script
{envlist.pl} List form and environment information

Module Q777 -
[2971] Should the public sector compete with businesses? and other deep questions
[2607] Answers on Ruby on Rails
[1976] Where is this IP address, IPv4 and IPv6
[1513] Perl, PHP or Python? No - Perl AND PHP AND Python!

Module Q801 - What are Regular Expressions?
[4763] Regex Reference sheet
[4505] Regular Expressions for the petrified - in Ruby
[2844] Learning about Regular Expressions in C through examples
[2563] Efficient debugging of regular expressions
[1195] Regular Express Primer
(article) Pattern Matching - a primer on regular Expressions
{mare} Some Advanced Regular Expression handling (Perl)

Module Q802 - Regular Expression Elements
[4763] Regex Reference sheet
[4505] Regular Expressions for the petrified - in Ruby
[2804] Regular Expression Myths
[1849] String matching in Perl with Regular Expressions
[1799] Regular Expressions in PHP
[1766] Diagrams to show you how - Tomcat, Java, PHP
[1480] Next course - 7th January 2008, Regular Expressions
[453] Commenting Perl regular expressions
(article) Pattern Matching - a primer on regular Expressions
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing

Module Q803 - Regular Expressions - Extra Elements
[3650] Possessive Regular Expression Matching - Perl, Objective C and some other languages
[3516] Regular Expression modifiers in PHP - summary table
[3100] Looking ahead and behind in Regular Expressions - double matching
[3089] Python regular expressions - repeating, splitting, lookahead and lookbehind
[2909] Be gentle rather than macho ... regular expression techniques
[1860] Seven new intermediate Perl examples
[1735] Finding words and work boundaries (MySQL, Perl, PHP)
[1613] Regular expression for 6 digits OR 25 digits
[1601] Replacing the last comma with an and
[1372] A taster PHP expression ...
[1336] Ignore case in Regular Expression
[943] Matching within multiline strings, and ignoring case in regular expressions
{ahead} Negative look ahead
{posso} Sparse, Greedy and Possessive matching
{pcode} Perl - match and extract from a postcode
{lazyvgreedy.py} Comparison of Greedy and Sparse [python] ...
{lookbehind.py} Negative lookbehind - fail if you have just passed over [python]
{bref} Back References
{lookahead.py} Negative lookahead - does not consume / must fail to match [Python]
{pocohunter} Post Code hunter / Perl
{isbn} Testing validity of ISBN number, including check digit

Module Q804 - Regular Expression Internals
[3091] How do regular expressions work / Regular Expression diagrams
[3090] Matching to a string - what if it matches in many possible ways?
[2806] Macho matching - do not do it!
[2727] Making a Lua program run more than 10 times faster
[1480] Next course - 7th January 2008, Regular Expressions

Module Q805 - Advanced Regular Expression Components
[3790] Solution looking for a problem? Lookahead and Lookbehind
[3100] Looking ahead and behind in Regular Expressions - double matching
[3089] Python regular expressions - repeating, splitting, lookahead and lookbehind
[2909] Be gentle rather than macho ... regular expression techniques
[728] Looking ahead and behind in a Regular Expression
{ahead.pl} Checking if part of a string matches twice with look-ahead
{ex3.php} negative lookahead - example and alterative

Module Q806 - Regular Expression Cookbook
[3788] Getting more than a yes / no answer from a regular expression pattern match
[3218] Matching a license plate or product code - Regular Expressions
[2804] Regular Expression Myths
[2727] Making a Lua program run more than 10 times faster
[2702] First and last match with Regular Expressions
[2608] Search and replace in Ruby - Ruby Regular Expressions
[2563] Efficient debugging of regular expressions
[2165] Making Regular Expressions easy to read and maintain
[1840] Validating Credit Card Numbers
[1305] Regular expressions made easy - building from components
[1230] Commenting a Perl Regular Expression
[672] Keeping your regular expressions simple
(article) Regular Expressions in Java
{ex1.php} Regular Expressions in PHP - from simple yes/no to ancilliary responses
{easier.py} making regular expressions easier to read [Python]

Module Q904 - Analysing a Programming Task
[3895] Flowchart to program - learning to program with Well House
[3461] From flowchart to program - code design for the newcomer
[3366] Specification, Design, Implementation, Testing and Documentation - stages of a (Java) programming project
[3329] Perl from basics
[2834] Teaching examples in Perl - third and final part
[2715] Uploading an image, document or pdf via a browser (php)
[2327] Planning!
[1853] Well structured coding in Perl
[1850] Daisy the Cow and a Pint of Ginger Beer
[1607] Learning to program in Perl
[1513] Perl, PHP or Python? No - Perl AND PHP AND Python!
[1345] Perl and Shell coding standards / costs of an IT project
[747] The Fag Packet Design Methodology
{topd} Top down design - first example in Perl
{summer} Planning a simple application - the result
{tconv.c} Well Structured program in C. Read / calc / report
{Trainlength.java} Analysing a problem - how long a train?

Module Q906 - Object Orientation: Individual Objects
[4650] Why populate object with values as you construct them?
[4591] From single block to structure and object oriented programming
[4448] What is the difference between a function and a method?
[4021] Spike solution, refactored and reusable, Python - Example
[3721] Naming blocks of code, structures and Object Orientation - efficient coding in manageable chunks
[3436] Moving from scripting to Object Orientation in Python
[2651] Calculation within objects - early, last minute, or cached?
[2393] A first demonstration of OO, including polymorphism
[2173] Basic OO principles
[2171] Cleaning up redundant objects
[1925] Introduction to Object Oriented Programming
[1864] Object Oriented Perl - First Steps
[1543] Learning Object Oriented Principles (and perhaps Java)
[507] Introduction to Object Oriented Programming
[227] Bellringing and Programming and Objects and Perl
(article) Incr-Tcl - Object Oriented extension to Tcl
(article) Object Orientation in Perl - First Steps
{cap_singleblock.py} single block coding
{ringer} Test program for the "bells" class
{cap_object.py} Object coding
{ua} Final example - calling basic Perl classes
{animal.pm} Creating and using Perl objects in a class
{after2.c} Functions - fundamental calls
{sc.java} Structured code in Java
{ua01} Calling functions in Perl from another file
{ua02} Calling functions from a module in Perl
{an01} creating a hash of data in Perl
{cap_functional.py} Functional coding
{sc.perl} Structured code in Perl
{ua03} Creating and using objects in Perl
{an02} creating a hash of data in a package in Perl
{gap} Log file gap reporter - single code block (Python)
{develop.cpp} Methods (C++) - functions that run on an object
{osx.php} An array of objects
{oogap} Log file gap reporter - using logtime object (Python)
{rails_oo} Using the Object Oriented idiom
{an03} Creating and accessing simple objects in Perl
{after3.c} Functions - passing in a structure
{classic.php} First Class demo
{rails_script} Using the scripting idiom
{bells.pm} Bell change class - notation and change interpreter
{oogap2} Log file gap reporter - using multiple objects (Python)

Module Q907 - Object Orientation: Design Techniques
[4628] Associative objects - one object within another.
[4449] Spike solution, refactoring into encapsulated object methods - good design practise
[4430] The spirit of Java - delegating to classes
[4374] Test driven development, and class design, from first principles (using C++)
[4098] Using object orientation for non-physical objects
[3978] Teaching OO - how to avoid lots of window switching early on
[3928] Storing your intermediate data - what format should you you choose?
[3887] Inheritance, Composition and Associated objects - when to use which - Python example
[3878] From Structured to Object Oriented Programming.
[3844] Rooms ready for guests - each time, every time, thanks to good system design
[3798] When you should use Object Orientation even in a short program - Python example
[3763] Spike solutions and refactoring - a Python example
[3760] Why you should use objects even for short data manipulation programs in Ruby
[3607] Designing your application - using UML techniques
[3454] Your PHP website - how to factor and refactor to reduce growing pains
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole
[3085] Object Oriented Programming for Structured Programmers - conversion training
[3063] Comments in and on Perl - a case for extreme OO programming
[2977] What is a factory method and why use one? - Example in Ruby
[2953] Turning an exercise into the real thing with extreme programming
[2889] Should Python classes each be in their own file?
[2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use
[2865] Relationships between Java classes - inheritance, packaging and others
[2785] The Light bulb moment when people see how Object Orientation works in real use
[2747] Containment, Associative Objects, Inheritance, packages and modules
[2741] What is a factory?
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2523] Plan your application before you start
[2501] Simples
[2380] Object Oriented programming - a practical design example
[2327] Planning!
[2170] Designing a heirarcy of classes - getting inheritance right
[2169] When should I use OO techniques?
[1538] Teaching Object Oriented Java with Students and Ice Cream
[1528] Object Oriented Tcl
[1435] Object Oriented Programming in Perl - Course
[1224] Object Relation Mapping (ORM)
[1217] What are factory and singleton classes?
[1047] Maintainable code - some positive advice
[836] Build on what you already have with OO
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl
[747] The Fag Packet Design Methodology
[656] Think about your design even if you don't use full UML
[534] Design - one name, one action
[507] Introduction to Object Oriented Programming
[236] Tapping in on resources
[80] OO - real benefits
(article) Mapping database rows to objects in a class
{HotelRoomBooking.cpp} Function definitions for class being developed
{bobclass} Moving detail into classes
{Hotel003.cpp} Designing and implementing a class - C++ - stage 3 - define methods
{poc.pm} Perl Module - for poctest demo
{TestPattern.h} Headers for test pattern
{poc3} Piece of Content - using Perl's OO features
{poc5} Piece of Content - a list of objects
{nr301} Associative class example - log file analysis - Ruby
{oo2.py} Muliple classes / inheritance / polymorphism
{oo1.py} First Class definitions and use
{oo4.py} high, higher, highest (static method)
{oo3.py} Comparator across multiple classes
{poc4} Piece of Content - add a catch-all AUTOLOAD
{Hotel002.cpp} Designing and implementing a class - C++ - stage 2 - add API definition
{Hotel004.cpp} Designing and implementing a class - C++ - stage 4 - initial test reporting
{da.txt} Data for rail stock demo
{Hotel007.cpp} Designing and implementing a class - C++ - stage 7 - separate files
{railstock.structured} Rail Stock Demonstration - structured
{poc2} Piece of Content - encapsulate logic in package
{HotelRoomBooking.h} Headers for main class being developed
{Hotel005.cpp} Designing and implementing a class - C++ - stage 5 - functional test reporting
{poc1} Piece of Content - encapsulation in a package
{poc7} Piece of Content - extended class and inheritance
{poctest} Piece of Content - main program to use poc.pm module
{poc6} Piece of content - setters and getters
{Hotel006.cpp} Designing and implementing a class - C++ - stage 6 - test pattern object
{Hotel005a.cpp} Designing and implementing a class - C++ - stage 5a - adding another accessor method
{Hotel001.cpp} Designing and implementing a class - stage 1, test program
{TestPattern.cpp} Function definitions for Test Pattern Class
{railstock.oo} Rail stock demonstration - Object Oriented

Module Q908 - Object Orientation: Design Patterns
[4673] Separating detailed data code from the main application - Ruby example
[4663] Easy data to object mapping (csv and Python)
[4626] Singleton design pattern - examples and uses
[4581] Thin application, thick objects - keep you main code simple. Example in Ruby
[4421] How healthy are the stars of stage and screen?
[4396] Java Utility class - flexible replacement for array. Also cacheing in objects and multiple catch clauses example.
[4377] Designing a base class and subclasses, and their extension, in C++
[4359] How to avoid too many recalculations within an object
[4356] Object factories in C++, Python, PHP and Perl
[4330] Java - factory method, encapsulation, hashmap example
[4325] Learning to program - what are algorithms and design patterns?
[4098] Using object orientation for non-physical objects
[4096] Perl design patterns example
[4021] Spike solution, refactored and reusable, Python - Example
[3843] Caching Design Patterns
[3810] Reading files, and using factories to create vectors of objects from the data in C++
[3716] Learning C++ - a design pattern for your first class
[3608] Design Patterns - what are they? Why use them?
[2977] What is a factory method and why use one? - Example in Ruby
[2741] What is a factory?
[2322] Looking for a practical standards course
[1224] Object Relation Mapping (ORM)
[485] North, Norther and Northest - PHP 5 Objects
{demo1.php} caching design pattern
{runners} Full OO example / various design patterns in Perl
{single} Singleton class in PHP
{pages.py} Factory for webpage objects
{Validate.pm} Validation of parameters object
{umli.php} Code to illustrate UML examples
{uml2.php} Factory, Comparator, Object Sort routine
{valerie} Test and demonstration for Validate.pm

Module Q909 - Object Orientation: Composite Objects
[4450] Deciding whether to use parameters, conditional statements or subclasses
[4394] Philosophy behind object design - and how I applied in to a Java example
[4377] Designing a base class and subclasses, and their extension, in C++
[3979] Extended and Associated objects - what is the difference - C++ example
[3609] How do classes relate to each other? Associated Classes
[3251] C++ - objects that are based on other objects, saving coding and adding robustness
[3152] Jargon busting
[3142] Private and Public - and things between
[2922] Getting the OO design write - with PHP a example
[2865] Relationships between Java classes - inheritance, packaging and others
[2641] Object Oriented Programming in PHP
[2170] Designing a heirarcy of classes - getting inheritance right
[1348] Screw it or Glue it? Access to Object variables - a warning
[1345] Perl and Shell coding standards / costs of an IT project
[592] NOT Gone phishing
[477] Class, static and unbound variables
(article) Inheritance
{Petanimal.java} Pet subclass - Java
{puma.php} Inheritance, Overriding, Polymorphism, Object comparison of different types [Python]
{transport.py} March 2015 / multiple classes in Python
{Shapes002.cpp} Inheritance example - Constructors and first accessors
{Shapes001.cpp} Framework for Inheritance example
{Shapes003.cpp} Adding a factory / static method
{Shapes004.cpp} Adding test harness
{Anyanimal.java} Base class - Java
{Shapes005.cpp} Adding operator overloading
{flightdemo.cpp} Associated object - in C++
{Farmanimal.java} Farm Subclass - Java
{whm3} Residents and Delegates - extended from customers [Python]
{doggies.php} A set of classes in PHP, factory method, comparators and test harness
{Anitest.java} Test Harness - Java

Module Q910 - GUI principles
[4589] Principles or a GUI and their practical application using wxPthon
[4258] Keeping you Tkinter display up to date while monitoring
[3081] wxPython - simple example to add GUI to a server log file analysis
[2746] Model - View - Controller demo, Sqlite - Python 3 - Qt4
(article) Graphic User Interfaces (GUIs)
{tourist.py} Model (data class) - complete PyQt (Python 3, Qt4) GUI app
{accomlist.py} Controller - complete PyQt (Python 3, Qt4) GUI app
{tic_view.py} First View - complete PyQt (Python 3, Qt4) GUI app
{ticfull.py} Alternative View - complete PyQt (Python 3, Qt4) GUI app
{model.py} Model - complete PyQt (Python 3, Qt4) GUI app

Module Q912 - Network Programming Principles
[630] Hostnames spring forward

Module Q913 - Computer Graphics Principles
[3262] Some SVG Elements, pixel and percent positioning
[3261] Scalable Vector Graphics - easy, low bandwidth, high resolution, dynamic.
[3211] Computer Graphics in PHP - World (incoming data) to Pixel (screen) conversion
[3148] OpenGL / C / C++ - an example to get you started
[3049] Computer Graphics is fun - even if Java Applets are Old Hat
[2992] Matplotlib - graphing in Python - teaching examples
[2758] But what will you DO with all those pictures?
[2633] Why do I teach niche skills rather than mainstream?
[2245] Client side (Applet) and Server side (Servlet) Graphics in Java
{tryme.svg} Fixed and relative positioning
{svgframe.html} How to include an SVG file in a web page
{oursub.svg} Sample of an SVG file
{glb.c} OpenGl / C / Mac OS X

Module Q914 - Principles of Code Optimisation
[2092] Tracking difficult bugs, the programmer / customer relationship

Module Q915 - Principles of Model - View - Controller
[4691] Real life PHP application using our course training MVC example
[4641] Using an MVC structure - even without a formal framework
[4527] Hello Flask world / Python web micro framework
[4391] Refactoring Perl applications to give them a rosy future
[4320] An example of Model-View-Controller techniques in a Perl / CGI script
[4114] Teaching CodeIgniter - MVC and PHP
[4066] MVC and Frameworks - a lesson from first principles in PHP
[4010] Really Simple Rails
[3919] What is a web framework?
[3705] Django Training Courses - UK
[3624] Why do we need a Model, View, Controller architecture?
[3454] Your PHP website - how to factor and refactor to reduce growing pains
[3237] Using functions to keep look and feel apart from calculations - simple C example
[2612] The Model, View, Controller architecture (MVC) - what, why and how.
[2199] Improving the structure of your early PHP programs
[687] Presentation, Business and Persistence layers in Perl and PHP
{o247.htp} Tempate for bus service choice
{col.data} Bus user choice - the things the user must weigh up
{choice.php} Framework - Bus Service Choice
{choice.data} Weights table - bus future choice
{4lm_business.inc} 4 layer model - business logic for selecting bus futures
{4lm_webhelpers.inc} Web Helpers - updated for bus future choice example
{row.data} result text - bus service choice demo

Module Q916 - Database design principles
[2749] Delegate Question - defining MySQL table relationships as you create the tables
[918] Databases needn't be frightening, hard or expensive
[666] Database design - get it right from first principles
[572] Giving the researcher power over database analysis
[375] Oops - I got my initial database design wrong

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

R: Ruby programming and use

Overview R050 - Ruby - General
[4583] Back in the saddle again - excellent open source course from Well House Consultants
[4294] A bright new gem - updated Ruby training
[3799] Ruby Documentation through rdoc
[3158] Ruby training - some fresh examples for string handling applications
[2866] Ruby - how does it compare and where is it the right language?
[2826] Ruby - training for automated testing users
[2605] Ruby on Rails - a sample application to teach you how
[2504] Learning to program in ...
[2227] Learning PHP, Ruby, Lua and Python - upcoming courses
[2104] Ruby Programming and Rails - 4 different courses in one
(article) Ror - Ruby on Rails
(article) Converting to Ruby? Start here
{eight} log file analysis
{amazing} Initial Demo - finding matching lines in a file
{six} loop showing iterations
{col2} Simple Ruby Program - read, calculate, output
{rs06} All together - class, factory, comparable, exception, files, strings, arrays
{latest_log} Sample Application - Read and analyse a web access log file
{pmf} Subclass, Inheritance, Polymorphism, static methods, factories ...
{four} prompt, read, echo, calculate
{two} calculation, coercion, etc
{one} Hello world and elsewhere
{five} if elif else ... and while
{three} read - calculate - output
{seven} Simple file parsing
{googletrace} Where has Googlebot crawled?

Module R101 - Introduction
[4498] Ruby - where one statement ends and the next begins
[4369] Ruby - the second rung of learning the language
[2607] Answers on Ruby on Rails
[2287] Learning to program in Ruby - examples of the programming basics
[2286] New to programming? It is natural (but needless) for you to be nervous
[1887] Ruby Programming Course - Saturday and Sunday
[1375] Python v Ruby
[1302] Ruby, Ruby, Ruby. Rails, Rails, Rails.
[1041] Learnt in London - Ruby, Martini, Coral and the Core
[1027] Cue the music, I'm happy.
[664] Ruby course - oops - it's not happening
[550] 2006 - Making business a pleasure
(article) Ruby Regular Expressions
(article) Conditionals, loops, and iterators in Ruby
{hello.rb} Some simple Ruby stuff
{d2.2} Use of intermediate variables
{e1} Simple input, calculate, print
{d2.3} Use of intermediate variables - alternative
{d2.1} Prompt, read from user, calculate, output in Ruby
{col1} First Variables in Ruby

Module R102 - Hello Ruby Objects
[4673] Separating detailed data code from the main application - Ruby example
[4581] Thin application, thick objects - keep you main code simple. Example in Ruby
[4580] Easy example - data record to object and object to data record mapping in Ruby
[4369] Ruby - the second rung of learning the language
[4009] Clear, concise examples - Ruby classes and objects.
[2603] Ruby objects - a primer
[2287] Learning to program in Ruby - examples of the programming basics
{d2.10} Define class, create and use instances of it
{beast.rb} Sample class in its own file
{yesyes} data record to object and object to data record mapping
{d2.12} Calling program to access class in another file
{stations.rb} thick class, thin application example
{d2.11} Use of 'self' in Ruby
{shapes.rb} Object Orientation in Ruby - Training Example
{nother} Operators as methods - polymorphism in *
{f1} Moving detail into objects - before
{obrub4.rb} Application to call in group of classes from a library file
{trainclass4.rb} Definition of a train - to be shared between all railway applications
{f2} Moving detail into objects - after
{obrub1.rb} Define and use a class
{hit.rb} A class showing each variable scope in use

Module R103 - Basic Ruby Language Elements
[4504] Where does Ruby load modules from, and how to load from current directory
[4369] Ruby - the second rung of learning the language
[4324] Learning to program - variables and constants
[3917] BODMAS - the order a computer evaluates arithmetic expressions
[3758] Ruby - standard operators are overloaded. Perl - they are not
[3430] Sigils - the characters on the start of variable names in Perl, Ruby and Fortran
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java.
[2617] Comparing floating point numbers - a word of caution and a solution
[2613] Constants in Ruby
[2296] Variable scope - what is it, and how does it Ruby?
[2287] Learning to program in Ruby - examples of the programming basics
[986] puts - opposite of chomp in Ruby
{rub1} FAILS to continue a line
{print.rb} Print alternatives
{calcbetter.rb} A simple calculation in Ruby
{floater} Floating point rounding errors
{muck} Common Ruby Pitfalls
{x01} Constants in Ruby
{d2.5} Calculations within double quotes
{bw.rb} Formatting strings and conversions
{calc.rb} Some early gotchas!
{bluepeter} Throw a die and track sum of throws
{d2.4} Easier output formatting in double quoted strings

Module R104 - Control Structures
[4674] Alternating valuses / flip-flop / toggle - example in Ruby
[4504] Where does Ruby load modules from, and how to load from current directory
[4503] Separating your code for easier testing, understanding and re-use; example in Ruby
[4402] Finding sum, minimum, maximum and average in Python (and Ruby)
[4370] Conditionals, loops and methods in Ruby - a primer with simple examples
[4323] Learning to program - Loop statements such as while
[4322] Learning to Program - the conditional statement (if)
[3769] Muttable v immutable and implications - Ruby
[3620] Finding the total, average, minimum and maximum in a program
[3619] Ruby v Perl - a comparison example
[3422] Assigning values to variables within other statements - Ruby
[3397] Does a for loop evaluate its end condition once, or on every iteration?
[3254] Multiple inputs, multiple out, ruby functions
[3253] Is this number between? Does this list include? - Ruby
[3200] How a for loop works Java, Perl and other languages
[3159] Returning multiple values from a function call in various languages - a comparison
[3158] Ruby training - some fresh examples for string handling applications
[3156] Splitting data reading code from data processing code - Ruby
[2975] Why do I need brackets in Ruby ... or Perl, Python, C or Java
[2892] Alternative loops and conditionals in Ruby and Perl
[2711] For loop - checked once, or evety time? Ruby v Perl comparison and contrast
[2619] Passing code to procedures and yield in Ruby
[2471] A short form of if ... then ... else
[2287] Learning to program in Ruby - examples of the programming basics
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1891] Ruby to access web services
[1887] Ruby Programming Course - Saturday and Sunday
[1870] What to do with a huge crop of apples
[1738] Clean code, jump free (Example in Lua)
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1587] Some Ruby programming examples from our course
[1582] Ruby, C, Java and more - getting out of loops
[1220] for loop - how it works (Perl, PHP, Java, C, etc)
[1163] A better alternative to cutting and pasting code
[995] Ruby's case - no break
[985] Equality in Ruby - == eql? and equal?
[962] Breaking a loop - Ruby and other languages
[960] 1st, 2nd, 3rd revisited in Ruby
(article) Converting to Ruby? Start here
(article) Conditionals, loops, and iterators in Ruby
{llen2} calculating default parameters
{d2.6} if elsif elsif else
{exx} Putting common code in a name block (function)
{ident} mutable object (array)
{llen3} Default a parameter to nil
{doubleret} multiple returns and unlimited parameters
{yetan} immutable object (integer)
{moretrains} Requiring a module from the current directory
{tog} toggling a variable - ruby
{mi} redefine a method in Ruby
{ex} Class exercise - ordering lunches
{loopy.rb} Loop structures in Ruby
{d2.7} while, until and for loops - comparison
{ddd.rb} Iterators in Ruby
{dm2.rb} Method, parameter, optional parameter
{ctors.rb} Comparators - what is true?
{llen} Methods and default parameter
{howcome} Multiple actions in a single statement
{sid} Loop and conditional - exercise
{dm.rb} Defining and using a method
{loop.rb} Loop in ruby - run until it breaks
{rmi} Multiple return values from a function
{dice} Throwing dice, summing, printing average
{u1} How many teams needed?
{yrb} yield (co-routines / generator)
{cx} between and include
{rubber} ? : conditional operator in Ruby
{lazyops.rb} Lazy operators
{collect} for and each loops over an array. Also sorting
{amp_pass} Passing code blocks to procedures
{mwpar} In Ruby you can redefine a function ...
{dbu} Variable and method of same name
{scram.rb} Break redo next and retry
{five} Some unusual conditionals and loops
{dm3.rb} Dynamic redefinition of a method
{csep} Separation of repeated and specialist code
{condi.rb} Example of Ruby conditionals
{vcx} Quick first validation example

Module R105 - Classes and Objects
[4502] Reading and parsing a JSON object in Ruby
[4009] Clear, concise examples - Ruby classes and objects.
[3421] Ruby off the Rails?
[2651] Calculation within objects - early, last minute, or cached?
[2616] Defining a static method - Java, Python and Ruby
[2609] Scope of variables - important to Ruby on Rails
[2603] Ruby objects - a primer
[2292] Object Orientation in Ruby - intermediate examples
[1925] Introduction to Object Oriented Programming
[983] Blessing in Perl / Member variable in Ruby
(article) Basic class definition and use in Ruby
{thirdrail} File -> Objects -> Analysis
{tj2.rb} Displaying via an Inset class
{mm.rb} Accessing class variables, and adding methods
{ucl.rb} Use a class defined in another file
{obtest.rb} Static (class) method definition and use
{dp.rb} Just define a class for use elsewhere
{thapp.rb} Call in a class from another file
{myo.rb} Define and use a class
{triang.rb} Simple class and use
{train.rb} Sample class with accessors and comparator methods
{disc} How to define and use a class
{tharn.rb} A class with a test harness
{stan.rb} Standard methods!

Module R106 - Input and Output in Ruby
[4678] Expect with Ruby - a training example to get you started
[4499] Significant work - beyond helloworld in Ruby
[3429] Searching through all the files in or below a directory - Ruby, Tcl, Perl
[2974] Formatting your output - options available in Ruby
[2893] Exclamation marks and question marks on ruby method names
[2621] Ruby collections and strings - some new examples
[2614] Neatly formatting results into a table
[2290] Opening and reading files - the ruby fundamentals
[1887] Ruby Programming Course - Saturday and Sunday
[1587] Some Ruby programming examples from our course
{webreader.rb} Read a page given its url
{d3_3} Reading from another process
{filemore} Analysing a file / counting events
{d3_1} iterating through a file, file output
{amaze1} Find and count matching lines in file
{finfo.rb} File status checks
{formprint} Formatted printing
{ndo} Running another process - netstat example
{sysact.rb} Run a process from Ruby, stream output back
{two} chop and chop!
{filestuff.rb} File handling demonstration
{afid.rb} All files in a directory
{courseprice} Checking if a file exists and writing to a file
{large} Checking a whole directory tree
{ddd} parse a directory
{d3_2} Testing files

Module R107 - Collections (Arrays and Hashes) in Ruby
[4502] Reading and parsing a JSON object in Ruby
[4499] Significant work - beyond helloworld in Ruby
[4368] Shuffling a list - Ruby and Python
[3757] Ruby - a teaching example showing many of the language features in short but useful program
[3435] Sorta sorting a hash, and what if an exception is NOT thrown - Ruby
[3257] All possible combinations from a list (Python) or array (Ruby)
[3255] Process every member of an array, and sort an array - Ruby
[3253] Is this number between? Does this list include? - Ruby
[2976] Creating, extending, traversing and combining Ruby arrays
[2621] Ruby collections and strings - some new examples
[2618] What are Ruby Symbols?
[2606] Sorting arrays and hashes in Ruby
[2291] Collection objects (array and hash) in Ruby
[991] Adding a member to a Hash in Ruby
{tim} A Hash of arrays in ruby
{h2.rb} First hash in Ruby
{d3_7} Setting up and using a hash
{d3_6} Array of arrays
{d3_8} Simple but practical hash example
{rrs} Sorting the keys of a hash
{randimages} Randomiser of images
{pophand.rb} Read, interpret a data file
{tessa} all possible combinations from an array
{logan} Read an Apache httpd access log file and count statuses
{swapper} Swapping two variables
{h1.rb} First hash in Ruby
{a3.rb} methods on arrays
{favr} Defining, adding to, iterating through an array
{arar.rb} Arrays of arrays
{a1.rb} First Array
{pw.rb} %w to set up an array, and compact
{d3_5} Array methods such as grep
{d3_9} Using a hash to count web server accesses
{a2.rb} Basic Array manipulation
{mar} Combining arrays - element by element "and" and "or"
{pwc.rb} Copying an object in Ruby
{bone} Combining arrays
{toppers.xx} Hash to count server accesses
{others} Symbols
{kvp} Sorting in Ruby
{lunch} array sorting and iterating
{amaze4} Array of counters - log file statistics
{ddd} Symbols v strings
{d3_4} Arrays, and iterating through them

Module R108 - More Classes and Objects
[4551] Testing your new class - first steps with cucumber
[4550] Build up classes into applications sharing data types in Ruby
[4504] Where does Ruby load modules from, and how to load from current directory
[4366] Changing what operators do on objects - a comparison across different programming languages
[3782] Standard methods available on all objects in Ruby
[3781] Private, Protected, Public in Ruby. What about interfaces and abstract classes in Ruby?
[3760] Why you should use objects even for short data manipulation programs in Ruby
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole
[3158] Ruby training - some fresh examples for string handling applications
[3154] Changing a class later on - Ruby
[3142] Private and Public - and things between
[2980] Ruby - examples of regular expressions, inheritance and polymorphism
[2977] What is a factory method and why use one? - Example in Ruby
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2623] Object Oriented Ruby - new examples
[2620] Direct access to object variable (attributes) in Ruby
[2616] Defining a static method - Java, Python and Ruby
[2604] Tips for writing a test program (Ruby / Python / Java)
[2603] Ruby objects - a primer
[2601] Ruby - is_a? v instance_of? - what is the difference?
[2292] Object Orientation in Ruby - intermediate examples
[1587] Some Ruby programming examples from our course
[1217] What are factory and singleton classes?
[656] Think about your design even if you don't use full UML
[184] MTBF of coffee machines
(article) Basic class definition and use in Ruby
(article) Modules, Mixins and Comparators in Ruby
{overload_add.rb} Operator (+) and to_string overloading, Ruby
{ststsort} Data manipulation - structured approach
{finex} Simplest Inheritance Example
{inh1.rb} Inheritance in Ruby
{O2.rb} Copy v clone
{stanley} Listing of standard methods
{stobsort} Data manipulation - object approach
{stations.rb} Sample class used in sharing example
{station.feature} gherkin / features of station class
{cmquick} static and dynamic member variables and methods
{transact.data} Class / Interitance / Test program data
{ob2.rb} A class with some class (static) and singleton members
{dub3} no returns on a Ruby method
{slogan} Server Log Analysis
{transact.rb} Class / Interitance / Test program example showing good practise
{second} second program that uses classes
{attr} attribute accessors
{in4.rb} Inheritance, factories, statics, DATA, lazy ops, to_s
{d4_2} Single class example for extension by inheritance
{transport.rb} Cluster of related (inheriting) transport classes and test program
{d4_3} Object and Class variables (dynamic and static)
{O1.rb} Amending a base class even after it has been extended
{journey.rb} Sample class used in sharing example
{dubber} default - variables are LOCAL
{disc2} Comparator methods (larger and smaller)
{reallyshort} Inheritance, Class methods, Attribute Accessors, operator overloading
{dub2} With $ - variables are global
{multifood.rb} Class demo - lots of extras
{d4_4} Static Method
{slash} Server Log Analysis (2)
{olop.rb} Operator overloading
{third} third example use of classes
{food.rb} Single class demo
{station_steps.rb} Cucumber implemented test code for station.feature behaviour
{d4_5} Inheritance in Ruby

Module R109 - Strings and Regular Expressions
[4549] Clarrissa-Marybelle - too long to really fit?
[4505] Regular Expressions for the petrified - in Ruby
[4388] Global Regular Expression matching in Ruby (using scan)
[3758] Ruby - standard operators are overloaded. Perl - they are not
[3757] Ruby - a teaching example showing many of the language features in short but useful program
[3621] Matching regular expressions, and substitutions, in Ruby
[3424] Divide 10000 by 17. Do you get 588.235294117647, 588.24 or 588? - Ruby and PHP
[2980] Ruby - examples of regular expressions, inheritance and polymorphism
[2623] Object Oriented Ruby - new examples
[2621] Ruby collections and strings - some new examples
[2614] Neatly formatting results into a table
[2608] Search and replace in Ruby - Ruby Regular Expressions
[2295] The dog is not in trouble
[2293] Regular Expressions in Ruby
[1891] Ruby to access web services
[1887] Ruby Programming Course - Saturday and Sunday
[1875] What are exceptions - Python based answer
[1588] String interpretation in Ruby
[1305] Regular expressions made easy - building from components
[1195] Regular Express Primer
[987] Ruby v Perl - interpollating variables
[986] puts - opposite of chomp in Ruby
[970] String duplication - x in Perl, * in Python and Ruby
(article) Pattern Matching - a primer on regular Expressions
(article) Ruby Regular Expressions
(article) String Functions in Ruby
{stdo.rb} Using some of ruby's string methods
{rex1.rb} Ruby regular expression demo
{sop.rb} + and * on strings in Ruby
{d4_1} Using a string as a collection
{se1} Regular Expression Primer Example
{d4_8} Regular Expression (including documenation)
{ii} Formatting example - splitting money between nieces and nephews
{e2} Embedded variables in strings
{kiddos} Formatting a table of data
{rex2.rb} Splitting at a regular expression
{globalmatch} Scan for global matches
{regex_sub.rb} Regular Expression Substitution
{kids} Formatting values in Ruby
{bc} Some String Handling
{heredocs.rb} Here Documents in Ruby
{pareea} Class for email addresses / regex for splitting and checking
{names} formatting - adjust for longest string
{pc} extracting sections from a match
{vest} Cleaning up a phone number and checking a postcode
{shalt} the compact method removes nil elements from an array
{d4_7} Running a piped command via backquotes
{summatelse} Regular Expression Alternative Example
{str_types.rb} Ways of writing a string
{mlre.rb} Commenting a regular expression
{d4_6} Formatted printing
{finder} search, search / replace, search / execute / replace

Module R110 - Special Variables and Pseudo-Variables
[4682] One line scripts - Awk, Perl and Ruby
[4502] Reading and parsing a JSON object in Ruby
[3757] Ruby - a teaching example showing many of the language features in short but useful program
[2623] Object Oriented Ruby - new examples
[2613] Constants in Ruby
[2296] Variable scope - what is it, and how does it Ruby?
[1891] Ruby to access web services
[1587] Some Ruby programming examples from our course
[1586] Variable types in Ruby
[990] Ruby - Totally Topical
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{av} Command Line Parameters to a Ruby program
{gloop1} Topicalisation - before
{tiny} Autosplit mode, a loop round your code, BEGIN and END
{cc} begin block
{rerub} Cleaning an incoming string in Ruby
{pgv.rb} Predefined global variables and resources
{vvx} variable types
{topic.rb} Topicalisation - the use of $_
{c3.rb} Process every line via topicalisation
{gloop2} Topicalisation - after
{ruby_awk.rb} implicit loop around code - awk mode
{envx} reading and setting environment variables from and for shell commands
{answer} Data manipulation example (table inversion)

Module R111 - Exceptions.
[4675] Exceptions in Ruby - throwing, catching and using
[4008] Reading and checking user inputs - first lessons - Ruby
[3435] Sorta sorting a hash, and what if an exception is NOT thrown - Ruby
[3433] Exceptions - a fail-safe way of trapping things that may go wrong
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole
[3177] Insurance against any errors - Volcanoes and Python
[2622] Handling unusual and error conditions - exceptions
[2621] Ruby collections and strings - some new examples
[2620] Direct access to object variable (attributes) in Ruby
[2615] String to number conversion with error trapping in Ruby
[1875] What are exceptions - Python based answer
(article) errors v exceptions
{bmi.rb} BMI (Body Mass Index) calculator
{except} raisieng and catching exceptions between methods
{catcher} Converting String to Integer and handling errors
{mycode} input a number from user, deal with errors / exceptions
{mc} Catching user errors - a short demonstration
{fsta.rb} File Reporter - assumes all is OK
{fstb.rb} File Reporter - handle problems with open
{chq} catching exceptions - file handling
{fstc.rb} File Reporter - handle multiple problems and re prompt
{mighty.rb} Passing exceptions back to calling code

Module R112 - Parallelism
[4680] Processing data line by line - iterator in Ruby with yield
[3156] Splitting data reading code from data processing code - Ruby
[2979] Ruby - yield; parallel routines
{ytb.rb} Your own data iterator
{lynes.rb} How to write and use an iterator
{tap} Reading a file in parallel to processing
{papo} yield - calling back to a code block
{feeder} yield and iterator - practical example
{faucet} a series of methods in a production line

Module R113 - Further Input and Output
[4678] Expect with Ruby - a training example to get you started
[4676] Running shell (operating system) commands from within Ruby
[4553] RUby - loading, using, changing, storing JSON format data
[4502] Reading and parsing a JSON object in Ruby
[4008] Reading and checking user inputs - first lessons - Ruby
{tj3.rb} Descending into a complex (json) object
{jload} making use of data in a JSON object
{exprub} Ruby server check with Ruby - Expect
{cashell} Calling Shell commands from Ruby
{wread} Read a web resource into a program

Module R114 - Ruby on the Web
[4502] Reading and parsing a JSON object in Ruby
[4003] Web and console - same principle, same code - Ruby example
[3773] Ruby on the web - a simple example using CGI
[3623] Some TestWise examples - helping use Ruby code to check your web site operation
[3432] 3 digit HTTP status codes - what are they, which are most common, which should be a concern?
[3431] Ruby at both extremes of your website
[2607] Answers on Ruby on Rails
[2605] Ruby on Rails - a sample application to teach you how
[1891] Ruby to access web services
{testwise1.rb} TestWise - example pasted from a Firefox Capture
{south.rb} CGI Server application from first principles
{testwise2.rb} TestWise - multiple stories
{brightred} Ruby script / CGI - demo reporting current log file
{rubypost} Automated browser to collect from web service
{testwise.in} Testwise data file
{tj.rb} Reading a Json object from a web site and displaying it
{ruby_100} analysis of web server log file
{testwise4.rb} Testwise - testing in a loop, and expecting failure
{testwise.log} Testwise - output log
{hello_ruby_cgi_world} Hello Web World
{testwise3.rb} TestWise - conditionals - making decisions based on pages returned
{testwise5.rb} Testwise - a first page object
{testwise6.rb} testwise - reading from file, writing to console and logfile

Module R115 - Using Ruby with Other Languages
[4676] Running shell (operating system) commands from within Ruby
[3155] Rake - a build system using code written in Ruby
{rakefile} Rakefile for complete C++ example
{shelley} running a bash script in a ruby wrapper

Module R116 - Security Issues.
[3781] Private, Protected, Public in Ruby. What about interfaces and abstract classes in Ruby?
[2604] Tips for writing a test program (Ruby / Python / Java)
[945] Code quality counts
{current} private and protected

Module R117 - Ruby GUIs, XML, SQL Database Connectivity
[4679] Reading in XML in Ruby with xmlsimple
[4006] Ruby / SQLite3 example program, showing JOIN v LEFT JOIN
[2714] A simple example - XML from a Ruby program
[1890] MySQL database from Ruby - an example
(article) Graphic User Interfaces (GUIs)
(article) Interfacing applications to a MySQL database engine
{tago} SQLite example
{dbl} Using MySQL databases from Ruby
{x1.rb} REXML - XML in Ruby - absolute basics
{myrssfeed.xml} Sample XML data
{xmls.rb} XML in Ruby with xmlsimple gem
{tag2} SQLite example with table joins

Module R118 - Ruby Sources and Resources
[3783] Load path, load and require in Ruby, and a change from 1.8 to 1.9
[3622] Loading Ruby classes - where does Ruby look?
[3435] Sorta sorting a hash, and what if an exception is NOT thrown - Ruby
[3426] Automed web site testing scripted in Ruby using watir-webdriver
[2931] Syncronise - software, trains, and buses. Please!
[2621] Ruby collections and strings - some new examples
[2610] Cheat Sheet - what do you need for Ruby on Rails?
[550] 2006 - Making business a pleasure
{rubbers} Use of a debug flag to add and remove traces
{onsite.rb} Testing a webiste with watir-webdriver
{quote_test_log.txt} logfile example watir-webdriver demo

Module R119 - Ruby Miscellany
[3799] Ruby Documentation through rdoc
[3783] Load path, load and require in Ruby, and a change from 1.8 to 1.9
[3622] Loading Ruby classes - where does Ruby look?
[3428] How many days to Christmas?
[3155] Rake - a build system using code written in Ruby
[1890] MySQL database from Ruby - an example
[1889] Ruby mixins, modules, require and include
[1720] Some Ruby lesser used functions
[1586] Variable types in Ruby
[1181] Good Programming practise - where to initialise variables
(article) Modules, Mixins and Comparators in Ruby
{mixdem.rb} Mixins in Ruby - a short demo
{pat.rb} Delivery objects - postman sort
{wot.rb} Work out tax - use Taxcalc.rb
{taxcalc.rb} Tax Calculation Module
{tcalc.rb} Tax Calculation Module for Mixin
{rubytime} Time objects

Module R202 - Ruby on Rails
[4013] Web Frameworks - nested templates
[4010] Really Simple Rails
[3919] What is a web framework?
[3780] Ruby of Rails - cleanly displaying model data in the view
[3779] Adding validation to form entries and sticky fields - Ruby on Rails
[3778] Providing a form to allow the user to add data to the model - Ruby on Rails
[3777] Multiple views in a single appication - sharing common parts of the template - Ruby on Rails
[3772] Hello World - Ruby on Rails - a checklist of each step
[3756] Ruby on Rails - how it flows, and where the files go
[3624] Why do we need a Model, View, Controller architecture?
[2609] Scope of variables - important to Ruby on Rails
[2607] Answers on Ruby on Rails
[2605] Ruby on Rails - a sample application to teach you how
[1745] Moodle, Drupal, Django (and Rails)
[1375] Python v Ruby
[1302] Ruby, Ruby, Ruby. Rails, Rails, Rails.
[1050] The HTML++ Metalanguage
(article) Ror - Ruby on Rails
{views_floor_addaisle.html.erb} The view for the "add aisle" page
{views_floor_addproduct.html.erb} The view for the add product page
{db_seeds.rb} Seeding data for use when application is installed
{models_ailse.rb} How to validate an Aisle object
{views_floor_stock.html.erb} View to list out what we sell, listed aisle by aisle
{controller_floor_controller.rb} Our main shop floor controller
{greeting.rhtml} Some Ruby at the top of a view
{models_product.rb} How to validate a Product object
{views_floor_index.html.erb} Home page for Ruby-on-rails sample application
{config_routes.rb} Routing for product and aisle resources - configuration
{controller_application_controller.rb} Controller General Helpers
{igot} Rails - application to display from Model, Controller and View
{views_layouts_floor.html.erb} Template that encloses all pages in the application
{ilib.rb} Hello Rails World controller

Module R203 - Installing and setting up Rails
[3772] Hello World - Ruby on Rails - a checklist of each step
[2610] Cheat Sheet - what do you need for Ruby on Rails?
(article) Ror - Ruby on Rails
{product.rb} Hello Rails World, Model
{seeds.rb} Seed data for product model
{productlister_controller.rb} Controller for Hello Rails World
{index.erb} View template - hello Rails world

Module R211 - RSpec
[4681] Ruby testing with RSpec - a new example
[4579] Behaviour and test driven development in Ruby using RSpec
[4544] RSpec - Ruby testing (stand alone example / no cucumber)
[4386] Guide exercise to help you learn Gherkin, Cucumber and Rspec
[4383] Improved test in Cucumber with RSpec
{tables.feature} Behaviour definition - for a restaurant table
{tables.rb} Definition of tables derived from behaviour and test specs
{several.rb} Testing with multiple data values
{rsx} Class testing with rspec
{rs001} First RSpec example (no cucumber)
{tables_steps.rb} Steps for implementing test behaviou for restaurant tables
{testmatrix.rb} Matrix of tests with rspec

Module R212 - Test::Unit
[4389] Cucumber example - test::unit, scenario outlines, datafile driven test
[4326] Learning to program - comments, documentation and test code
{pilot.txt} Test case data file
{quotation.feature} Gherkin - A table of examples for a scenario
{quotation_steps.rb} Step definitions - using test::unit

Module R221 - Introduction to Cucumber
[4552] Scenario outlines - tables of values to test - in Gherkin / Cucumber
[4551] Testing your new class - first steps with cucumber
[4386] Guide exercise to help you learn Gherkin, Cucumber and Rspec
[4384] Installing Cucumber on Ubuntu - cannot load such file -- mkmf (LoadError) message
[4383] Improved test in Cucumber with RSpec
[4382] Second step Cucumber and Gherkin - beyond Hello World
[4381] Installing Cucumber (Ruby)
[4380] Behaviour Driven Development / Ruby and Cucumber
{hello.feature} Feature description - in Gherkin for Cucumber
{station.feature} Scenario outline / table of example values
{second_steps.rb} Step implementation of second scenario
{third_steps.rb} Step implementation of third scenario - using RSpec
{capacity.feature} Feature - Scenario, Given, When and Then
{greet.rb} Code to implement a behaviour
{train.rb} Code to implement a behaviour / second example
{hello_steps.rb} How the behaviour is to be tested
{station_steps.rb} Steps for scenario outline example

Module R222 - Cucumber / web site testing with watir webdrivers and capybara
[4501] Defining the behaviour of your web site and testing that it works
[4389] Cucumber example - test::unit, scenario outlines, datafile driven test
[4387] Regression Testing my website - Cucumber and Watir
[3426] Automed web site testing scripted in Ruby using watir-webdriver
{plym.feature} Feature - first test of lunches
{titleregister.json} Json sample
{plymouth.txt} Sample output of running final example
{second_steps.rb} implementation tests for lunch application
{quotation.feature} Gherkin Behaviour for a web site
{hello_quotation.feature} Gherkin - Behaviour description
{hello_sel_steps.rb.hold} Tests - using Selenium
{lunches.php} Test Application for Ruby / Cucumber
{first.feature} Simplest feature file
{tamarsteps.rb} steps for plym,tamar and gunnislake
{hello_wat_steps.rb.hold} Tests - using Watir
{one_steps.rb} implementation of first features
{quotation_steps.rb} Step definitions for web site testing
{tamar.feature} First simple connectivity test
{framework.inc} include file for microPHP site for testing
{second.feature} Testing lunch requirements
{breakfast.php} First sample page to test
{gunnislake.feature} features - back end JSON service

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

S: Databases / the MySQL database

Overview S050 - MySQL - General
[3361] Blowing our own trumpet - MySQL resources
[2861] MySQL and Java - connectivity past, present, and future thoughts
[2567] Extra MySQL course dates (2 day course, UK)
[2561] The future of MySQL
[2559] Moving the product forward - ours, and MySQL, Perl, PHP and Python too
[2426] Which version of MySQL am I running?
[2240] How do I query a database (MySQL)?
[2134] Oracle take over Sun who had taken over MySQL
[2085] MySQL - licensing issues, even with using the name
[2053] What a difference a MySQL Index made
(article) Left Joins to link three or more tables
(article) Management overview of MySQL - background and Philosophies
(article) MySQL Extras
{sample_mysql_table} Create a table with duplicate records to remove as an exersize

Module S151 - Introduction to SQL and MySQL
[3928] Storing your intermediate data - what format should you you choose?
[3269] Files or Databases? MySQL, SQLite, or Oracle?
[2786] Factory methods and SqLite in use in a Python teaching example
[2567] Extra MySQL course dates (2 day course, UK)
[2561] The future of MySQL
[2134] Oracle take over Sun who had taken over MySQL
[924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl
[918] Databases needn't be frightening, hard or expensive
[691] Testing you Perl / PHP / MySQL / Tcl knowledge
[591] Key facts - SQL and MySQL
[515] MySQL - an FAQ
[444] Database or Progamming - which to learn first?
[382] Central London Courses - Perl, PHP, Python, Tcl, MySQL
[175] Worthwhile
[85] Present and future MySQL
[84] MySQL - nuggets
(article) Management overview of MySQL - background and Philosophies
(article) Justification - MySQL v Oracle, Open Source v Commercial

Module S152 - SQL Primer as Used in MySQL
[4007] Which database should I use? MySQL v SQLite
[3061] Databases - why data is split into separate tables, and how to join them
[3060] INSERT, DELETE, REPLACE and UPDATE - changing the content of SQL tables
[2240] How do I query a database (MySQL)?
[591] Key facts - SQL and MySQL
[515] MySQL - an FAQ
[502] SELECT in MySQL - choosing the rows you want
[494] MySQL - a score of things to remember
[270] NULL in MySQL
[158] MySQL - LEFT JOIN and RIGHT JOIN, INNER JOIN and OUTER JOIN
(article) MySQL joins - using left join and right join to find orphan rows
(article) Left Joins to link three or more tables
{joiner.sql} Create two tables, link them with left join
{pop_dvd.sql} Insert rows into sample dvd table
{make_dvd.sql} Create a database and table for a DVD collection
{tab2} Second table for advanced join demos
{loader.sql} Loading data from csv files
{seeds.mysql} MySQL example - table joins
{linked.sql} Two tables ... an illustration of the different joins
{tab1} First table for advanced join demos
{sql_demo.sql} Adding and amending data in a database table

Module S153 - Sourcing, Running and Configuring MySQL
[4487] Starting MySQL. ERROR! The server quit without updating PID file - how we fixed it.
[4406] Fixing damaged MySQL tables - Error 1712 and Error 2013
[4390] Checking MySQL database backups have worked (not failed)
[2458] Cant connect to local MySQL server through socket /tmp/mysql.sock
[2445] Securing MySQL on a production server
[2444] Potted MySQL installation
[2426] Which version of MySQL am I running?
[2209] Monitoring and Tuning your MySQL installation
[2085] MySQL - licensing issues, even with using the name
[1935] Summary of MySQL installation on a Linux system
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1731] Apache httpd, MySQL, PHP - installation procedure
[1689] Some sideways thoughts on the news
[1131] MySQL - Password security (authentication protocol)
[1123] mysqldump and mysqlrestore
[1095] Apache httpd , browser, MySQL and MySQL client downloads
[907] Browser -> httpd -> Tomcat -> MySQL. Restarting.
[591] Key facts - SQL and MySQL
[535] MySQL permissions and privileges
[515] MySQL - an FAQ
[489] Which MySQL server am I using?
[334] Symbolic links and hard links
[192] Current MySQL and PHP paths and upgrades
(article) Management overview of MySQL - background and Philosophies
(article) Justification - MySQL v Oracle, Open Source v Commercial
(article) Load balancing and robustness - httpd, tomcat, PHP, Servlets, MySQL
(article) Windows - running Apache and MySQL from a CD

Module S154 - Designing an SQL Database System
[4426] FileMaker Day to Unix Time conversion
[3494] Databases - when to treat the rules as guidelines
[3361] Blowing our own trumpet - MySQL resources
[3270] SQL - Data v Metadata, and the various stages of data selection
[2749] Delegate Question - defining MySQL table relationships as you create the tables
[2204] Images in a database? How big is a database? (MySQL)
[2085] MySQL - licensing issues, even with using the name
[2053] What a difference a MySQL Index made
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1575] Database design for a shopping application (MySQL)
[1423] MySQL - table design and initial testing example
[945] Code quality counts
[937] Display an image from a MySQL database in a web page via PHP
[918] Databases needn't be frightening, hard or expensive
[666] Database design - get it right from first principles
[515] MySQL - an FAQ
[494] MySQL - a score of things to remember
[375] Oops - I got my initial database design wrong
[361] Binary Large Objects or bars
[59] MySQL - Pivot tables
(article) Mapping database rows to objects in a class
(article) Example - PHP form, Image upload. Store in MySQL database. Retrieve.
(article) When to denormalise your MySQL data
(article) Many to many table mapping (Pivot tables)
(article) Replicating servers in MySQL - Why and how
{pivot.sql} SQL to load book, author and pivot tables
{docjoin.sql} Select for design / complex join example
{just.php} Skeleton application - design / complex join example
{authors.tab} Author table
{docs.sql} Database and table setup for design / complex join example
{tabled.php} Display normalised MySQL tables on a web page
{books.tab} Book table
{docdata.sql} Data for design / complex join example
{pivots.tab} Pivot table
{sql} Table Design - Restaurants / Category / Line item

Module S156 - Interfacing Applications to MySQL Databases
[4436] Accessing a MySQL database from Python with mysql.connector
[3455] MySQL, MySQLi, PDO or something else - how best to talk to databases from PHP
[3447] Needle in a haystack - finding the web server overload
[3099] Perl - database access - DBD, DBI and DBIx modules
[3035] How to display information from a database within a web page
[2790] Joining a MySQL table from within a Python program
[2745] Connecting Python to sqlite and MySQL databases
[2381] Checking the database connection manually
[2263] Mysqldump fails as a cron job - a work around
[1885] Hiding a MySQL database behind a web page
[1561] Uploading to a MySQL database through PHP - examples and common questions
[1518] Downloading data for use in Excel (from PHP / MySQL)
[1450] Easy selection of multiple SQL conditions from PHP
[1381] Using a MySQL database to control mod_rewrite via PHP
[723] Viewing images held in a MySQL database via PHP
[663] Python to MySQL
[644] Using a MySQL database from Perl
[104] mysql_connect or mysql_pconnect in PHP?
(article) MySQL version 5, PHP version 5 and mysqli
(article) MySQL and PHP - enquiry tool for ad-hoc requirements
(article) MySQL and PHP - enquiry tool for ad-hoc requirements
(article) Interfacing applications to a MySQL database engine
(article) Accessing a MySQL database via a browser, Perl and CGI
{t1.php4} PHP table insert into two tables / join / enquire
{mqxyz.php} Simple demo of PHP table from SQL
{mkexcel.php} Returning data from a database via a URL as an excel spread sheet in PHP
{mkexcel2.php} Returning data, opening Excel including formulas, from PHP
{t1.sql} create tables for t1 demo

Module S157 - More MySQL commands
[4481] Extracting data from backups to restore selected rows from MySQL tables
[3270] SQL - Data v Metadata, and the various stages of data selection
[3061] Databases - why data is split into separate tables, and how to join them
[2647] Removing duplicates from a MySQL table
[2645] Optimising and caching your MySQL enquiries
[2644] Counting rows in joined MySQL tables
[2643] Relating tables with joins in MySQL
[2448] MySQL - efficiency and other topics
[2259] Grouping rows for a summary report - MySQL and PHP
[2110] MySQL - looking for records in one table that do NOT correspond to records in another table
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1735] Finding words and work boundaries (MySQL, Perl, PHP)
[1574] Joining MySQL tables revisited - finding nonmatching records, etc
[1331] MySQL joins revisited
[1235] Outputting numbers as words - MySQL with Perl or PHP
[1213] MySQL - the order of clauses and the order of actions
[673] Helicopter views and tartans
[591] Key facts - SQL and MySQL
[581] Saving a MySQL query results to your local disc for Excel
[572] Giving the researcher power over database analysis
[567] Combining similar rows from a MySQL database select
[517] An occasional chance, and reducing data to manageable levels
[515] MySQL - an FAQ
[513] MySQL - JOIN or WHERE to link tables correctly?
[502] SELECT in MySQL - choosing the rows you want
[494] MySQL - a score of things to remember
[449] Matching in MySQL
[279] Getting a list of unique values from a MySQL column
[159] MySQL - Optimising Selects
[158] MySQL - LEFT JOIN and RIGHT JOIN, INNER JOIN and OUTER JOIN
(article) Copying databases and tables in MySQL
(article) MySQL joins - using left join and right join to find orphan rows
(article) MySQL SELECT - JOIN versus UNION, WHERE versus HAVING, GROUP etc.
(article) Left Joins to link three or more tables
(article) When to denormalise your MySQL data
(article) MySQL Extras
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{homes.tab} Houses for sale - Trowbridge, Melksham, etc
{perlit} 6 tables ordering system model - perl program
{agents.tab} Estate agent details - Trowbridge, Melksham, etc
{seeder} Data for join v left join demonstration
{rz} 6 tables ordering system model - running output
{shopper} 6 tables ordering system model - Design and test in SQL
{agents} SQL statements for Agent and Property demo

Module S158 - GUI tools for MySQL
[1724] addslashes v mysql_real_escape_string in PHP
[572] Giving the researcher power over database analysis
(article) MySQL and PHP - enquiry tool for ad-hoc requirements

Module S159 - MySQL 5 and PHP 5
[3455] MySQL, MySQLi, PDO or something else - how best to talk to databases from PHP
[2172] PHP4 v PHP5 - Object Model Difference
[1766] Diagrams to show you how - Tomcat, Java, PHP
[1754] Upgrade from PHP 4 to PHP 5 - the TRY issue
[1455] Connecting to MySQL 5 from PHP on Mac OSX Leopard
[1417] What software version do we teach?
[1131] MySQL - Password security (authentication protocol)
[515] MySQL - an FAQ
[494] MySQL - a score of things to remember
[104] mysql_connect or mysql_pconnect in PHP?
(article) MySQL version 5, PHP version 5 and mysqli
{vlatesti.php5} How NOT to use mysqli - don't just add an i
{vlatest.php5} A simple example using PHP mysql functions
{5,2,5,i.php5} Using PHP mysqli functions - a working example

Module S161 - Data Access and Security in MySQL
[4493] Forgotten / lost MySQL root password
[4491] Web Server Admin - some of those things that happen, and solutions
[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)
[3270] SQL - Data v Metadata, and the various stages of data selection
[2647] Removing duplicates from a MySQL table
[2263] Mysqldump fails as a cron job - a work around
[2204] Images in a database? How big is a database? (MySQL)
[1131] MySQL - Password security (authentication protocol)
[947] What is an SQL injection attack?
[647] Checking for MySQL errors
[535] MySQL permissions and privileges
[401] What is an SQL injection attack?
[193] The wrong MySQL
[192] Current MySQL and PHP paths and upgrades
(article) Copying databases and tables in MySQL

Module S162 - Replication in MySQL
[2210] MySQL server replication
(article) Copying databases and tables in MySQL
(article) Replicating servers in MySQL - Why and how

Module S163 - Stored Procedures in MySQL
[2749] Delegate Question - defining MySQL table relationships as you create the tables
[2447] MySQL stored procedures / their use on the web from PHP
[2446] Learn about MySQL stored procedures
{stp4} Stored procedure to return a result set
{stored5.php} PHP call to a MySQL stored procedure that returns a result set
{seed.sql} Data to seed tables for stored procedure demos
{stored6.php} PHP call to a MySQL store procedure that calculates / loops
{stored3.php} PHP call to a stored procedure to run a fixed query
{stp6} Stored procedure calculating from a query
{stored4.php} PHP call to a MySQL stored procedure passing a parameter
{stp3} Simple stored procedure definition
{stp5} Stored Procedure taking a parameter
{twcrp.sql} MySQLdump sample - twcrp test database for store procedure use

Module S200 - SQLite
[4024] SQL databases from Python - an SQLite example
[4007] Which database should I use? MySQL v SQLite
[4006] Ruby / SQLite3 example program, showing JOIN v LEFT JOIN
[3269] Files or Databases? MySQL, SQLite, or Oracle?
[3139] Steering our Python courses towards wxPython, SQLite and Django
[3099] Perl - database access - DBD, DBI and DBIx modules
[2786] Factory methods and SqLite in use in a Python teaching example
[2746] Model - View - Controller demo, Sqlite - Python 3 - Qt4
[2745] Connecting Python to sqlite and MySQL databases
[2744] PyQt (Python and Qt) and wxPython - GUI comparison
[2561] The future of MySQL
{seeds.sqlite} SQLite example - table joins

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

T: Tcl, Tcl/Tk, wish and Expect

Overview T050 - Tcl, Tcl/Tk and Expect - General
[4616] Still teaching Tcl in 2016?
[4460] Using Object Oriented Tcl and the Tk toolkit together - real life example
[4434] Public training courses - upcoming dates
[4206] Writing the perfect program in Tcl?
[3286] Should we cover expect and/or Tk on our public Tcl courses?
[3192] Tcl - Some example of HOW TO in handling data files and formats
[2681] Tcl - a great engineering language
[2504] Learning to program in ...
[2474] Using Tcl and Expect to automate repetitive jobs
[2429] Tcl scripts / processes on a web server via CGI
(article) Why have Tcl/Tk been around for so long?
(article) Incr-Tcl - Object Oriented extension to Tcl
(article) The Typist and the Engineer
{myfuncs} File of function(s) for common operations
{day3} A good - but not perfect - second program
{day2} A good - but not perfect - early program
{distance_graph} itcl and tk together - full app

Module T201 - What is Tcl?
[4616] Still teaching Tcl in 2016?
[2463] Tcl - a true interpretive, command based language
[1268] Changes in advertising cut lines / Buscot / Tcl course
[1174] Installing Tcl and Expect on Solaris 10 - a checklist
[691] Testing you Perl / PHP / MySQL / Tcl knowledge
[382] Central London Courses - Perl, PHP, Python, Tcl, MySQL
[133] Tcl embeds
(article) Why have Tcl/Tk been around for so long?

Module T202 - Tcl Fundamentals
[4453] Tcl variable names - no real limits!
[4324] Learning to program - variables and constants
[3917] BODMAS - the order a computer evaluates arithmetic expressions
[2442] Variable storage - Perl, Tcl and Python compared
[1469] Curley brackets v double quotes - Tcl, Tk, Expect
[1426] Buffering up in Tcl - the empty coke can comparison
[1282] Stringing together Tcl scripts
[1136] Buffering output - why it is done and issues raised in Tcl, Perl, Python and PHP
[782] Converting between Hex and Decimal in Tcl
[362] The ireallyreallywanna operator
[349] Comments in Tcl
[328] Making programs easy for any user to start
[210] Joining lists in Tcl. Indirect variables in Tcl.
[3] Looking for a donkey
(article) Brackets and Braces in Tcl
{greet} Reading from the user in Tcl
{hddh} Hexadecimal to decimal, and decimal to hex, in Tcl
{gry} Variables in Tcl - first use
{anno2} Comments - inline and continuations
{pricer} Completed simple application in Tcl - pricing tickets
{gr2} Double quote substitution in Tcl
{anno} A trivial Tcl program with comments

Module T203 - Conditionals and Loops
[4455] Working out distance between places, using OS grid references and a program in Tcl
[4323] Learning to program - Loop statements such as while
[4322] Learning to Program - the conditional statement (if)
[3571] Comparing loop commands in Tcl
[3570] Trapping errors in Tcl - the safety net that catch provides
[3397] Does a for loop evaluate its end condition once, or on every iteration?
[3189] Tcl - the danger of square brackets in a while command
[2681] Tcl - a great engineering language
[2471] A short form of if ... then ... else
[2261] Tcl - nice and nasty
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1477] Decisions - small ones, or big ones?
[1401] Tcl - using [] or {} for conditions in an if (and while)
[210] Joining lists in Tcl. Indirect variables in Tcl.
{dthrow} The switch command
{globber} Switch - exact, glob and regex
{lazy} The ? : conditional operator
{food} Alternative conditions - while loop
{wtot} breaking out of a Tcl loop
{lunches} Lunches for each day of the week
{wd} The while command in Tcl
{validlunches} Lunches - validating user input within range
{diy} The for command
{diy2} The foreach command
{wipats} More flexible alternative to a switch
{group} The if command in Tcl
{group4} deferred execution blocks with { and }
{group5} if, elseif and else in Tcl
{flt} for while and foreach loops compared
{morelunches} Lunches - different places to go
{ftoc} F to C conversion - exercise
{ftoc2} Is water a solid, a liquid or a gas?
{older} Conditional Operator ? and :
{minimax} Answer to practical - minimum and maximum

Module T205 - String Handling in Tcl
[4455] Working out distance between places, using OS grid references and a program in Tcl
[4454] Everything is a string - even a list
[4205] Regular Expression Substitution - Tcl
[3576] Tcl - apparently odd behaviour of string trimleft
[3285] Extracting data from a string / line from file - Tcl
[3192] Tcl - Some example of HOW TO in handling data files and formats
[2472] split and join in tcl and expect
[1601] Replacing the last comma with an and
[1410] Tcl / regsub - changing a string and using interesting bits
[1403] Square Bracket protection in Tcl
[943] Matching within multiline strings, and ignoring case in regular expressions
[779] The fragility of pancakes - and better structures
[404] How to check that a string contains a number in Tcl
(article) Analysing incoming data lines
{stringman} Manipulating a string
{hunter} Example of analysis of a log file
{stringinfo} Getting information from a text string
{iconfinder} search for all icon references in a web log
{ccat} lappend and concat - the difference
{rematch} String matching using a regular expression
{match} String matching - using globing
{datematch} Matching a date using a regular expression
{rf2a} Using scan's return value
{dm2} A further date match example
{poco} Postcode identifier and string splitter
{rf} Opening and reading a file
{apfo} format and append commands
{ac_report} Complete example - Access log file analysis
{rf2} Using scan to get a field from a string
{brax} Literally matching round brackets in regular expressions

Module T206 - Lists
[4455] Working out distance between places, using OS grid references and a program in Tcl
[4454] Everything is a string - even a list
[4209] Lists in Tcl - fundamentals in a commented source code example
[3618] lists and struct::list in Tcl - Introduction to struct::list and examples
[3583] Expanding a list of parameters in Tcl - {*} and eval
[3582] Tcl collections - lists, dicts and array
[3415] User defined sorting and other uses of callbacks in Tcl and Tk
[3394] The difference between lists and strings - Tcl
[3285] Extracting data from a string / line from file - Tcl
[2472] split and join in tcl and expect
[2468] What are Tcl lists?
[1601] Replacing the last comma with an and
[1405] Sorting in Tcl - lists and arrays
[1402] Tcl - append v lappend v concat
[1334] Stable sorting - Tcl, Perl and others
[1283] Generating traffic for network testing
[1282] Stringing together Tcl scripts
[781] Tcl - lappend v concat
[463] Splitting the difference
[144] Tcl sandwich - lists in Tcl
{distance_between} Finding distances between places base on OS grid references
{pk4.tcl} Generate a series packet sizes for network testing
{acr2} Treating lines of data read from file as a list
{expand} Handling a list of command parameters
{stdlook} Look up Florida dialling codes
{liimp} List basics in a nutshell
{arx} how an lsort callback works
{os_letters.txt} Easting and Northing additions for OS grid references
{growth} station growth program
{days} A list of days
{fido} Open and read a file line by line
{dt4u} extract field pairs from lines
{slist} list manipulation with struct::list

Module T207 - Procedures and Variable Scope
[4398] Accessing variables across subroutine boundaries - Perl, Python, Java and Tcl
[3629] Sharing lots of values in Tcl without having lots of global declarations
[3414] Passing back multiple results in Tcl - upvar and uplevel
[3192] Tcl - Some example of HOW TO in handling data files and formats
[2929] Passing a variable number of parameters in to a function / method
[2520] Global and Enable - two misused words!
[2476] Tcl - uplevel to run code at calling level
[2466] Tcl - passing arrays and strings in and back out of procs
[1782] Calling procs in Tcl and how it compares to Perl
[1404] Tcl - global, upvar and uplevel.
[1163] A better alternative to cutting and pasting code
[775] Do not duplicate your code
[409] Functions and commands with dangerous names
[308] Call by name v call by value
[122] Passing arrays to procs in Tcl
[96] Variable Scope
{gsc} The global scope
{dresser} Changing a value within a proc and returning the altered value
{whatandwhen} Exercise - please write the proc to complete
{p2} Sharing a variable using upvar
{pr3} loading a file of procs shared with other applications
{p1} Sharing a variable using global
{wwbetter} Better sample answer - "getnumber"
{dr2} Optional parameter in Tcl
{yetan} uplevel to store a value in parent
{uv} Call by value and call by name
{p5} Sharing a variable using uplevel - obscure!
{addindemo} Sample code to complete - final exercise
{knots} Unloading an array of inputs as local variables in a proc
{tied} Using an array of inputs as if they were local variables in a proc
{uquery} Shared file of procs
{p3} Sharing a variable using upvar and call by name - RECOMMENED
{p4} returning a variable - RECOMMENED for passing 1 piece of data back
{wwanswer} First sample answer - "getnumber"
{cbn} Using upvar to call by name
{add2} Answer to final exercise
{scope1} Variable default to being local
{vardemo} Calling a proc with a variable number of arguments
{doublit} Another upvar example for learners
{up1} Using upvar to effect a variable in the calling code
{pr1} Defining a proc (command) and using it
{another} upvar to return a second value

Module T208 - Arrays and dicts
[3638] Sorting dicts and arrays in Tcl
[3614] Tcl - dicts - a tutorial and examples
[3582] Tcl collections - lists, dicts and array
[3415] User defined sorting and other uses of callbacks in Tcl and Tk
[3192] Tcl - Some example of HOW TO in handling data files and formats
[2466] Tcl - passing arrays and strings in and back out of procs
[1614] When an array is not an array
[1427] Arrays in Tcl - a demonstration
[1405] Sorting in Tcl - lists and arrays
[1283] Generating traffic for network testing
[1282] Stringing together Tcl scripts
[779] The fragility of pancakes - and better structures
[122] Passing arrays to procs in Tcl
{dnicer} test program for station data
{arr_log} Access log counter using arrays
{arr_log_3} Passing arrays in and out of procs - using upvar
{mini} 2nd program using railutils
{dict1} setting up and get, dict
{ar3} looping though an array with array get
{topskill} setting up an array of lists, sorting, listing out elements
{dict4} dict for
{ar1} First use of arrays
{stfinal} final exercise - array of dialling codes
{dict2} Conrol - using a string as a list
{nested} nested dicts
{ifinder} search for icon references; list icon names
{ar2} Checking if an array key exists
{arr_log_2} Selecting elements from an array - glob matching to keys
{ifinder2} search for icon references and count them
{dicdem} dicts - using the various subcommands
{rail_dict} Sorting a dict
{dict3} iterating through the keys of a dict
{au} Demo of use of upvar
{railutils} File of procs to do with station info
{ar_rail} Setting up an array and sorting the elements by key
{dla} list, array, dict

Module T209 - File and Directory Handling
[4524] Tcl - a new example for data reformatting
[4523] Catching failed commands and not crashing the program in Tcl
[4461] Reading from a URL, and reading Json, from your Tcl script
[3617] The fileutil package and a list of file system commands in Tcl
[3429] Searching through all the files in or below a directory - Ruby, Tcl, Perl
[3320] Reading the nth line from a file (Perl and Tcl examples)
[3192] Tcl - Some example of HOW TO in handling data files and formats
[2467] Tcl - catching an error before your program crashes
[1467] stdout v stderr (Tcl, Perl, Shell)
[1426] Buffering up in Tcl - the empty coke can comparison
[1407] Reading from another process in Tcl (pipes and sockets)
[785] Running external processes in Tcl and Tcl/Tk
[779] The fragility of pancakes - and better structures
{recent} List all files modified in the last hour
{rail} Data extraction and reporting from multiple files
{disc_status} Piping input from an operating system command
{multifile} Output to stdout and several files at the same time
{diary} diary data for for_qa script
{filework} Report file statuses
{bigbelow.v2} biggest below - practical example that traps empty folders
{failer} Using catch to trap file open failures
{for_qa.tcl} Data reformatting example / course end tie together
{dnstab} Read a file, extract from it
{bigbelow} Find biggest file in or below a specified folder
{biggest} using glob to check all files in a directory
{files} fileutil package in use

Module T211 - What is Expect? Why use it?
[4678] Expect with Ruby - a training example to get you started
[4405] Backup procedures - via backup server
[3572] Adding Expect on top of Tcl - what is it and where can I get a training course to learn about it?
[3286] Should we cover expect and/or Tk on our public Tcl courses?
[3009] Expect in Perl - a short explanation and a practical example
[2489] Parallel Pinging, using Python Threads or Expect spawn lists
[2474] Using Tcl and Expect to automate repetitive jobs
[1602] Automating processes through Expect
[1531] Expecting a item from a list of possibles
[1469] Curley brackets v double quotes - Tcl, Tk, Expect
[1411] Buffering of inputs to expect, and match order
[1409] What is Expect?
[1174] Installing Tcl and Expect on Solaris 10 - a checklist
[1173] Cheat Sheet / Check list for Expect maintainers
[435] Expect for Windows
[286] Automating regular manual procedures
(article) A Web interface for your Linux admin tasks
{evening} Automated backup
{e2} Ping via expect, echo back a value from the report
{plet.exp} Expect for Windows - ping a host and guess its distance from you
{yap} Expecting from a list (expect block)
{qp} Expect to automate a series of pings
{e1} Simplest ping check via expect
{wuff} Expecting from a list (regular expression)
{ftp1} First Expect example
{e3} expect - do not grab indeterminate
{xpx} quick ping around a series of hosts
{linksandimages} Grab a web page, report all links and images
{gup} Grabbing a log file and locally analysing
{weblinks} Grab a web page and report all links
{ftp2} Expect with some error checking and decisions

Module T212 - Expect Processes
[4678] Expect with Ruby - a training example to get you started
[3448] Checking all the systems on a subnet, using Expect and Tk
[2489] Parallel Pinging, using Python Threads or Expect spawn lists
[2474] Using Tcl and Expect to automate repetitive jobs
[1785] What is running on your network? (tcl and expect)
[1173] Cheat Sheet / Check list for Expect maintainers
[675] Adding PHP tags to an old cgi program
[287] Checking that all our servers are up and accessible
{osx_tkpingle} Checking which machines are online - Mac OSX
{tkpingle} Checking network continuity using ping, Expect and a Tk GUI
{livetest.exp} Web based script - ping a series of remote hosts
{botget} parallel expect example - get robots.txt from several servers
{mex} multiple processes through expect
{server.tce} Expect script, web server, CGI
{exp_ping} expect - multiple parallel pings, Red Hat Linux version
{pingle} parallel pings - Caldera Linux version

Module T213 - Libraries, Packages and Namespaces
[4522] Loading packages in your Tcl program
[3418] Tcl packages, pkg_mkIndex, pkgIndex.tcl -what are they and why use them.
[3417] What is a namespace and why do we need them?
[3066] Separating groups of variables into namespaces
[2476] Tcl - uplevel to run code at calling level
[1529] Tcl - learning how to use namespaces, packages and libraries together
[1339] Packages and Namespaces are like Suitcases and Aircraft
[146] example of Tcl namespaces and packages
{tpack.tcl} package chicken - part of dinpack demo
{toes.tcl} Package to go with twice demo
{nsq} Adding a package to a namespace
{show.tcl} Defining a package
{ns_up} Variables saved between proc calls in the next code level up
{gpack.tcl} package goose - goes with dinpack
{nsp} setting up and using a namespace
{packs} Loading a package
{tabby.tcl} a namespace wrapped in a package
{dinpack} Using packages and namespaces together
{twice} Using a package - without namespaces
{ns_no} shows how variables are lost between proc calls
{ns_y2} Counting proc calls using a namespace - shorter example
{legals.tcl} Definition of a package
{2wice} Using a package that contains a namespace
{ns_exim} Namespace export and import
{doubler.tcl} define a package to contain a namespace
{ns_yes} Saving variables in a namespace
{rules.tcl} Definition of a package with namespace
{nex} packages with and without namespace
{updown} uplevel - performed in calling code variable space

Module T214 - Other Facilities in Tcl
[4762] Coverage map in Tcl - how many times has each proc been called?
[4525] What does Tcl do if you try to run a command that is not defined?
[4523] Catching failed commands and not crashing the program in Tcl
[4207] Exception handling in Tcl
[3583] Expanding a list of parameters in Tcl - {*} and eval
[3570] Trapping errors in Tcl - the safety net that catch provides
[3287] Exceptions - Tcl style
[2467] Tcl - catching an error before your program crashes
[1338] Handling Binary data in Tcl (with a note on C)
[1334] Stable sorting - Tcl, Perl and others
[1277] AgtInvoke - a command to drive Agilent Tcl software extensions
[782] Converting between Hex and Decimal in Tcl
[748] Getting rid of variables after you have finished with them
[461] Shortened interactive commands
[366] Error handling in Tcl through catch
[364] pu daily and p hourly
[239] What and why for the epoch
(article) errors v exceptions
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{edo} Running an external process in Tcl
{fishing} exceptions in Tcl
{times} proc coverage example
{dunno} unknown command calls unknown proc
{vt} Tcl program that manipulates a variable
{vtt} Tcl program that uses the trace command to report the manipulation of a variable
{firstline} Using catch to trap runtime errors
{lick} Finding size of .gif image in Tcl - binary scan
{goalie} catching exceptions - Tcl style
{netting} catch - catching error, and error message too
{err1} Example of a Tcl program that fails
{err2} A Tcl program that uses catch to trap a run time error

Module T216 - Introduction to Tk
[4460] Using Object Oriented Tcl and the Tk toolkit together - real life example
[4208] Tcl + Tk (Wish) - an introduction and revision example
[2040] Error: Cant read xxxxx: no such variable (in Tcl Tk)
[595] Add a friendly front end with Tk
(article) Graphic User Interfaces (GUIs)
{gui_2} Classis Tk structure - procs, widgets, geometry ...
{tk_accesscount} Tcl/Tk - Access Log File counter!
{tk_hello} Tcl/Tk - Report Date Information
{tk_h2} Report Date Information on a widget
{udq} Widgets, Geometry Managers and Events

Module T217 - First Widgets, Geometry and Events
[4458] A new Tcl/tk example - a window to show system status
[3575] Multiple buttons calling the same proc in wish (tcl/tk)
[3415] User defined sorting and other uses of callbacks in Tcl and Tk
[309] Writing a Tcl/Tk GUI is as easy as baking a cake
{deferintk} Deferred execution can cause a problem in Tk
{tk_b3} Tk - attributes of a button
{tk_event} Tcl/Tk - Event demo
{tk_b2} Tcl/Tk - button test 2
{tk_b4} Tcl/Tk - button states
{tk_wm} Tcl/Tk - First Frame
{tk_b1} Tcl/Tk - button test 1
{colmat} Sample answer 1 - coloured labels and layout question
{admin} Tk GUI to provide system state reporting box
{colmat2} Sample answer 3 in development
{colmat3} Sample answer 3 - Completed layout question

Module T218 - Geometry Managers
[1470] fill and expand on Tcl/Tk pack command
[1340] Tk locks up - 100% c.p.u. on a simple program (Tcl, Perl, Python)
[1335] Expanding a grid - Tcl/Tk
[787] Tk - laying out your GUI with frames, pack and grid
[445] Sticky news
[212] Tcl/Tk (wish) Grid layout example
{tk_log} Grid geometry manager - first example
{tk_l2} Grid geometry manager, showing cell size via colour
{numpad} Laying out a numeric keypad on a grid
{tk_wh3} An example of the place geometry manager in use
{tk_wh2} Grid geometry manager - cells spanning multiple rows and columns
{tk_l3} Grid geometry manager, expanding cells via -sticky news
{tk_l4} Grid geometry manager - column weights to control resize behaviour
{tk_which} Grid geometry manager, using -rowspan and -columnspan

Module T219 - Drawing on Canvases
[4460] Using Object Oriented Tcl and the Tk toolkit together - real life example
[2211] Tcl/Tk - why does the canvas widget use a display list?
{can3} Demo of different graphic objects
{can2} Drawing shapes on a canvas and dragging them with the mouse
{imgoncanvas.tk} Placing a GIF on a canvas
{histo} Histogram drawn on a canvas - generalised code
{can4} Line styles on a Tk canvas
{tktext} text options in Tk - colour, font, size, centring
{can1} Drawing on a canvas

Module T220 - Frames and Other Topics
[4459] Managing the window size (and layout) in Tcl/Tk
[1471] Cliff Lift simulator- Lynton to Lynmouth - in Tcl/Tk
[1335] Expanding a grid - Tcl/Tk
[787] Tk - laying out your GUI with frames, pack and grid
{tls} Scrolling a canvas (canvas, scrollbar, toplevel, frame, grid)
{tk_fvar_2} Tk frames - flexibility of layout
{willie} Check buttons - defaulting to be selected or not
{sltvtl} Slider, text variable and pop up
{linedisplay} Display with frames, canvas, window manager
{clifflift} Tcl/Tk - Scales linked like a cliff lift
{tk_scale} Tcl/Tk - First Scales
{tk_fvar_1} Tk frames using variables to allow extra flexibility
{tk_sc2} Tk scales with variable feedback
{tk_frames} Nested frames - first completed example
{tk_ru2} Tcl/Tk - Are you sure window using a message widget
{tk_rusure} Tk - popup box to ask "are you sure" written using Tk basics

Module T221 - Menus
[1475] Tcl/Tk - updating your display while tasks are running
{mb1} First menu button
{mb2} Various options for menu buttons
{mb3} Menu bar system based on array or lists
{idletasks} use of update idle tasks to update the display

Module T222 - Resources
[1474] Using Tcl/Tk resource files for flexible applications
{lookandfeel} Demonstration file of Tk resources
{resource3} Resources file for tk_res3
{bright} Resource file - answer to exercise
{tk_res3} Use of two files of Tk resources.
{skeleton} Template for resource exercise

Module T223 - Textish Widgets
[1475] Tcl/Tk - updating your display while tasks are running
[596] The magic of -textvariable
{form2} Second form using Tk entry widget.
{teditor} Simple text editor in Tk
{listbox1} Tk listbox example
{tktx2} Marks and tags and editing in a Tk text widget
{tktext} a Tk text widget used as a vehicle for custom text editing
{tkt} A Tktable is a tabulator widget in Tcl/Tk
{form} Form using Tk entry widget
{tktxt} Tk - Text Widget - first easy example
{listbox2} Tk second listbox example (code snippet only).
{lbex} Sample answer - listbox to choose types of fruit.

Module T224 - Events in Tk
[4258] Keeping you Tkinter display up to date while monitoring
[3575] Multiple buttons calling the same proc in wish (tcl/tk)
[1473] Making a variable dynamically visible in a Tcl/Tk GUI
[386] What is a callback?
(article) Defining events including variable values in Tk
{caneve} Binding canvas events and keys
{tkbb} Button Binding example
{tke3} Button bindings to a single proc.
{tke5} Button binding for all keys, down and up
{tke2} Events to toggle text on a widget.
{tke6} Keysym Tester

Module T241 - Tcl on the Web
[4461] Reading from a URL, and reading Json, from your Tcl script
[2429] Tcl scripts / processes on a web server via CGI
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua
[2040] Error: Cant read xxxxx: no such variable (in Tcl Tk)
[1785] What is running on your network? (tcl and expect)
(article) Nasty Characters in Web Applications
{formrep.tcl} Using Tcl as a CGI scripting language - form collection
{getpagejson} Reading json via http
{tcl_process.html} Form for data entry for formrep.tcl demo
{demoform.html} Demo form to submit to a Tcl handler -->
{scale.tcl} Sample Tclet to run within a browser
{tclcourse.tcl} CGI , Server side programming basics
{tlet.html} Embedding Tcl in your browser (client side) -->
{isitnz.tcl} web application - is it from New Zealand?
{getpage} Reading http from Tcl

Module T242 - More on Expect
[3448] Checking all the systems on a subnet, using Expect and Tk
[3009] Expect in Perl - a short explanation and a practical example
[2475] Quick easy and dangerous - automated logins via Tcl / Expect
[1531] Expecting a item from a list of possibles
[1475] Tcl/Tk - updating your display while tasks are running
[1411] Buffering of inputs to expect, and match order
[1173] Cheat Sheet / Check list for Expect maintainers
[435] Expect for Windows
(article) The Typist and the Engineer
{engineer} send_human in expect
{immortal} Catching signals in expect
{rupple} Expect - run rup on a named host
{tcenhance} Telnet wrapper using interact; provides filtering too
{tctel} Telnet wrapper using interact
{multisigs} Trapping multiple signals in Expect
{chammy} Automated Logging In
{subnet_test} Check a subnet for pingable systems
{typist} Second example of expect's "send_human" command.
{sslo} Send slow example - expect
{pingabout} Expect to run ping on a named host; able to switch host during run

Module T243 - Using Tcl from C
[3416] Storing Tcl source code encoded, and running via your own C program
[208] Examples - Gadfly, NI Number, and Tcl to C interface
{mytcl.c} Simplest call from C to Tcl - just a wrapper
{fred_extended} Tcl used to demo extension with same command
{fred} Demo Tcl for mytcl example
{makefile} Makefile for C applications in this module
{extend.c} Extending Tcl with C - an extra command written in C
{secret.c} Run a Tcl script from an encoded file
{fullapp.c} C program that invokes a Tcl Interpreter

Module T244 - Socket Programming
[4462] Server program written in Tcl using sockets
[785] Running external processes in Tcl and Tcl/Tk
{kesclient} GUI (Tk) client which uses information provided by kesserv server
{tclserver} food server - pass on previous persons contribution
{kesserv} Tcl Server - read from a Linux device and serve information entered by TCP/IP

Module T245 - [incr-Tcl]
[4460] Using Object Oriented Tcl and the Tk toolkit together - real life example
[4456] Objects in Tcl - iTcl - updated first steps example
[3142] Private and Public - and things between
[1925] Introduction to Object Oriented Programming
[1819] Calling base class constructors
[1528] Object Oriented Tcl
[656] Think about your design even if you don't use full UML
[290] Object Orientation in Tcl - [incr-Tcl]
(article) index
(article) Loading incr-tcl into tclsh
(article) Incr-Tcl - Object Oriented extension to Tcl
{bigger.itcl} [Incr-Tcl] Demonstration 2
{pet.itcl} itcl - second sample class
{petal} Example that loads Itcl into tclsh
{ootcl02} Creating and using objects, cget and configure
{weekend.itcl} [incr-Tcl] - Inheritance and Polmorphism - main file
{itlist} Using [incr-Tcl] to hold a list of objects
{exv} Multiple classes and inheritance demonstration
{ootcl01} Creating and using objects
{animal2.itcl} class that loads Itcl into basic Tclsh
{find.itcl} List available classes in [Incr-Tcl]
{hello.itcl} [Incr-Tcl] Demonstration
{film.itcl} [incr-Tcl] - Base class and two classes that inherit from it
{animal.itcl} A simple class in [incr-tcl]
{inherits.itcl} Multiple inheritance and constructor calls

Module T246 - Tix Megawidgets
[1327] Tktable - Laying out data in a matrix - Tcl/Tk
{tix005} Tix Control - feedback into widgets
{tixbunch} Showing a selection ot Tix Megawidgets
{tix004} Practical demo - Tix MegaWidget
{tix001} Tix Control widget demonstration
{tix007} - mulitple feedbacks on Tix MegaWidgets
{tixtree} Tix - Tree of big files below a specified directory
{tixfs} Tix File selection application
{tix003} Tix Demonstration of standard widget options

Module T247 - Advanced Regular Expressions
[4205] Regular Expression Substitution - Tcl
[1613] Regular expression for 6 digits OR 25 digits
[1412] Sparse and Greedy matching - Tcl 8.4
[1410] Tcl / regsub - changing a string and using interesting bits
[1336] Ignore case in Regular Expression
[1305] Regular expressions made easy - building from components
[1195] Regular Express Primer
[943] Matching within multiline strings, and ignoring case in regular expressions
(article) Pattern Matching - a primer on regular Expressions
{T247.tcl} Tcl in use for CGI scripting
{aretest} advanced regular expression match demo
{blob} Progressive regsub examples
{sparkle} Sparse v Greedy regular expressions

Module T248 - A Review of Tcl and Tk Basics
[4208] Tcl + Tk (Wish) - an introduction and revision example
[1469] Curley brackets v double quotes - Tcl, Tk, Expect
[1181] Good Programming practise - where to initialise variables
[1174] Installing Tcl and Expect on Solaris 10 - a checklist
[1092] Tcl training - often for a larger group
(article) Brackets and Braces in Tcl
(article) What makes a good variable name?

Module T249 - The Tcltest Package
[4457] Test framework for TCL - Tcltest - some examples
(article) Using Tcl to test a system with the tcltest module
{ttest} tcltest - first steps
{tt3.test} tcltest example that runs only if constraints are met
{tt1.test} Test under tcltest, version 2
{ttrun} tcltest - an example running all the tests in a directory
{tt2.test} tcltest example using setup and cleanup blocks

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

U: Lua programming and use

Overview U050 - Lua - General
[4575] Learning not just what a program does, but how to design it in the first place.
[4297] Lua courses - an update
[4260] Why we teach Lua
[3724] Learning to Program in Lua - public / open training course / class
[3528] December courses - PHP, Python, Perl - and a weekend Lua course
[2947] Teaching Lua to a Perl advocate
[2555] Bookkeeping
[2504] Learning to program in ...
[2492] Lua Classes - open enrolement
[2331] Certification Revisted - Lua
[2318] For Lua Programmers AND for Town Planners
[2315] New Lua Examples - for last weeks delegates
[2309] Lua training class in Spanish
[2227] Learning PHP, Ruby, Lua and Python - upcoming courses
{tap.lua} include file to load data and functioanllity
{towns.lua} Town simulation - town type definitions
{towns_about} Overview of Town Simulation example
{towns_output} Town Simulation - the program outputs ...
{town_simulation} Main program - town simulation exercise
{town_sim.txt} Specification for town simulation exercise, and data

Module U101 - Introduction to Lua.
[4324] Learning to program - variables and constants
[4271] Line, block and nested comments - Lua compared to other languages
[3724] Learning to Program in Lua - public / open training course / class
[2310] Learning to write high quality code in Lua
[1842] Lua Course, and the Wiltshire Countryside too
[1737] Rules, suggestions, considerations for Lua variable names
[1699] If you are learning Lua, here are some more examples
[1695] Lua Course - here is the index
[1111] Training in Lua
(article) What makes a good variable name?
{hello} Some variable types in Lua
{simples} Read keyboard - calculate - output result
{lop} Testing to see if a fallback is needed
{straightforwards} Read - calculate - loop - output
{ello} Commenting - line and multiline
{moongreet} Hello Lua World
{demo} Some Lua Basics
{easys} Read - calculate - conditionals - output
{stdo} Calling standard functions / setting up variables

Module U102 - Numbers and the Math library.
[4569] Lua - changes to how integers and floats are handled - 5.2 to 5.3
[3917] BODMAS - the order a computer evaluates arithmetic expressions
[2509] A life lesson from the accuracy of numbers in Excel and Lua
[2345] Automatically initialising Lua variables the first time
[1744] Lua examples, Lua Courses
[1699] If you are learning Lua, here are some more examples
{furry} Lua basics - calculations, output and comments
{vatty} Take the VAT back off a gross amount
{ccinit} Initialising Variables
{larith} Simple string format example
{prncr} io.write allows output with no new line
{vn} Variable naming in Lua
{ludo} Comments in Lua
{ichange} Lua - integer changes 5.2 to 5.3
{vars.lua} Lua Comments and Variables
{rnum} Reading from the keyboard, calculate and output
{allfloat} All Lua numbers are floats

Module U103 - Conditionals and loops
[4574] repeat until in Lua - a one or more rather than a zero or more loop
[4323] Learning to program - Loop statements such as while
[4322] Learning to Program - the conditional statement (if)
[4272] Lazy operators in Lua - what they mean, and examples
[3686] The goto statement in Lua
[3558] Python or Lua - which should I use / learn?
[3397] Does a for loop evaluate its end condition once, or on every iteration?
[2455] Lua examples - coroutines, error handling, objects, etc
[2454] For loops in Lua
[2351] Ternary operators alternatives - Perl and Lua lazy operators
[1738] Clean code, jump free (Example in Lua)
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1685] Short circuit evaluation (lazy operator) in Lua
{lif} if, elseif, else
{kz} Example of a for loop
{clumpit} for loop termination
{doco} Changing loop counts
{ll2} while loop and repeat until loop
{exa} Loops and conditionals - exchange rate example
{tchart} for loop with start, end and step
{clike} for loop with pairs and ipairs
{andor} Lazy and / or operators
{swans.lua} Swan family - Lua
{runt} repeat until
{whilly} Writing cleaner code without break or continue
{lloops} while and for loops
{bpm} string.find v string.gfind
{floo} for loop in which end condition changes
{wcd} Comparison of while and until loops
{lsx} Lua for loop - termination
{meerkat} Lazy Operators

Module U104 - Strings and the String library.
[4274] String formatting in Lua - string.format as a wrapper for sprintf
[2500] Dynamically formatting your results (Lua)
[2357] Checking if the user has entered a number (Lua)
[2348] Finding literals rather than patterns in Lua
[1744] Lua examples, Lua Courses
{qbs} backslash specials in character strings and other basics
{gimme} Reading from the keyboard and string basics
{stem} Basic String functionality
{moopark} Answer to excercise - Theme park takings
{sf} string.format
{kiddos} Spread money gift around a group of children
{mlx} Single and multiline strings
{ul} Use of string.rep
{splitter} Using string.find and string.sub to split
{kids} String formatting
{ee} Excercise to print out exchange rate table
{two} Checking a NUMBER has been entered
{s2} Finding literal strings
{three} Wait until a NUMBER has been entered

Module U105 - Tables and the table library.
[4571] Lua - using modules to add your own utilities
[4273] Dot or Colon separator between table name and member in Lua - what is the difference?
[4248] Metatables, Metamethods, classes and objects in Lua
[3725] Lua Tables
[3694] Special __ methods you can use in Lua metatables
[2703] Lua Metatables
[2699] Lua tables - they are everything
[2499] ourdog is Greyhound, Staffie and Ginger Cake
[2346] The indexed and hashed parts of a Lua table
[1742] Lua - Table elements v table as a whole
[1697] Sorting in lua - specifying your own sort routine
{imex} implode in Lua
{party} Read and store data until we get a blank line
{duh} What is in a table?
{tinies} Reading a file and creating a table
{synsug} . v ["...."] v insert
{moretab} Getting the minimum number from a table
{tat} whole table v single member, pairs v ipairs
{ph} pairs, ipairs and #tablename iteration
{cleversort} Sorting with a user defined routine
{ooco} Assignment of a table - by reference
{taba} Tables as associative arrays
{clone} Duplicate (clone) a table
{clo_demo} User defined sorting in Lua
{asort} Sorting an Associative table
{spjo} Split and Join a string into / from a table
{t1} mixing associative and normal in table
{settab} Set up a table, output in reverse
{sorting} Sorting tables
{tabo} Tables - some basics
{sf3} Read file, split line, tables of tables

Module U106 - Functions.
[3695] Functions are first class variables in Lua and Python
[2949] Lua - variable function arguments and select
[2723] Returning multiple values from a function - Lua
[2455] Lua examples - coroutines, error handling, objects, etc
[2356] Passing multiple results back from a function - Lua, Python, etc
[2347] Dot, dot, dot in Lua - variable length parameter lists
[2312] What are closures in Lua?
[1847] Lua - IAQ (Infrequently Answered Questions)
[1744] Lua examples, Lua Courses
[1743] First class functions in Lua lead to powerful OO facilities
[1699] If you are learning Lua, here are some more examples
[1697] Sorting in lua - specifying your own sort routine
[1685] Short circuit evaluation (lazy operator) in Lua
{loadthese.lua} functions to include within a test harness
{summer} variable arguments - a function to add up numbers
{yik} Need to use local to reduce cope of variables
{tabasnamed} function call via table
{dress2} declaring variables local to avoid global issues
{aaa} A table of functions, calling each in turn
{dress1} The problem of default global
{lazy} lazy operators / short circuit evaluation
{exrate} exchange rate example as a function
{funone} Function calling and definition in Lua
{mj} A function to take a lot of parameters or a table
{rmv} returning multiple values
{vargs} Variable number of arguments
{testharness} Loading functions from a file
{isd} An adaptive function in Lua
{owsort} how sorting via callbacks works
{selit} variable number of parameters and the select function
{cl2d} First Closure demonstration
{symet} Symetric Functions
{fav} Using tables and functions within them
{fcv} Dynamic code loading
{lomore} variables local to a block
{dress3} Code loads at run time not compile time
{size.lua} sample module - exercise answer
{fsr} Flexible Function Calls
{ex106} excersize - functions
{funtwo} global, local and call by value
{slct} Returning multiple results
{brvret} break v return

Module U107 - Object Orientation - the Lua way
[4753] Lua, Tcl, Python, C and C++ courses - at our Melksham HQ or on your site - forward from July 2017
[4573] Classic style OO code - in Lua
[4572] Tables with values and code in Lua - looks like an object?
[4273] Dot or Colon separator between table name and member in Lua - what is the difference?
[4248] Metatables, Metamethods, classes and objects in Lua
[4117] Is Lua an Object Oriented language?
[3730] What is a metatable? How do I set one up? How do I use them? Lua
[3727] Using Lua tables as objects
[3694] Special __ methods you can use in Lua metatables
[3683] Weak references in Lua - what are they, and why use them?
[3524] Metaclasses (Python) and Metatables (Lua)
[3396] Tables as Objects in Lua - a gentle introduction to data driven programming
[3142] Private and Public - and things between
[2710] __index and __newindex in Lua - metatable methods
[2703] Lua Metatables
[2701] Is Lua an Object Oriented language?
[2455] Lua examples - coroutines, error handling, objects, etc
[2359] A fresh example - objects the Lua way
[2318] For Lua Programmers AND for Town Planners
[1819] Calling base class constructors
[1743] First class functions in Lua lead to powerful OO facilities
[1699] If you are learning Lua, here are some more examples
[1692] Towards Object Oriented Programming in Lua
{xlog.lua} Access log - exercise framework
{visit.lua} definition of visit objects
{anim_o1.lua} Tables to associate functions with data
{metatiny} Metatables - the mechanism
{Dice.lua} Definition of a dice object - Inheritance
{kitten} Setting up tables and printing them out - control
{cat} adding in extra behavious
{service_12} table for data and functionallity
{oblet} Hello Object World
{north} Comparing dot and colon
{couples} Moving towards Lua objects - Metatables
{rail5} a table for each station
{lottaob} Polymorphism in Lua - table of objects of different types
{index_123} __index and __newindex
{meta4} redefining operators
{train_objects} using tables as classic objects
{cuboid} Illustrates use of a class of objects
{obtable} Polymorphism in Lua - table of objects of different types
{metasmall} Metatable to change a table characteristics
{newCube.lua} Definition of a class in Lua
{overload_add.lua} Operator (+) and to_string overloading, Lua
{ii5} bus and train tables, and printing metatable
{Sphere.lua} Definition of a sphere object
{meta1} preparations for metatables - this is just a table
{acobj} The OO paradigm applied in Lua
{zoo.txt} Sample data file for animal demo
{trains} introducting metatables
{meta2} Simple use of a metatable to create a class
{tabby} Define special behaviours ...
{trains_control} pre-metatables
{animals.lua} Using a metatable to define print, <, etc
{meta3} creating and using a table of tables("objects")
{dibdab} We can keep funtions in a table too
{metamid} Adding user methods via a metatable
{Cube.lua} Definition of a cube object
{metapetite} Overriding an operator on a table
{alog} Program to use visit objects

Module U108 - Pattern matching
[4366] Changing what operators do on objects - a comparison across different programming languages
[3687] Binary / bitwise operations in Lua with the standard bit32 library
[2727] Making a Lua program run more than 10 times faster
[2702] First and last match with Regular Expressions
[2383] Lua Regular Expressions
[1847] Lua - IAQ (Infrequently Answered Questions)
[1744] Lua examples, Lua Courses
{lpm} Anchoring and delimiting patterns
{patplode} iterating through a string, choosing a pattern
{slander0} Pattern matching - SLOW code
{slander1} Pattern matching - FAST code
{stratch} String Pattern Matching
{pcis} Pattern match and extract - a postcode
{iiapc} Pattern matching in Lua (not Regular Expressions)
{split} split or explode in Lua
{dls} Pattern substitute, pattern match and extract

Module U109 - Modules
[4571] Lua - using modules to add your own utilities
[2455] Lua examples - coroutines, error handling, objects, etc
[2358] Encapsulating shared code in a Lua module
[1699] If you are learning Lua, here are some more examples
{strictcure} How strict.lua can trap globals
{Distance.lua} Namespace definition in Lua
{joinery} Separating out detailed logic into separate functions
{exc} Excercise on loading functions from a file
{skills.lua} Sample answer to exercise - an include file
{j2} ... then moving logic out to a module
{logex} Second program to use shared utilities
{useit} Program to use a module
{gdist} get distance between points - uses module
{httpcalls.lua} A module to handle web access log records
{withstrict} How strict.lua can trap globals
{MyLib2.lua} where do namespaces load from?
{sf5_main} first program to use shared utilities
{MyLib.lua} where do modules / namespaces load from?
{mymod.lua} First Lua Module
{myutils.lua} utility functions for multiple examples

Module U110 - Input / Output
[3558] Python or Lua - which should I use / learn?
[2344] Reading a data file and sensing EOF in Lua
[1841] Formatting with a leading + / Lua and Perl
[1744] Lua examples, Lua Courses
{flapper} file read and write - line by line
{filescan} Finding the latest log file and analysing it (popen, ls)
{flipper} keyboard and screen read and write
{emmas} Looking for (and counting) email addresses in a log file
{boring} File open, read
{grounds.lua} Soccer grounds - Lua
{log_counter} Command line and data file use / full course example
{zz} Some file reading fundamentals
{skill_lister} Processing a file of records, splitting each record
{info.txt} Soccer ground data for Lua and Python example
{loganal} Log file analysis

Module U111 - Trapping and handling errors.
[2706] Error trapping in Lua - no exceptions.
[2455] Lua examples - coroutines, error handling, objects, etc
[2360] Error Handling in Lua with assert and pcall
{gp2} Assert - test a condition and exit with your error if it fails
{tbp} Stack Traceback
{splut} trapping Lua errors - assert
{errc} Error handling on file open
{protectedcall} pcall to trap errors in a lua function call
{wonky} error checking through pcall
{gp0} 'Control' for error trapping - failing example
{splot} trapping Lua errors - nil and error
{gp1} trapping an error via pcall

Module U112 - Other Standard Library features.
[2951] Lots of way of converting 3 letter month abbreviations to numbers
[1847] Lua - IAQ (Infrequently Answered Questions)
{getos} What is my host operating system (in Lua)
{lt5l} convert 3 letter month abbreviation to number
{ons} What is in os module?
{mathfuncs} Maths functions and random number generators
{dlisting} Directory listing
{basics} List all tables and contents
{timtimer} Time / date and timers
{globals} Global variables via _G

Module U113 - Installing Lua
[4102] Installing Lua 5.2.2 on Mac OS X 10.7.4
[2461] Luac - getting lua to start fast by precompiling
[1632] Lua - a powerful, up and coming scripting language
{inst} Install procedure for LuaSocket

Module U114 - Threading and Coroutines.
[4270] Embedding Lua to perform tailored code at an interval
[3395] Parallel but not really parallel. Moving game characters. Coroutines in Lua.
[2455] Lua examples - coroutines, error handling, objects, etc
[2314] Passing parameters to a coroutine in Lua
[1870] What to do with a huge crop of apples
[1699] If you are learning Lua, here are some more examples
[1691] Co-routines in Lua - co-operative processing
{ff2.lua} Multiple coroutines in parallel use
{controller} setting off a number of timers
{datafeeder} using a coroutine as a generator
{charmoves} coroutine for game player movements
{crcr} coroutine basics
{coro} simple coroutine example
{nocoro} NOT using coroutines - filling a table then using it instead
{inco} Passing parameters to coroutines
{cosy} Illustration of Coroutines

Module U116 - Network Lua.
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua
{formone.lua} Web Page via CGI in Lua
{webclient} Using the socket library to read a web page
{hello.lua} Web Page via CGI in Lua
{autobrowser} Using http client library to retreive a web page

Module U117 - Other Lua Subjects
[2461] Luac - getting lua to start fast by precompiling
[1845] Passing a table from Lua into C
[1844] Calling functions in C from your Lua script - a first HowTo
{fromlua.c} C code callable from Lua - Mk 1
{wrapper.lua} Lua script to load and run C functions - Mk 3
{candy.c} C code callable from Lua - Mk 3
{passing.lua} Lua code that calls a C function, passing params and returning value
{top.lua} Lua program that loads and runs C code
{luapassing.c} C code - callable from lua with parameters passed
{getos} What is my host operating system (in Lua)

Module U118 - Resources.
[2319] Graphics in Lua - an example using the gd library
[1847] Lua - IAQ (Infrequently Answered Questions)
[1695] Lua Course - here is the index
[1111] Training in Lua
{lugra} Using the gd module and library
{envelope} Command Line parameters in Lua

Module U196 - Testing and Development in Lua
[4326] Learning to program - comments, documentation and test code

Module U198 - New in Lua 5.2
[3690] Changes in Lua 5.2 - Garbage Collection
[3687] Binary / bitwise operations in Lua with the standard bit32 library
[3686] The goto statement in Lua
[3683] Weak references in Lua - what are they, and why use them?
{bitwise} The bit32 library
{wrt} Weak references - set up and practical use
{gotolua} Lua goto - introduced in 5.2

Module U199 - Programming Standards in Lua
[3685] Programming Standards in Lua
{loadthese.lua} Functions to include within a test harness
{shortplatform} postoptimised Lua example
{station.lua} pre-optimise

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

W: Web site programming / techniques

Module W501 - Introduction to Web Site Structure
[2552] Web site traffic - real users, or just noise?
[2282] Checking robots.txt from Python
[2214] Global Index to help you find resources
[2094] If you have a spelling mistake in your URL / page name
[1969] Search Engines. Getting the right pages seen.
[1686] FTP - how not to corrupt data (binary v ascii)
[1636] What to do if the Home Page is missing
[1431] Getting the community on line - some basics
[1198] From Web to Web 2
[1176] A pu that got me into trouble
[1168] Moving out some of the web site bloat
[1031] robots.txt - a clue to hidden pages?
[1024] Web site - a refresh to improve navigation
[528] Getting favicon to work - avoiding common pitfalls
[332] Looking up IP addresses
{robots.txt} Telling robots to bypass certain URLs

Module W502 - HTML Document Anatomy
[4034] The VERY basics of a web page ... and web site
[3563] How big is a web page these days? Does the size of your pages matter?
[3517] Tags used in writing this blog
[2675] Redirecting to your main domain for correct security keys
[2246] What difference does using the XHTML standard really make?
[1811] Alternative URLs using % symbol encoding
[1463] All the special characters in HTML ...
[1431] Getting the community on line - some basics
[1187] Updating a page strictly every minute (PHP, Perl)
[1160] HTML - example of a simple web page
[993] Positioning with Cascading Style Sheets
[857] Strikingly busy
{el006.php} XHTML Page with PHP, dynamic refresh (metatag), style (css) and image (jpg) that resizes to browser window via Javascript
{el004.php} XHTML Page with PHP, dynamic reload and style
{codes.php} ASCII codes for HTML special characters
{el003.php} XHTML Page - PHP clock, auto reloads every minute
{el001.php} XHTML Page
{el002.php} XHTML Page with PHP (current time and date)
{el005.php} XHTML Page with PHP, dynamic reload, style and image

Module W503 - Hypertext
[4036] HTML tags uses in these blog articles
[4035] Special characters in HTML
[1630] To provide external links, or not?
[1034] The new web site look spreads

Module W504 - Not Just Text
[3133] An image from a website that occasionally comes out as hyroglyphics
[2554] Adding retrospective ALT attributes to IMG
[1806] Dealing with overhead cables in a photograph
[1749] Using server side and client side programming together
[1618] A small picture does not always cut it!
[847] Image maps for navigation - a straightforward example
[665] PHP Image viewing application
[553] Keep that image small
[351] Is photoajustment an addiction?
{picshow.php4} Random image using PHP
{frime.html} elementary formatting and images
{bgdemo.html} Tiled background (random image)
{3wi.html} Multiple images in a piece of HTML

Module W505 - Tables
[1493] Comparison - cellpadding versus cellspacing
[887] HTML tables - telling whats wrong from the display

Module W506 - Forms
[3532] Sharing the user experience - designing a form with the customer in mind
{smith.html} target page for a link
{esq.php} A first script - just echo inputs
{furst.html} A first page with links to other pages and scripts (via form)

Module W507 - Frames
[220] When to use Frames
(article) Using Frames with PHP
{framed_dpd.php4} hierarcy navigation - PHP with frames
{dpd.php4} hierarcy navigation - PHP without frames

Module W508 - Which Browser?
[3128] How does your browser find out about itself?
[2135] What features does this visitors browser support? (PHP)
[1519] Flipping images on your web page

Module W509 - Style
[2223] CSS Style Diagrams - working out where attributes come from
[1519] Flipping images on your web page
[1034] The new web site look spreads
[1019] span and div tags - a css comparison

Module W510 - Executable Content
[2628] An example of an injection attack using Javascript
[1814] Javascript/HTML example, dynamic server monitor
[1813] Ajax - going Asyncronous and what it means
[1812] Starting Ajax - easy example of browser calling up server data
(article) Running CGI scripts in Apache Tomcat
(article) Running SSI (Server Side Include) scripts in Apache Tomcat

Module W511 - Further Aspects
[1970] Plagarism - who is copying my pages?
[1187] Updating a page strictly every minute (PHP, Perl)
[1001] .pdf files - upload via PHP, store in MySQL, retrieve
[876] Making pages clearer - easy Disability Discrimination Act Compliance
[528] Getting favicon to work - avoiding common pitfalls

Module W512 - Site Design Aspects
[3589] Promoting a single one of your domains on the search engines
[3563] How big is a web page these days? Does the size of your pages matter?
[3517] Tags used in writing this blog
[2214] Global Index to help you find resources
[1598] Every link has two ends - fixing 404s at the recipient
[1353] Mood shots
[1054] UK legal requirements for your commercial web site
[1047] Maintainable code - some positive advice
[1015] Search engine placement - long term strategy and success
[918] Databases needn't be frightening, hard or expensive
[859] Put the answer in context - it may be printed
[823] An excellent use for a visitor count?
[795] Remember a site's non-technical issues too
[718] Protecting images from theft
[649] Denial of Service ''attack''
[556] Colour doesn't have to mean colourful
[510] Dynamic Web presence - next generation web site
[391] One mans pleasure is another mans poison
[352] Improved mining techniques!
[345] Spotting a denial of service attack
[319] Accommodation and landing pages
[288] Colour blindness for web developers
[261] Putting a form online
[229] A fortunate accident

Module W601 - Structure of Networks and Webs
[2246] What difference does using the XHTML standard really make?
[1798] What does an browser understand? What does an HTML document contain?

Module W602 - Client Side Technologies
[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
[3128] How does your browser find out about itself?
[2628] An example of an injection attack using Javascript
[2390] Dynamic / changing images on your web page
[1814] Javascript/HTML example, dynamic server monitor
[1813] Ajax - going Asyncronous and what it means
[1812] Starting Ajax - easy example of browser calling up server data
[1749] Using server side and client side programming together
[1681] Adding a button to a web page to print the page
[1322] Flash - is it available to your web page?
[522] Javascript events - a good example
[411] Javascript examples (some PHP and MySQL too)
{jskl.html} Javascript event handling on a form (textarea)
{fourth.html} reporting platform information via Javascript
{seven.php} Changing one Select menu based on another selection
{third.html} Checking plugin availability
{geoloc.html} Reporting back your latitude and longitude
{nine.php} Javascript, PHP and MySQL used together - training example
{first.html} Simple Javascript variables, and an alert box
{fifth.html} Providing different links depending on which browser
{smonth.php} Disabling a form input until another element has been completed
{terry2.html} Roll over an image to change another image
{six.php} Validating user entries at the browser
{dynamic.html} Dynamic Image (Using Javascript)
{isflash.html} Sensing whether Flash is available on a browser
{eight.php} Disabling a form input until another element has been completed
{second.html} Conditional in Javascript - wording based on browser

Module W603 - Server Side Technologies
[4277] Sending a message to the server and changing text on a page when a button is pressed
[3915] How does PHP work?
[3705] Django Training Courses - UK
[2282] Checking robots.txt from Python
[2055] Effect on server when memory runs out and swapping starts
[1749] Using server side and client side programming together
[1615] PHP training courses every month
[1554] Online hotel reservations - Melksham, Wiltshire (near Bath)
[1365] Korn Shell scripts on the web
[1355] .php or .html extension? Morally Static Pages
[1031] robots.txt - a clue to hidden pages?
[1020] Parallel processing in PHP
[732] Where is a web site visitor browsing from
[653] Easy feed!
[642] How similar are two words
{clockpage.php4} PHP clock refreshes every minute

Module W604 - Beyond the Server
[4178] Where are you? How to write a geosensitive application
[2355] See this page in French
[468] Stand alone PHP programs

Module W611 - Actionscript
[2390] Dynamic / changing images on your web page
[1926] Flash (client) to PHP (server) - example
[1352] Actionscript / Flash / Flex (IAQ/FAQ)
[1322] Flash - is it available to your web page?
{squish.php} PHP script that shows server side interaction
{ButtonBottom.as} Interaction from Actionscript to server and database
{Buttontop.as} Actionscript to server interaction
{button.html} HTML shell to load a flash movie
{isflash.html} Sensing whether Flash is available on a browser

Module W701 - Introduction to Cascading Style Sheets
[1677] CSS training - Cascading Style Sheets (UK course)
[1016] Modernising from tables to cascading style sheets
[999] Cascading and the buses
[994] Training on Cascading Style Sheets
[993] Positioning with Cascading Style Sheets
(article) Introduction to Cascaded Style Sheets
(article) Elements of Cascading Style Sheets
(article) Cascading Style Sheets - laying out your page
(article) Cascading Style Sheets - putting it all together
{cshello.html} First example of the application of style
{casc1.html} Cascading style sheets - a simple cascade example
{styles01.css} Style sheet - external files, first example
{csel.html} Using an external style sheet file

Module W702 - Elements of cascading style sheets
[4037] Cascading Style Sheets and formatting your web page
[1998] Text on a background image
[1831] Text formating for HTML, with PHP
[1677] CSS training - Cascading Style Sheets (UK course)
[1019] span and div tags - a css comparison
[1017] css - handling white space and pre
[999] Cascading and the buses
[994] Training on Cascading Style Sheets
(article) Introduction to Cascaded Style Sheets
(article) Elements of Cascading Style Sheets
(article) Cascading Style Sheets - laying out your page
(article) Cascading Style Sheets - putting it all together
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{dtext.html} text demonstration of styles
{ddisp.html} block and inline display attributes
{dhs.css} style sheet applied to a heirarcy
{dte.css} flexibility in text styles
{dfsr.html} relative font sizes using percentages
{dshello.html} different types of element selector
{dheir.html} document heirarcy

Module W703 - Page layout with cascading style sheets
[1017] css - handling white space and pre
[1016] Modernising from tables to cascading style sheets
[994] Training on Cascading Style Sheets
(article) Introduction to Cascaded Style Sheets
(article) Elements of Cascading Style Sheets
(article) Cascading Style Sheets - laying out your page
(article) Cascading Style Sheets - putting it all together
{epl.css} Style screen for positioning demos
{e01.html} Laying out elements of a page
{tabin.html} Standard tags v classes v tables
{eoscr.html} Overflow and scroll - cascading style sheets

Module W704 - Cascading style sheets - putting it all together
[4037] Cascading Style Sheets and formatting your web page
[2223] CSS Style Diagrams - working out where attributes come from
[1677] CSS training - Cascading Style Sheets (UK course)
[996] Setting your colour theme through PHP
[994] Training on Cascading Style Sheets
[565] Using PHP to output images, XML, Style sheets, etc
[501] .css - using PHP to make dynamic style sheets
(article) Introduction to Cascaded Style Sheets
(article) Elements of Cascading Style Sheets
(article) Cascading Style Sheets - laying out your page
(article) Cascading Style Sheets - putting it all together
{hex4.css} Style for example 4
{hex3.html} Page layout included within style
{holder.html} holding page
{styled.html} Styles within page
{hex4.html} page layout is within style sheet
{direct.html} Direct coding
{hex1.html} Direct Coding
{hex_direct.html} Direct code - older style tags
{hex3.css} Style sheet for example no. 3
{hex2.html} with tags embedded in page

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

Y: Python programming and use

Overview Y050 - Python - General
[4712] A reminder of the key issues to consider in moving from Python 2 to Python 3
[4656] Identifying the first and last records in a sequence
[4558] Well House Consultants - Python courses / what's special.
[4434] Public training courses - upcoming dates
[4408] Additional Python courses added to our schedule
[4295] A longer Python ... training course
[4236] Using Python to analyse last years forum logs. Good coding practise discussion.
[3935] Whether you have programmed before or not, we can teach you Python
[3911] How well do you know Perl and / or Python?
[3903] Python Programming class for delegates who have already self-taught the basics
[3902] Shell - Grep - Sed - Awk - Perl - Python - which to use when?
[3816] Want to escape the Olympics? Learn to program in the countryside!
[3798] When you should use Object Orientation even in a short program - Python example
[3519] Python - current versions and implementations (CPython, Jython, IronPython etc)
[3489] Python courses and Private courses - gently updating our product to keep it ahead of the game
[3463] Busy weekend of contrasts.
[3076] Python through the Snow
[2822] Python training courses for use with ESRI ArcMap software
[2778] Learning to program in Python 2 ... and / or in Python 3
[2504] Learning to program in ...
[2394] Two days of demonstration scripts in Python
[2367] Learning to program - how to jump the first hurdles
[2285] Great new diagrams for our notes ... Python releases
[2227] Learning PHP, Ruby, Lua and Python - upcoming courses
[2020] Learning Python - many new example programs
[2017] Python - a truly dynamic language
[16] Python training
(article) Python Fast Start
{wool} Generator function to prevent need for intermediate list
{demo2} first real application - simple calculation
{ld} Lists, lists of lists, mutable and immutable
{rv1} Using a generator to avoid a large intermediate list - control
{extend.py} Decorator, lots of __ methods, formatting, and more
{d2} ways of looping through a list
{fdo} File read and write - program 'samples' every 10th line of a log file
{demox} How EVERYTHING is an object - even functions!
{dd} loading functions from shared file
{tupperware} Trying to modify a tuple
{wac} Web Access Counter - parsing big data file
{accts} First steps in Object definition and use
{sheep} lists of functions, lambdas, callbacks (posh/flexible ways to use functions)
{nuform} Some examples of the % (string formatting) operator
{neville} Simple log file analysis
{peeps} Converting a file on disc to a list of objects in memory
{animals.py} Sample class with test harness too
{p4l} Use of xrange rather than range to avoid huge intermediate lists
{re1} Regular Expression to extract data from log file (and dictionary analyse)
{mlog} Tracking start and end records
{darling.py} file to be included to bring in application globals
{dooper} A one-liner to print a file's contents
{pipo} Running an operating system command via a pipe
{filer} Reading a file line by line (good for huge files)
{monty} First 'real' application
{dfg.py} Hiding algorithms in functions - 'encapsulation'
{zzz} transport in Ireland
{demo} early python demonstration - using, re-using, copying variables
{grabbage} Reading a web page 'as if it was a local file'
{costings.py} A file of functions for 'from' or 'import'
{fd} Some early list demonstrations!
{together.py} Station growths
{ooe} generatings lists of 365 elements to convert day of year to month and day

Module Y101 - Introduction to Python
[4590] Progress on moving from Python 2 to Python 3 - training for both versions
[4298] Python - an interesting application
[4118] We not only teach PHP and Python - we teach good PHP and Python Practice!
[1663] Python in an afternoon - a lecture for experienced programmers
[1375] Python v Ruby
[950] Python and the Magic Roundabout
[949] Sludge off the mountain, and Python and PHP
[909] Python is like a narrowboat
[846] Is Perl being replaced by PHP and Python?
[834] Python makes University Challenge
[753] Python 3000 - the next generation
[745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus.
[712] Why reinvent the wheel
[710] Linux training Glasgow, Python programming course Dundee
[629] Choosing the right language
[444] Database or Progamming - which to learn first?
[382] Central London Courses - Perl, PHP, Python, Tcl, MySQL
[380] Bridging to the customer requirement
[317] Programming languages - a comparison
(article) Python Fast Start
{new_ok} Printing strings in Python 3
{d4_1} Factory demo
{ok} Printing strings in Python 2
{fred} Hello world - Python v Java
{melksham.txt} Reform 0 sample data
{stations.py} Samsung example
{qx} Singapore Dollar Answer
{scope} Python is "default local"
{hello.py} "Hello World" in Python
{reform} Simple data manipulation

Module Y102 - Python - Fundamentals
[4712] A reminder of the key issues to consider in moving from Python 2 to Python 3
[4442] Mutable v Immuatble objects in Python, and the implication
[4324] Learning to program - variables and constants
[3917] BODMAS - the order a computer evaluates arithmetic expressions
[3886] Formatting output - why we need to, and first Python example
[3551] Some terms used in programming (Biased towards Python)
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java.
[3181] Beware - a=a+b and a+=b are different - Python
[3083] Python - fresh examples from recent courses
[2778] Learning to program in Python 2 ... and / or in Python 3
[2442] Variable storage - Perl, Tcl and Python compared
[2368] Python - fresh examples of all the fundamentals
[1878] Pascals Triangle in Python and Java
[1461] Python - input v raw input
[1448] Question on division (Java) - Also Perl, PHP, Python ...
[1430] Integer v float - Python
[956] Python security - trouble with input
[748] Getting rid of variables after you have finished with them
[633] Copying a reference, or cloning
[328] Making programs easy for any user to start
(article) Python Fast Start
{constr.py} Constant Strings
{y102a} Answer to end of module exercise
{trimmer} early example of formatting output
{oper.py} Maths operations in Python
{i2.py} input with built in coercion
{tqs.py} Strings several lines long
{inout.py} raw input
{comment.py} Commenting your program
{leadollar} Output - with and without spacing
{const.py} Constants in Python
{repo.py} Operator precedence in Python
{pasco} Pascals Triangle
{pygo} Deleting a variable v deleting its contents
{pout.py} More about print statements
{demo} Simple first steps - prompt, read, calculate, report
{cli} Running a python program without having to type in "python" every time
{yraw} input v raw_input
{o2} Stripping leading and trailing space
{henry} Conversion, Coercion, and 2 forms of print

Module Y103 - Conditionals and Loops
[4723] Conditional operators in Python
[4713] Equality (in Python)
[4545] Method, Class, Module, Package - how to they relate in Python?
[4541] Setting up and tearing down with the Python with keyword
[4402] Finding sum, minimum, maximum and average in Python (and Ruby)
[4323] Learning to program - Loop statements such as while
[4322] Learning to Program - the conditional statement (if)
[4210] If elif elif elif - multiway selection in Python
[4092] Identity in Python
[3895] Flowchart to program - learning to program with Well House
[3762] Learning to program - the if statement. Python.
[3620] Finding the total, average, minimum and maximum in a program
[3558] Python or Lua - which should I use / learn?
[3439] Python for loops - applying a temporary second name to the same object
[3397] Does a for loop evaluate its end condition once, or on every iteration?
[3200] How a for loop works Java, Perl and other languages
[3083] Python - fresh examples from recent courses
[2899] Groupsave tickets - 3 or 4 train tickets for the price of 2
[2778] Learning to program in Python 2 ... and / or in Python 3
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1661] Equality, sameness and identity - Python
[1477] Decisions - small ones, or big ones?
[1201] No switch in Python
[909] Python is like a narrowboat
[835] Python - when to use the in operator
[788] New - Conditional expressions in Python 2.5
[668] Python - block insets help with documentation
[657] The ternary operator in Python
[353] Wimbledon Neck
[299] What - no switch or case statement?
(article) the while and else structure
{if2.py} if with a block
{tab2.py} loop controls - break and else
{swans.py} Swan family - Python
{three.py} if statments - various ways of writing them
{shand.py} Shorthand operators
{isy} is or == in Python
{python_switch_case} Alternative to switch, case and default
{cally.py} Days and months exercise - answer using methods
{shin} with as and in
{bp} Exchange Rate Conversion answer
{eqt} Comparions
{if1.py} an if statement in python
{if4.py} if, elif and else
{goal.py} when is a number "false"?
{ken} single and multiple statement blocks / conditionals
{if3.py} Nested blocks
{b1.py} if - elif - else conditional
{table.py} a loop in python
{sintea2} Singapore Teapot - exercise answer (2)
{lenny} First Loop
{sintea} Singapore Teapot - exercise answer
{groupsave} Groupsave ticket calculator
{george} if / elif / elif - how it works
{combo.py} Combining conditions with and and or

Module Y104 - Lists and Tuples
[4722] Embedding more complex code into a named block
[4368] Shuffling a list - Ruby and Python
[4027] Collections in Python - list tuple dict and string.
[3763] Spike solutions and refactoring - a Python example
[3669] Stepping through a list (or an array) in reverse order
[3348] List slices in Python - 2 and 3 values forms, with an uplifting example
[3257] All possible combinations from a list (Python) or array (Ruby)
[3181] Beware - a=a+b and a+=b are different - Python
[3118] Arrays of arrays - or 2D arrays. How to program tables.
[2996] Copying - duplicating data, or just adding a name? Perl and Python compared
[2719] Traffic lights in Python
[2368] Python - fresh examples of all the fundamentals
[2284] Strings as collections in Python
[2280] Creating and iterating through Python lists
[1789] Looking for a value in a list - Python
[1641] Tektronix 4010 series / Python Tuples
[1220] for loop - how it works (Perl, PHP, Java, C, etc)
[955] Python collections - mutable and imutable
[899] Python - extend v append on a list
[657] The ternary operator in Python
[383] Overloading of operators on standard objects in Python
(article) Python List, Python Tuple, Python Dictionary
{dmy} Two alternatives - day of year -> day of month and month of year
{lc} List Comprehensions
{revq3} Parking exercise - final sample answer
{tu1.py} First use of a tuple
{shuffle.py} Shuffle a list of numbers
{lp1} Whole list or just elements of list?
{staloop} looping throught a station file
{inlist.py} The in operator - is a value in a list
{weekwurk} using function from exercise
{utils.py} solving exersise using a function
{li3.py} Use of range to give list indexes
{lister} 4 different ways of parsing a list
{litu.py} Converting a list to a tuple
{da1} Using the power of lists to reduce loops (control)
{pf} using + and re-assigning
{lo} list manipulation
{m2} Alternative answer to exercise 1
{myrange} How a function takes different shapes
{sh2.py} Shuffle a list of numbers using supplied shuffle method
{cally.py} Days and months exercise - answer using methods
{slice.py} list slices
{li2.py} for loop to handle each element of a list
{cmp.py} Comparing lists
{3slice} List slices - 1 2 and 3 value forms
{daze} Using the power of lists to reduce loops (actual)
{tessapy} All possible pairs from list
{revq} Parking exercise - mk 1
{yuk} some excercises with lists
{months} Answer - excercise 1 - day and month numbers
{menu.py} A list of lists - works like a 2 D array but better ;-)
{backuds} Going through a list backwards
{li4.py} range to go through each element of a list
{revq2} Parking exercise - mark 2
{mutt} mutable v immutable
{repeat.py} + and * operators on a list
{f2} Copy list v Clone list
{li1.py} List - first example
{lcopy.py} Copying a list (or rather - copying a reference to a list)
{pe} using +=

Module Y105 - Functions, Modules and Packages
[4724] From and Import in Python - where is the module loaded from?
[4722] Embedding more complex code into a named block
[4719] Nesting decorators
[4662] Recursion in Python - the classic example
[4645] What are callbacks? Why use them? An example in Python
[4448] What is the difference between a function and a method?
[4441] Reading command line parameters in Python
[4410] A good example of recursion - a real use in Python
[4407] Python - even named code blocks are objects
[4361] Multiple yields and no loops in a Python generator?
[4212] Python functions - an introduction to how they work
[4161] Python varables - checking existance, and call by name or by value?
[4029] Exception, Lambda, Generator, Slice, Dict - examples in one Python program
[3945] vargs in Python - how to call a method with unknown number of parameters
[3931] Optional positional and named parameters in Python
[3885] Default local - a good choice by the author of Python
[3852] Static variables in Python?
[3766] Python timing - when to use a list, and when to use a generator
[3695] Functions are first class variables in Lua and Python
[3662] Finding all the unique lines in a file, using Python or Perl
[3474] Python Packages - groupings of modules. An introduction
[3472] Static variables in functions - and better ways using objects
[3464] Passing optional and named parameters to python methods
[3459] Catching the fishes first?
[3280] Passing parameters to Python functions - the options you have
[3159] Returning multiple values from a function call in various languages - a comparison
[2998] Using an exception to initialise a static variable in a Python function / method
[2994] Python - some common questions answered in code examples
[2929] Passing a variable number of parameters in to a function / method
[2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use
[2766] Optional and named parameters to Python functions/methods
[2718] Python - access to variables in the outer scope
[2520] Global and Enable - two misused words!
[2506] Good example of recursion in Python - analyse an RSS feed
[2481] Sample code with errors in it on our web site
[2440] Optional parameters to Python functions
[2439] Multiple returns from a function in Python
[2011] Conversion of OSI grid references to Eastings and Northings
[1879] Dynamic code - Python
[1871] Optional and named parameters in Python
[1870] What to do with a huge crop of apples
[1869] Anonymous functions (lambdas) and map in Python
[1790] Sharing variables with functions, but keeping them local too - Python
[1784] Global - Tcl, PHP, Python
[1464] Python Script - easy examples of lots of basics
[1202] Returning multiple values from a function (Perl, PHP, Python)
[1163] A better alternative to cutting and pasting code
[1134] Function / method parameters with * and ** in Python
[959] It's the 1st, not the 1nd 1rd or 1th.
[949] Sludge off the mountain, and Python and PHP
[913] Python - A list of methods
[912] Recursion in Python
[900] Python - function v method
[821] Dynamic functions and names - Python
[775] Do not duplicate your code
[749] Cottage industry or production line data handling methods
[745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus.
[668] Python - block insets help with documentation
[561] Python's Generator functions
[418] Difference between import and from in Python
[386] What is a callback?
[340] Code and code maintainance efficiency
[308] Call by name v call by value
[303] Lambdas in Python
[294] Python generator functions, lambdas, and iterators
[105] Distance Learning
[96] Variable Scope
(article) Python Calling functions and methods. Using objects and modules.
{ststst} function calling - options demonstrated
{factor} recursive example - factorial
{cardy} Main program - methods and attributes from a module
{myne.py} Module with documentation string and test harness
{noa} Mandatory, optional, ordered and named parameters
{restaurant.py} code that DEFINES a restuarant table
{gentwo} generator - multiple yields and no loop!
{pgob} Using objects to pass in (and out) of generators
{extrastep.py} importing a name from a module into the current namespace
{gen} A generator - two code branches both live
{firstclass} List of fucntions and callback demo
{gubbins.py} A bunch of functions in a module
{silksheets.py} Functions that we'll share between applications
{sweetdream} Another example of a module reuse
{qv2} Example that uses mystuff.py
{sysdemo.py} use of a standard module (sys)
{jen.iter} Generator with multiple yields
{acsh2} Dynamic function definition
{gen_control} Not using a generator - each runs to completion
{snoresleep} A further Good structure of named blocks of code
{colin.py} A tiny module
{dbc} Functions are objects
{mapfunc.py} Use of the map function to transform a list
{vargs} vargs in Python
{fat.py} A second program that uses shared functions in mod2.py
{better} An extra x - range v xrange and readlines v xreadlines
{fm} use of functions from a module
{pf} Defining and calling a function - postal delivery order
{fun.py} definition and use of a function
{mod_demo.py} Program that uses the module in local.py
{taxcalcs.py} Collecting function parameters
{apers} static variables in Python?
{mystuff.py} functions, statics, test code, doc strings ...
{taxi} Exercise answer - net and tax from gross amount
{params.py} Optional parameters, and variable number of parameters
{flook.py} Program to use a module and the attributes of its functions
{f1} more options with modules and functions
{sheep.py} A Lambda function - one line function definition
{yum} Brining in elements from a namespace
{local.py} File of functions to be loaded by other examples
{genex} Generator v regular function
{locvar.py} Local and global variables
{slumbermore} Good structure of named blocks of code
{gen2} Using a generator function to provide an iteration
{ffx} Dynamic function definition
{dream} Good structure of named blocks of code
{dfg} Using a generator to process a big file
{recur.py} Recursion - when a function calls itself
{drought.py} Assorted function call examples
{yf} Using a generator
{mutton} Anonymous variables and subs and lambdas
{electric.py} a generator function - carries on where it left off at previous call
{requests.xyz} Sample data for dfg
{qv3} alternative example using mystuff.py
{chezme} code to use a restaurant (table)
{avg.py} Demonstration of variable scope in Python
{mod2.py} A module with doc strings and attributes defined
{poc.py} Scope of variables - some samples
{passenger} Calling program - sample answer with separate module for functions
{jenny} Sample data for jenny demo
{tax.py} functions to work out tax and net from gross
{m1} map to transform and filter to select from a list
{places.xyz} Sample data for jenny demo
{thing.py} demonstration of a Python Package - the module
{geom.py} Full module, documentation, test harness, static variables
{repeater} retaining a variable from one call to the next
{ststar} * and ** in function calls
{bundemo} demonstration of a Python Package

Module Y106 - Object Oriented Python
[4721] When to check an object type - Python isinstance example
[4650] Why populate object with values as you construct them?
[4591] From single block to structure and object oriented programming
[4448] What is the difference between a function and a method?
[4129] Simple OO demonstration in C++, comparison to Python
[4028] Really Simple Class and Inheritance example in Python
[4021] Spike solution, refactored and reusable, Python - Example
[3947] this or self - what are they, and what is the difference? (Python)
[3878] From Structured to Object Oriented Programming.
[3673] Object oriented or structured - a comparison in Python. Also writing clean regular expressions
[3436] Moving from scripting to Object Orientation in Python
[3399] From fish, loaves and apples to money, plastic cards and BACS (Perl references explained)
[3085] Object Oriented Programming for Structured Programmers - conversion training
[2604] Tips for writing a test program (Ruby / Python / Java)
[2169] When should I use OO techniques?
[2017] Python - a truly dynamic language
[1925] Introduction to Object Oriented Programming
[1348] Screw it or Glue it? Access to Object variables - a warning
[1306] Python class rattling around
[900] Python - function v method
[834] Python makes University Challenge
[477] Class, static and unbound variables
(article) all variables are objects
(article) Python Calling functions and methods. Using objects and modules.
(article) copying an object - copy the reference
{writer.py} A simple class - constructor, object method and class method, no inheritance
{cubbyhole} Simple class - with a class (static) variable
{typelook} looking at an object type
{creatures} Exercise answer - program to test class animal
{aper2} retaining data objects for iteration
{forum.py} Class of records - forum log file analysis
{drink.py} definition and testing of a class
{dirStream.py} Object using generator - directory file traverser
{c1} Defining and using a class - early steps
{animal.py} Sample class (exercise) - animal
{survey.py} Work in progress - survey analysis
{webhit.py} Web Server access - directory report
{wr_test.py} Test harness for writer class
{rr2} Object equality, identity and sameness
{pets} OO sample - definition and use of two dog objects
{longer} Saving a lambda in a variable and other tricks
{containers.py} Shapes used for items in junkroom
{tabby.py} table, round table and rectangular table
{wr2.py} Test application for "writer" class
{glue} Shows danger of using direct access to a member variable
{pyobs} test program for containers in junkroom
{mute} mutable v immutable objects

Module Y107 - Dictionaries
[4668] Sorting a dict in Python
[4661] Unique word locator - Python dict example
[4469] Sorting in Python 3 - and how it differs from Python 2 sorting
[4409] Setting up and using a dict in Python - simple first example
[4029] Exception, Lambda, Generator, Slice, Dict - examples in one Python program
[4027] Collections in Python - list tuple dict and string.
[3934] Multiple identical keys in a Python dict - yes, you can!
[3662] Finding all the unique lines in a file, using Python or Perl
[3555] Football league tables - under old and new point system. Python program.
[3554] Learning more about our web site - and learning how to learn about yours
[3488] Python sets and frozensets - what are they?
[3464] Passing optional and named parameters to python methods
[2994] Python - some common questions answered in code examples
[2986] Python dictionaries - reaching to new uses
[2915] Looking up a value by key - associative arrays / Hashes / Dictionaries
[2368] Python - fresh examples of all the fundamentals
[1145] Using a list of keys and a list of values to make a dictionary in Python - zip
[1144] Python dictionary for quick look ups
[955] Python collections - mutable and imutable
[103] Can't resist writing about Python
(article) Python List, Python Tuple, Python Dictionary
{coin.py} Class used by dictionary with object key example
{pax_month.py} Unique visitors / visited pages per month
{setup} Simple use of dict
{snork} Variable scope when sorting a dictionary by value
{pycounter} counting words using dictionary
{d3.py} Can I sort a dictionary?
{counter} counting server accesse
{pred.py} Illustration of a program that would benefit from dictionaries
{wp2} dict - members with same key
{soccer_py} Soccer - league table, old v new point system
{uniquise} data file with duplicated lines
{topsk} counting occurrences in a file
{ss1.py} Python 3 - sorting with sorted
{u0} data file with duplicated lines')
{u1} data file with duplicated lines
{marie.data} data file with duplicated lines
{pyset} listing words using set
{uniwords} finding words by their count in a data file
{d3_3.py} Can I sort a dictionary?
{d2.py} Looping through all the elements of a dictionary
{od} dict with digit strings as keys
{zip-it.py} Joining 2 lists into a dictionary
{d1.py} Defining and looking up in a dictionary
{ssold.py} Python 2.7 - sorting a list
{pocket.py} dictionary with object keys - example
{slowcoach} Analysing visit lengths to web site - no cache
{ss2.py} Python 3 - sorting a list
{visitors} Analysing visit lengths to web site - using cache
{timberpull} multiple values at same key
{file_2nd} Analysing blog accesses
{od3} dict with digit strings as keys (python 3)
{soccer.data} Soccer League table
{pres.py} Is a key used in a dictionary?
{nx} Dictionary of objects - exercise and sample answer
{u2} data file with duplicated lines
{dfp} Optional, list and dictionary params

Module Y108 - String Handling
[4659] Prining a pound sign from Python AND running from the command line at the same time
[4595] Python formatting update - including named completions
[4593] Command line parameter handling in Python via the argparse module
[4360] Python - comparison of old and new string formatters
[4307] Identifying and clearing denial of service attacks on your Apache server
[4213] Formatting options in Python
[4152] Why are bus fares so high?
[4027] Collections in Python - list tuple dict and string.
[3886] Formatting output - why we need to, and first Python example
[3796] Backquote, backtic, str and repr in Python - conversion object to string
[3469] Teaching dilemma - old tricks and techniques, or recent enhancements?
[3468] Python string formatting - the move from % to str.format
[3349] Formatting output in Python through str.format
[3218] Matching a license plate or product code - Regular Expressions
[3090] Matching to a string - what if it matches in many possible ways?
[2814] Python - splitting and joining strings
[2780] Formatted Printing in Python
[2765] Running operating system commands from your Python program
[2721] Regular Expressions in Python
[2692] Flexible search and replace in Python
[2406] Pound Sign in Python Program
[2284] Strings as collections in Python
[1876] Python Regular Expressions
[1608] Underlining in Perl and Python - the x and * operator in use
[1517] Python - formatting objects
[1195] Regular Express Primer
[1110] Python - two different splits
[970] String duplication - x in Perl, * in Python and Ruby
[954] Splitting Pythons in Bradford
[943] Matching within multiline strings, and ignoring case in regular expressions
[903] Pieces of Python
[773] Breaking bread
[560] The fencepost problem
[496] Python printf
[463] Splitting the difference
[324] The backtick operator in Python and Perl
(article) Analysing incoming data lines
{grab} Regular Expression - Maya strings
{qre} Split - regular expression v literal string
{ifi} generating text with character
{pyform} Python Formatting via the str.format method
{seqrev.py} translate, reverse and join - reversing dna sequence
{sequence.py} Handling a string as a list of characters
{twoforms} Two forms of formatting
{earlier} formatted printing variety - format method
{lit} Checking the type of characters entered
{pys} Strings - how to write them
{irish_grid} Ordnance Survey Ireland - Grid Reference Conversion
{fhand} Unicode text string
{splitcare} Comparison of regex and string splitting
{cori} Multiline string
{funsub} Substitute for a regular expression
{clinput} reading and handling command line options
{Pythoners} Parse a file checking each line against a criterion
{bejo.py} split and join
{cli.py} Command line handler function in Python
{seq2.py} Using the replace method on a string
{kid} Formatting strings / multiple use of % operator
{fence.py} Fencepost problem and solution
{chunky} Splitting at a literal v splitting at a regex
{reginald} Regular expression with comments in it
{regex} Search and find, replace, and replace with result
{backtick} Conversion to a string with the backtick operator
{tliser} Exercise answer - formatting prices and aligning columns
{fares.py} Distortion of bus prices due to concessionary fares
{young.py} revision - string basics
{cli_withopts.py} Command line handler function in Python
{poundland} formatting a pound sign and a #! line
{inflate} Search for regular expression and replace
{formatting} formatting - old and new ways
{nf} Formatting - time and money using the % operator and format method
{strf} The String formatter
{rexy} writing understandable regular expressions
{reggie.py} Regular Expression Overview
{listmethods} List all methods available on an object
{taxform.py} Formatting output - floats, ints, etc
{visitors} Web site - population penetration
{p3.py} raw and regular strings
{gift} Share 10000 pound between 1 to 10 children
{mypi} Strings, raw strings, triple quoted strings

Module Y109 - Exceptions
[4444] Elements of an exception in Python - try, except, else, finally
[4161] Python varables - checking existance, and call by name or by value?
[4029] Exception, Lambda, Generator, Slice, Dict - examples in one Python program
[3930] Reporting the full stack trace when you catch a Python exception
[3913] How many times ... has this loco headed west through Tenby? - Python exceptions
[3664] Error checking in a Python program - making your program robust via exceptions
[3441] Pressing ^C in a Python program. Also Progress Bar.
[3433] Exceptions - a fail-safe way of trapping things that may go wrong
[3177] Insurance against any errors - Volcanoes and Python
[2998] Using an exception to initialise a static variable in a Python function / method
[2994] Python - some common questions answered in code examples
[2622] Handling unusual and error conditions - exceptions
[2408] Robust user input (exception handling) example in Python
[2368] Python - fresh examples of all the fundamentals
[2281] Python - using exceptions to set a fallback
[2018] UnboundLocalError - Python Message
[1236] Trying things in Python
[1042] Nested exceptions in Python
[381] Exceptions in Python
(article) errors v exceptions
{topstats} Exception, Lambda, dict
{pushit.py} Handling multiple exceptions types
{stopc} trapping ^C in Python
{trapper.py} Use of try and except
{ui} Read an integer - validated
{syntax.py} Example of a syntax error
{sometimes.py} Example of a piece of code that sometimes crashes
{ranger.py} passing exceptions back to calling code
{ouch} try, except, finally example
{attempt} full traceback log from exceptions
{runtime.py} Example of a runtime error
{oy} Raising Exceptions yourself
{railx} Busiest and quietest stations
{gwrong.py} Using excpetions to allow *some* user errors
{kx} Answer to exercise
{insist.py} try and except within a loop
{grabot.py} Read from a URL resource with error trapping
{dbnover} Events spread over a number of units
{prog} Status line. Also trapping ^C
{ewhy.py} Using excpetion for fail-safe error handling
{deltemp.py} Use of pass to provide an empty block
{duff} Try, except, else and finally
{bug.py} Program with a bug!
{maffs.py} static variable in Python
{wholehog.py} static variable - initialise via exception

Module Y110 - File Handling
[4717] with in Python - examples of use, and of defining your own context
[4708] Scons - a build system in Python - building hello world
[4663] Easy data to object mapping (csv and Python)
[4593] Command line parameter handling in Python via the argparse module
[4451] Running an operating system command from your Python program - the new way with the subprocess module
[4438] Loving programming in Python - and ready to teach YOU how
[3764] Shell, Awk, Perl of Python?
[3558] Python or Lua - which should I use / learn?
[3465] How can I do an FTP transfer in Python?
[3442] A demonstration of how many Python facilities work together
[3083] Python - fresh examples from recent courses
[2870] Old prices - what would the equivalent price have been in 1966?
[2282] Checking robots.txt from Python
[2011] Conversion of OSI grid references to Eastings and Northings
[1442] Reading a file multiple times - file pointers
[183] The elegance of Python
[114] Relative or absolute milkman
{widem} using with to limit the scope of a file handle
{fgfg} Improved version - program to handle data recently appended to a log file
{flr} Fixed Length Record to CSV
{analysethatbusstop} import CSV data into dict
{fff} Jumping around an input file (random access)
{pstat.py} Checking whether a file exists, and things about it ...
{sp} running OS subprocesses in Python
{lost.py} Trapping a non-existant file error
{grounds.py} Soccer grounds - Python
{sys.py} Disc space free within an application
{coster.py} Read whole file, report on lines matching a pattern
{dirStream.py} Object using generator - directory file traverser
{costhuge.py} Reading a file line by line
{tablog.py} File overwrite and append in python
{filechex} File checks - is it a directory, when was it modified
{majorcooker.py} Handling huge data
{file_first} Short file parser
{n2} Find the title of a web site
{j2} using a generator to source data from a file
{dsa} polymorphism in action
{wac1} Read file into list and process each line
{inflate} Inflation Calculcator - what would it have cost?
{grabpage.py} Read from a URL as is reading from a file
{pinorder.py} List a directory sorted by age of object
{is.xyz} Inflation data - UK - annual factors
{jdemo} json and csv handling
{dmoz.py} Parsing a large file, looking for matching lines

Module Y111 - More on Collections and Sequences
[4442] Mutable v Immuatble objects in Python, and the implication
[4398] Accessing variables across subroutine boundaries - Perl, Python, Java and Tcl
[3797] zip in Python
[3439] Python for loops - applying a temporary second name to the same object
[3348] List slices in Python - 2 and 3 values forms, with an uplifting example
[3150] Python dictionaries - mutable and immutable keys and values
[2996] Copying - duplicating data, or just adding a name? Perl and Python compared
[2920] Sorting - naturally, or into a different order
[2894] Sorting people by their names
[2718] Python - access to variables in the outer scope
[1873] List Comprehensions in Python
[1869] Anonymous functions (lambdas) and map in Python
[1310] Callbacks - a more complex code sandwich
[1304] Last elements in a Perl or Python list
[899] Python - extend v append on a list
[633] Copying a reference, or cloning
[386] What is a callback?
[61] Python is a fabulous language
(article) Python List, Python Tuple, Python Dictionary
(article) User defined sorting - what is a callback?
(article) copying an object - copy the reference
{copy_levels} alias, shallow copy and deep copy comparison
{dsd} Python equivalent of Schwartzian transform
{slices} list slices - revision
{cuber} using a callback to map a list
{p162} Sample answer - module exercise
{2dli.py} List - multiple dimensions
{indemo} Sorting a dictionary?
{rails_dict} Sorting and subsorting into your own order
{lirev.py} List - revision
{furlist.py} Further methods that run on lists - looking things up
{shallowcop.py} List - shallow copy
{fortan} A list of lists (a matrix?)
{namsort.py} Natural sorting of a list of strings
{unamsort.py} Sorting of a list of strings - user routine ignoring case
{coldem} Collections - initial setup and reference
{scenario} Encapsulating changes in a function
{deepcop.py} List - deep copy
{lat.py} copy reference and shallow copy
{coplist.py} List - copy through assignment
{sal} Sorting in a non-standard way
{uip2.py} Counting in a dictionary, and sorting
{sby_sname} Sorting by surname

Module Y112 - Objects - Intermediate
[4719] Nesting decorators
[4718] Defining an object that is a modified standard type in Python
[4717] with in Python - examples of use, and of defining your own context
[4649] Object and Static methods - what is the difference; example in Python 3
[4541] Setting up and tearing down with the Python with keyword
[4450] Deciding whether to use parameters, conditional statements or subclasses
[4449] Spike solution, refactoring into encapsulated object methods - good design practise
[4410] A good example of recursion - a real use in Python
[4366] Changing what operators do on objects - a comparison across different programming languages
[4356] Object factories in C++, Python, PHP and Perl
[4344] Python base and inherited classes, test harness and unit testing - new examples
[4094] Python Properties - how and why
[4028] Really Simple Class and Inheritance example in Python
[3887] Inheritance, Composition and Associated objects - when to use which - Python example
[3796] Backquote, backtic, str and repr in Python - conversion object to string
[3524] Metaclasses (Python) and Metatables (Lua)
[3472] Static variables in functions - and better ways using objects
[3442] A demonstration of how many Python facilities work together
[3002] A list of special method and attribute names in Python
[2994] Python - some common questions answered in code examples
[2905] Defining static methods in Python
[2889] Should Python classes each be in their own file?
[2785] The Light bulb moment when people see how Object Orientation works in real use
[2764] Python decorators - your own, staticmethod and classmethod
[2722] Mixins example in Python
[2720] Multiple inheritance in Python - complete working example
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2693] Methods that run on classes (static methods) in Python
[2485] How do I set up a constant in Python?
[2409] TypeError: super() argument 1 must be type, not classobj (Python)
[2368] Python - fresh examples of all the fundamentals
[1819] Calling base class constructors
[1661] Equality, sameness and identity - Python
[1644] Using a utility method to construct objects of different types - Python
[1517] Python - formatting objects
[1217] What are factory and singleton classes?
[1146] __new__ v __init__ - python constructor alternatives?
[964] Practical polymorphism in action
[903] Pieces of Python
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl
[656] Think about your design even if you don't use full UML
[477] Class, static and unbound variables
[383] Overloading of operators on standard objects in Python
[296] Using a Python dictionary as a holder of object attributes
(article) Inheritance
(article) all variables are objects
{tabledata.csv} Data file for Python 3.4 inheritance model
{ub} Utility method to construct different objects
{teapot.py} Class heirarcy in a single file
{clever} nested decorators
{triang.py} definition of a property
{mult_inherit} Multiple Inheritance Complete Example
{p4.py} Factory, comparator, inheritance etc
{timetable.txt} data for pub.py
{whm_real} Factory method
{accoms.xyz} Sample data for accoms program
{bandb.py} definition of subclass bandb of accom
{end_of_universe.txt} Data for p4.py example
{people.py} Class, subclasses, test harness. Inheritance, Poymorphism and Overloading
{ob1.py} definition and use of property with lambda
{accom.py} Accommodation base clase
{accom_finder.py} Sample application using hotel and bandb
{mi} Multiple Inheritance
{fcl.py} program to show use of "person" class
{c1.py} Classes, subclasses, static method, test harness
{travel.txt} Data file for "tu2" example
{mcx} metaclass setup and use
{tu2} Sample program (2) using c1.py demonstration classes
{restex.py} Class example - restaurant
{looob2} class exercise - add 200 count please
{tuse} Sample program (1) using c1.py demonstration classes
{cl_o.py} Old Style classes and inheritance
{cho} New style class - with inheritance
{goat.py} Defining a class of goats and overriding addition
{ufd} Sample data for person.py demo
{personx.py} OO demo - multiple classes, inheritance, test program
{id} getitem and getslice
{yum} Define your own add and print methods
{taball} all together table example
{xmc4.py} Polymorphism and inheritance with Christmas and Easter Characters
{cho.py} new style classes, as module with inheritance and test harness
{tr1.py} class, subclass, utility, factory, etc
{ting2} static (class) methods via decorators
{cbx} Callbacks in Python
{overload_add.py} Operator (+) and to_string overloading, Python
{m_i_m} Mixins Complete Example
{boxex} Overloading (redefining) addition and how a variable is printed
{travel.py} static methods, overloaded operator, propertys, inheritance and polymorphism ...
{ttest.py} calling an attribute [property]
{hound.py} Definition of two objects to demonstrate polymorphism
{addload} Illustration of how the + (add) operator is really defined
{bq} backquote / backtic operator
{alog} objects within objects - access log hits and visits
{dayzend} using with to open and close an object
{hotel.py} definition of subclass hotel of accom
{pets.py} Simple base class, subclass and polymorphism
{person.py} Class with Body Mass Index method
{tables.py} Python 3.4 tables interitance and factory demo
{pub.py} wholesale factory method - read file to list of objects
{meerkat} Decorator v modifier; static methods
{cl_n.py} New Style classes and inheritance
{obob} Inheritance demo
{thems} Polymorphism demonstration - uses cat and dog objects from hound.py
{pysin} Singleton class

Module Y113 - Python and SQL databases
[4537] example of SQLite using a local database file through SQLalchemy
[4535] SQLAlchemy - first examples with a Python Object Relationship Mapping system
[4445] Graphing presentations in Python - huge data, numpy and matplotlib
[4436] Accessing a MySQL database from Python with mysql.connector
[4086] Cacheing class for Python - using a local SQLite database as a key/value store
[4024] SQL databases from Python - an SQLite example
[3139] Steering our Python courses towards wxPython, SQLite and Django
[3136] A framework with python - Django - first steps
[2790] Joining a MySQL table from within a Python program
[2786] Factory methods and SqLite in use in a Python teaching example
[2746] Model - View - Controller demo, Sqlite - Python 3 - Qt4
[2745] Connecting Python to sqlite and MySQL databases
{orm_sqlite} sqlalchemy orm with sqlite demo - Python 2.x
{alch001} SQL Alchemy - connect and first query
{selector.py} Simple selector (MySQL database of 168,000 records)
{alch002} SQL Alchemy - connect, inserts and queries
{prepared_statements.py} MySQL / Python (3) - with prepared statements
{multi_resultsets.py} MySQL / Python (2) - connect, drop, create, insert, select with iterate, drop
{databases_python} sqlite3 - connect, create, insert, select
{kvcache.py} Cacheing class object / sqlite3
{napreader} reading from http://www.wellho.net/data/wiltshire_busstops.csv
{pyjson_kvcache} Using our JSON service from Python with key / value cache
{inserts.py} MySQL / Python (1) - connect, drop, create, insert, select, drop
{logger} Local MySQL test prior to running examples

Module Y115 - Additional Python Facilities
[4709] Some gems from Intermediate Python
[4593] Command line parameter handling in Python via the argparse module
[4536] Json load from URL, recursive display, Python 3.4
[4451] Running an operating system command from your Python program - the new way with the subprocess module
[4439] Json is the new marshall, pickle and cPickle / Python
[4298] Python - an interesting application
[4211] Handling JSON in Python (and a csv, marshall and pickle comparison)
[4085] JSON from Python - first principles, easy example
[3469] Teaching dilemma - old tricks and techniques, or recent enhancements?
[3442] A demonstration of how many Python facilities work together
[3089] Python regular expressions - repeating, splitting, lookahead and lookbehind
[2790] Joining a MySQL table from within a Python program
[2786] Factory methods and SqLite in use in a Python teaching example
[2765] Running operating system commands from your Python program
[2764] Python decorators - your own, staticmethod and classmethod
[2746] Model - View - Controller demo, Sqlite - Python 3 - Qt4
[2745] Connecting Python to sqlite and MySQL databases
[2721] Regular Expressions in Python
[2655] Python - what is going on around me?
[2462] Python - how it saves on compile time
[2435] Serialization - storing and reloading objects
[2407] Testing code in Python - doctest, unittest and others
[1876] Python Regular Expressions
[1337] A series of tyre damages
[1336] Ignore case in Regular Expression
[1305] Regular expressions made easy - building from components
[1149] Turning objects into something you can store - Pickling (Python)
[1136] Buffering output - why it is done and issues raised in Tcl, Perl, Python and PHP
[1043] Sending an email from Python
[901] Python - listing out the contents of all variables
[753] Python 3000 - the next generation
[672] Keeping your regular expressions simple
[663] Python to MySQL
[463] Splitting the difference
[239] What and why for the epoch
[208] Examples - Gadfly, NI Number, and Tcl to C interface
[183] The elegance of Python
(article) Python threads - a first example
(article) Pattern Matching - a primer on regular Expressions
(article) Interfacing applications to a MySQL database engine
{myuser.py} class for use in pickle / unpickle demo
{tim} Some time handlers
{hostfilter.py} Extract host computer information - strip comments with regular expressions
{bench.py} Find largest 5 files in or below a directory
{logs.json} Json data for http://www.wellho.net/resources/ex.php?item=y115/hostcounter
{sql1.py} Hello MySQL World in Python
{psplit} Splitting at a string v splitting at a regular expression
{re3.py} Find email addresses in line of text
{subp} Subprocess module - replacement for os.popen
{refun} evaluating a net list in EQN format
{mar_out.py} Marshal converts an object to a string
{retest.py} Regular Expression test engine
{re1.py} Regular expression - first example
{currency.py} Formatting a currency using Regular Expression
{cunpick} recover a pickled object
{gad1.py} Create a Gadfly (SQL) database and insert data
{syscommand} Running an operating system command in Python
{pysql_another} Using a MySQL database - select across multiple tables
{class_v_static.py} Decorators - your own, plus @classmethod and @staticmethod
{mar_in.py} Loading in an object saved via the marshal module
{python_mysql_web.py} Python, MySQL, CGI (Web) board
{cli.py} Report on command line parameters
{hostcounter} Extract data from huge flow. Save and restore via Json
{penv.py} Python environment variables
{pocohunter} Looking for postcodes in a string
{get_os.py} Get Operating System information
{relib.py} Some common regular expressions
{again} Looking for part of a string that repeats later
{cpick} Store an object via cPickle
{flist.py} All the files in a directory - which is largest?
{curr27} From Python 2.7 - currency alternative
{py_mysql.py} MySQL to Python using MySQL Connector
{re2.py} Stripping spaces
{gad2.py} Running an SQL query - Gadfly
{sql1a.py} MySQL to Python using MySQLdb
{eo2.py} Scanning log file for instability
{emma} Regular expression then split
{sqlite.py} Sqlite3 / Python 3 example
{re4.py} Regular expression split over several lines
{timestuff.py} Some time handling

Module Y116 - Applying OO design techniques and best practise
[4718] Defining an object that is a modified standard type in Python
[4359] How to avoid too many recalculations within an object
[4118] We not only teach PHP and Python - we teach good PHP and Python Practice!
[4028] Really Simple Class and Inheritance example in Python
[3887] Inheritance, Composition and Associated objects - when to use which - Python example
[2604] Tips for writing a test program (Ruby / Python / Java)
[2523] Plan your application before you start
[2485] How do I set up a constant in Python?
[2407] Testing code in Python - doctest, unittest and others
[2363] Alpaca Case or Camel Case
[1181] Good Programming practise - where to initialise variables
[945] Code quality counts
[836] Build on what you already have with OO
[668] Python - block insets help with documentation
[656] Think about your design even if you don't use full UML
[340] Code and code maintainance efficiency
(article) What makes a good variable name?
{t6} inherited and associated / composite objects
{counter} inheriting from a standard data type object
{constant.py} Constants in Python
{cin} Caching design pattern
{story} Traffic survey - Python without Objects
{ddd.py} Good practise tips and documentation string
{tree.py} Recursion and special collections in Python
{novel} Traffic survey - Python and Objects
{t7} completion of example t6 - add factory, comparator, etc
{cincontrol} Caching design pattern / Control
{sob} Data for novel and story examples

Module Y117 - Already written modules
[4710] Searching a Json or XML structure for a specific key / value pair in Python
[4708] Scons - a build system in Python - building hello world
[4697] Month, Day, Year number to day of week and month names in Python - English and Swedish
[4696] Programming with random numbers - yet re-using the same values for testing
[4452] Binary data handling - Python and Perl
[4441] Reading command line parameters in Python
[4086] Cacheing class for Python - using a local SQLite database as a key/value store
[4085] JSON from Python - first principles, easy example
[3479] Practical Extraction and Reporting - using Python and Extreme Programming
[3465] How can I do an FTP transfer in Python?
[3442] A demonstration of how many Python facilities work together
[2931] Syncronise - software, trains, and buses. Please!
[2890] Dates and times in Python
[2506] Good example of recursion in Python - analyse an RSS feed
[2020] Learning Python - many new example programs
{jdemo3} finding a specifically keyed within json structure
{jflow.json} Data for jdemo3
{pyjson_with_cache} Using our JSON service from Python with cache
{jones} Random - really and replay
{dates} Date and Time - short example
{xz} Day of week, month of year names and locales
{imgsize} interpretting binary data
{fgrab} FTP transfers
{pyjson} Using our JSON service from Python
{butter} Regular Expressions
{avx} Command Line Parameters

Module Y118 - numpy, scipy and matplotlib
[4445] Graphing presentations in Python - huge data, numpy and matplotlib
[4440] A first graph with Matplotlib in Python
[3554] Learning more about our web site - and learning how to learn about yours
[2997] 3D graphics - web site usage - simple matplotlib and python example
[2993] Arrays v Lists - what is the difference, why use one or the other
[2992] Matplotlib - graphing in Python - teaching examples
[2991] Loading and saving data - Python / numpy
[2990] What are numpy and scipy?
{gr3d.json} Data for graph.py - formatted json
{mpl4.py} Two graphs on a canvas - top to bottom
{prepare.py} Extract data for graphing and save to Json
{npx} Loading binary data from file into numpy array
{nphw} Basic objects in numpy
{mpl5.py} Two plots on a canvas - left to right
{npgd} Loading data into numpy
{mpl1.py} Hello matplotlib world
{npx2} alternative scheme for loading binary data
{simplegraph} Straightforward line plot using huge data
{mpl2.py} Plotting a user data set
{mpl3.py} Plotting multiple user data sets
{aa} Tuple and list to numpy array conversions
{graph.py} Graph x,y,z via numpy from a Json file
{tog1.py} Loading and storing numpy objects
{xyz.py} 3d and contour plots through numpy and matplotlib

Module Y150 - Python Development Tools and Environments
[3151] Disassembling Python and Java - previously compiled code
[2452] Making executable binaries in Python (or Perl)
[2370] C++, Python, and other training - do we use an IDE
[2123] Using Python with OpenOffice
[745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus.
[316] Development Environments
{lookin} using dis to look inside code

Module Y151 - Python & XML
[4710] Searching a Json or XML structure for a specific key / value pair in Python
[4594] XML handling in Python - a new teaching example using etree
[3082] XML handling in Python - SAX, DOM and XSLT examples
[2555] Bookkeeping
[2506] Good example of recursion in Python - analyse an RSS feed
[2378] Handling XML in Perl - introduction and early examples
{minid2.py} report structure with minidom
{images.xml} XML data used by demonstration program
{python_rss} Grabbing an RSS feed in Python
{xmlparserdemo} command line params (argparse) and xml (ElementTree)
{minid1.py} parse and check with minidom
{simpull.xml} XML data for simsax and sidom demonstrations
{sax_xml2.py} Extracting information via SAX
{xsltprocess.py} Process an XML file through an XSLT Stylesheet in Python with libxml2 and libxslt
{minid4.py} further extraction including data with minidom
{minid3.py} Useful extraction with minidom
{image.xsl} xslt program for Python / xslt / xml demo
{sax_xml4.py} More sophisticated SAX output example
{sax_xml3.py} Attributes and text extracted via SAX
{minid5.py} Modifying a document structure with minidom
{sax_xml1.py} First SAX based xml handler
{simdom.py} Reading XML into memory structure - DOM
{simsax.py} Parsing XML stream for pertinent data - SAX

Module Y199 - Python - Fast Start
[4713] Equality (in Python)
[4712] A reminder of the key issues to consider in moving from Python 2 to Python 3
[4709] Some gems from Intermediate Python
[4707] Some gems from an introduction to Python
[3519] Python - current versions and implementations (CPython, Jython, IronPython etc)
[2017] Python - a truly dynamic language
(article) Python Fast Start
{if1} If, elif and else
{for1} for loop
{while1} While loop
{fast1} Fundamentals of Python - variables and output
{fast2} Fast start example 2 - inputs and strings
{tr3.py} base and subclasses, decorator, data from file, factory
{requests.xyz} Sample data file used in source examples
{kwlist} What are the keywords in Python?

Module Y200 - Python - using functions, objects and modules.
[4719] Nesting decorators
[4438] Loving programming in Python - and ready to teach YOU how
[418] Difference between import and from in Python
(article) Python Calling functions and methods. Using objects and modules.
{fromlist} bring module into current namespace
{lenco} functions v methods
{importlist} bring module into its own namespace
{biff} Some built in functions
{aug13_train.py} Inheritance, factory, etc
{appy} Calling a method which alters the object it runs on

Module Y201 - Python for DataMunging and System Admin
[4438] Loving programming in Python - and ready to teach YOU how
[4211] Handling JSON in Python (and a csv, marshall and pickle comparison)
[4088] Some tips and techniques for huge data handling in Python
[3479] Practical Extraction and Reporting - using Python and Extreme Programming
(article) Log file analysis - short Python example
{sbs} Data Munging Example
{noisesource} Spike solution - Data extraction and reporting
{rqsummy} Splitting a line at any white space
{lfan} Demonstration program - many aspects of Python
{spamdata.txt} Data for spam signup demo

Module Y202 - Python on the Web
[4536] Json load from URL, recursive display, Python 3.4
[4404] Which (virtual) host was visited? Tuning Apache log files, and Python analysis
[4089] Quick and easy - showing Python data hander output via a browser
[2365] Counting Words in Python via the web
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua
[1745] Moodle, Drupal, Django (and Rails)
[903] Pieces of Python
[433] FTP - how to make the right transfers
[426] Robust checking of data entered by users
[237] Crossfertilisation, PHP to Python
(article) Nasty Characters in Web Applications
{hsapp2.py} Web application, Mark 2 - 3 pages, sessions, hidden fields
{inf.py} Simple web demo - produce form, complete form, act on data entered to form
{visitor.py} Analysing a web access log file
{tellmewhen.py} Running a Python program through CGI
{martin.py} Translation coster - CGI script
{pytop} Analysis of current web log file
{pyhello} Embedding plain text app on the web
{pyserv} basic web server
{python_mysql_web.py} Python, MySQL, CGI (Web) board
{piddle.py} CGI, Python, Web server, HTML - reporting server time
{hsdemo.htp} Template for hsapp1 and hsapp2
{hsapp1.py} Web application mark 1 - 3 pages, sessions, hidden fields
{place.py} Python / CGI - read from a form, run an application, fill in a template to respond
{martin.html} Translation coster - HTML form
{template.htp} Template for simple web example
{pybrow} Browser client
{jhandle} Python 3.4 urllib urlopen and json

Module Y203 - GUIs and Graphics in Python
[3477] Choosing your Python GUI - wx, Qt, Tk or GTK?
[2744] PyQt (Python and Qt) and wxPython - GUI comparison
[1036] Python Qt, wX, TkInter, and Jython - training??

Module Y204 - The TkInter GUI
[4258] Keeping you Tkinter display up to date while monitoring
[3476] Tkinter - an easy to use Python Graphic User Interface - introductory examples
{tki_demo} Practical Tkinter GUI
{tki_hello} Hello TkInter World

Module Y205 - Further uses of Python
[1663] Python in an afternoon - a lecture for experienced programmers
[1340] Tk locks up - 100% c.p.u. on a simple program (Tcl, Perl, Python)
[1036] Python Qt, wX, TkInter, and Jython - training??
[745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus.
[595] Add a friendly front end with Tk
[190] Python engines
{gui1.py} Hello GUI world (Tkinter example)

Module Y206 - Python and the Qt GUI
[2746] Model - View - Controller demo, Sqlite - Python 3 - Qt4
[2744] PyQt (Python and Qt) and wxPython - GUI comparison
[1036] Python Qt, wX, TkInter, and Jython - training??
(article) Graphic User Interfaces (GUIs)
{hq2.py} Python / Qt. Popup windows, Button Widgets, slots and signals
{pyqthello.py} Hello World - Python and Qt GUI
{qupdown.py} Altering a label as a result of button presses - Python Qt
{Voter_qt.py} Python 3 / PyQt 4 - simple voting GUI
{hq3.py} Python Qt - Widgets, Geometry layouts, slots and signals

Module Y207 - wxPython
[4589] Principles or a GUI and their practical application using wxPthon
[3139] Steering our Python courses towards wxPython, SQLite and Django
[3092] wxPython geometry - BoxSizer example
[3086] Sizers (geometry control) in a wxPython GUI - a first example
[3081] wxPython - simple example to add GUI to a server log file analysis
[2887] Snow Leopard and Python (that is OS X 10.6 and wxPython)
[2744] PyQt (Python and Qt) and wxPython - GUI comparison
[2013] wxPython - Introduction and sample
[903] Pieces of Python
(article) Graphic User Interfaces (GUIs)
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{delegates} Simple complete application - wxPython
{wx02.py} Simple menu with modal "about"
{wxexample_02} Event handlers to provide feedback
{however} Principles of a GUI - app frame
{wxphello.py} Hello wxPython world
{mymodel.py} Model for wx Framework demo
{wx01.py} Application with 2 windows
{Voter_wx.py} Python 2.6 / wxpython - simple voting GUI
{sizer1.py} Geometry Manager - First Example
{demo1.py} Simple "hello world"
{wxreal} Putting it together - food selector
{wx04.py} Panel and event handler
{logreport.py} Log file analysis is a wxPython GUI wrapper
{wxexample_03} Single event handler for many buttons
{wxpfsbe.py} Status bar with events on wxPython frame
{wxexample_04} Final example - GUI interface to rail data
{wxx2} GUI with feedback (manual placement)
{boxsizer.py} Vertically arranged widgets with a BoxSizer
{wxexample_01} principles a GUI - with code
{wxx3} GUI with feedback (Boxsizer placement)
{wx03_02.py} wxPython text editor with open, save, etc

Module Y209 - Python GTK.
[1140] Python GTK - Widget, Packing, Event and Feedback example
{multibut.py} Python GTK - events, layouts, quit button
{gtkfeedback.py} Python GTK - feeding back into the GUI
{hwpgt.py} Python GTK Hello World

Module Y212 - Code testing, patterns, profiles and optimisation.
[4716] Profiling your Python program
[4618] Pytest - second example beyond hello world
[4617] Pytest - starting example
[4542] The principle of mocking - and the Python Mock package
[4540] Unittest of a Flask application including forms
[4538] Flask and unittest - hello web app test world
[4470] Testing in Python 3 - unittest, doctest and __name__ == __main__ too.
[4446] Combining tests into suites, and suites into bigger suites - Python and unittest
[4344] Python base and inherited classes, test harness and unit testing - new examples
[4326] Learning to program - comments, documentation and test code
[4090] Test Driven Development in Python - Customer Comes First
[3658] Using Make for a distribution
[3478] Testing your Python classes with the unittest package - how to
[3464] Passing optional and named parameters to python methods
[3442] A demonstration of how many Python facilities work together
[3441] Pressing ^C in a Python program. Also Progress Bar.
[2616] Defining a static method - Java, Python and Ruby
[2123] Using Python with OpenOffice
[1555] Advanced Python, Perl, PHP and Tcl training courses / classes
[1148] Python decorators - wrapping a method call in extra code
[1146] __new__ v __init__ - python constructor alternatives?
[1140] Python GTK - Widget, Packing, Event and Feedback example
[235] Preparation for a day's work
{test_mathfuncs5.py} Pytest - multiple setup fixtures
{logtest} Unit test for mary class
{train.py} class for testing in doctest
{thems.py} Polymorphism demonstration - used to demonstrate the profiler
{tdd_3} Test Drive Developement - extending unit testing
{Stationtest.py} Test for stations class
{mathstuff.py} function for Pytest to test
{dtxpass} Doctest / Python 3 - passing example
{mzz} Mocking - setting up and calling a mocked method
{tdd_0} Test Driven Development - step 1
{mtbf.py} MTBF class - overwrides + and *, and associated unittest
{stawithat} Static Method in Python (Decorator - 2.4 and later)
{test_hello.py} Hello Pytest world
{dec01} decorator - to log function calls
{annie.py} Test driven exercise
{second.py} Test program for use in build demonstration - with doctest
{test_mathfuncs3.py} Pytest / class test with setup fixture
{tdd_1} Test Driven Development - multiple objects
{mary.py} Web server log access class
{utdemo} unittest for Transport group of classes
{profdemo.py} using and running the profiler and stats analyser
{test_mathfuncs4.py} Pytest - chaining test no setup repeats
{dtxfail} Doctest / Python 3 - failing example
{Traintest.py} Tests for myTrain classes
{transport.py} Sample class - Test Driven Development
{testtrain} Unit test - Python 3 / train class
{stameth} Static Method in Python (all versions)
{dt.py} doctest - a clean example
{Combotest} Combining Test Suites - unittest
{test_mathfuncs2.py} Pytest with setup fixture
{makefile} Makefile - for a python test and build distribution project
{stawrong} bound method running on a class FAILS
{utes.py} Simple unittest demonstration
{setup.cfg} Sample config file for Pytest
{first.py} Test program for use in build demonstration - first principles
{railway.py} Test class for profiler
{stations.py} station class - for testing demo
{utd2} Unit Test (2) for transport classes
{myTrain.py} train class to be tested
{tdd_2} Test Driven Developemnt - using unittst
{utes2.py} unittest nesting demonstration
{dta.py} doctest - a longer example
{third.py} Test program for use in build demonstration - with unittest
{dtf.py} doctest - an example that triggers a failure report
{travel.py} inheritance, factory, decorator, comparators, static methods, caching, etc
{hound.py} Object definitions for profiler desmonstration
{test_mathfuncs.py} pytest - simple example with setup
{staboth} Static Method in Python (classmethod - all versions)
{trytravel} unittest for travel.py classes
{railstats.xyz} data for profiler demo

Module Y300 - Python 3 - What is new, what's changed and why
[4712] A reminder of the key issues to consider in moving from Python 2 to Python 3
[4711] Convering from Python 2 to Python 3 - an update, and the 2to3 utility
[4650] Why populate object with values as you construct them?
[4649] Object and Static methods - what is the difference; example in Python 3
[4590] Progress on moving from Python 2 to Python 3 - training for both versions
[4470] Testing in Python 3 - unittest, doctest and __name__ == __main__ too.
[4469] Sorting in Python 3 - and how it differs from Python 2 sorting
[2871] Moving from Python 2.6 to Python 3
[2778] Learning to program in Python 2 ... and / or in Python 3
[2559] Moving the product forward - ours, and MySQL, Perl, PHP and Python too
[2285] Great new diagrams for our notes ... Python releases
[2277] Python classes / courses - what version do we train on?
[1791] The road ahead - Python 3
[1788] Python 2 to Python 3 / Python 3000 / Py3k
[753] Python 3000 - the next generation
{jba2} Class definition and use with a static method - Python 3
{jba1} Class definition and use - Python 3
{py2only.py} Python 2 - ONLY - Hello World
{git_2.py} Generator and xrange - Python 2
{london.3} Python 3 - converted from Python 2.6 example
{print_3.py} print in Python 3 - print now a function
{input_3.py} Inputs in Python 3 - input replaces raw_input
{print_2.py} print in python 2
{git_3.py} Generator in Python 3, range replaces xrange
{cheznous} simple inheritance example - Python 2.7 and Python 3
{john} input and raw_input - Python 2 and Python 3
{jba3} Construct and Populate methods separated
{jba_poor} Poor class definition and use
{london.2} Python 2.6 for conversion to Python 3
{rsy} Python 3 using classes of objects for data filtering
{pyboth.py} Python 2 and Python 3 - Hello World
{george} Integer v float arithmetic
{py3only.py} Python 3 - ONLY - Hello World
{input_2.py} inputs in Python 2

Module Y301 - Class Interaction - an example
[3442] A demonstration of how many Python facilities work together
[964] Practical polymorphism in action
[236] Tapping in on resources
(article) Log file analysis - short Python example
{timetable} timetabling tool - Graham Ellis, 17th February 2018.
{waterflows.py} Multiple classes interacting - tap simulation example (Mk 2) in Python
{taps.py} Tap simulation example (Mk 1) in Python

Module Y302 - Threads - What why and how
[2489] Parallel Pinging, using Python Threads or Expect spawn lists
[903] Pieces of Python
(article) Python threads - a first example
{fullrange} Threading to ping 254 IP addresses in parallel batches
{fastandfull} Threading - to Ping a complete class C subnet
{kicking} checking hosts in parallel threads
{alive} Checking hosts one by one

Module Y303 - Python Network Programming
[4087] Python network programming - new FTP and socket level examples
[2765] Running operating system commands from your Python program
[2695] TCP v UDP / Client v Server - Python examples
[2694] Multiple processes (forking) in Python
[2368] Python - fresh examples of all the fundamentals
[2365] Counting Words in Python via the web
{ftpthread} FTP from within a thread and monitoring it
{t3} pipe and fork - communicating with your children
{browser.py} Demonstration of simple http client (browser)
{udp_server.py} UDP Server
{t2} Parallel processing with forks
{probo} Reading from a remote host via http as a stream
{to_me} Talking direct to a socket
{server.py} Simple tcp/ip server using sockets
{ftpgrab} FTP from Python, checking exceptions
{table} Basic mechanism of forking
{read_robots} Reading from a web resource in Python
{udp_client.py} UDP client

Module Y305 - Optimising Python
[4088] Some tips and techniques for huge data handling in Python
[3766] Python timing - when to use a list, and when to use a generator
[2462] Python - how it saves on compile time
[2369] Using a cache for efficiency. Python and PHP examples
[2277] Python classes / courses - what version do we train on?
{slowcoach} Analysing visit lengths to web site - no cache
{longjob} Long job, showing interactive monitoring
{dave} load a list then iterate through it
{jenny} iterate through a file using a generator
{visitors} Analysing visit lengths to web site - using cache

Module Y306 - The Django web framework
[4095] Django - first steps - Updated
[4013] Web Frameworks - nested templates
[3919] What is a web framework?
[3705] Django Training Courses - UK
[3698] How to stop forms on other sites submitting to your scripts
[3640] Sessions (Shopping Carts) in Django - the Python Web Framework
[3639] Demonstration of a form using Django
[3634] Defining database relations in your Django model
[3633] Nesting Templates in Django
[3624] Why do we need a Model, View, Controller architecture?
[3140] Django - separating the HTML from the view / model
[3139] Steering our Python courses towards wxPython, SQLite and Django
[3138] Django - adding your own views, and then templating your views.
[3136] A framework with python - Django - first steps
[1745] Moodle, Drupal, Django (and Rails)
{15_0.views.py} Django 1.5 - Story 0
{base_site.html} Modified look and feel for admin app
{settings.py} Django settings for oursystems project - phase 1
{2_settings.py} Django settings for oursystems project - phase 2
{2_urls.py} Django - URL to view mappings - phase 2
{3_views.py} Django integrated view
{15_0.settings.py} Django 1.5 - Story 0
{15_0.urls.py} Django 1.5 - Story 0
{2_views.py} model to view transforms in Django - phase 2
{15_0.visitbase.htp} Django 1.5 - Story 0
{views.py.002} Transforming a model to a view in Django
{2_index.html} Template - django, stage 2
{admin.py} Register the System class with the admin app
{3_integrate.html} Template for Django lesson 3 (tag language)
{views.py.001} First view in Django - checking URL mapping
{15_0.firsttemplate.htp} Django 1.5 - Story 0
{models.py} Definition of Django managed tables
{urls.py} url to application mapping
{z_complete} Complete set of Django files
{3_urls.py} url mapping - URLs without extensions
{15_0.indextemplate.htp} Django 1.5 - Story 0

Module Y307 - The Flask micro webdevelopment framework for Python
[4540] Unittest of a Flask application including forms
[4538] Flask and unittest - hello web app test world
[4534] Flask - complete MVC site to navigate around a data set
[4533] Sessions in flask
[4532] Flask - first forms and responses with wtforms
[4531] Jinja2 - Flask templating
[4530] Requests in Flask
[4529] Flask - calling in the templating engine
[4528] Routing in Flask
[4527] Hello Flask world / Python web micro framework
{base.html} base html - supertemplate - for rrt
{station_model.py} model - first flask MVC demo
{rrx} Flask - form that picks up answer
{rrx.py} Flask form demo / tuned to also work under unittest
{allstations.html} jinja2 MVC inner template - station index page
{requestresponse.html} template for request / response demo
{flask_test} Running Flask with template in unittest
{astation.html} jinja2 MVC inner template - iindividual station page
{person.html} Template for "third" flask example
{flask_app_test} Running Flask unittest with form and POST method
{second} Flask with routing
{firstform.html} Form - Jinja2
{rrw} Flask first form
{rrc} Flask with request - response cycle
{rry} Flask - form that stores answers in sessions
{stations.py} Flask Station Navigator - Router and controller for MVC demo
{thirdform.html} template including session report
{features.html} features of jinja2 for rrt demo
{fltest} Running Flask in unittest
{first} Hello Flask World
{basestation.html} jinja2 MVC - common outer template
{rrt} Flask - Jinja 2 introduction
{third} Flask with routing and templates
{secondform.html} Form and response - Jinja2
{rstats2014.xyz} data for stations.py demo

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

Z: Miscellany

Subject Z100 - Daily life
[4222] Five lessons learned or re-learned on my travels
[3743] Sunday - no longer a day of rest
[3553] Changes to morning routines
[3463] Busy weekend of contrasts.
[3319] Moving on - a task for the hotel staff!
[3316] Twitter Phishing Trips ... and a great new alert service
[3125] The family is defunct. Long live the family.
[2868] A move towards the family
[2580] C course inspires new teaching examples
[2450] Family Gathering at 404, The Spa
[2401] Back Tomorrow
[2371] Quiet summer days? I think not!
[2264] Learning about others private lives
[2217] Enjoying the summer weather
[2164] Updating my public profile - Graham Ellis
[2159] A long day to guess where
[2141] Town Crier competiton
[2121] Out in the Vale of Pewsey
[2118] Spring Sprung
[2106] Learning to Twitter / what is Twitter?
[2105] Hire Car, from Atlanta Airport
[2090] Melksham to Georgia
[2068] Playing Catchup
[2064] East of Melksham Countryside
[2034] Through Snow and Flood to Linux and Tomcat
[2030] The final step to being British
[2027] Who sticks by you in the snow?
[2024] Carry on Training - in spite of the weather
[2008] The Month Ahead - What is happening in Melksham
[2000] 2000th article - Remember the background and basics
[1979] Looking forward, in Melksham, in 2009
[1953] End of Training, 2008
[1810] Middle aged subsidise young and old
[1643] A lack of technical content
[1429] Remembrance day - inside a church and inside the day
[1303] Heading Upstate New York
[1272] Behind closed doors?
[1189] Meet, greet and welcome
[1178] Ducking stool for Melksham?
[1151] Gordon Dodge, R.I.P.
[1138] The Holiday - unlikely romantic comedy?
[1100] Wondering where I have been
[1061] Take vehicles off the road - put all the passengers into one
[1057] Selling by phone and Skype - our policy
[1056] Another frantic posting!
[992] Enthusiastic, but ....
[978] Wellhouse Manor, Hotel, Melksham
[921] French Exchange
[911] Letter Home
[908] And so to Inverness
[897] Too much for the National Trust
[882] Rocks, hard places, trains and funerals.
[843] To join an organisation?
[817] Working on Weekend in Wiltshire and others
[777] On Crosby sands
[752] Over zealous police activity?
[724] Helping mental health through diet, exercise and other lifestyle matters
[706] May day away
[698] Catch up weekend
[692] Healthier eating
[655] Can some food be TOO different?
[654] Making use of disabled facilities
[645] Lost Camel
[635] Odd one out.
[623] Behind every face is a person and a story
[613] Greetings from Dublin
[612] Coming or going?
[605] Design your day with a walk
[584] Loosing breath with Gerald
[580] What to do with milk
[516] Open source questions? Anyone can ask.
[474] Vintage Bus Day
[473] Looking different in town
[455] A Stengthening day
[446] Up early
[363] Greetings from Edinburgh
[330] An O level comes in handy
[307] Farming yesterday
[283] Natural or man-made?
[271] Different course every day
[238] Difficulties with a trolley
[232] Diverse activities
[228] Beard Justification
[206] Fox and Python
[149] Fish stocks
[110] Friday, busy week!
[26] Matching Cat
[20] Not two the same
[19] interesting products and subjects

Subject Z101 - Health
[4600] A big change in August
[4514] An update - and my absence in recent weeks
[3733] More hazards of modern life
[3525] Melksham has a heart - come and see the pictures. Sunday, 11 to 3, Assembly Hall
[3521] Emergency First Aid at Work (HSE) training in Melksham - places available for 19.1.2012
[3034] Birth Notice - Aeryn Cassandra Ellis
[2858] The healthy option - away from the private car
[2587] Bowerhill as a cycling community
[1776] Does fruit and veg drag on?
[1032] Chronic fatigue help - a new discussion forum
[611] Look out for the motor cyclist

Subject Z200 - Places
[4730] San Juan Capistrano
[4729] The oldest part of Los Angeles
[4683] Saudi Arabia or Weymouth?
[4671] Ruby training, half a world away
[4643] From last July (2015)
[4497] Around the world from Melksham
[4490] What and where are the Azores?
[4488] Election day, 2015
[4486] Newark to New York - the PATH suburban railway
[4480] Crossing between continents
[4479] Pictures from around Rekjavik
[4477] Yesterday - off on leg one of our holiday
[4411] Location, location location. And a chance of a giggle!
[4348] Taking my life in my hands in Swansea
[4331] Musings on a Welsh town
[4220] Thun, Switzerland
[4214] A busy week, and a long flight
[4203] A weekend away - Four in a Bed returns to Happy Donkey Hill
[4184] A fond memory
[4182] Welcome to Salford and Oldham
[4125] The first Luas of the morning
[4052] The PHP course this week is in... Salford
[4011] From Salford
[3854] Busmans Holiday - I like being a busman
[3803] A Walk on the South Bank
[3667] A modern area of Cambridge - some thoughts provoked?
[3654] On a sunny afternoon in London
[3631] Getting around Dublin by public transport - some observations
[3603] Another cold night
[3595] Looking up
[3529] Sharpness, Gloucestershire - a place in transport history
[3393] Rodwell Trail, Weymouth
[3353] Off the beaten track - non-quite-so-tourist spots
[3330] A lot of exercise this week
[3297] A long day, a long journey, and families and similarities the world over
[3204] Two views of a war memorial
[3185] Day Trip to Hereford, in pictures
[3175] The Rhine in winter
[3070] Belfast, on a cold November evening
[3064] On the way to the course this week
[2985] Right place, right season
[2907] Dartmouth, Kingswear and Torbay
[2897] The Land of the Black Labrador
[2809] Frankfurt in 90 minutes
[2808] From home to Nurnberg - journey pictures
[2802] After the Perl course in Nurnberg
[2799] Nuremberg - some pictures
[2754] At Arlington and the Pentagon
[2733] Travel Troubles and Jesus again
[2624] Skyline and looking up in London
[2411] Further North - long summer days and lovely countryside
[2392] Lymington, New Forest - some pictures
[2387] to Clifton Down and Avonmouth
[2316] Guadalajara - a special tour of a lovely city
[2207] North Antrim Coast - a jewel thats well worth a visit
[2205] An evening walk in Carrickfergus
[1837] Alfred the Great
[1807] A sad town in the sunlight
[1804] Colvin and Carlisle
[1755] Istanbul
[1730] Punting on the Cam
[1715] Pictures from South Hampshire
[1714] Hillier Gardens, Hampshire
[1652] Old Sarum airfield brings back fond memories
[1639] Minehead Marauder
[1638] Pictures far apart
[1624] From Freddie the fallow
[1617] Steam Engines at Bressingham
[1590] All Change, Portsmouth Harbour
[1537] To Wales - where theres still a toll on the bridge
[1536] A Weekend in Liverpool
[1524] Nottingham - just text!
[1460] Christmas fare in Ljubljana
[1457] A day in Ljubljana
[1456] Right up to the top of the City
[1425] Melksham v Ely
[1307] Troy, up state New York
[1298] From Leeds
[1244] FolksFest Bristol - German beer, Bratwurst and music
[1229] Where am I?
[1204] Spot the difference
[1147] A picture (mostly in words) of Helsinki
[886] Signs of Leek
[778] Weekend in Ireland
[740] Finishing up in Dhahran
[730] Reading the newspaper and working with other restrictions
[727] A journey, an arrival, a people
[713] Pictures from my travels
[685] A couple of days away
[670] Architectural Heritage - Devizes
[403] Full circle - made it back to an old haunt
[218] Golden Nugget
[186] Lull
[92] Hard work, Hard sell
[70] Red Luas - early life and times
[66] A Taste of Ireland

Subject Z201 - Holidays and Business Trips
[4731] To Oceanside and San Clemente Pier
[4728] Visiting Los Alamitos Bay Yacht Club
[4643] From last July (2015)
[4513] Yesterday, Weymouth
[4478] Home in Melksham to Gatwick Airport - easy by public transport
[4473] Fishguard to Melksham - third part of Dublin journey
[4472] Rosslare to Fishguard - foot passenger on the ferry
[4471] Leopardstown to Rosslare by train
[4433] Different views of a Welsh Valley - but headed home
[4249] An evening in Glasgow
[4215] Great beauty, but great natural danger
[4126] Where are we now? On holiday!
[3998] Travelogue - from the Netherlands to London via Hook and Harwich
[3853] Blanford Forum, Dorset
[3742] Dysenni Valley, and nearby
[3737] Postcards from Barmouth
[3681] Kicking up a stink, the Victorian way?
[3381] Report - day trip from Swindon / Chippenham / Melksham to Weymouth
[3372] Wearing the new London uniform
[3346] Gibraltar - said to have a few residents less than Chippenham
[3345] Cruising
[3321] Travelling around
[3306] Photogenic Place
[3303] Flying tonight
[3300] Wildlife and other pictures from holiday
[2803] Travelling across Europe
[2797] Sur la T.G.V.
[2796] Sunday - waiting for the ferry.
[2759] Touching base
[2469] Beyond the Pale
[2313] Seeing Guadalajara - a first glimpse downtown
[2306] Melksham to Mexico for the week
[2269] Sipping at York
[2265] A chance to do the tourist thing
[2208] A beautiful coastline
[2200] England, Scotland, Northern Ireland
[2198] On the road, at a Service area thats a cut above the others
[2101] A B C D of GA and TN
[2100] Visiting Family
[2098] A room without a view
[2090] Melksham to Georgia
[2030] The final step to being British
[1992] A good time to travel
[1868] Liverpool - a friendly city
[1746] London for the visitor, for free
[1740] Vertical London
[1657] Farewell, Newcastle to Stavanger, Haugsund and Bergen
[1457] A day in Ljubljana
[1454] From Sunday to Monday, from Melksham to the Balkans
[1308] Good to be home
[1299] In the USA for a few days
[1293] Weymouth - Sunny Summer Sunday afternoon
[1291] Day trip to Weymouth
[1231] Sur le Continent
[1150] Helsinki - what comes naturally
[1143] A course in Helsinki
[1120] 1200 miles in 3 days
[1025] Tomorrow's keywords - London, Training, Course, PHP, Ruby.
[1004] Old dog, old tricks
[878] Easy criteria to meet
[684] Staying in the country
[620] Familiar names, close to home
[548] San Francisco
[518] Passport office - a much improved system
[420] Towards Tebay
[374] Instant availability
[373] Vik, Iceland to Melksham, England
[370] From Iceland
[368] Vacation Week
[81] Café keyboards
[65] Ireland

Subject Z202 - Just Pictures
[4768] 2017 - the final six months
[4755] Back and continuing to feed pictures!
[4754] A quiet Sunday afternoon
[4752] Welcome to July. Picture labelling continues!
[4750] Thurday images
[4749] Pictures for Wednesday
[4748] A second batch of images for today
[4747] Image feed for Tuesday ...
[4746] Image library - labelling continues!
[4745] More pictures - final labelling set for today
[4744] Updating image labels
[4743] Further picture labelling!
[4742] Third and final set of older picture for today
[4741] Catching up on labelling more images
[4740] Labelling images
[4133] In the hills above Harlech, and on the coast too
[3990] Stripes of Snow
[3925] Red sky at night
[3907] Weather pictures
[3894] A wet Saturday
[3846] Signs of Autumn
[3837] Evening behind Melksham Spa
[3713] Verticals ... last month
[3678] Potteries and Staffordshire in the Sunshine
[3655] Sights and scenes - more London trip pictures
[3616] Bus top - colours of London
[3562] Christmas Day - for unique pictures
[3473] Picture - Havant Station at Dusk
[3356] Holiday patterns - just the art, not the content
[3350] A set of pictures without point
[3289] New Camera - very first picture, and next from first films
[3241] Spring in the countryside near Melksham
[3220] Panasonic Lumix TZ20
[3195] Sunny day - Clanger and Picket Woods, Shearwater, and Westbury
[3101] The week before Christmas
[3096] Contrast in pictures
[2989] Oddballs in Plymouth
[2914] Older picture.
[2888] Recent Pictures
[2819] Some more pictures ...
[2767] Back from a Python course in Glasgow
[2760] Views of Scotland
[2756] Same subject - different pictures
[2677] Blowing out the winter cobwebs
[2611] Sunday Evening, City of London
[2582] Starting to arrange the picture library
[2553] On a short walk from home
[2549] Christmas Day ...
[2518] Through the arches
[2464] Beauty in pictures
[2412] Autumn Fruits and Bristol Old Station
[2404] Low Sun - Autumn is here
[2298] Melksham Carnival Parade - the people
[2266] Travelling
[2202] Bright Colours
[2168] In honour of the photograph, I present ... a walk from Reybridge to Lacock
[2146] An evening excursion to Devizes and Avebury
[2140] Beware - giving copyright away when you upload a picture - Dogs Trust
[2121] Out in the Vale of Pewsey
[2101] A B C D of GA and TN
[2098] A room without a view
[2093] Leading Lines
[2034] Through Snow and Flood to Linux and Tomcat
[2006] Contrast
[1986] Walk to Bowerhill
[1981] Bitter cold
[1931] Frosty Morning, foggy evening
[1919] Transition
[1854] Three Seasonal Pictures
[1838] Oxford in Pictures
[1818] Icelandic Badge
[1770] 3 hours from Milton Keynes
[1740] Vertical London
[1620] Norwich and London
[1546] The geometry of East London
[1489] Pictures of December
[1400] Dark Dawn
[1398] Someone else's wedding
[1392] Autumnal lighting on a London trip
[1234] A review of a week and a trip to Brugge
[1233] Horses of Brugge
[1216] Five of the best - pictures from London
[1172] May day 2007 in pictures
[1162] Cheddleton, Staffordshire
[1152] Course, right place, right time
[1099] Passenger flows
[1064] Light and shadows at Beach
[1005] Stirling at night
[958] Plain Ole nice pictures
[870] Autumn comes to Wiltshire.
[786] First Light, Bootle Docks, Liverpool
[772] Training in Liverpool
[713] Pictures from my travels
[708] Linescapes of Mull
[625] February pictures
[557] A new sign
[548] San Francisco
[416] Mixing up swallows and martins
[412] Bristol Balloon Festival
[365] Letterbox Pictures
[360] Spring turns to Summer
[298] Sharing pictures of Wiltshire

Subject Z203 - Cat and Dog
[4666] Spring at Well House Manor
[4526] Day trip to Lancaster
[4517] Black dog day - and Bobby still seeks his new home
[4507] In favour of adoption rather than puppy purchase - dogs!
[4433] Different views of a Welsh Valley - but headed home
[4417] Crisp morning, fast run
[4333] Misty Melksham Morning
[4316] Too many Staffies, too many lurchers
[4189] Who are we - Lisa, Graham, Gypsy and Billy
[4180] Exceptionally, I sign a petition - on a life and death issue for Irish dogs
[4130] Soft furnishings up a Welsh Mountain
[4016] Red, yellow, green or pink dog? Yellow Dog Project
[3943] With us for a year already!
[3936] Lisa is home today ...
[3920] Challenge for a photographer
[3908] Black dogs at Halloween
[3906] Taking the lead, not the dog, for a walk.
[3737] Postcards from Barmouth
[3675] Spring 2012
[3674] Off to walk the dogs
[3625] An update on Billy the Greyhound and Gypsy the Lurcher
[3606] Gypsy and Billy enjoy the snow
[3561] Happy Christmas ... a Christmas morning walk in Melksham
[3553] Changes to morning routines
[3541] I loves Melksham
[3537] Letting the foster parents know ... too little or too much?
[3533] No message - just doggy pictures of the new doggy
[3530] A typical weekend??
[3338] Return trip - Dogs Trust, Newbury
[3324] Rabbit Shelter
[3096] Contrast in pictures
[2897] The Land of the Black Labrador
[2787] Sleeping in on Sunday
[2689] Can my dog eat potatoes? Doggie Dietary Research, and political sleaze!
[2555] Bookkeeping
[2499] ourdog is Greyhound, Staffie and Ginger Cake
[2496] A better design of mouth
[2456] Bright Eyes
[2451] Gypsy says
[2450] Family Gathering at 404, The Spa
[2295] The dog is not in trouble
[2271] Dogs Trust, Dog Show, Newbury
[2252] Leaping dog, Leaping horse, copyright of old masters
[2167] Watching the tele
[2140] Beware - giving copyright away when you upload a picture - Dogs Trust
[2138] Ski bore ... train bore ... dog bore
[2132] Learning about Lurchers
[2029] Also for the eyes of the cat
[771] From cat breeder to Cobol to Perl
[744] We can offer a room, but we can't operate on a dog
[547] Taking the dog for a walk
[96] Variable Scope
[62] Technical Open House

Subject Z210 - Christmas and New Year
[4365] The changing face of Christmas
[4364] Christmas day in Melksham
[4363] A quiet evening in Melksham - awaiting Santa
[4357] Seeing Christmas Coming to Melksham
[4329] Does Santa Claus need a CRB check?
[4235] Sharing my personal best of 2013
[4227] Happy Christmas from the Well House Manor team
[3957] The week before Christmas
[3765] Christmas in June? Melksham hotel bookings and Santa train
[3562] Christmas Day - for unique pictures
[3561] Happy Christmas ... a Christmas morning walk in Melksham
[3557] Melksham Christmas Lights - Town, Shops and Private Houses
[3538] Santa Train - another successful trip - 4th December 2011
[3535] Melksham, Luxury Hotel Rooms, Christmas.
[3530] A typical weekend??
[3116] Are there newspapers on New Years Day? Do the shops open on Easter Sunday? Do trains run at Christmas?
[3110] The days after Christmas
[3101] The week before Christmas
[3095] The Christmas Season has arrived
[2978] Christmas 2010 - Well House Manor, Melksham, Hotel
[2549] Christmas Day ...
[2543] Day and night at Christmas
[2529] Santa Special, 2009
[2528] Melksham Christmas Lights
[2486] Santa Special - Trowbridge and Melksham to Swindon
[1959] -
[1952] Small Print
[1942] Christmas scenes and events
[1931] Frosty Morning, foggy evening
[1914] It must be nearly Christmas
[1484] A christmas message
[1483] What have hotels and bananas got in common?
[1481] The Christmas Letter
[1462] 10 training days to Christmas.
[980] Street Scene
[953] Christmas in November
[573] Giving an excuse for Christmas
[543] The world didn't stop for Christmas
[541] Christmas is for everyone
[540] Christmas Party
[162] A Change is as good as a rest
[161] Christmas break

Subject Z211 - Easter
[3688] Shopkeepers take an Easter break too
[3116] Are there newspapers on New Years Day? Do the shops open on Easter Sunday? Do trains run at Christmas?
[2460] Mothers Day or Mothering Sunday?
[1775] Easterholic
[1591] Easter Sunday at 404, The Spa
[1309] Dates for Easter - 2008 to 2015
[258] Easter at Well House Consultants

Subject Z212 - Public Holidays and festivals
[4287] TransWilts CRP - walking in Melksham Carnival
[4141] My pictures of Melksham Carnival, 13th July 2013
[4140] Riots in Melksham
[4120] American Circus in Melksham
[3513] Olympic Torch - dates and places in Wiltshire in 2012
[3360] Melksham Carnival, 2011 - pictures
[3207] Lambing at Lackham
[3191] Date of the Census (which month and day?)
[3062] Melksham Carnival - getting ready for 2011
[2875] A long day in Melksham ...
[2671] Melksham - Carnival, Party in the Park, and Spot the Oddity
[2656] Melksham Carnival
[2498] Remembrance Sunday 2009, Melksham
[2298] Melksham Carnival Parade - the people
[2297] Standing on the corner, Melksham Carnival
[1770] 3 hours from Milton Keynes
[1631] Looking back through some photos
[1540] Chinese New Year
[1269] Party in the Park - review
[1209] Where did the Bank Holiday go?
[637] Carnival
[429] Charlie on Monday
[131] Thanksgiving dinner
[35] Autumn arrives right on time
[30] Bank Holiday

Subject Z300 - Politics and Religion
[4735] Revisiting - should I stand for Melksham Without Parish Council in May?
[4734] Thoughts on the new Blackmore Ward of Melksham Without Parish
[4729] The oldest part of Los Angeles
[4725] Writing Python 2 such that Python 3 is easy
[4720] Celebrating our diversity rather than discriminating for it
[4625] Where does Wiltshire bus subsidy money come from?
[4614] PC Plod - alive and scaremongering in Wiltshire?
[4597] Not standing as your local councillor
[4548] Melksham - two small townships, or one big one?
[4489] Election results - what if we had a party list system?
[4485] Misusing statistics? - the seedy side of election campaigning
[4476] Upcoming election - Chippenham Constituency - the major candidates compared
[4354] Wiltshire Police - assuming someone is guilty just on the say-so of a member of the public?
[4343] Politics and the railway the connects Wiltshire
[4286] Reaction in Radstock to new First bus prices
[4275] Eurpoean Elections, and other elections ahead. Some thoughts on campaigns and policies
[4223] Democracy - alive and well with the beauty pagent starting up again
[4079] Melksham Area - Unitary Council results, May 2013
[3921] On rememberance, on war, and on preventing the war cycle
[3905] How should we choose our Wiltshire Police and Crime Commissioner?
[3845] Good cause giving - getting the charity beggars off the street
[3806] 2011 Census results - initial figures for Wiltshire.
[3676] Rising prices, changing habits and society
[3592] Are we one man, one vote? No, and we never have been.
[3438] Melksham to become a part of Trowbridge?
[3325] The Olympic Torch, and Melksham House
[3323] Is Melksham town centre dying?
[3313] What does our MP do on a Bank Holiday?
[3264] Alternative Vote (AV) - explaining and an example
[3051] Positively reforming the system - could it be done?
[2971] Should the public sector compete with businesses? and other deep questions
[2948] Melksham shamefully makes the national headlines
[2870] Old prices - what would the equivalent price have been in 1966?
[2864] Changing with weather and seasons
[2856] Two sides of the coin
[2824] A pint of Black Rat, and a lazy barman
[2792] Should Government compete with private industry?
[2757] Bodicea, Lincoln, and our new MP
[2752] Voting day - UK General Election
[2740] Melksham Hustings at George Ward School
[2712] A more informed decision than ever before
[2689] Can my dog eat potatoes? Doggie Dietary Research, and political sleaze!
[2640] How is your tax pound spent?
[2353] All change - Wiltshire Parliamentary
[2288] Wiltshire Community Area Partnerships
[2279] Understanding the new local government structure in Wiltshire
[2270] Wiltshire - a chance to improve life for everybody
[2257] Ramblings on church and state linkage in Melksham
[2206] Spot the odd one out
[2178] Melksham Candidates for Wiltshire Unitary Election
[2075] Supporting Parkinsons and Trains
[2028] Things people say on the phone
[2012] The Wiltshire Police
[1987] One Cheer for Local Democracy - Asda in Melksham
[1882] Wiltshire Council says - part 2
[1881] Wiltshire Council says - part 1
[1872] Barack Obama wins US Predidency
[1769] July child ponders on August children
[1729] Back from the future
[1579] Rome, and the faith of Rome
[1573] Budget tax increases hit vehicle market
[1526] Carers at work - court case changes
[1428] Travel Across Wiltshire - the game
[1386] New software product for warmblooded programmers
[1350] FSB (Federation of Small Businesses) Western Region
[1260] An inspirational business talk from one of our prospective MPs
[1247] An afternoon at a public enquiry
[1175] Local elections - choosing who to vote for
[1135] Government pressure on me to shut up after I make the papers
[1109] False imprisonment - a contrast from the news
[1060] What a relief from the tax office.
[1003] Room at the Inn, Guy at the station
[967] Realistic on line shoot'em up
[875] Wilfred Emmanuel-Jones
[780] Separation and Integration
[750] Almost everyone loses
[696] Is than an uphill or downhill task?
[682] Iran has enriched uranium ...
[674] Wiltshire to get an extra MP
[671] Both ends of the animal
[607] On being British
[602] MP face to face
[539] rich and famous
[505] Would you steal ... petrol? ... a training course?
[469] Yesterday was Kiss and Ride
[415] Campaign Drift and efficiency.
[384] Managing conflict and disappointment
[377] A Strengthened City
[335] Sad priorities
[326] UK Tax payment totals and where the money is spent
[313] Making bona fide international marriages more difficult
[301] General Election day, UK
[289] MP for Devizes, Wiltshire
[280] Spotted - the local MP
[257] Politics gets nasty. Must be an election coming up.
[216] Cheap purchase - votes paid for with selfish promises

Subject Z301 - Current Affairs
[4691] Real life PHP application using our course training MVC example
[4637] People matter - but there is a tradeoff between different people in there
[4599] Happy Christmas - and a Christmas thought
[4429] Wind Turbines - beauty or menace?
[3720] Melksham ATC - freedom of the town
[3646] Exploring Melksham with a film maker
[3467] Charities v Charitable. The cost of collecting your donation.
[3385] Do university courses teach the right things for life at work later on?
[3357] Business, priorities, and volunteering
[3347] The Anthony trial - Orange County, Florida. Thoughts on conclusion
[3282] The future of canal management and charities - Kennet and Avon Canal bias
[3265] Alternative Vote (AV) - cutting the crap
[3231] Footpath, Bridleway, Byway, Road used as Public Path
[3228] What can you take on a public footpath? Pram? Wheelbarrow? Dog? Shopping Trolley? Horse? Cycle?
[3183] Redevelopment on the banks of the Avon in Melksham
[3126] Car Parking in Melksham - thoughts on the proposed scheme, and wider thoughts too
[3030] Liquorice allsorts and Dolly Mixtures
[3028] VAT rise in January - it is really up 14% not just 2.5%
[2995] A river in Melksham is not just for boaters.
[2982] Travel, Transport and Tourism - A vision for Melksham, 2026
[2904] Melksham Area Board meeting of last week
[2852] Atworth Village Fete - on the Melksham Community Area Partnership stand
[2776] Regional Spatial Strategy and the next 20 years - Whence Wiltshire under the new government?
[2666] Random thoughts on Melksham Town Planning and development
[2602] East of Melksham - Building Work Starts
[2574] Summary of Wiltshire Core Strategy responses
[2514] The road show has been - where now?
[2508] Community Area Partnership - inaugural AGM
[2289] pre-Inaugural briefing - Melksham Community Area Partnership
[2128] Wiltshire - where everybody matters
[2112] Whatever next ... the joys of being an employer
[1987] One Cheer for Local Democracy - Asda in Melksham
[1960] Christmas Survivors
[1275] Incident in Melksham
[1214] New Serieses for the summer on TV
[614] News in Ireland
[377] A Strengthened City
[33] 10 Years of experience

Subject Z401 - Federation of Small Businesses
[3522] Networking - North and West Wilts FSB Style
[3214] Melksham Campus - any last minute inputs from Melksham businesses?
[3032] Coincidence, or Conspiracy - a wrong email address
[2524] An update on legal changes from the FSB?
[2517] Blogging accuracy - open invitation for any corrections
[1937] Getting hold of the wrong end of the stick
[1880] Melksham Chamber of Commerce, or the FSB
[1855] Volunteer v Employee - a skewed balance? (FSB)
[1823] FSB - an update.
[1654] The old sayings are the best (FSB)
[1544] FSB, EGM, AGM.
[1515] Keeping staff up to date on hotel room status
[1512] Summer Ball at Bowood - Saturday 12th July 2008
[1479] FSB leaves its members feeling like mushrooms
[1350] FSB (Federation of Small Businesses) Western Region
[1286] A wasted evening?
[1284] An update on the West Wilts show ...
[1278] West Wilts Show
[1249] Is this how to run a business for businesses?
[1246] An oddball day. Strange experiences!
[1157] Speed Networking - a great evening and how we arranged it
[1133] B-2-B Networking, 20th April. Useful for YOUR business?
[1097] Train and business balls all in the air!
[1078] Wiltshire - multicultural community

Subject Z402 - Melksham Chamber of Commerce and Industry
[4738] Melksham Chamber of Commerce - my final Presidents report
[4672] Annual review of Melksham Matters for Chamber of Commerce AGM
[4399] The Campus in Melksham - name, logo, and livery choice
[4278] Future Swindon - Westbury train services. At current level into the future?
[4170] Herman Miller coming to Melksham - the Chamber of Commerce is briefed
[4164] Melksham Market - every Tuesday
[4151] Tell me a bit about Melksham
[4103] Questions from children about Melksham Campus
[4097] Melksham Chamber of Commerce - Report for AGM, 21st May 2013
[4046] Over a hundred welcoming businesses - Melksham Town Centre
[4041] Report on the last year - Melksham Chamber of Commerce and Industry for Melksham Without Parish Council
[4014] Costa Coffee in Melksham - is it a good idea?
[4002] Images of Melksham you havent seen before
[3987] Melksham Chamber of Commerce - join us in our future
[3948] Quiet little town? Advanced Technology Centre?
[3889] Melksham Chamber of Commerce - whence in 2013 and beyond?
[3880] Chamber of Commerce - looking forward in Melksham and in Wessex
[3867] The difficult interface between the business, council and voluntary sectors
[3850] Bus times - Chippenham Station to Melksham, with London connections
[3818] Making things happen - litter and ASB and lost dogs in Melksham
[3812] The Melksham News - July 2012 - Part 1, Campus and Chamber of Commerce
[3787] Melksham Pride - the Chamber of Commerce, and the future
[3768] Melksham Chamber of Commerce - looking to our future shape. Pivotal meeting next Tuesday
[3767] How well do you know Melksham?
[3752] Melksham Visitors Map - Bus routes and train lines to and from the town
[3751] Public transport for international arrivals into Melksham
[3748] Not everyone has a computer - 9 more ways to learn about the Melksham Campus
[3739] Go green - business seminar in Melksham
[3732] Ten more visitors to your premises every day?
[3714] Just 12 winners? Or 371 or more? Town Centres.
[3710] Encouraging business in Melksham and its neighbourhood - keep business local??
[3706] An exciting Chamber of Commerce AGM - sound like an Oxymoron?
[3700] Why do people use chains rather than independent traders?
[3697] Events in Melksham - read all about them, and tell us about yours
[3696] Melksham government and business organisations
[3693] Wiltshire Business Support Service
[3682] Melksham Business Newsreel
[3677] Some advise for guest speakers at meetings
[3672] Melksham Train Service - please support the TransWilts case for regular trains
[3663] Changing shops and organisations - Melksham, the last and next five years
[3627] Meeting Report - Tuesday 21st Feb - to Melksham Chamber of Commerce from Shadow Community Operations Board
[3598] Melksham Civic Awards - report and pictures
[3560] Melksham, Month by month through 2011
[3527] Melksham - changing times, an opportunity for the future
[3496] Melksham - Business to Business Speed Networking - build ahead for 2012
[3495] Looking forward - Chamber of Commerce has 2012 and beyond on the agenda
[3492] Upcoming events in and about Melksham - more dates for your diary
[3481] Some thoughts in answer to some Melksham Campus questions
[3475] Havant - Shop Frontages.
[3470] Currently pictured in Melksham
[3438] Melksham to become a part of Trowbridge?
[3427] What is on the Melksham Agenda?
[3423] 1 + 1 + 1 + 1 = 12?
[3420] Making best use of the new enthusiasm for Melksham
[3383] Are people who walk into Melksham being asked to subsidise parking?
[3380] Melksham Jelly - An Occasional Office for Home Workers
[3343] Summer Sunday Train Service Starts - Swindon Chippenham and Melksham to Weymouth
[3340] Summer Sunday Timetable - TransWilts Trains
[3334] A lesson from the sporran market?
[3325] The Olympic Torch, and Melksham House
[3307] Melksham Community Radio launches
[3299] Presidents Report to Melksham Chamber of Commerce, 24.5.2011
[3279] Letter to The Editor
[3275] Melksham Chamber of Commerce - grows to appoint new Press Officer. Welcome. Sam
[3272] Melksham Car Parking - current charges and limits
[3249] Events - Spring and Early Summer 2011 in Melksham
[3246] Melksham - the way forward. 26th April, Well House Manor
[3217] Vandalism and riot from the minority - the effect
[3214] Melksham Campus - any last minute inputs from Melksham businesses?
[3193] Melksham Campus - what, why, questions, concerns and how you can input
[3188] What proportion of the British Workforce still works a Monday to Friday, 9 to 5, week?
[3173] What is the Melksham Chamber of Commerce?
[3172] On consultations, car parking, and Melksham town centre
[3162] Keep your business customer-friendly!
[3141] Wiltshire Rail services - a golden opportunity
[3117] Opportunities for Melksham - new businesses in the town
[3113] Trowbridge and Melksham to Chippenham - more roadworks, even slower journey over the winter
[3088] Melksham - two many councils?
[2995] A river in Melksham is not just for boaters.
[2982] Travel, Transport and Tourism - A vision for Melksham, 2026
[2959] A Melksham news roundup
[2957] Welcome to Countrywides new Melksham store
[2932] Getting into and out of Wiltshire towns .. a.k.a. Car Parking?
[2891] Wiltshire Council ask how they can help businesses
[2883] Melksham Oak - photos of the new community school
[2872] Moved - Melksham Lorry Park
[2867] Cycling in Melksham, and looking forward
[2853] Transport in Wessex - today and into the future
[2837] Lorry Parking in Melksham
[2827] Melksham - a gem in Wiltshire
[2782] Tell the Melksham Chamber or you only have yourself to blame
[2779] The history and future of Melksham Chamber of Commerce
[2770] Melksham Chamber of Commerce - Presidents report to AGM
[2725] How do our tactics help us meet the strategy, for the greater good?
[2683] Car Parking in Melksham
[2666] Random thoughts on Melksham Town Planning and development
[2640] How is your tax pound spent?
[2594] Melksham Area - your community view is sought
[2568] Forums for your Melksham and open source discussions
[2546] How well do you know Melksham - a quiz for Christmas
[2544] Vision for Wiltshire
[2540] Rock and hard place .. and the relaxing right one won
[2531] Melksham - new Tuesday Market
[2521] Melksham Market - Tuesdays, 09:00 to 14:00
[2514] The road show has been - where now?
[2508] Community Area Partnership - inaugural AGM
[2495] Planning the future of Wiltshire
[2487] Melksham Forum
[2465] Melksham Town - asleep or awake?
[2459] New Web Site for Melksham Chamber of Commerce
[2437] Wiltshire Unitary News - Chamber of Commerce Intelligence
[2328] Melksham - no trains, no southbound buses through the town
[2289] pre-Inaugural briefing - Melksham Community Area Partnership
[2288] Wiltshire Community Area Partnerships
[2260] Important - the future of Melksham / Chamber of Commerce
[2220] Melksham Traders - where do we go?
[2194] Melksham Business Map - Chamber of Commerce, Tourist Information and Town Council
[2181] You cannot please all of the people all of the time
[2119] Make your business a DESTINATION business
[2111] Business Networking for Melksham - 23rd April
[2095] Blue Ridge and Melksham Chambers of Commerce
[2043] Confidence, Customer Service and Tourism in Melksham
[1987] One Cheer for Local Democracy - Asda in Melksham
[1979] Looking forward, in Melksham, in 2009
[1934] Lidl opens in Melksham
[1904] Ruby, Perl, Linux, MySQL - some training notes
[1892] Melksham Chamber of Commerce and Industry
[1881] Wiltshire Council says - part 1
[1880] Melksham Chamber of Commerce, or the FSB
[1792] All the pieces fall into place - hotel and courses
[1748] Hotel room prices - Melksham, Wiltshire
[1642] Summer!
[1633] Changing a screen saver from a web page (PHP, Perl, OSX)
[1507] Comments on proposed Asda Superstore for Melksham
[1504] Flooding by Asda-s proposed new supermarket
[1476] Shopping for Christmas and looking forward
[1432] Wiltshire County Council - Budget Consultation
[1429] Remembrance day - inside a church and inside the day
[1250] Business speed networking - a place tonight!
[1223] Asda opening large new store in Melksham
[717] A customer service company

Subject Z403 - Organisations
[4548] Melksham - two small townships, or one big one?
[4039] Seed Swap at Well House Manor
[4020] Melksham Community - Annual Report / MCAP
[3774] Melksham - a new dawn
[3712] Some unpublished and historic pictures - Museum of Melksham
[3704] The Bowerhill Villager - a newsletter for Bowerhill, Melksham
[3677] Some advise for guest speakers at meetings
[3604] Melksham Campus - a blog you can read, and a place you can comment
[3511] Melksham has a heart - have your picture taken and support the defibrillator appeal
[3484] A Melksham Timeline - Domesday to present day
[3317] Self Portrait (in words)
[2902] Community consultation - a true open input
[2869] Contact Information for Melksham Oak Community School
[2807] Canal through Melksham - the options and issues
[2585] Consultation in Melksham, on Melkshams future
[2574] Summary of Wiltshire Core Strategy responses
[2271] Dogs Trust, Dog Show, Newbury
[2236] Alumni - revisiting and supporting the old University
[2128] Wiltshire - where everybody matters
[2026] Melksham Climate Friendly Group
[2015] Service Excellence Awards
[2012] The Wiltshire Police
[1280] West Wilts - no longer Wet Wilts - show
[1278] West Wilts Show
[1258] A day looking ahead for Well House Consultants
[981] Finalist reception - Wiltshire Business of the Year
[472] Are you free on 29th October - Charity ball
[307] Farming yesterday
[58] Call Centres, selling, and a pause for thought

Subject Z405 - Melksham Campus
[4423] Campus - about the logos / way marks you have been choosing from
[4418] Melksham Community Campus - which of these potential signs do you like?
[4399] The Campus in Melksham - name, logo, and livery choice
[4311] Melksham Campus - how is it going - October 2014
[4103] Questions from children about Melksham Campus
[4048] Art, Catering, Transport - Melksham Campus Elements - reaching local experts
[3901] How much parking should there be at Melksham Campus?
[3888] What a difference a year made - Melksham Campus
[3812] The Melksham News - July 2012 - Part 1, Campus and Chamber of Commerce
[3748] Not everyone has a computer - 9 more ways to learn about the Melksham Campus
[3741] Low carbon and other environmental lessons for the Melksham Campus?
[3736] Abstraction
[3735] A walk around Melksham this morning. Can you place all of these?
[3520] Quintessentially English - scenes from our Wiltshire town
[3518] Melksham House / Melksham Campus - Seniors Input Sought
[3503] Melksham House - a community facility
[3500] Campus Shadow - a great responsibility
[3481] Some thoughts in answer to some Melksham Campus questions
[3325] The Olympic Torch, and Melksham House
[3279] Letter to The Editor
[3277] Between a rock and a hard place.
[3246] Melksham - the way forward. 26th April, Well House Manor
[3225] Campus - answer to business questions
[3224] Melksham Campus - a win / win opportunity, but a severely lacking decision process
[3214] Melksham Campus - any last minute inputs from Melksham businesses?
[3193] Melksham Campus - what, why, questions, concerns and how you can input

Subject Z406 - TransWilts Community Rail Partnership
[4739] A year of changes for Lisa and Graham Ellis, and Well House
[4726] TransWilts Partner Update for Melksham Area Board
[4706] Melksham trial train service is to be made permanent
[4704] Three months in community rail pictures
[4695] Melksham Rail Development Group becoming Melksham Rail Users Group
[4688] Melksham Station - as at May 2016 - Part 5 (services and prices)
[4647] On the problems of a printed train timetable
[4638] TransWilts Community Interest Company AGM - 13 Feb 2016, Swindon
[4612] TransWilts - robust these days - no longer the first service to be cancelled
[4601] Management view - TransWilts and transport at the end of 2015
[4568] Moderation - and the tendency to over-moderate
[4513] Yesterday, Weymouth
[4512] The Weymouth Wizard - Saturdays in August from Wiltshire
[4510] Learning from the others - Community Rail
[4500] The TransWilts Community Intergrated Transport Corridor
[4497] Around the world from Melksham
[4494] Monday to Friday / TransWilts train times from 18 May to 11th December 2015
[4467] Neighbourhood Plan - travel and transport thoughts
[4463] Rail Conference, Nottingham
[4435] Images of our rail promotion campaign
[4424] Looking Forward - TransWilts Community Rail Partnership and TransWilts CIC
[4397] TransWilts / Press and Publicity report for AGM / 30th January 2015
[4371] Why are people using the TransWilts?
[4362] What a difference a year makes
[4353] Celebration pictures, year 1
[4351] A little thing can make a big difference
[4343] Politics and the railway the connects Wiltshire
[4328] Folk music train, Westbury to Swindon round trip, 14th December 2014
[4313] Moving community rail support from amateur to professional
[4309] Even in the dark of night, the train comes bearing passengers
[4291] Train Online article - ACoRP / TransWilts introduction
[4288] Some questions on how our Community Rail Partnership works
[4287] TransWilts CRP - walking in Melksham Carnival
[4284] Talk and walk to promote train service - Melksham Carnival
[4243] Taking Greyhounds and Lurchers to London for the day
[4229] Thin end of the wedge - plan to be thicker in 2014
[4225] Melksham Resident? Commuter? Save yourself 2000 pounds and 100 hours in 2014, and have a better journey!
[4219] TransWilts train services - up from 2 to 8 per day
[4218] A THANK YOU to those who have brought the new train service to fruition
[4198] New trains for 2014 - Swindon to Westbury. Meetings Melksham, Swindon, Trowbridge, Chippenham and Westbury
[4196] Official - Trowbridge and Melksham to London train improvements
[4194] TransWilts Link - meeting notes from 19th October
[4191] Getting people to and from Melksham Station - not 20 but 700 times a day
[4163] TransWilts Community Rail Partnership - formally constituted
[4160] Bank Holiday Monday - pictures of a great train trip to Weymouth
[4148] Special General Meeting, Adoption of Constitution for TransWilts Community Rail Partnership
[4142] Passenger survey at Chippenham - report and pictures
[3986] Rail services in Wiltshire - up in the air? We need to say what is best required.
[3881] Wiltshire Public Transport User Group co-ordination

Subject Z407 - Option 24/7 - the way forward for Wiltshire buses
[4703] What do people use the bus for in Wiltshire - survey interim results.
[4694] Supported Bus Services in Wiltshire - analysis of written-in comments
[4693] Wiltshire supported bus service consultation, early 2016 - interim results published
[4692] How are bus support payments currently calculated?
[4691] Real life PHP application using our course training MVC example
[4690] Buses in Wiltshire - potential changes and where we stand at the moment
[4669] Buses - how did we get into the situation we are in?
[4667] Wiltshire Supported Bus consultation - final few days
[4660] What is happening on the 231 bus? What are you going to do about it?
[4658] The end of competition on a bus route - the effects from then end of the 234
[4657] Rumours of bus changes by First in Wiltshire - what we know and suspect
[4654] Getting to the Royal United Hospital - the Hopper and the alternatives
[4648] Why is bus funding a much hotter topic than a new set of traffic lights?
[4636] Rail user groups worried about what is happening on the buses
[4631] What would the Wiltshire Council bus cuts mean for Melksham?
[4630] The story behind the bus cuts, and what they could mean
[4625] Where does Wiltshire bus subsidy money come from?
[4624] Campaigning for a sensible bus solution and not against anyone!
[4621] The power of scripting
[4619] Buses - not about the buses, but about the people who use the buses

Subject Z408 - TravelWatch SouthWest
[4424] Looking Forward - TransWilts Community Rail Partnership and TransWilts CIC
[4397] TransWilts / Press and Publicity report for AGM / 30th January 2015
[4188] Extended Weekend - but not a quiet one!
[4186] Melksham to Bath and Zigzag buses - at a turning point?
[4185] TransWilts Trains - running a successful campaign talk
[4173] Train and Rail Travel - who runs it and where do I ask questions?
[4040] Report on the last year - Melksham Railway Developement Group for Melksham Without Parish Council
[3904] Want to help us improve transport in Wiltshire? Here is how!
[3882] Community Transport - Pewsey, Taunton, and the whole picture too
[3677] Some advise for guest speakers at meetings
[3221] How long is a speech?
[3194] Buses - what they cost and their future direction in the SW and in Wiltshire
[2954] Railway meetings, trips and meetups this autumn
[2748] Monitoring the success and traffic of your web site
[2666] Random thoughts on Melksham Town Planning and development
[2664] Oliver Cromwell at Bristol Temple Meads
[2438] Listening to The Minister
[1966] Background to the TransWilts Train Fiasco
[1560] HST Power Car TravelWatch SouthWest

Subject Z501 - Public Transport - Rail
[4770] GW franchise - my response
[4765] Breich Station - current pictures, and future options
[4764] Some thoughts on the closure proposal for Breich station
[4760] Rotary Talk, 25/7/2017
[4727] Learning from travelling further afield
[4726] TransWilts Partner Update for Melksham Area Board
[4706] Melksham trial train service is to be made permanent
[4699] Melksham Rail Development Group - a celebration of 20 years
[4695] Melksham Rail Development Group becoming Melksham Rail Users Group
[4688] Melksham Station - as at May 2016 - Part 5 (services and prices)
[4687] Melksham Station - as at May 2016 - Part 4
[4686] Melksham Station - as at May 2016 - Part 3
[4685] Melksham Station - as at May 2016 - Part 2
[4684] Melksham Station - as at May 2016 - Part 1
[4677] Swindon, Chippenham and Melksham - day trips by train to Weymouth start for 2016
[4665] Chippenham to Salisbury by public transport - what we have and what we could have
[4640] Who was Doctor Beeching and what was his axe?
[4636] Rail user groups worried about what is happening on the buses
[4623] Rambling from Westbury
[4612] TransWilts - robust these days - no longer the first service to be cancelled
[4598] 21 places to get your train and bus timetables for TransWilts
[4596] Call for help counting passengers - TransWilts, 12th to 14th December
[4578] Rail electrification - far, far too optimistic so over budget and late
[4539] TransWilts public transport corridor
[4515] Why has the hourly Chippenham to Trowbridge train been withdrawn?
[4512] The Weymouth Wizard - Saturdays in August from Wiltshire
[4511] The Royal Albert Bridge as you do not normally see it
[4496] Sunday train times - 17th May to 6th September 2015
[4495] Swindon to Westbury train services - Saturdays from 23rd May 2015
[4486] Newark to New York - the PATH suburban railway
[4478] Home in Melksham to Gatwick Airport - easy by public transport
[4475] New car park at Melksham Station - ideal for commuters from Seend, Hilperton, Yarnbrook and Holt
[4473] Fishguard to Melksham - third part of Dublin journey
[4471] Leopardstown to Rosslare by train
[4467] Neighbourhood Plan - travel and transport thoughts
[4464] Catching up on a week all in a single post (?)
[4425] A Welsh valley - what the transport looks like in 2015
[4397] TransWilts / Press and Publicity report for AGM / 30th January 2015
[4378] What FGW passengers want to talk about / and PHP programming to find out
[4367] A year of rail memories!
[4365] The changing face of Christmas
[4353] Celebration pictures, year 1
[4352] A long day on the trains, but a rewarding one
[4342] My first official measure - Passenger Entrys and Exits - revisited 9 years later
[4312] Officially overcrowded in the first year
[4306] Four time target - good news. Four time prediction - poor forecasting.
[4289] It may be cheaper to buy in bulk
[4276] Swindon to Weymouth - by train, the traditional way - 2014
[4269] Survey - Journeys
[4268] Metrics - historic and current TransWilts train use
[4267] How effective is our publicity?
[4263] Chippenham - Melksham - Trowbridge, public transport over Easter (2014)
[4256] Train fare look expensive? There may be a cheaper option
[4253] Easter Weeks - Melksham to Weymouth
[4252] Staveton Halt, former station between Trowbridge and Melksham
[4251] Broughton Gifford Halt, TransWilts Railway Line
[4250] Lacock Halt - former TransWilts Station
[4238] A Question series posed to Melksham Tourist information
[4226] Saturday train to Swindon - two weeks in
[4224] TransWilts - first day pictures
[4219] TransWilts train services - up from 2 to 8 per day
[4218] A THANK YOU to those who have brought the new train service to fruition
[4217] New train service - launch plans and timetable links
[4216] Los Angeles - post modern transport system
[4202] Excellent Railfuture conference, but some setup lessons
[4199] Draft Westbury - Melksham - Swindon train times, from December 2014
[4196] Official - Trowbridge and Melksham to London train improvements
[4195] Booking for Santa, Melksham Railway Development Group, 8th December 2013
[4194] TransWilts Link - meeting notes from 19th October
[4191] Getting people to and from Melksham Station - not 20 but 700 times a day
[4190] A radical proposal - a cheap and effective way to provide home to city commuter transport
[4185] TransWilts Trains - running a successful campaign talk
[4176] International and off island travel from Melksham
[4173] Train and Rail Travel - who runs it and where do I ask questions?
[4163] TransWilts Community Rail Partnership - formally constituted
[4160] Bank Holiday Monday - pictures of a great train trip to Weymouth
[4159] People WILL walk to the station in Melksham, but they need a path and trains
[4154] August Bank Holiday - day out from Melksham to London or Weymouth
[4150] Melksham Regular Public Transport Map - as at August 2013
[4148] Special General Meeting, Adoption of Constitution for TransWilts Community Rail Partnership
[4146] A few more trains means a LOT more passengers. Why?
[4142] Passenger survey at Chippenham - report and pictures
[4131] West Coast (of Wales) - railway and stations in pictures
[4113] Wiltshire and Melksham Transport - what is going on?
[4110] TransWilts meeting ...
[4105] Our day trip by train from Swindon, Chippenham and Melksham to Weymouth
[4104] Weymouth vis the TransWilts - the day out today
[4080] Fancy a day at the seaside? Weymouth from Melksham
[4040] Report on the last year - Melksham Railway Developement Group for Melksham Without Parish Council
[4022] A request for all of Melksham transport groups to work integrated
[3995] Onward from Brussels
[3994] On board Eurostar - a running commentary
[3993] Two trains a day ... how many fares to London? Guess!
[3986] Rail services in Wiltshire - up in the air? We need to say what is best required.
[3942] Santa Trip - Melksham Railway Development Group, 2012
[3938] A long overdue meeting - a steeping stone towards coordinate transport user inputs
[3937] Agenda for Wiltshire Link Travel groups meeting, Saturday 1st December 2012
[3923] 35 minutes is only a slight delay on our railway service
[3904] Want to help us improve transport in Wiltshire? Here is how!
[3899] Father Christmas to be on train in Melksham
[3893] Public Transport across Wiltshire - a new map
[3890] Here comes Santa - on the train from Melksham to Swindon on 2nd December 2012
[3882] Community Transport - Pewsey, Taunton, and the whole picture too
[3881] Wiltshire Public Transport User Group co-ordination
[3879] Mixed mode travel - Information systems
[3873] Henbury loop, Bristol - a freight railway line with passenger potential?
[3872] Trains across Wiltshire - an update on the TransWilts
[3860] Melksham to Steam in Swindon, by train - great day out
[3826] TransWilts trains - what the next franchise period will bring
[3815] The Melksham News - July 2012 - Part 2, TransWilts Rail, Wilts and Berks Canal
[3804] Scenes from commuting by train
[3802] What a difference a year makes
[3795] Like a bathroom company with no plumbers
[3793] Excellent Rail News - what it really means
[3786] Improving Wiltshire Rail Offer - it WILL be happening
[3784] Steam train calls at Melksham - Pictures
[3765] Christmas in June? Melksham hotel bookings and Santa train
[3761] Melksham - placed 2254 out of 2255. What can be done about it?
[3736] Abstraction
[3728] The future needs for rail services to Melksham - change needed; current service an insult
[3699] Bristol 50? Bristol 25?
[3671] Future train services in Wiltshire - please write in to support a better service
[3668] Kings Cross - new concourse - between Python in Cambridge and Objective C in London
[3642] Wiltshire Travel Times - Chippenham, Trowbridge, Salisbury and other places too
[3631] Getting around Dublin by public transport - some observations
[3626] There is so much to see travelling by train
[3601] Rail Travel - has it become more unreliable?
[3579] Transport in Cambridgeshire - seen by an outside observer. What can Wiltshire learn?
[3565] What would an appropriate train service on the TransWilts line mean
[3564] I wish I was not a special case
[3550] Provide a useable train service, and people will use it!
[3538] Santa Train - another successful trip - 4th December 2011
[3501] Santa Claus - on the train from Melksham on 4th December 2011
[3493] West Wilts Rail User Group - Walk yesterday from Bradford-on-Avon to Trowbridge
[3487] Public transport - road and rail
[3486] How important is public transport to people in the Melksham area?
[3452] Which or ATOC - who reads train fares right?
[3434] Sundays - and over eating
[3410] A review of the Summer Sunday extra trains on the TransWilts line
[3408] Journey home by public transport for a Bank Holiday
[3403] Last chance this summer - Swindon and North Wiltshire to Weymouth by through train
[3392] What costs 8.20 from Melksham, or 22.30 via Chippenham?
[3378] New product - ensuring that supply matches demand
[3371] From Wiltshire to Weymouth on Sundays
[3370] Standing Challenge
[3364] Dogs Legs on the Dogleg
[3362] Swindon, Chippenham and Melksham to Weymouth - Sunday Train Service Starts
[3336] Efficient travel - from Melsksham to Edinburgh by Sleeper Train
[3331] Comparing Alloa and Melksham - stations and services
[3328] Summer Sundays - days out by train from Swindon on the TransWilts
[3318] Summer Sunday Trains - outings from Swindon, Chippenham, Melksham, Trowbridge and Westbury
[3274] Small scale improvement - big scale gain. And they CAN be done with local knowledge
[3273] Wanted - a look to the future
[3198] TransWilts rail - coming together, wanted and needed
[3187] Past and Present - Melksham Station
[3178] The cost of roadworks on the economy of our town - 1800 pounds per hour?
[3176] Comparing German, Dutch and British Railways
[3171] Train and boat journey - the passenger accommodation
[3167] Can I take my dog by train? And other questions
[3161] TransWilts rail - what picture represents us
[3141] Wiltshire Rail services - a golden opportunity
[3135] A time to be brave? We should ask for what is best for our area.
[3119] TransWilts - some things to see and do
[3114] Transwilts Link - both Wiltshire and beyond
[3113] Trowbridge and Melksham to Chippenham - more roadworks, even slower journey over the winter
[3111] TransWilts Link - Days out from Swindon to Weymouth?
[3080] Santa Special - rather more special than usual - December 2010
[3079] TransWilts Rail News ... Melksham (Santa Special) Edition ... 5th December 2010
[3033] Rail services back to Radstock?
[3031] Get all your ducks in a row ... and they may turn into swans
[3017] Seventh day traveller on the six day railway
[3006] Santa announcement, 5th December 2010, Melksham
[2982] Travel, Transport and Tourism - A vision for Melksham, 2026
[2955] Melksham Railway Station - new information point
[2954] Railway meetings, trips and meetups this autumn
[2931] Syncronise - software, trains, and buses. Please!
[2930] Walk - Tilehurst to Pangborne
[2919] London to Calne, Corsham, Melksham, Bradford-on-Avon, Chippenham by public Transport
[2908] How Green is my train?
[2901] Ambassador or Anorak?
[2855] Train Services - Melksham to Bath and Bristol (and airport)
[2808] From home to Nurnberg - journey pictures
[2696] Garlic bread without garlic
[2678] Reaching out to the community - a good case for support
[2664] Oliver Cromwell at Bristol Temple Meads
[2662] Is Melksham public transport actually used?
[2658] Save the Train - a significant change in approach
[2634] London to and from Melksham by public transport
[2627] Saturdays out from Melksham - to Oxford, to Didcot or to Swindon
[2626] On Malachite Green
[2568] Forums for your Melksham and open source discussions
[2557] Rail Campaign - response to core consultation
[2556] Railway Station Survey - please complete today or tomorrow
[2533] Five guests, three groups, one car
[2529] Santa Special, 2009
[2522] Integrated public Transport - what could be done for Melksham
[2513] Wiltshire Council purchases Melksham Station Land
[2511] The story of the railway land at Melksham Station
[2486] Santa Special - Trowbridge and Melksham to Swindon
[2477] By train ...
[2473] Exploring Old Railways
[2457] Railway Arithmetic
[2438] Listening to The Minister
[2395] From Lymington by train - last of the slammers
[2391] Great Western Route Utilisation Strategy - Draft for Consultation
[2372] Public Transport from (and to) Melksham on Sundays
[2328] Melksham - no trains, no southbound buses through the town
[2318] For Lua Programmers AND for Town Planners
[2268] Westbury Bypass Refused - looking forward
[2133] Bigger and better this year!
[2057] Train and Coach fares from London (and airports) to Melksham
[2042] Wiltshire Rail Service Update
[2026] Melksham Climate Friendly Group
[2024] Carry on Training - in spite of the weather
[1999] How low can you sink?
[1966] Background to the TransWilts Train Fiasco
[1965] How much does a train service actually cost
[1964] Why hasnt the fiasco been put right
[1905] A Gold Star for First Great Western Customer Service
[1858] Camera with night vision, youth with no vision
[1848] 30th November - Santa Trip from Melksham
[1757] Preserved railways - struggling to the future?
[1729] Back from the future
[1708] A Train Service Update for Melksham Party in the Park
[1616] Not daring to be an anorak
[1567] Melksham - Swindon. Train v Bus v Car
[1558] Getting somewhere with the train service
[1530] Railway Acronyms and Abbreviations
[1452] Santa on the train to Melksham
[1428] Travel Across Wiltshire - the game
[1424] Closer than you think - the next step
[1382] First Great Western - information for customers
[1358] Look forward with a new broom - Wiltshire Train Service
[1314] Business travel by train in the USA
[1303] Heading Upstate New York
[1291] Day trip to Weymouth
[1274] Radio coverage for railway issues
[1273] Melksham or Weymouth? Meal or day out?
[1228] Some progress on the train campaign
[1139] Overcrowded trains around Bristol
[1097] Train and business balls all in the air!
[1093] Wiltshire Train - can YOU come on 5th March?
[1076] Save the Train - an update
[1069] Rail trouble forced me to buy hotel
[1063] Bradford-on-Avon - 150 years of passenger trains
[1045] Bang! Train campaign hits home
[1044] Call for appropriate train services - Swindon, Bristol, Bath, West Wilts, Severn Beach etc
[1033] Empty at Easleigh, Missing at Melksham, Overflowing at Oldfield
[976] Santa at the station
[974] The last commuter train through Melksham
[952] Coming from London to Melksham by train for a course
[877] Yes, but what do we do now??
[814] Melksham Railway Calendar 2007
[803] Not shouting
[790] Shadow Transport Minister to visit Melksham
[697] For any North and West Wilts and Swindon Readers
[688] Are you free on Friday evening?
[648] West Wilts Railway Users Group and trains to Lacock
[634] Real chance to make a difference
[632] Moral dilemma
[527] Greater Western Franchise Awarded
[524] Santa comes to Melksham
[521] Proof needed? Please just use common sense!
[488] Looking for railway groups and users - Swindon, Salisbury, Southampton
[486] Rail services under threat - Swindon, Melksham ... and Newquay and Bicester too
[447] Tomorrow's meeting.
[434] Through public transport connection, Chippenham to Salisbury, to cease
[428] Swindon - Chippenham - Melksham - Trowbridge - Westbury train service
[154] Railway train service, Melksham station
{station_usage_0607.csv} Station entrances and exits - 2006/7
{station_usage_0203.csv} Station entrances and exits - 2002 - 2003
{station_usage_0910.csv} station entrances and exits - 2009/2010
{station_usage_0405.csv} station entrances and exits - 2004/5
{station_usage_0809.csv} Station entrances and exits - 2008/9
{station_usage_0708.csv} Station entrances and exits 2007 - 2008
{stationtables.tsv} Rail stations - postcode, OS and lat/long data source
{station_usage_0506.csv} station entrances and exits - 2005/6
{railstats.txt} Railway Station codes, locations, usage 2004 - 2010 (+2011 added 29.3.2012) (+2012 added 4.4.2013)

Subject Z504 -
[4500] The TransWilts Community Intergrated Transport Corridor

Subject Z511 - Public Transport - Road
[4703] What do people use the bus for in Wiltshire - survey interim results.
[4692] How are bus support payments currently calculated?
[4690] Buses in Wiltshire - potential changes and where we stand at the moment
[4683] Saudi Arabia or Weymouth?
[4670] The end, or the start?
[4667] Wiltshire Supported Bus consultation - final few days
[4664] Mallory Place bus stop - services to Bath
[4660] What is happening on the 231 bus? What are you going to do about it?
[4654] Getting to the Royal United Hospital - the Hopper and the alternatives
[4648] Why is bus funding a much hotter topic than a new set of traffic lights?
[4639] Working out the costs of running a bus service through the day
[4636] Rail user groups worried about what is happening on the buses
[4631] What would the Wiltshire Council bus cuts mean for Melksham?
[4629] Making travel time useful time on public transport
[4624] Campaigning for a sensible bus solution and not against anyone!
[4619] Buses - not about the buses, but about the people who use the buses
[4615] Questions for First (West of England)
[4592] A comparison of the public transport alternatives to the Royal United Hospital, Bath - from Melksham.
[4547] RUH Hopper - experience and thoughts forward
[4546] Is the RUH hopper a limited, duplicate service running unnecessarily and at high cost?
[4500] The TransWilts Community Intergrated Transport Corridor
[4425] A Welsh valley - what the transport looks like in 2015
[4290] National Express replaced by train and by Megabus from Chippenham to London
[4286] Reaction in Radstock to new First bus prices
[4263] Chippenham - Melksham - Trowbridge, public transport over Easter (2014)
[4257] Over a pound a kilometre - my bus in Weston-super-mare
[4247] You wait a long time - then buses come in threes. It's timetabled that way!
[4240] Melksham Rail Link
[4228] Mallory Place, The Spa, Wellington Drive, Melksham - a Christmas present for you
[4194] TransWilts Link - meeting notes from 19th October
[4192] A positive progress behind the scenes
[4191] Getting people to and from Melksham Station - not 20 but 700 times a day
[4190] A radical proposal - a cheap and effective way to provide home to city commuter transport
[4186] Melksham to Bath and Zigzag buses - at a turning point?
[4181] Grumbling about trains? Buses can be far worse!
[4179] Changing transport and destinations - looking forward to a good future
[4171] Mapping road accidents in Melksham and elsewhere too
[4152] Why are bus fares so high?
[4150] Melksham Regular Public Transport Map - as at August 2013
[4149] Bus changes to Bath - good idea, but I despair at information available
[4143] Bus times - Melksham to Bath from 28th July 2013
[4124] Chippenham - Melksham - Trowbridge bus changes next month
[4123] New timetables from 28th July - bus routes 271 and 272
[4113] Wiltshire and Melksham Transport - what is going on?
[4111] Zigzag bus - forward for the future, or decaying service?
[4108] The painful cost of local travel to Melksham
[4032] Easier public transport from Melksham to Bristol Airport
[4023] Melksham to Chippenham (Station) bus services - times and routes
[4022] A request for all of Melksham transport groups to work integrated
[3951] Christmas Bus Schedule for Melksham - First Bus
[3938] A long overdue meeting - a steeping stone towards coordinate transport user inputs
[3937] Agenda for Wiltshire Link Travel groups meeting, Saturday 1st December 2012
[3929] Melksham Bus Issues - to be raised at First Bus Customer Panel
[3904] Want to help us improve transport in Wiltshire? Here is how!
[3893] Public Transport across Wiltshire - a new map
[3879] Mixed mode travel - Information systems
[3877] Public Transport Services - from and to Melksham
[3866] Celebrate! Buses from Meksham to Bath
[3850] Bus times - Chippenham Station to Melksham, with London connections
[3849] New bus times - Melksham to Bath
[3699] Bristol 50? Bristol 25?
[3631] Getting around Dublin by public transport - some observations
[3580] Melksham Area - buses, trains, cycles, and roads. Meeting, 17.1.2012
[3579] Transport in Cambridgeshire - seen by an outside observer. What can Wiltshire learn?
[3564] I wish I was not a special case
[3523] When competition is not a good idea - Melksham Bus Absurdity
[3504] Coaches from Trowbridge and Melksham to London
[3487] Public transport - road and rail
[3486] How important is public transport to people in the Melksham area?
[3471] Vintage Bus Running Day in Warminster. An example of good bus practise.
[3404] Buses on the Cambridge Guided Busway
[3301] Using public transport - USA style
[3290] Changes (and no changes) at Melksham bus stops
[3194] Buses - what they cost and their future direction in the SW and in Wiltshire
[3126] Car Parking in Melksham - thoughts on the proposed scheme, and wider thoughts too
[2983] Strong arm tactics in the bus industry? Poor result for the customer!
[2982] Travel, Transport and Tourism - A vision for Melksham, 2026
[2958] What do these road markings mean? Could Confusion Kill?
[2933] Bath - Melksham - Devizes buses from September
[2919] London to Calne, Corsham, Melksham, Bradford-on-Avon, Chippenham by public Transport
[2903] Bath to Devizes bus via Melksham - changing again in September
[2857] Park and Ride at Batheaston - will it solve Wiltshires Ills?
[2791] Bath to Melksham buses - times
[2789] Melksham to London (Heathrow, and Central London)
[2771] Melksham to Calne by public transport
[2672] Dear Planners, please provide viable alternatives
[2662] Is Melksham public transport actually used?
[2533] Five guests, three groups, one car
[2522] Integrated public Transport - what could be done for Melksham
[2515] Why we have two buses an hour - but not a half hourly service
[2431] Moving busstop!
[2372] Public Transport from (and to) Melksham on Sundays
[2328] Melksham - no trains, no southbound buses through the town
[2268] Westbury Bypass Refused - looking forward
[2083] Do you support a decent train service? Please sign up!
[2075] Supporting Parkinsons and Trains
[1777] The Rise and Rise of First Bus Fares
[1723] Bath - Melksham - Devizes. Bus route changes, new timetable
[1668] Talk on TransWilts train service to Green Party
[1567] Melksham - Swindon. Train v Bus v Car
[1560] HST Power Car TravelWatch SouthWest
[1511] Buses from Well House Manor, Melksham, to Bath
[1428] Travel Across Wiltshire - the game
[1315] Two years of campaigning for a train service
[1254] Comparing bus stops
[1125] Train service - petititon reply
[1085] Lawrence Webb's Melksham Taxi service
[818] Heard, yes. Considered, no. The case for the train.
[764] Journey planning - Xephos v Transport Direct
[474] Vintage Bus Day
[459] Kiss and Ride
[187] a popular bus number
[119] PHP course. Come by train.

Subject Z521 - Navigable waterways - Canals, Rivers and Sea
[4577] An update - Melksham Link Canal and river
[4472] Rosslare to Fishguard - foot passenger on the ferry
[3998] Travelogue - from the Netherlands to London via Hook and Harwich
[3815] The Melksham News - July 2012 - Part 2, TransWilts Rail, Wilts and Berks Canal
[3483] Canals, watererways in the Melksham area
[3482] Taking a boat down Caen Hill Locks
[3345] Cruising
[3282] The future of canal management and charities - Kennet and Avon Canal bias
[3266] Easter on the Canal - near Melksham, Wiltshire
[3183] Redevelopment on the banks of the Avon in Melksham
[3157] A new monopoly on the ferry to Northern Ireland
[3023] Autumn walk from Bowerhill
[2950] Camilla, Duchess of Cornwall, turns first sod in Melksham Link Canal
[2807] Canal through Melksham - the options and issues
[2796] Sunday - waiting for the ferry.
[2730] Bird Watching on the Melksham Avon
[2588] Freddies Wood and the K and A Canal
[1986] Walk to Bowerhill
[1657] Farewell, Newcastle to Stavanger, Haugsund and Bergen
[820] Robert and William Whitworth
[793] The Wilts and Berks Canal
[776] Naming Rooms
[708] Linescapes of Mull
[598] Should we cruise around the world?

Subject Z531 - Cycling and Walking
[4022] A request for all of Melksham transport groups to work integrated
[3938] A long overdue meeting - a steeping stone towards coordinate transport user inputs
[3904] Want to help us improve transport in Wiltshire? Here is how!
[3771] Fine evening, country walk from Melksham - pictures
[3689] Can I cycle or ride my mobility scooter on the pavement?
[3580] Melksham Area - buses, trains, cycles, and roads. Meeting, 17.1.2012
[3579] Transport in Cambridgeshire - seen by an outside observer. What can Wiltshire learn?
[3376] Kennet and Avon - Walk from Bedwyn to Pewsey. TransWilts day out.
[3231] Footpath, Bridleway, Byway, Road used as Public Path
[3228] What can you take on a public footpath? Pram? Wheelbarrow? Dog? Shopping Trolley? Horse? Cycle?
[3216] Images of a Spring Walk
[3023] Autumn walk from Bowerhill
[2958] What do these road markings mean? Could Confusion Kill?
[2858] The healthy option - away from the private car
[2709] Old trackways and routes near Melksham
[2707] A walk on the Kennet and Avon
[2704] A walk within without - Melksham Without
[2666] Random thoughts on Melksham Town Planning and development
[2490] Friendly Hotel in Melksham, near Bath
[2253] Walks in and around Melksham, Wiltshire
[1802] Motorcycles welcome at Well House Manor
[1640] Walking on The Wiltshire Downs

Subject Z600 - History
[4739] A year of changes for Lisa and Graham Ellis, and Well House
[4730] San Juan Capistrano
[4729] The oldest part of Los Angeles
[4285] Pictures of Melksham Heritage Discovery Fair
[3731] Now Open - A Museum for Melksham. Come in and see us.
[3726] Press Release - Museum to explore the story of Melksham
[3510] The skull above the door in Melksham Town Hall
[3484] A Melksham Timeline - Domesday to present day
[2037] The Interview and The Lift
[102] The Romans got it right
[33] 10 Years of experience
(article) Time Line - growth of our Open Source training

Subject Z700 - People
[4736] Our changing world
[4728] Visiting Los Alamitos Bay Yacht Club
[4646] Sometimes you wonder about people. And perhaps you should not.
[4482] People in New York
[4349] When I am old, what will worry me?
[4193] Using our non-found page to help look for missing persons
[3981] Melksham - a town of some remarkable people
[3905] How should we choose our Wiltshire Police and Crime Commissioner?
[3775] Alan Turing - 1912 to 1954
[3512] A colleague and friend who changed my life
[3466] Passing of Steve Jobs - R.I.P.
[3355] Family Pictures
[3298] Quiet Monday in
[3297] A long day, a long journey, and families and similarities the world over
[3268] Baby Pictures
[3184] Visiting relatives
[3125] The family is defunct. Long live the family.
[3055] Zyliana Kyrei Cox
[3034] Birth Notice - Aeryn Cassandra Ellis
[3008] Dulwich College Preparatory, and Sevenoaks, Schools
[2886] Congratulations, Kimberly
[2846] Catching up with an old friend
[2795] Simon says
[2503] Melksham manslaughter case concludes - sort of
[2132] Learning about Lurchers
[2100] Visiting Family
[2078] A lot has changed - but the memory lingers on
[1988] Melksham, Wiltshire. Town Crier Competition, 2009
[1980] Michelle
[1916] Why I remember East Grafton
[1627] Amazing family members
[1570] London Midland ... Merrymaker ... Percy Danks
[1522] Paging Martin Noke, who petitions for more trains from Trowbridge to Swindon
[1385] Delegates of all shapes and sizes
[1303] Heading Upstate New York
[1279] The Gdansk fireball
[1238] The kind spirit of Melksham
[1197] Back off home with our best wishes
[1151] Gordon Dodge, R.I.P.
[1119] The Last Word on the road
[1107] Weekend Visitors
[1065] Graham Ellis - an Introduction
[1064] Light and shadows at Beach
[820] Robert and William Whitworth
[794] Perl delegate - much more than just a delegate
[771] From cat breeder to Cobol to Perl
[763] Much more that the world cup
[704] Erin Brent - rest in peace
[650] A person of few words
[611] Look out for the motor cyclist
[601] A fond memory of Sir Freddie
[584] Loosing breath with Gerald
[543] The world didn't stop for Christmas
[530] Perl course during the week, getting married at the weekend
[423] A Victorian Lady
[392] No Smoking
[388] BBQ Season
[207] Canteen Dragon
(article) Portrait of the Author of PHP

Subject Z800 - Whimsy
[4392] Interview conditions,and other instructions to staff
[4329] Does Santa Claus need a CRB check?
[4067] The woman, the television, the bullock and Darlington
[3922] Twerp - A person regarded as insignificant and contemptible
[3912] Sand to Arabia, Coals to Newcastle or Woodburners to Russia
[3868] How to make an ohno cake
[3851] Who is this? Picture Puzzle
[3738] Adoptive homes sought for abandoned babies
[3462] Hangers, luggage and possessions
[3369] Local Council leads bans on many activities
[3288] Random Questions ...
[3226] A busy morning for railway announcements
[3223] Answering at my earliest convenience
[3215] Solution looking for problem
[3203] Melksham Town Council announces ...
[3030] Liquorice allsorts and Dolly Mixtures
[2945] Last, final, etc
[2676] Changing Times
[2626] On Malachite Green
[2542] My armpit was like a zebra crossing
[2496] A better design of mouth
[2397] Signwriting is dead. Long live the sign.
[2256] Is it Python past cheetah already?
[2251] Over a third of numbers start with the digit 1
[2250] Bluegrass comes to Melksham
[2180] Patterns in numbers - room occupancy
[2157] From the 51773 family
[2152] My four feet!
[2143] Throughout the year, around the world
[2138] Ski bore ... train bore ... dog bore
[2131] Patterns in street names
[2127] Call in the professionals!
[2108] Funny Amusing, Funny Amazing and The Smarts
[2089] The Longest Day - Wednesday, 28th September
[2050] Why the Pony Tail?
[2028] Things people say on the phone
[2009] The Royal Mail Receipt
[1988] Melksham, Wiltshire. Town Crier Competition, 2009
[1980] Michelle
[1977] Going round the block
[1952] Small Print
[1886] Keys to friendless churches
[1662] Westonbirt Arboretum Postcode
[1604] M25 / South Mimms Service Area
[1440] Useful command or messy screen?
[1241] If I say 'I am fine', what do I mean?
[1171] Traffic light control for horses
[1167] Leaning tower of Cheeser
[1075] I'm not the father
[973] Too much used to Skype
[892] A pattern in change
[850] Lighter moments
[807] Telling large from small
[784] Which way to turn?
[761] Great new inventions
[758] Very good for woodlice
[701] Minature Cyclists only - limited headroom
[689] The call of nature
[661] Dressed up for a phone call
[610] Need a hankie
[568] NB ''Aspiration''
[547] Taking the dog for a walk
[520] Three life changing comments
[395] Making Orangutangs
[346] No Smoking Pubs
[331] 08:45 is a difficult time
[300] Dentist's Waiting Room Syndrome
[156] Signage
[151] Coffee Standards
[94] Special change
[69] John Toner
[44] Serious subject
[39] A Change is as good as a rest
[24] Impossible terms

Subject Z801 - Pettifog
[4720] Celebrating our diversity rather than discriminating for it
[4651] Pressure selling in the fire safety business
[4630] The story behind the bus cuts, and what they could mean
[4354] Wiltshire Police - assuming someone is guilty just on the say-so of a member of the public?
[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
[4140] Riots in Melksham
[3900] The Xxxxx Guest House in Xxxxxxxxxxx - my stay reviewed
[3835] The Information age - not yet truly with us?
[3749] Removal of water safety equipment, and how to use a lifesaver ring
[3302] Are you a half full or half empty person?
[3084] Can you trust the big brand names?
[3030] Liquorice allsorts and Dolly Mixtures
[3013] Audio equipment
[2944] What others cannot do in 10 months takes Virgin 10 minutes
[2937] The cat in the dustbin
[2788] Cost of Sales
[2761] A small business, facing a big government questionnaire
[2625] Both feet on the same pavement
[2193] Excellent product, excruciating customer service. 3 Mobile Broadband
[2122] Commission Creep
[1972] Pettifog and forum boards away from public view
[1862] Remember your units
[1839] Job application
[1783] Think before you send
[1741] Age Concern
[1349] Cash is not an acceptable way of paying
[1337] A series of tyre damages
[1170] Smoking, or no? The law insists we spell out the obvious
[826] Fighting illegal net use by imposing download limits
[815] Time trickles like water through a sieve
[791] Strange housewarming
[783] Good follow up ... my thanks
[638] A pile of sand? Where do we stand?
[600] It costs nothing to say THANK YOU
[562] Smoke and mirrors
[519] New Road
[478] Watch what you wear
[471] And it gets even better
[439] You cant
[323] 1 in 48 steel
[90] Rude old people
[87] Too sittings
[52] International awareness
(article) Phone and fax to 070059 numbers in the UK

Subject Z900 - The rest
[4516] Looking ahead on the blog
[4188] Extended Weekend - but not a quiet one!
[2807] Canal through Melksham - the options and issues
[2113] Answering a question with a question
[905] Not proud to be British
[810] A bad place for security firms
[700] As I walked in to Oxford
[678] Why are maps rarely to scale?
[275] See 8 but buy 6. See 6 but you can buy 8.
[214] Futility of war?
[178] Calling a spade a spade
[169] A pleasure to train
[147] Recent technical articles
[106] Far from the sea, but close to the heart
[100] Life is frail
[97] What makes a professional photographer?
[60] Birth Notice
[21] two plus two equals seven
[14] London - Most expensive city??
[8] How much does fuel cost for an airline flight?

Subject Z950 - Purely Personal
[4767] Some thoughts on 2017, and looking forward to 2018
[4761] Looking forward to the autumn.
[4759] Sale of effects and furniture - 12th and 13th August 2017
[4756] Learning how to be a more effective community partner
[4739] A year of changes for Lisa and Graham Ellis, and Well House
[4737] Why you should vote for Lisa in Melksham Central
[4735] Revisiting - should I stand for Melksham Without Parish Council in May?
[4734] Thoughts on the new Blackmore Ward of Melksham Without Parish
[4728] Visiting Los Alamitos Bay Yacht Club
[4714] The technical article feed continues - personal updates more proactive on Facebook now!
[4698] Lisa writes - on the referendum vote today
[4669] Buses - how did we get into the situation we are in?
[4658] The end of competition on a bus route - the effects from then end of the 234
[4657] Rumours of bus changes by First in Wiltshire - what we know and suspect
[4625] Where does Wiltshire bus subsidy money come from?
[4600] A big change in August
[4489] Election results - what if we had a party list system?
[4485] Misusing statistics? - the seedy side of election campaigning
[4476] Upcoming election - Chippenham Constituency - the major candidates compared
[4308] What can you and I learn from online quizzes?
[4286] Reaction in Radstock to new First bus prices
[4281] A different vision for the future
[4275] Eurpoean Elections, and other elections ahead. Some thoughts on campaigns and policies
[4235] Sharing my personal best of 2013
[4221] Celebration of the fruits of LSTF, and of the people who have helped and are helping
[4201] Looking to the future at Melksham Station
[4187] Not treading water, but not risking the ship for a 0.5th of tar either
[4165] Improving travel advise information in Wiltshire
[4157] Wedding Photos - Kim Ellis to Kyle Londors, 22nd August 2013
[4111] Zigzag bus - forward for the future, or decaying service?
[3905] How should we choose our Wiltshire Police and Crime Commissioner?
[3711] Kiss
[3602] Emerging proposals for land to the east of Spa Road, Melksham
[3566] Initial thoughts - response to GW Rail Franchise Consultation for Wiltshire
[3556] Aeryn at 1
[3511] Melksham has a heart - have your picture taken and support the defibrillator appeal
[3450] A threat in the post? Poor marketing practise from Smiletrain?
[3413] If its Sunday, must it be Weymouth?
[3298] Quiet Monday in
[3283] The juggler
[3240] Melksham Town Council - vacancy in the Spa Ward
[3224] Melksham Campus - a win / win opportunity, but a severely lacking decision process
[3108] My First Christmas
[3055] Zyliana Kyrei Cox
[3037] Looking back and forward personally - 6 years each way
[3034] Birth Notice - Aeryn Cassandra Ellis
[2982] Travel, Transport and Tourism - A vision for Melksham, 2026
[2886] Congratulations, Kimberly
[2698] Ruth Davis, 1916 - 2010
[2547] The great thing about snow ....
[2195] A two day gap - first time in five years?
[1051] Too busy to blog it - but it's great (mostly)
[1014] Christmas Season Piccies

These articles have not yet been categorised
Subject Z999 - new and uncategorised articles
[4766] Moving on from Sunnyside and Devizes
[4758] Even more images!
[4757] Images ... continued
[4733] Python examples - updates under way
[4732] Reviewing TransWilts performance 2015-16
[4576] If it's Tuesday it must be Belgium?
[4509] Throwing a die - exercise in Ruby
[4508] Melksham to London by train - dont buy more than you need
[4484] TransAtlantic crossing - the starter
[4242] A busy January
[4237] Why the long gap?
[4127] Exploring the area ... Ynys, near Harlech
[4054] On Salford Docks - mind over matter?
[4047] Looking for Creative Design, Catering and Transport inputs to help with Melksham Campus
[4044] What to do on a wet weekend in Melksham?
[4043] Bus stop audit - what is missing?
[4042] Bright Spring Morning
[3857] Why has the mouth not said much for the last week or two?
[3801] A year ago today, a server upgrade and a new Perl example
[3578] A busy start to 2012
[3567] First of the year
[3363] Should we take sponsored adverts on our site?
[3342] A Holiday

top - top of pagenew - new articles not yet categorised
A - Linux, Apache httpd and Tomcat C - C and C++ programming 
G - General Training Topics H - PHP programming and techniques 
J - Java programmming including Web M - Well House Manor; hotel and events 
P - Perl programming and use Q - General programming subjects 
R - Ruby programming and use S - Databases / the MySQL database 
T - Tcl, Tcl/Tk, wish and Expect U - Lua programming and use 
W - Web site programming / techniques Y - Python programming and use 
Z - Miscellany end - end of page

Source - [recalculated]

1 unpublished comment pending on this page

edit your own (not yet published) comments

© WELL HOUSE CONSULTANTS LTD., 2024: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/resources/globalindex.html • PAGE BUILT: Sun Oct 11 14:50:09 2020 • BUILD SYSTEM: JelliaJamb