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
{hourly} Hourly database backup script
{twice_weekly} Twice weekly 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
{crontab} Sample crontab file - repeated, timed jobs
{timeset} Sample crontab job - checking system clock

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
{aspers.txt} grep example output
{demo.pl} Sample Perl script to analyse data file
{demo.awk} awk script to analyse a data file
{lsof_extract.awk} awk program to analyse and report on listing of open files
{ladies.dat} input data for utilities
{requests.txt} input data for utilities
{as1} awk - BEGIN, END and patterns
{as3} Using awk to select and format data, and calculate
{gents.dat} Input data for utilities
{as2} awk - match in whole line or on specific field

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
{askuser} select - choose from stdin
{shelc} Shell numric and string comparisons. Also backup script
{yesterday} yesterday in a bash script
{pex} textual manipulation of shell variables
{eocl} Usage line and for loop - bash
{wont} Stopping ^C in a shell using trap
{dc5} Data copy, calculating statistics
{dcif} Data copy, use of shell if statement
{dc4} Data copy, loop to copy files one by one, checking
{dcj} Data copy, with command line parameter
{skcount} Skill counter - sample script in alternative Perl language
{datcopy} Simple copy script to run from command line
{lookup.sh} Bourne Again Shell script for CGI Web server
{fnk} function definition and use
{dc_checked} Data copy with conditional check
{skillcounter} Perl script - needs setting up to run as Linux command
{help} Towards bash scripting - series of commands
{dci} Data copy, use of shell variables
{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
{Make_2} Makefile - with standard rules and Make variables
{Make_1} Straightforward, commented Makefile
{more.c} Second source file for makefile / compiler demo
{Make_3} Variable and their types, conditionals and make functions
{makefile_hello} Compiler tools - simple Make file
{makefile} Simple makefile example
{demo.c} Hello World in C for compiler tool demo
{mytcl.c} C program for gcc practise

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
{tracey} Korn shell array and while loop
{dat_backup3} Korn shell conditional testing
{gvar} ksh - global and local variables
{dat_backup} Simple shell script to back up file
{filestat} Comparing one or two files
{hello_korn} Korn shell commands in a file
{pippa} Setting up and referencing a Ksh array
{script_korn} Korn shell script
{funky} Define a function - Korn shell
{selk} Korn Shell - Select example
{townline} Selects a town ending
{dat_backup2} Uses bourne shell compatible tests
{numtee} Korn Shell - numeric (integer) testing
{sharon} for loop - Korn Shell
{stroppy} String Test Operators
{kornserver.cgi} Korn shell / web script using CGI

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
{org_struct.ldif} define the organisation structure
{training.ldif} A sample user data entry

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
{cco.php} setting up a menu to offer countries
{wellho.zone} sample zone file for spring.wellho.net domain
{resolve.php} PHP to look up country and domain details from an IP
{resolv.conf} client file to point to DNS server
{named.conf} bind 9 sample file - /etc/named.conf

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
{xml5.pl} Alternative - using handlers
{imglist.xsl} XSLT sample - produces a table of images -->
{capname.pl} Altering an XML document through LibXML
{reminder.html} Sample HTML document from this module
{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
{firstclass.java} Sample program - written in Java */
{firstweb} This is a sample of the PHP language
{firstprog} This is a sample of the Python language
{firstwish} First program in Tcl
{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
{Passport.java} Passport class
{Bella.java} Running a method in Java
{Annie.java} "Hello World" in Java
{javalog.001} Annotated log
{Summer.java} Summer test program
{Debbie.java} Class used in Chloe.java example
{Chloe.java} Running a method from another class

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
{yumyum.pl} Setting up and first test program for CGI scripts
{config.nice} Sample configuration details

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
{webuser} Script to run
{DOTmy.cnf} Override MySQL defaults with .my.cnf
{fulluser} Script to create Linux and MySQL accounts
{mpmsample.conf} Sample Annotated Prefork and Worker MPM configurations
{andy} A Programmed RewriteMap for mod_rewrite in PHP
{AUP} Acceptable User Policy
{demo.php} Demonstration of mod_rewrite
{add_account.php} Add a MySQL and Linux account from a web page
{DOThtaccess} mod_rewrite - all .html request divert to a script
{README} sample README file

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
{vhost.snowdrop.conf} Virtual host sample - snowflake, snowdrop and raindrop
{vhosts_proxy.conf} Virtual Hosting Example with forwarding to Tomcat
{vh} Virtual hosts - a simple structure
{vhost_withnote} Virtual Hosting - sample template for many-domain system

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
{als} Analysing Web Server Logs
{o10x} Generate parallel network traffic to test a server
{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
{httpd-forwarder.conf} Proxy Forwarder include file for Apache httpd 2.2
{proxy.conf} Sample mod_proxy configurations
{httpd.conf} httpd.conf which includes extra proxy forwarder file

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
{server.course.xml} Cut down server.xml file, from a course practical
{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

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
{Book.java} Book bean - connect to MySQL to look up Author based on ISBN */
{bookrun.jsp} JSP to get author based on ISBN number in form -->
{web.xml} mapping servlet URLs to classes -->
{idemo.shtml} SSI Script to test Apache Tomcat SSI support
{bookform.html} Form to ask for ISBN number -->
{Autumn.java} Servlet Sessions, and variable scope.
{Smallest.java} Smallest servlet - hit counter
{Agetest.java} Class to use with age testing JSP pages such as supervisor.jsp
{supervisor.jsp} JSP Page to compare your age to 21, using the agetest class -->
{first.web.xml} Very simplest web.xml -->
{demo.jsp} A Java Server Page Multiplication table -->
{page1.html} Test page - HTML - for new Tomcat install -->
{prog1.cgi} Perl script to test Apache Tomcat CGI support
{together_jsp.java} Conversion of together.jsp into a servlet
{first.jsp} A simple calculator in a JSP page -->
{TinyServ.java} A Simple servlet for testing initial operation of Tomcat
{isbnform.html} Form for bl3.jsp example -->
{demoform.jsp} A JSP to calculate based on form data -->
{Tempconv.java} Temperature Conversion Servlet -->
{Coffeeweb.java} Servlet source + web.xml + CLASSPATH all in one example
{shortform.html} A short form to allow the user to input to a JSP -->
{Summer.java} First Example of using Java Servlet Sessions
{booklook.jsp} JSP tags used to call up Java Beans -->
{together.jsp} A form and a program in the same .jsp -->
{index.html} Home page for latmj web application -->

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_tomcat-users.xml} Sample tomcat_users.xml for Tomcat 6
{tomcat} Tomcat 5 startup script for /etc/init.d and chkconfig use
{6_context.xml} Tomcat 6 - sample context.xml
{6_server.xml} Tomcat 6 - sample server.xml file
{6_web.xml} Sample web.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
{jkworkers.properties} Configuration file for mod_jk with load balancing
{snowdrop.httpd.jk.conf} mod_jk configuration example - balancing and status
{httpd.forward} Forwarding from http to Tomcat

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
{web.xml} Session timeout changed to 120 minutes -->
{server.xml} Sample server.xml file
{Store6.java} Store class, used to maintain state in JSP demo */
{index.jsp} A Shopping cart JSP that maintains state -->
{products.txt} Product data for Shopping cart demo

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
{balance.conf} httpd mod_rewrite map for load balancing Apache Tomcat
{sslc} server.xml setup example - SSL connector
{server.xml.virtual} Virtual Hosting on Tomcat.
{cluck.pl} "heartbeat" script to switch servers
{mod_rewrite-load_balance} Configuration file mod_rewrite load balancing
{bal.httpd.conf} Load balancing a number of Tomcat instances via httpd
{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
{globals.h} include file for cppex.c
{remember.c} Call by value v call by address
{cppex.c} uses of preprocessor directives (cpp)
{starstar.c} multilevel pointers
{pinc.c} Pascal's Triangle - calloc'd rows
{tryme.c} realloc - adds new memory in sizeable chunks
{pinc2.c} Pascal's triangle all in calloc'd memory

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
{shape.cpp} shape class methods
{square.cpp} square class methods
{shape.h} headers for shape class
{fiftytwo.cpp} First definition and use of class
{g_hotel.h} header file - base class
{computers.cpp} Inheriting constructors and multiple methods of same name
{selfhotel.cpp} extensions to base functionallity - first example
{act_02.cpp} Second C++ demo - heap v stack, char handling, this, static
{further.cpp} Main demo program to show polymorphism in C++
{heapdog.cpp} Homes and Animals
{sixty.cpp} First Interitance
{rectangle.cpp} rectangle class methods
{sixtyfour.cpp} adds a destructor
{sixtytwo.cpp} Inheritance, constructor calls, virtual methods
{sixtythree.cpp} er and est
{starredhotel.cpp} extensions to base functionallity - second example
{square.h} headers for square class
{act_01.cpp} Simple C++ demo - class - interface and test program
{makefile} Makefile for complete C++ example
{circle.cpp} circle class methods
{comparetors.cpp} With Comparators
{circle.h} headers for circle class
{rectangle.h} headers for rectangle class
{selfhotel.h} header file - one of the extended classes
{g_hotel.cpp} method code for base functionallity
{shape_main.cpp} main shape program - a.k.a. hereitis
{starredhotel.h} header file - the other extended class

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
{second.c} Loops and functions
{starter.c} Read from user - calculate - provide answer
{fourth.h} Separate function file and include file [header part]
{g4.c} Loading code from another file
{greeting.c} Hello World in C
{fourthfuncs.c} Separate function file and include file [functions part]
{fourthmain.c} Separate function file and include file [main part]
{g3.c} Hello World with extra function call
{friend.h} Snippet of code to #include
{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
{second.c} Commenting code in C
{hello.c} First C program
{first.c} First program and some comments
{makefile} makefile for C version of "hello world"
{cond01.c} C and C++ preprocessor examples
{tara.c} Sample function to illustrate inclusion
{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
{second.c} Read, Calculate, output results */
{vars.c} Delaring but not initialising - what happens?
{fred.c} Calculation of VAT on an amount
{adder.c} Variables and arithmetic in C
{p003.c} Remember to prompt the user
{calcit.c} First calculation
{tconv.c} Temperature conversions
{cvopt.c} Prompt - read - calculate - decide - report
{vars2.c} Declaring and initialising variables
{nranges.c} Testing number ranges in C
{makefile} makefile for module C202

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
{third.c} Conditional - if and else - example
{ex_203.c} Exercise - throw a die until you get a 6
{eight.c} loop showing weight loss needed until user is healthy
{freshveggies.c} for loop - compare to goto loop and while loop
{tall6.c} Temperature conversions in a while loop
{freshmeat.c} while loop - compared to goto loop and for loop
{tall4.c} Temperature conversions with ++ and +=
{lp1.c} repeating code in a while loop
{tall3.c} Temperature conversions in a while loop
{sindol.c} Singapore Teapot answer
{eer.c} Program that makes use of ANSI C function prototypes
{demo.h} Function prototypes for err.c and otherbits.c demo
{seven.c} Conditional statements in C and C++
{otherbits.c} Functions used in function prototype demo (ANSI C)
{fresh.c} looping via a goto
{sindy.c} Singapore teapot in C
{tall2.c} Temperature conversions using switch
{greet.c} Learning to program in C ... first day's illustrations
{makefile} makefile for module C203
{tall.c} Temperature conversions using if
{cb.c} Using { and } to scope a block
{lp2.c} for loop - bad and good examples

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
{third.c} Separating look and feel from business logic
{astamp.c} changing a parameter's value within a function
{xrcz.c} Sample answer - main code for VAT exercise
{funfuncs.c} use of extern to reference variable held elsewhere
{taxi.c} functions for VAT rate exercise
{twice.cpp} Two functions of same name in C++
{funfiles.c} The home for an extern variable
{fundy.c} call by value v call by pointer / reference
{tcsub.h} Using functions - the header file
{abcpointers.c} Ways of passing back results from a function
{p3.c} Returning values from a function
{makefile} makefile for module C204
{lp3.c} Variable declaration and scopr in inner blocks
{healthcheck.c} function prototypes and extern
{tcmain.c} Using functions
{twice.c} Function names must be unique in C
{tcall.c} Function definition and call
{tcsub.c} Functions in their own file
{healthybits.c} functions to be loaded from another program

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
{arr1.c} Arrays - triangle numbers
{abits.h} header file for global variable demo
{lp.c} declaring an array and defining its length
{rainfall.txt} Sample rainfall data (1) - always 31 days of data
{afp.c} Pointers and Arrays - Interaction
{morearr.c} Arrays - days and months
{series.c} read array, print in reverse, min and max
{paif.c} Passing an array to a function - (1)
{amain.c} Use of constants and globals
{abits.c} extern - a global variable
{par.c} pointers v arrays
{makefile} makefile for module C205
{pa3.c} Allocating heap memory and passing to a function
{pa2.c} Passing an array to a function - (2)
{eleven.c} Array - declaration, filling with data, reusing
{arrbad.c} Arrays - triangle numbers WITH ERROR

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)
{readwrite.c} File handling basics in C
{reg2.c} Match and Capture - Regular Expressions
{cli4.c} Picking out command line options into an array
{p023.c} read an array of numbers from a text string
{range.c} Summing numbers from the command line
{p021.c} String handling examples
{lynebreak.c} Tokenising a C string
{cli2.c} Command line - use of pointers example
{p022.c} parsing and checking integers off a line
{fff} Some sample data
{cstr.c} String manipulation in C
{chout.c} Strings v chars
{rabbit.c} Structures and file i/o - C
{dynbad.c} How NOT to do it - overrunning an array
{cs1.c} Comparing strings in C
{cli5.c} More advanced coding style to handle argv and argc
{cli.c} Command Line Handling
{cli3.c} Command line params - more complex character string arrangement
{pothat.c} Strings via pointers and arrays of chars
{cx.c} String copying and manipulation
{reg.c} Regular Expression matching in C
{s1.c} String compare and copy
{makefile} makefile for module C206
{s4.c} Read lines from file, tokenise them, save data into an array of structs.
{csame.c} Comparisons of strings in C
{dynamic.c} memory allocation and release with calloc and free
{sti1.c} Characters and strings in C
{ccis.c} Basic string and command line handling

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
{p1.c} First use of pointers
{psecond.c} How a pointer can give a temporary name
{excuse.c} Pointers - illustrative example 1
{cli2.c} Handling command line args via pointers
{ex_c207.c} passing pointers in to a function to allow multiple returns
{referee.cpp} References and pointers (and direct variable use)
{ptr1.c} Temperature conversions - pointers
{pfirst.c} use of pointer - passing to function
{dj.c} Comparing call by name and call by value
{stock.c} Jelly beans
{arp.c} referencing array members through pointers
{pdo.c} Hello pointer world
{fourth.c} function calls - call by value and call by name
{fifth.c} Further use of pointers - returning multiple values
{p2.c} Passing a reference to allow a variable to be change from a function
{makefile} makefile for module C207
{plot.c} Passing an array to a function
{p4.c} Passing complex data via a single pointer
{po.c} Pointers and addresses - the mechanism
{ip2.c} Passing pointers to functions

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
{bmi.c} Functions to be tested
{tdd.c} Test harness - test driven development
{fyle.c} File reading - template for delegates
{makefile} makefile for module C202
{qn208.c} Command line options and parameters
{cle.c} Command line arguments and the environment
{ctoken.c} Tokenising a string into a structure
{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
{ztwo.c} C (towards C++), Septmeber 2018
{mytrains.c} Use of pointer to a structure
{ot4.c} Pointer to malloc'd memory from a structure
{ts2.c} Definition and use of pointer to structure
{st1.c} Definition and first use of a structure
{union.c} Example of a Union in C
{trains_05.c} Dynamic allocation of memory for structs
{ts.c} definition and use of structure
{trains_03.c} An Array of Structures
{lunches.c} Read file into array of structs
{trains_01.c} Simple demonstation of a structure
{ot2.c} Defining and using a structure
{combo.c} stuctures - a first example
{combo2.c} stuctures - adding pointers
{sixteen.c} Setting up and using structures on the heap
{reso.c} Struct, Structures and Structure Pointers
{trains_02.c} Copying Strings in and out of a structure
{tud.c} A Union within a struct - practical use demonstration
{trains.c} An array of structures
{combo3.c} stuctures - array of structs
{trains_06.c} Dynamic allocation for struct and struct pointers, and populating from file
{services.txt} Data for trains_06.c example
{ot3.c} Structure with char pointer
{dinners.c} Read file into array of structs

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
{deardir.c} Parsing a directory
{lunches.c} Read file into array of structs
{sf.c} Reading all the files named on the command line
{ffiles.c} fopen to access files at a higher level
{cmelk.c} Text file read and write
{filesinc.c} low level file handling with open

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
{bathroom.c} Sharing extern variables - a file of functions
{shared.c} First example of shared code
{ex1.c} use of #define and #include
{clever.h} Example of included file
{waterhorse.h} extern, and use of preprocessor to control it
{g2.c} Gift server demonstration
{cpp.c} C Preprocessor examples
{first.c} The Sandwich of your application within standard elements
{ten.c} Preprocessor directive demonstration
{abc.h} include file example for cpp.c
{house.c} Sharing variables between object files - main program
{hash} Sample preprocessor directives

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?
{slurpit.c} Dynamic memory allocation - reading a file of unknown length
{twelve.c} Dynamically sized collection
{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_02.c} Routines to load data into array of structures and access it (2)
{access_checkpoint_04.c} Complete example - loading log file and filtering
{strainer.c} reallocing for an array of structures
{afp2.c} Dymanic array - runtime sizing on using calloc
{framework.c} Framework for testing lower level code
{access_checkpoint_03.c} Routines to load data (imporved API and Regex in C example (3)
{supper.c} Read file into array of structs
{loglook.c} Complete example - regex, realloc, string and file handling, etc

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
{cpp.cpp} C++ - example for C comparison
{shift.cpp} The << operator in C++
{table.h} API definition - first class demo
{table.cpp} Code for class in first demo
{fifty.cpp} define and use a class
{fiftyfour.cpp} private method, arrays of objects and object pointers
{ir.cpp} File of functions
{ir.inc} Function prototypes for first demo
{rsmain.cpp} Scoping of variables in C++
{tabby.cpp} All together - C++ demo class and test program
{tabbymain.cpp} Sample / test program - first OO class
{fiftythree.cpp} several methods of same name
{hw.cpp} Hello C++ world
{makefile} Compile / Load instructions for examples in this module
{app1.cpp} Main application
{cs.cpp} string objects

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
{tabletest.cpp} A test harness for the Table class
{hotel.inc} Class descriptor
{hotel.cpp} Class member code
{mylib.cpp} Main application calling constructors and destructors
{hcd.cpp} Class description with accessor functions
{book.inc} Class interface - book
{a2.cpp} Array of objects of different types
{table.h} Definition of API of a class
{template.cpp} Design Pattern for class definition and test
{afuncs.cpp} Class use with accessory functions
{table.cpp} code - the internals of the Table class
{demo1.cpp} Base class and subclass method definition
{hellosurvey.cpp} Template for your first OO classes
{dayfour.cpp} Creating objects on the stack or heap
{g_main.cpp} Fundamental use of classes example - C++
{demo2.h} Further base and subclass header definition
{transport.cpp} Hello c++ world - define and use an object / Compare to Python
{melksham.cpp} Class use with accessor functions
{objects_bothways.cpp} stack v heap - object persistance
{demo2.cpp} Further base and subclass definition
{makefile} Compile / Load instructions for examples in this module
{a3.cpp} Inherited methods - test program
{book.cpp} Class implementation code - book
{demo1.h} Base class and subclass header definition
{hmain.cpp} First class in C++
{demomake} makefile for module c232
{allin1.cpp} Class definition and use all in one file

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++
{hotel.inc} Class descriptor
{accom2.cpp} Class storing strings within an object
{pet.cpp} code for second subclass - pet (2)
{beasts.h} Definition of polymorphic class headers
{petite.cpp} Abstract base class, two subclasses, polymorphic array
{booklet.cpp} Destructors - how and when they run
{hotel.cpp} Class member code
{animal.h} Header file for a base class (2)
{accomchooser.cpp} Class using classes and derived classes with inheritance
{NewHotel002.cpp} Second program to use our HotelRoomBooking - Vector
{accom3.cpp} An array of objects
{Make_3} Makefile for our C++ inheritance / polymorphism demo (2)
{beasts.cpp} Definition of polymorphic class methods
{animal.cpp} the code for the base class (2)
{shapes_02.cpp} Complete demonstration - data stored on the heap
{melkshamhotel.inc} include file to define melkshamhotel
{human.h} extended subclass definintion
{testh.cpp} First denmo of polymorphism
{Accounts.cpp} C++ factory returning different object types
{regionhotel.cpp} Derived class member code
{trans.cpp} Associative classes example
{human.cpp} second subclass of animal - human (2)
{midi.cpp} Inheriting a Constructor
{makefile} Compile / Load instructions for examples in this module
{first_inheritance.cpp} What is Inheritance / how is it implemented in C++ (1)
{second_inheritance.cpp} What is Inheritance / how is it implemented in C++ (2)
{shapes_combined} All the files for the shape demo on one page!
{NewHotel001.cpp} Second program to use our HotelRoomBooking - Array
{accom4.cpp} An array of objects
{small.cpp} Declare, define, use a class - all in one file
{allinone.cpp.ex} Inheritance and Polymorphism example (all in 1 file)
{pert.cpp} Overloading, Inheritance, Virtual, Polymorphism and more
{classinclass.cpp} Associated objects - one object used within another
{shapes_03.cpp} Overloading +
{tinin.cpp} base class, extended class, test code
{regionhotel.inc} include file to define region hotel
{testh2.cpp} Demo of polymorphism across an array
{melkshamhotel.cpp} Derived class member code
{pet.h} Definition of subclass headers (2)
{ptx.cpp} inheritance and polymorphism - bus and train
{loader} Complete first Polymorphism example
{shapes_01.cpp} Complete inheritance and polymorphism demo

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++
{hotel.inc} Class descriptor
{pet.cpp} multiple constructors, default parameters
{station_test.cpp} file read to object framework
{hotel.cpp} Class member code
{sixtyfive.cpp} Direct, reference and pointer access to variables
{act_03.cpp} Object Extras. Vector, delete, factory, destructor, etc
{PMdemo} Polymorphism - complete example
{overload_add.cpp} Operator (+) and to_string overloading, C++
{Xmas.cpp} Vector, Multiple Inheritance, virtual, Polymorphism, Factory
{act_02.cpp} Second C++ demo - heap v stack, char handling, this, static
{coffee.cpp} Overriding add, multiply and << for print
{bighotels.cpp} Comparing objects
{refdemo.cpp} References and Pointers
{melkshamhotel.inc} include file to define melkshamhotel
{r2.cpp} References and Pointers for each array member
{alias.cpp} Direct, Pointer and Reference access to variables
{regionhotel.cpp} Derived class member code
{act_01.cpp} Simple C++ demo - class - interface and test program
{a4t.cpp} load filtered files to vector
{makefile} Compile / Load instructions for examples in this module
{sixth.cpp} Interitance, Base Classes, Overloading of methods, etc - C++ course
{compare.cpp} Comparatives - heavy, heavier, heaviest
{erandest.cpp} costly, costly, costliest - object comparison
{cube.cpp} Operator overloading
{regionhotel.inc} include file to define melkshamhotel
{first.cpp} OO Buildup in C++ - starter
{melkshamhotel.cpp} Derived class member code
{refs.cpp} Direct, pointer and reference comparison
{tinyref.cpp} References - description and sample code

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
{nine.cpp} Outputting an object via a stream
{boring.data} Sample data for C++ course examples
{flow2.cpp} Factory method and file input to seed objects
{ioex.cpp} Stream demonstration
{fpri.cpp} Formatting floating point numbers in C++
{stdcodes.xyz} Sample data file ...
{fullapp2.cpp} Wholesale factory - a single call to make many objects
{cppdata.cpp} Reading data from a file
{mtbsprint.cpp} implicit formatting to print an object
{makefile} Compile / Load instructions for examples in this module
{Person.cpp} for use in print object demo
{comb.cpp} Reading and writing files, file names from command line
{fullapp.cpp} Shell for full application
{Person.h} header file for object output demo
{file01.cpp} File handling with C++ streams

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
{levels.cpp} Exceptions - try, catch yourself AND throw to parent too
{except.cpp} Exception handling - catches
{CppExcept.cpp} Creating exception objects, throwing and catching them
{makefile} Compile / Load instructions for examples in this module
{microthrow.cpp} Defining, throwing, catching an excpetion
{prob.cpp} Exception handling - why we need it

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
{vec01.cpp} Use of a vector in C++
{swab.cpp} more features of templates
{template.cpp} Function templates
{flow4.cpp} Reading a file within a factory, tokenising, vector
{clever.cpp} Reference, pointers, templates
{trans.cpp} Use of a vector as a member within an object
{makefile} Compile / Load instructions for examples in this module

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?
{Make_mark_2} Alternative Makefile to show Makefile facilities
{service_11.cpp} classes and subclasses
{Ninety.cpp} vector, factory method, files, tokeniser
{Film.h} header file for main subclass - multiple inheritance demo
{pd5.cpp} Switching from array to vector
{HireFilm.h} Main class specification - multiple inheritance demo
{trains.txt} Data file for flow / flow2 / flow4 examples
{HireFilm.cpp} Main class for multiple inheritance demo
{Expense.cpp} A second subclass for multiple inheritance demo
{pd2.cpp} add an array of objects
{complete.cpp} this, vector, factory, inherrited constructor, file input, tokeniser
{Film.cpp} main subclass for multiple inheritance demo
{Makefile} Makefile for multiple inheritance demo
{flow.cpp} Reading a file named on the command line within a factory
{alltogether.cpp} 7 file example
{pd4.cpp} add iostream / namespace, inline, new, printing function, override +
{fourthobject.cpp} 7 file full example with a factory and a vector
{Filmtest.cpp} Main program for multiple inheitance demo
{pd1.cpp} Inheritance in C++ - base demonstration
{pd3.cpp} Add an object comparator
{Expense.h} Header file for second subclass

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.xib} Hello iPad world - view layout
{timeline_ViewController.m} ViewController nethods
{hello.m} First program example - Objective C
{helloipad_ViewController.m} Hello iPad World - main view controller
{helloipad_ViewController.h} Hello iPad World - header
{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
{fur1.py} Read, calculate, report
{fur4.py} Comments

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.c} Programming language Comparison - a C program
{incr.sh} Programming language Comparison - a bash shell program
{incr.rb} Programming language Comparison - a ruby program
{incr.php} Programming language Comparison - a PHP program
{incr.cpp} Programming language Comparison - a C++ program
{incr.lua} Programming language Comparison - a Lua program
{incr.tcl} Programming language Comparison - a Tcl program
{incr.java} Programming language Comparison - a Java program
{incr.py} Programming language Comparison - a Python program
{incr.pl} Programming language Comparison - a Perl program
{pee3.py} Invert (rekey) a file / Python
{pee3.rb} Invert (rekey) a file / Ruby
{pee3.pl} Invert (rekey) a file / Perl

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?
{p_fifth.php} One page application - design and human interface MATTERS
{pcre.php} Regular Expression testbed
{fourth.php} Straightforward form and simple validation
{chris.php} Demonstration of form and pricing

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?
{t2.php} cost comparison script
{greet4.php} Calculations in a page, inputs from an included form
{g2} First variables and calculations in PHP (stand alone)
{g3} Stand alone program in PHP - read from keyboard, calculate, write to screen
{form3.html} Sample form for PHP application
{greetings} Entering and leaving PHP mode - documentation and comments
{greet2.php} Calculation within a web page
{t3.php} Totalling script - daily, weekly, monthly, annual amounts
{rupert.php} First program - and how to comment it!
{abc.php} Some easy things to do with PHP
{greet.php} The structure of a PHP page
{greet5.php} Starting to add structure to your PHP application
{g5} stand alone program in PHP, showing nested blocks
{motor.php} Elements of a PHP Page
{greet3.php} Calculation in a web page, with inputs from a form
{g4} Stand alone program in PHP, with conditions and loops

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
{greeting.php} HTML page with embedded PHP
{g3.php} Multiple print statements, showing case insignificance of functions
{a1.html} Date stamping a page automatically (for copyright and audit)
{g2.php} Multiple statements and functions calls

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
{k3.php} Getting a variable from a form - OLD style
{k4.php} Example of comment types
{result} Master and Header code merged
{k1.php} A calculation in PHP
{simsan.php} Simple sanitisation and sticky field example
{header.txt} File to be included in master example ?>
{k2.php} A calculation with variables
{master.php} PHP page that calls in an include file ?>
{k3a.php} Getting a form variable - new and somewhat more secure style

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
{macorder.php} 2 page simple ordering system
{bristolgulls.php} Table of calculations
{tt2.php} for loop
{floop.php} while, for and foreach loops
{ifvswit.php} if v switch / first "step through" application
{if2.php} if, block, else and elseif
{tt3.php} lazy operators, increments, +=, ? : and endfor
{ttab.php} Temperature table - a while loop
{units.php} Conversion of units of area
{condits.php} example simple if statements
{timothy.php} demonstration of if / else / while
{houred.php} different image to reflect time of day
{coin.php} switch, case, default and break

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
{scope1.php} Keyboard to Screen - simple PHP program
{medical.inc} for scope3 demo
{funk3.php} Loading functions from an include file
{funky.php} Defining and calling a function
{funk2.php} Example with local, global and static variables
{callback} Calling a list of functions named in an array
{stademo.php} use of a static variable in PHP
{funsan.php} Simple sanitisation and sticky field example using functions
{scope3.php} function code now in separate file
{personetc.inc} for scope4 demo
{dropahead.php} Selection from the week ahead
{scope2.php} Use of a function to separate out complicated / repeated code
{bmi2.php} functions and includes to make for shorter, more maintainiable code
{bmi1.php} control example - showing need for functions and includes
{near.php} Ordnance Survey and Map reference point calculations
{hotdiary.php} PHP Diary generator
{dressing.inc} example of "call by name" and defaulting parameters
{footer.inc} Inlcude file - a standard block of HTML
{scope4.php} Now using an Object Oriented approach

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
{nb.html} Speed networking - generate a page for an attendee
{a2.php} Array - dealing with missing elements and finding keys
{menu.txt} Menu for fullmenu.php example
{walter.php} regular and associative arrays
{herbert.php} finding a value from a list of ranges
{nbm.html} Speed networking - seating matrix generator
{rubys.php} read a file into an array and display selected items
{pflog.php} Most viewed pictures (Mk 1)
{arrarr.php} Summing arrays in PHP
{assoc.php} Associative array - sorting and traversing
{5pl.php} Display a list in columns
{a3.php} Array_walk example. Also the difference between null and empty
{fullmenu.php} Ordering system from menu file
{pflog2.php} Where are scripts loaded from (2)
{ts.php} Lengthen or shorten an array
{patrick.php} User defined sort
{a1.php} Setting up an array, looking at individual elements
{skills.php} A Small search tool
{simgrep.php} read a file into an array and display selected items
{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
{echovalley.php} How to put in blocks of HTML
{extrawords} Extra words for spell checker
{myform.php} Robust, sticky form demo with field validation
{pc1} ereg v preg
{strp.php} Curly braces in double quoted strings
{sprint.php} Formatting with sprintf
{clformat.php} Formatting data [file] for quick web display
{stdist.php} Search - do two words look or sound the same?
{arrivals.php} Regex and associative arrays - search engine arrivals
{toke.php} String tokenising - strtok, implode, explode
{sfex.php} Demo of sticky fields and security
{ex2.php} various preg style functions in use
{dlog.php} String handling example - extracting simple data from a complex line
{popage.php} Counting in a log file - associative arrays and regular expressions
{spell.php} Spell Checker
{s3.php} String cleansing with functions such as strspn
{fvar.php} Filtering of variables
{secdo.php} Convert seconds to minutes and seconds
{pmoffs.php} Capturing regular expression offsets
{stickform.php} Stick Fields and Input Validation
{splitting.php} Ways of splitting a string
{20101101_statlog.txt} Sample data from server operation log file
{bits.php} Ways of writing strings
{s2.php} Character string as an array
{bustimes.php} Using PHP to format data (timetable in this example)
{shunt.php} Evaluting BODMAS expression using MySQL cell tables
{regex.php} Regular expression - validating an email address
{code} Reaping from an HTML page with regular expressions
{mystdinc.inc} Include file for sticky fields demo
{s1.php} Single and double quoted strings

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
{southbound.txt} Data for factory.php demo
{aa.php} Autoload example
{bbcoo2.php} oo demo step 2 for BBC
{animal2.php} Abstract class, extended to a subclass, instantised via the subclass
{equtest.php4} Explicits PHP4 - objects, foreach, array_push ....
{rest004.php} This is my table test file
{systems.php} Objects and inheritance - main worked example program
{animal1.php} An Abstract class - cannot construct directly
{compo.php} Complete inheritance and object method demonstration
{allone.php} Complete OO example
{systems.txt} Data file for systems example
{serversys.inc} Server system - a derived class
{dogdisc.php} Serialization of an object for save and restore
{rest005.php} This is my table test file
{bewarethedog.php} Object copying - beware - differs in PHP4 and PHP5
{dogs.inc} Simple class in PHP
{elligant.php} Gant chart in PHP
{animal3.php} Abstract class and interface example
{stan.php} Standard Class stdClass
{equtest.php} PHP example - objects, foreach, array_push ....
{ns.php} Namespaces in PHP5 - a short syntax demo
{third.php} Command line PHP classes - inheritance, overloading, polymorphism, comparator
{systems.php4} Objects and inheritance - main worked example program - PHP4 example
{rest003.php} class example - data from file
{rest001.php} First OO / class example
{cwa.inc} cwa class
{staticmember.php} Static class members - set up and use
{visits.php} Factory method, static method, associated objects
{oop5.php} Two classes, inheritance, factory, JSON, error handler, etc
{demo.php} PHP Version tester
{litter.php} cloning and copying objects
{factory.php} Example of a factory method and comparators
{single3} Singleton AND dymanic data
{pps} Data for Gant Chart Demo
{rest002.php} class example - array of objects
{twigs.inc} class to be loaded in autoload example
{accos.php} Complete example with polymorphism and inheritance
{hound.inc} Simple class in PHP
{clx.php} object assign and object clone
{valentines.php} Inheritance, Overloading, Polymorphism in PHP objects
{staffsys.inc} Staff system - a derived class
{studentsys.inc} Student system - a derived class
{cwuseanimal.php} Test program for cwa class
{pdemo.php} PHP application using places.inc - create array of place objects from file
{places.inc} A PHP abstract class (places) with postcode, county and other subclasses
{dog.inc} Simple class in PHP
{equip.inc} equip.inc - define pieces of equipment (base class)
{rest006.php} magic __tostring and comparator methods
{pets.php} Test page for the dog.inc class
{po8} Associative Objects
{ob1.php} OO PHP demo - inhertitance, statics, test harness, etc
{kennel.php} Application to use class hound
{ob2.php} Loading in a class from another file and using it

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
{eurorates.php} Read currency exchanges rates
{fread1.php} Read all lines from a data file, report matches
{timber.php} Reading and extracting from a remote URL
{webhelpers.inc} Web Helpers for quote demo
{fr2.php} Pulldown menu of files, then search for regex
{exchange.html} Exchange rate convertor
{mail_analysis.php} Read and analyse spam report file
{savepeople.php} Using PHP to download a data file
{mcq.txt} data for Christmas Quiz
{seedoku.php} highlighting a source file
{buslogic.inc} Business logic for quote demo
{fread2.php} File system and status reports and directory listings
{xmasq.php} Christmas Quiz in PHP
{quote.htp} HTML template for quote demo -->
{spammiest.php} The 20 spammiest emails in our filter records are ...
{top_pdf.php} Showing top 10 downloads from our site
{secdo.php} Convert seconds to minutes and seconds
{recent.php} Link to the recently updated file in a directory
{saver.php} Write to file - simple diary page
{grabtitle.php} Grab the title of a web page (local or remote)
{cloak.php} Cloaking a web site in a PHP wrapper
{radio.php} look up current radio program in a text file
{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.
{veryniceform.php} Form completion with sticky fields and generalised code
{one_pizza.php} Validating a Pizza order in one page.
{agnew.php} How to do it - sending header first
{pdfup.php} form to upload a .pdf to a PHP script
{sticker.php} Sticky form demo ...
{getpost.php} Using a PHP script to POST to another server
{victor.php} Putting our conditional example on the web
{alang.php} What langauge does the visitor prefer?
{meldrew.inc} Helper function - set up an enquiry box
{agone.php} How NOT to do it - sending header too late
{urlex.html} Does a URL exist?
{myenv.php} The PHP environment - use of variables available to you
{apull.php} Selection of database records via a pulldown menu
{selfinfo.php} Information available from PHP
{melksham.php} Images at random - pictures of Melksham
{pdfget.php} download a .pdf file from a MySQL database
{pdfstore.php} store a .pdf that's uploaded into a MySQL database
{feedlet.php} Bare Bones demo of password protection
{mcheck.php} generate and select from radio boxes

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
{sucksee.php} does a URL exist?
{fromwhere.php} Tracking how visitors reach a page
{dopost.php} Using the POST method to read from a URL within a PHP script
{uploader.php} Upload a file from a browser
{gherkin.php} Download and store results from a web enquiry
{pubsales.php} Cookie check for new visitor
{ppmh} Sending an email as HTML not plain text
{cookie_demo.php} Setting and deleting a cookie
{cook.php} Setting and reading a cookie
{automailer} PHP script to email from the command line
{sessions.php5} Session demo for more recent PHP4 and PHP5 systems
{favcol.php} cookie demo - lock in favourite colour
{sessdemo.php} Session demo - shopping cart - from PHP 4.2
{phpemenc} Emailing with enclosures from a web page
{sesscart.php} Session demo - shopping cart
{supermail.php} simple form for mailing
{roomstates.php} Room State Reporter
{exchange.php} Exchange rate convertor
{imap.php} Image map controlled by PHP script
{d404.html} Script run when our web site can't find a requested page
{about_you.php} Information about the visitor avaialble to a web site provider
{upload_test.php} How to upload a file via a web page
{pcook.php} Setting and checking a persistent cookie

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
{sort_sql.php} Using an array to sort records off a database
{people.php} Simple database lookup - using MySQL from PHP
{sqltab.php} Full navigation around an SQL database from PHP
{generic.php} Display a MySQL table, summarising rows
{select2.php} Selecting information from a database table - fully validated
{sqldelete.php} deleting a database table from PHP
{aos.php} Save a MySQL result set to the local machine
{ild.php} mysqli - database to csv example
{sqladd.php} Add information to a database table
{sqlhelper.inc} PHP helper - make up a where clause element
{mysql_joins.php} Showing Joined tables on a web page
{picclim.php} Search a database of images
{showtowns.php} First steps on looking up data in an existing database on a web page
{ildi.php} mysqli - database to csv example
{sekiy.php} Converts data into MySQL commands
{pic_alog.php} view images stored in a MySQL database via PHP
{sqd.php} Algorithm selection of where clauses
{bookstats.php} PHP to front a MySQL multiway join
{picscript.php} Retrieve an image from a database and display it
{select1.php} Selecting information from a database table - unchecked
{sql_image_store.html} Web page to call up an image held in an SQL database
{mqclim.php} searching and paging through results
{yikes.php} Downloading complete database via a PHP script
{sqlcreate.php} Create a MySQL table from a PHP page
{approach.php} Relational Databases - Comparison of approaches
{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
{mqchunks.php} Pagination through a database - PHP and MySQL
{agents.php} Joining MySQL database and searching results in PHP

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
{ini.extras} Some commonly changed limits for PHP
{railways.php} Start of an application in a page
{yellowlion.php} Test for Apache httpd + PHP + MySQL interaction

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?
{stdsess.inc} standard functions for sc5 and sc6 demos
{images.xml} XML data used by demonstration program
{details.xsl} Style sheet to format one particular piece of information from an XML file
{4lm_business.inc} business logic for 4 layer demo
{4lm_top.php} Full PHP application / 4 layer model - start here
{mvc2.php} MVC Framework and Helpers - with exceptions and validation
{4lm_template.htp} HTML template for 4 layer model
{grgen.php} Generate a graphic to show a text string
{sc5.php} Main demo script - uses sessions, functions, SQL, XML and XSLT
{hph.php} Using an array to set a generalised form
{demo.htp} Template for sc5.php4 and sc6 "best practise" examples
{niceform.php} Form, validation, sticky fields, email results
{mvc_fhc.php} MVC Framework and Helpers / Components all in one!
{sqldemo.inc} SQL functions for sc5 and sc6 demos
{hph2.php} Sticky form, Regex Validation, save to db when AOK
{imnames.xsl} Style sheet used to get a list of all images held in XML file
{xsltdemo.inc} xslt functions for sc5 and sc5 demos
{gruse.php} Capthca Driver
{sc6.php} Main demo script; uses sessions, functions, SQL, XML and XSLT
{slidetell.php} Look up records (paginated) in a MySQL table.
{4lm_webhelpers.inc} Web Helpers for 4 layer model demo

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
{getaddy.htp} Template web page for carter.php4
{carter.php4} Session demonstration - full shopping cart
{getccard.htp} Template web page for carter.php4
{s2.php} Free form shopping cart in a page
{getshop.inc} Functions for carter.php4 and other shopping cart apps
{thankyou.htp} Template web page for carter.php4
{offer.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
{stdsess.inc} Full demo - web helper functions
{page.htp} Full demo - template for display
{revinf.php} MySQL content report with counts, in PHP using CSS
{dss.php} Dynamic Style sheet
{west.html} Selecting and applying CSS themes through PHP
{picklet.php} Image library application using dynamic PHP style sheets
{index.php} full demo - top layer and main code file
{style.inc} Full demo - PHP to set style sheets
{httpd.hta} full demo - .htaccess file

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
{display.php4} Display a single record from the database in full detail
{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
{stdfuncs.inc} Standard functions for all pages e.g. open database connection, shopping cart handling
{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
{confirm.php4} Confirm and update to the content, and save it into database.
{edit.php4} Offer the content editor a record to edit (or a blank record)
{top.txt} Boiler plate HTML for the head of every page
{tail.txt} Boiler plate HTML for the foot of every page -->
{offeredit.php4} Validate an editor's login if necessary, and offer a list of records that can be edited
{select.php4} List out all records that match the searcher's criteria, in the form of a selection menu

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
{qmeet.php} Complete Application - meeting room quotation
{together.php} Complete source code - registering for a get-together

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

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
{speed.php} Converting distance travelled and time taken into a speed
{seven.php} Regular Expression demo
{four.php} form, completion, checking
{three.php} third PHP revision example - functions
{oo2.php} Second OO example - object, inheritance, public / protected / private
{hf.php} Directory source display
{oo3.php} Third OO PHP example - factory and cache design patterns
{one.php} first PHP revision example
{showdb.php} Retreiving and displaying information from a database
{two.php} Second PHP revision example - arrays
{nibs.php} Extracting data / complex text file format
{index.php} Directory navigator
{xxy.php} Web Site news - a simple edit box
{oo1.php} First really simple object!

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?
{fru2.php} Sticky fields, and preventing injection attacks
{westend.php} PHP Session - first principles
{wsss.php} Sessions - a demo of the mechanism
{secondmultipage.php} Session in use for multipage application / named pages. Split template
{multitemplate.htp} Template for secondmultipage and thirdmultipage demos
{thirdmultipage.php} Session in use for multipage application / named pages / webhelpers
{tracker.php} Cookie demo - demonstration of session principles
{firstmultipage.php} Session in use for multipage application / named pages
{zxzx.php} Viewing session from another web page
{dozen.php} Sending out holding pages before final result page
{stracker.php} Cookie demo - session alternative

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
{needed.inc} Sample included file
{template.txt} template file
{web.inc} Web Helpers
{mpe.php} Session based multiple page application Mk 3
{multiply.php} Separting look and feel from business logic - business logic
{mpa.php} First shell for multipage application
{stages.htp} Multiple Stage Application
{george.php} Simple separation of view from program
{shoptop.php} Top level
{stages.php} Muliple page, session based application
{stages.finish1.inc} validate email, name and department
{stages.webhelpers.inc} Web helpers for stage.php demo
{business.inc} Business Logic
{z_model.php} Model for MVC demo
{mvc_split.php} Controller for Model, View, Controller demo
{z_view.htp} View (Template) for MVC demo
{z_helpers.php} Helpers for MVC demo
{stages.finish0.inc} initialise for new visitor
{stages.prepare2.inc} prepare for phase 2
{mpc.php} Session based multiple page application Mk 1
{z_framework.php} Framework and bootstrap for MVC demo
{simsess.php} Session demo / single included file
{mpb.php} Stepping through and validating over multiple pages
{t2.xxx} Look and feel (business logic elsewhere)
{stages.finish2.inc} Read and record an incident record
{product.txt} Product listing
{mvc_control.php} Control - All elements in one piece of code
{stages.prepare1.inc} prepare for phase 1
{stages.prepare3.inc} prepare phase 3 - no form, just an onward link
{george.htp} View - for view / program separation
{mpd.php} Session based multiple page application Mk 2
{mvc_principles.php} Model, View, Controller, Components, Framework and Helpers - single file

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
{ss2.php} Session - logging time and remembering inputs
{codo.php} Memorising via a cookie

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
{browtype.php} Check browser type - feed out plain text or image / flash references
{imagefromdb.php} Display image held in database
{gbs.php} What can PHP tell me about my browser?
{park.php} Change image every minute. Retain style based on cookie (DDA)
{imagine.php} Upload an image
{imagetodb.php} Save already uploaded image into database
{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
{backend} Back end task - Predictive Load Balancing
{frontend} Front 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
{parly.php} Welcome a User - but only between 3pm and 5pm on Wednesday!
{sqlshowrecent.php} Display recently visited pages
{second.php} Web Log Analysis - example

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
{client.php} Service layer - sample client
{caching} Caching in an object
{hb.php} Heartbeat script to check server
{ajaxcode.php} Web Service provider - first Ajax demo ajax123.html
{scraper.php} Scraping a remote URL content
{exr.php} Grab exchange rates to/from Euro
{proxydown.php} Redirecting failed proxy request to valid page
{xavier.php} demonstration of caching
{pset.php} Setting the User Agent in your PHP code
{train_pixelreport.php} An easy way to add an image point to a file
{ostell.php} Demonstration of cached resource
{train_graphic.php} Display info from application server on an image
{ajax456.html} Asyncronous call from Javascript on client to PHP on server
{a_logshow.php} Log file analysis (2) - code optimised for readability
{cademo.php} Caching between pages via memcached
{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
{prod.php} Web Site performance test page
{rs.php} Web service to give user current server stats
{phping.php} Heartbeat script to watch vital server
{currency.inc} Currency abbreviations and names
{service.php} Service layer demonstration
{twitblog.php} Twitter feed from your PHP program
{ajax123.html} JavaScript to load data from server
{sendimage.php} Serve a download from a database
{ajaxstatus.html} Ajax demonstration - a dynamically updating status page.

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} ") {
{pplev.php} Looking for a similar surname
{page_it.php} Paging through a result set

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'
{isp_eu.php} Plot web site visitors on a map of Europe
{yearson.php} Plot years v data
{tfd.txt} Bare data that we've cached from our application server
{train_pixelreport.php} An easy way to add an image point to a file
{serverlog.php} Graphing server log files
{train_graphic.php} Display info from application server on an image
{showmanor.php} Slide Show - single file example
{tfdt.txt} Sample text file - location of places on image
{railinfo.php} Convert Latitude and Longitude to nearest stations
{tgf.html} Graphic and report based on data from application server
{latlong2os.php} latitude / longitude to ordnance Survey grid positions
{railuse.php} Table and graph of same data
{fpdf_demo.php} Sample using fpdf (free PDF convertor from www.fpdf.org)
{qr_demo.php} Dynamic qr code
{pictureindex.php} Thumbnail library, Mk 2 - main program
{thumbnew.php} Image rotate and thumbnail
{showmap.php} Selecting from an image map
{popup.php} A popup window to show details of an item on a page
{totem.php} BR Totem graphic generator
{railstats.txt} Railway Station codes, locations, usage 2004 - 2014
{index.php} All the images in a folder as thumbnails
{isp.php} Plotting your web site visitors on a world map
{th_2.php} Thumbnail library, Mk 2 - thumbnail generator
{shift_graphic.php} Shift Graphic Demo
{railtrends.php} OO based GD graphics 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
{jndex.php} Simple wiki demonstration
{todo4.htp} Template for the wiki demonstration
{paged.php} paged display of station data
{indexcard.php} Index Card System - Version 0.9
{dot_htaccess} .htaccess file for wiki demonstration

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
{five.php} phpunit - main program example
{oo3.php} A Sample class for testing demos
{p4l} Spike solution and algorithm testing

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
{myod.php} generates HTML to link to subdirectories
{ppq.php} Crossreferencing data markers to web pages
{msf.php} generates HTML to link to files in
{robert} Sample data for crossreference demo
{callback.php} How a Callback works in PHP
{dxy.php} Using .html URLs to search a data file

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
{mycontroller.php} CodeIgnitor - first example controller
{transwilts_views_transwilts_top.php} header
{main.php} Main view - hello CodeIgnitor World
{transwilts_views_mainpages.php} main page content
{footer.php} Footer for first CodeIgniter example
{header.php} header for first CodeIgniter example
{transwilts_controllers_passenger.php} main controller functions
{transwilts_views_transwilts_tail.php} footer
{success.php} success view - 2nd CodeIgniter example
{transport.php} 2nd CodeIgniter example - sessions and form - controller
{transwilts_config_config.php} config file - added encryption key at about line 228
{transwilts_htaccess} map most URLs onto CodeIgniter
{placetime.php} view - transport form Mk 2
{dot_htaccess} Typical CodeIgniter .htaccess file
{index.html} Holding / home page outside CodeIgnitor
{placetime.hld} view - transport form Mk 1
{transwilts_models_places_model.php} model - business logic
{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
{525i.php} Using PHP mysqli functions - a working example
{windex.html} Combining blog and forum feeds using MagpieRSS
{mailme.php} Reading emails from a POP3 mailbox

Module H998 - ADOdb
{mysql.php} MySQL example - selecting from a database
{adodb.php} Adodb 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.
{mkgraphic.php} Stand along programming in PHP / also graphics example
{images.xml} Sample XML file as used in xslt.php4 example and others
{nats.php} Natural Sort Order demo
{gmap.php} Google Maps / PHP - show your office
{tinso.php} Sorting an associative array
{fader.php} Fade from one image to another
{hands.php} Draw hands on a clock
{feeder.php} Script to handle image library in MySQL database as if it was a directory of images
{image2.php} Generating a button with variable graphics and text in PHP
{imglist.xsl} Sample XSLT template as used in xslt.php4 example and others
{oursites.php} Parallel processes in PHP
{loclook.php} Google Maps / Geocoding demo
{grids.php} Shows you where a place is on an Ordnance Survey Map
{dademo.php} Date and Time and sorting em in PHP
{rome.php} Random image for use in a web page
{php_parallel} Parallel processing example in PHP
{xml2.php} Second example - using PHP to handle XML
{picclim.php} Search a database of images
{showcount.php} Show counter record file
{imgdump.php} Generate the html to call up 10 images from a database
{aso.php} First sorting example
{ac_check.php} Sorting an associative array
{site_title} Stand alone script - grab title of remote web page
{vars.php} Variable types in PHP
{image1.php} Generating a graphic in PHP
{xml3.php} Using PHP to handle XML, stand alone!
{xml1.php} Xml handling in PHP
{uso.php} User defined sorting
{ml1.php} Simple Author extraction from Medline
{uso2.php} More complex user defined sort
{mustcount.php} Script to accompany access counter discussion
{os2latlong.php} Convert Ordnance survey grid positions to latitude / longitude
{imgfeed.php} Show an image held in a MySQL database
{2dar.php} 2 dimensional array in PHP
{mergeover.php} Stippleover from one image to another
{xslt.php} Process an XML file through an XSLT template and insert result in a PHP page
{thumbview.php} Thumbnail index and image view application
{exc.php} An exercise in sorting
{xdo.php} Reading an RSS feed in your PHP page
{exp.php} Exceptions in PHP
{whowentwhere.php} Practical example of 2 dimensional array in use
{gobbler} Forking in PHP - parallel processing
{th.php} dynamic thumbnail generator
{lottery.php} Array manipulation functions range, shuffle etc
{imgflip.php} Flipping an image in PHP
{hml.inc} Horses Mouth - latest topic feed
{thumb.php} thumbnailing an image in one file and saving in another
{tear.php} Tear from one image to another

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
{Aileen.java} Sorting an ArrayList
{Steve.java} A second extended class
{Viv.java} An ArrayList - an extendable array
{Time.java} Base class for examples up to Lenny
{Niamh.java} loading a method from a class in a package
{WellHouseInput.java} Reading from the keyboard or a file
{Julie.java} Array of arrays (i.e. 2 dimensional array)
{Xena.java} Example with and without exception handling
{Margaret.java} String handling example
{Ulrika.java} An array of objects
{Bernie.java} static method (function) calls
{Yvonne.java} Directory listing, file i/o and formatting demo
{Zoe.java} StringTokeniszer, ArrayList and Exception demonstration
{Fred.java} Reading user input from keyboard
{Trevor.java} Polymorphism - an array of different objects
{Glenda.java} loop, with break and continue
{Rolf.java} Extended class
{Edward.java} Shared code - load and run method from another class
{Keith.java} Using a class
{Wendy.java} Test program within a class
{Hilary.java} Passing values in and out of a local method
{Peter.java} underlying (base) class
{Lenny.java} Static Methods, comparing objects
{Daniel.java} Integer Calculation
{Combine.java} Step 1 combo for full demo
{Adam.java} Hello World, and command line input
{Chloe.java} First use of variables and conditionals
{Orlando.java} Class within a package
{Irene.java} Arrays - setup, fill, pass, process, length
{Combo2.java} Combined demonstration - phase 2
{Quentin.java} Calling in an extended class

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

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
{Hello.java} "Hello World!" in Java
{Two.java} Second Java program - calls methods

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
{Av2.java} Average - fails at compile
{Av3.java} Average - *this* one works
{Average.java} Averages - how NOT to (try to) do it
{WellHouseInput.java} Easy user interaction class
{Somevars.java} Declaration and initialisation of variables
{Add2.java} Adding and declaring variables in a single statement
{Plus.java} Pre and Post increment in Java
{Bnd.java} Setting up variables, reading values, calculating and output
{Addup.java} Simple use of variables - adding
{Cost.java} Reading a cost from the user
{Av3b.java} An alternative working example

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
{Forloop.java} the 'for' loop in Java
{Bills.java} Nested loops, conditionals, breaks, labels etc
{Sindoll.java} Excerise - Singapore to US Dollar table
{Firstif.java} Example of a first if statement
{Newtab.java} First read - calculate - loop program
{Capacity.java} Course Exercise - capacity of tables in a restaurant
{Day2a.java} Sample program for exercise
{Secondif.java} Nested 'ifs', and 'else'
{Updown.java} Example of a boolean variable
{Loop1.java} 'While' loop example
{Loop2.java} Breaking from a loop

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!
{A365.java} Array - length, initialise throughout, arrays or strings
{Charlton.java} Setting up and using array of arrays
{upavon.java} Array Manipulation
{Cornet.java} Sample exercise answer (2)
{Gurdy.java} Pascal's triangle using dynamic arrays
{Arx.java} Array demonstration
{Weekend.java} Array of Objects
{Flute.java} Sample exercise answer (1)
{rowby.java} Dynamic use of arrays
{compton.java} Array initialisation
{Ax1.java} Passing arrays by their references
{Wilsford.java} Two Dimensional non-rectangular Array */
{Hurdy.java} Pascal's traingle using a two dimensional array
{Arr1.java} First Array in Java
{rushall.java} Two dimensional array
{PascalAsObject.java} Pascal Triangle as Object
{Bowerhill.java} Dynamic Array sizing (multidimensional)
{A350.java} Array - setting up, filling, looking for highest and lowest values

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
{Ourzoo.java} Ourzoo - sample application
{Film2.java} A class of objects with static methods, public variables, overloaded constructors and private internal methods */
{Eve3.java} Static methods and comparing objects - test harness
{Ourpets.java} Our Pets - example application
{Eve.java} Example class that uses the Film class */
{Film.java} Defining a simple class of objects in Java */
{Animal.java} Sample class for use during practical
{Ourmenag.java} Sample application for use during practical
{Eve2.java} Example class that uses the Film2 class */
{Film3.java} Static methods and comparing objects - class

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
{marston.java} Arrays of Character String Objects
{minety.java} Accessing characters within a string object
{oaksey.java} indexOf and substring
{ashton.java} Comparing Strings
{cricklade.java} String object manipulation
{malmesbury.java} Stringbuffer
{Station.java} Extracting data from a string, passing to factory
{highworth.java} More character variables
{StringBreaker.java} Splitting and interpertting a string
{ransbury.java} char variables and char arrays
{purton.java} startsWith endsWith and other string comparison methods
{Vest.java} Open file, read line by line, do string manipulation
{crudwell.java} copyValueOf and toCharArray examples

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
{Hattie.java} Calling a class in another package
{Hilda.java} Calling a class - using import to save repeated package names
{pack.java} Package class example
{axford.java} Calling a class in current package
{Isobel.java} packaged class for Geraldine / Hilda / Hattie demo
{sherston.java} Importing a class from a package
{sopworth.java} Calling a class in a subpackage
{Geraldine.java} Class and calling code - all in same file

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
{Book.java} Inheriting from the Universal Superclass. Also test harness in same file as class.
{BaseFile.java} An abstract base class
{Interit.java} Interitance demo bundle - 4 files in Java
{Lunch.java} Using methods inherited from the base class Object
{People.java} People - base class for use in exercise
{Car.java} Class that implements an interface
{Babysitter.java} Application that uses Hire, Cinema and TV films
{Interit2.java} Interitance bundle + array, abstract, super, overload
{Tv.java} Another extended class - TV
{Lecture.java} Lecture - application for exercise
{HireFilm.java} Class HireFilm (extends film from other module)
{Ipay.java} Application using an array of objects that implement an interface
{Cinema.java} extended class example
{insurable.java} Interface definition
{Lecturer.java} Lecturer - subclass for use in exercise
{Student.java} second subclass for use in exercise
{Round.java} Exercise template - calculate price of a round
{User.java} Hiding detailed logic in (static) methods
{House.java} Another class than implements an interface
{Hires.java} Application to use HireFilm
{Hire.java} Hire Film - extended class

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.java} Applet that demonstrates double buffering
{box.java} Applet to draw a rectangle in a border
{Mountain.html} HTML test framework for Mountain applet
{Mountain.java} Buttons, Fonts, drawing on a Canvas in an applet
{Puffin.html} Demonstration of 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
{Addbase.java} Exercise Base - make this user proof
{Bikini.java} Practical Exception Handling Example
{Keira.java} try, catch, finally - full example
{Jane.java} Define your own exception class
{E1.java} Class to which to add exception handling during practicals
{card_7.java} for neston demo - interface card
{neston.java} First example of an exception
{E1a.java} Sample answer - handling exceptions on reading use input
{Adder.java} Solution to Addbase exercise
{KeyRead.java} Keyboard Read for use during early exercises
{playing_card_7.java} class of playing_card, used in "neston"
{suspect_card_7.java} class used within "neston" demonstration
{wadswick.java} Sample program that will throw an exception, not catch it, and fail

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
{winsley.java} File Manipulation examples
{wellreader.java} Sample Input class from earlier courses and modules
{snip3} Writing to a file
{d3y.java} Exercise based on day 2 template
{Javafgrep.java} Example for modification exercise
{farleigh.java} Checking file status, reading and writing
{snip1} Code snippet - reading from a file
{d2x.java} Application using multiple classes
{snip2} File existence checking
{bratton.java} Formatted Printing

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
{stuff} Data for Trans3 demo
{Handbag.java} A class in which descructor calls are delayed
{Trans3.java} ArrayList, Hashmap and Collections sorting
{NetworkStation.java} class uses in AUtil demo
{Bus.java} To accompany Trans3 demo
{hinton.java} An Example of a Hashtable
{Train.java} To accompany Trans3 demo
{Station.java} Station class used in Network example
{Mhs2.java} A further example of sorting in Java
{Strtok.java} StringTokenizer Example
{Hmap.java} Hashmap example
{Bynum.java} A Comparator class
{floater} Float object v float primitive
{Tshirt.java} Utility classes ArrayList and Hashmap set up to help analyse data file
{Objvprim.java} Object to primitive comparison
{Mathop.java} Maths operations
{Acsort.java} Sorting in Java using the comparable interface
{Thing.java} Example of destructor
{About.java} System Properties
{Discfree.java} Running an operating system command from Java
{Hset.java} Hashset example
{Arlist.java} ArrayList in Java
{Ptr.java} To accompany Trans3 demo
{Mypocket.java} Forcing a destructor to run
{holt.java} Using a Vector object
{Access.java} Access Log analysis / String Tokenizer
{AUtil.java} Creating a hash of objects
{outmarsh.java} Using a stack
{Hmapsort.java} Sorting in Java - using collections
{Network.java} Vector to replace an array
{ByValue.java} Comparator for Trans3 demo

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
{P4.java} Object P4 definition
{PF1.java} Sample extended class
{District.java} definition of a district of the UK
{Area.java} defintion of an area of the UK
{PF3.java} Third example application
{Station.java} Class of objects from file or URL, factory, Vector and HashMap, select, sort, output
{PF2.java} Second example application
{Place.java} Solution - base class (abstract)
{Person.java} Calculating BMI of various stars
{Placefinde.java} Solution - application class
{P3.java} Example object
{PF4.java} Final lookup on data example, ignoring area v district distinction
{Multifinder.java} Full application
{MF.java} Final example application

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
{Av2.java} An array of objects of different types
{Insurable.java} Dairy Queen demo - just a shell interface to show the implements mechanism
{Icecream.java} A subclass of Desert
{Friend.java} Interface to define an extra API
{Desert.java} Base Class for use in Dairy Queen demo
{Aviary.java} Sample program - using Duck and Gull classes
{Gull.java} Class in a package, extends another, implements an interface
{Duck.java} inheriting and implementing class
{Bird.java} Base (abstract) class
{Colddesert.java} Part of the Dairy Queen demo
{DairyQueen.java} Main application to show inheritance and polymorphism

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)
{magpie.java} A Histogram of financila results
{acorn.java} Basic Graphic Applet
{ash.java} Constructs and scaling - AWT and Applets
{yew.java} Applet, nested panels and layouts
{awtfont.java} Fonts, text manipulation, graphics. Applet or stand alone application.
{skylark.java} General Purpose Graphing Applet

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
{redwing.java} Syncronisation solution
{redtail.java} Syncronisation problem

Module J807 - Images
[2245] Client side (Applet) and Server side (Servlet) Graphics in Java
{ConfirmDialog.java} Dialog Confirmation Class
{gannet.html} HTML frame for applet
{Imgfilter.java} Changing the colours of an image to make a subtle background
{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

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!
{kingfisher.java} Application to demonstrate serialiasble objects
{mousehandler.java} Serialiazable demo mouse handler class
{Bead.java} The Serialiable class itself
{Drawing.java} A class managing a vector of selializable objects

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

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
{J850staff.java} Servlet to insert into and report on a table
{Oralink.java} Connecting to an Oracle database
{Maggie.java} MySQL Database Connection and Query
{J850select.java} Servlet to run a MySQL select (jdbc)
{J850sjdbc.java} Generic database insert and select code (MySQL demo)
{jdbc1.java} Connecting to a MySQL database
{J850_jdbc.java} Class to perform a MySQL table insert
{J850insert.java} Servlet that adds a MySQL table row
{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
{Reg4.java} Look for email address on command line and report on user and domain name parts
{Reg1.java} Regular expressions - look for email address
{Reg3.java} Look for all lines containing a term and report the first field from matching lines
{Reg2.java} Regular expressions - look for all matching lines in a file
{Reg6.java} Regular expressions - match and replace

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
{Maryland.java} Checking and setting cookies in a Servlet
{svl.html} Servlet demo - HTML form
{svl_right.java} Servlet to read form and echo
{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
{symdyn.html} Dynamic operation of a Servlet

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
{Dialer.java} Java dialer with echo in a Jlabel
{Swtiny.java} Swing - tiny example (JFrame and JLabel)
{S2.java} Grid layout - Jbuttons for telephone dialer
{TreeDemoSetup.java} Jtree
{Dialapplet.java} Swing Applet - dialler example
{S1.java} JFrame, JLabel and Jbutton - Swing
{TreeDemo2.java} Jtree with contents and interaction
{swsmall.java} Event handler - Swing

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
{PubWatch.java} Session Tracking for Cluster and Load Balance demos
{web.xml} Example URL to servlet class mappings
{HelloServlet.java} Hello Servlet World
{Framework.java} Main servlet / stand alone program (transport demo)
{Station.java} Station class (transport demo)
{ByName.java} Comparator class for Stations (transport demo)
{MyStream.java} MySteam web or file reader (transport demo)
{Barman.java} Simple Session Tracking
{Landlord.java} Simple Session Tracking servlet reporting all users

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
{Book.java} net.wellho.Book class - Java Bean to look up on MySQL database
{course.jsp} Simple JSP, displaying a calculation in a page
{web.xml} Session timeout changed to 120 minutes -->
{bookjava.jsp} Replacing Java Source code with Tags - some equivalents
{rep_aut_2.jsp} Web -> Tomcat -> JSP -> Tag Library -> MySQL - booklookup
{Tconv.java} Class for use from JSP using standard tag library
{Store6.java} Store class, used to maintain state in JSP demo */
{index.jsp} A Shopping cart JSP that maintains state -->
{tcform.html} Form to read a temperature in degrees F
{products.txt} Product data for Shopping cart demo
{gje3.jsp} JSP - Form input and validation
{counter.jsp} Sessions in a JSP
{lovely.jsp} JSP example linking a series of pages, good practise shown
{gje2.jsp} JSP example - Java separated from HTML
{tcvt.jsp} JSP to read temperature in C and convert to F
{graham.jsp} Hello JSP world
{boxes.jsp} JSP / Tag Library / Java Bean - the JSP part
{report_author.jsp} Web -> Tomcat -> JSP -> MySQL - booklookup

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?
{hello.jsp} Simple JSP calling in business logic from a class
{Beast.java} Java Bean for JSP demo (hello)
{Room.java} Business logic for JSP demo (price)
{loglook.jsp} JSP to read and analyse data from a file
{price.jsp} Example of a JSP and what the raw Java would be

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
{web.xml} Tomcat config file for the sample application -->
{Im4.java} An image (AWT) with form selected data (HTTP) from a database (JDBC) via a web page (Servlet) */
{Im2.java} Generating an image file (AWT) using data from a database (JDBC) */
{multigraph.html} Web form that uses Im4.java (multiple images in one page) -->
{Im3.java} An image file (AWT) from a database (JDBC) via a web page (Servlet) */
{Im1.java} Generating an image file through AWT */
{formpage.html} Web form that uses Im4.java -->

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?
{calc} Command line / STDIN Perl calculator
{pex4} Short Perl program ... XML output
{pex2} Extended end of day one demonstration
{urler} Splitting out a URL
{talker} Simple talker written in Perl
{pear_ex} A short program to handle substantial data
{pex3} Same thing - sorted!
{s_c3} Screen Counter demo - look for RasterFlex boards
{whc.pm} Sample standard set of subroutines to share between applications

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
{greeting} prompt and read user input
{chopin} Read from user, write to screen WITH FAULT
{bmi2} First Practical Program - including comments and documentation
{one_line} two names are echoed back on one line
{poor} A program that does something unexpected
{av2} average of 2 ages, shows precedence and string to number conversions
{bod} Precedence of operators
{hello_again} Performing one action after another - a sequence of statements
{mfrp} Plan ahead - write the comments first
{codemo} Coercion - i.e. silent data type conversion
{hello} "Hello World"
{read_write} Read a value, calculate, output an answer
{wrong} A program with a syntax error
{ages} compare two ages
{average} Calculate and print average of 2 ages
{rw2} Using chop to get rid of the newline
{yikes} chop - altered incoming value and returned value
{language} Perl language fundamentals - example
{couple} reads two names and echos them

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
{d2} Prompt, read, chop and echo with comments, warnings and POD documentation
{symbols.pm} Package used within simple perl example
{rw2} read, calculate, print results (2)
{assume} Perl assumes empty variables
{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
{lp2} Blocks within blocks (shows \ protection)
{bitwise} Demonstration of bitwise and logical operators
{din} Use of shorthand operators
{lp1} Blocks within blocks
{d2r2} Illustration of looping to process a series of values, accumulating totals
{numbers} how to write numeric constants
{bmi3} Demonstration with conditionals
{summer} Answer to practical (reading and summing numbers)
{ask} if, elsif and else (right)
{condition} if and if - else; blocks.
{readandtotal} Reading and totalling numbers - sample answer
{looper} while loop
{d2r1} Illustration of looping to process a series of values
{bmi4} bmi demonstration with loops
{nask} if, elsif and else (wrong use of =)
{dinners} nested blocks - loops and conditionals

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
{lms} comparing . and ,
{greeting} use of x operator
{pfilter} Filter roads.xyz to match a pattern
{eqt} Numeric, String and match comparisons
{im10} Intelligent match on scalars
{cs} Exercise answer - completing a sentence
{prop3} single and double quotes, q and qq strings
{stringers} Strings in Perl
{midwinter} Course exercise - sample answer
{autumn} Sample answer - course exercise
{izit} ~~ =~ eq and == operators compared
{xz} Printing out variable contents with labelling text
{pig} Regular expression - first example with anchors, literals, groups, and counts
{finsent} Trimming a sentence
{firststring} low level string functions demonstrated
{chx} Comparison of chop and chomp
{perlstring} Ways of writing strings in Perl
{bticks} backtick operator - runs an operating system command
{sc} Case insensitive comparison
{pws} Use of eq rather that == for string comparison
{prop2} Using double quoted strings to change case
{fil_tar} Filtering a log file for 'lua'
{heredoc} Use of a here document for copyright block
{pf2} Filter roads.xyz to match a pattern (using open or die)
{romance} Quoted strings, qq strings and here documents
{proper} Case changes on string
{fd} Delimiting a variable name
{pattern} Regular expression learning tool
{deepmidwinter} Course exercise - sample answer
{dqs} Single, double and back quotes
{singlename} regex to look for a single name
{plook} Simple example of reading and filtering a data file
{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
{mls} Knock out Competition - how many teams?
{golf} Knockout competition - how many teams / players needed?
{safety_net} The // defined or operator
{qc} while loop, rewritten as for loop
{p023.c} read an array of numbers from a text string
{pswit} given and when - a switchlike syntax
{lazyops} Lazy and and && operators
{tel3} Conditional operators "and" and "or"
{jumps} demonstration of next, last and redo
{dunt} A do ... until loop - reprompt until you get valid input.
{bip} Different conditionals and comparisons
{qc2} use of triadic operator
{power} inverted until loop example
{tel4} Usin the ? : operator instead of if and else
{tel2} unless, and if and unless written in reverse
{iffy} Read - calculate - conditional - output
{jumps2} Using a label in Perl to jump out of nested loops
{given_demo} given (Perl 5.10 onwards)
{tae} Checking user input
{dice} Sample answer - rolling a die
{andor} and, or, &&, || - precendence
{forloop} Good and bad examples of a for loop
{telegram} if and else example
{jump2} Using a label in Perl to jump out of nested loops
{dowhile} a while loop that runs at least once
{eloop} Labelled block style of loop
{throwz} Sample answer - throwing a die
{swit} Use of label to mimic a switch
{g4} String formatting, conditionals and 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
{bridges} sample answer - town with Bridges in name
{pe2rl} Single parse of data, multiple reports generated
{biggy} Finding huge files
{sp} Formatted printing
{leedspark} alternative answer to practical at end of module
{newread} <> v readline
{fsv} File open, read, write test example
{piper} Use of file handles to pipe from and to processes
{fan} One input and five output files in a single program
{ck} Splitting money many ways - formatted printing
{tin} Filter and reformat a data file
{reporter} file status operators -x and -s
{wacsal} Re-active formatting
{procmon} Process monitoring - demonstration of principle
{addplus} Formatter - adding a leading plus
{christmas} Formatted printing - splittin money between the grandchildren
{fprint} Formatted printing - some specifier details
{park} Sample answer to "the park" exercise
{legacy} Divide money between children and print neatly
{perlwget} Running an OS command from within a Perl script
{costa} Output file handles, open, and defaults
{ddd} Splitting and reformatting data
{paut} Piping a ping into your program
{forvat} Formatting strings and numbers
{sswd} Directory parsing, formatting data read

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
{towns.xyz} Data file - list of States, Towns, Countries etc
{prog2.pl} mapping a list, iterating a list with your own counter
{lat.pl} copy a list - duplicates it
{dins} Demonstration of some facilities of lists
{prog.pl} Iterating through a list
{yumyum} Elegant Context Demo
{odd} Shuffling a list
{context} context demonstration
{fanlist} List functions such as chomp and push in use
{c1} Context, and splitting a list into named scalars
{li2} looping through a list
{404hunter} Look for all "error 404" pages from certain hosts.
{escape} naming list members
{sameness} File Comparison
{ctx} Lists and contexts
{linelen} Using a list to count records of various lengths
{booklook} chomp, grep, split, unshift and join example
{prg} Lottery selection
{im2} Using ~~ to match lists (arrays)
{lx} $ atomic, @ molecular
{dmore} dicey list sample answer
{back} Setting up, using and looping through a list
{dow} Anonymous list example
{salad} setting up lists, looping through lists, list slices
{li1} First example of a list
{grepplus} grep altering the incoming list
{gm} grep to comb, map to alter
{cont2} List, scalar and double quote contexts
{sal2} Context examples
{vgrep} Verbose grep - illustration of list slices
{404h} Exercise answer - looking for all "404" accesses from certain hosts

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
{ct2} Coverage test - application using coverage objects
{subgetnum} Sample use of subroutines - returned parameters
{standardstuff.pm} Standard and repeated code - in own file
{future} Using a class in Perl
{control} Example of how you should NOT repeat code
{cov2.pm} Coverage as a class. Allows multiple parallel coverage sets!
{romeo} Romeo and Julie - solution
{train.pm} Class for training - first use
{l2} lists / context demo
{ua.pm} Identify whether a web access record is from a spider
{splitty} using subs to avoid repitition
{romeo2} Answer to Romeo and Juliet question
{mailfilter.pm} package to encapsulate information - NOT really objects.
{funcall} passing a hash to a sub
{utils.pm} Standard functions - tipsy demo
{scope} Scope - our, my and local
{mc} Email analysis via a package
{subgnrange} Passing parameters in and out of subroutines
{courses.pl} Sample (test) program to try out a diary
{myvar} Use of my to reduce variable persistance and scope
{melkservice} First use of training class
{coverage.pm} Routines to combine integer ranges to provide overall coverage information
{mc2} using email objects
{tip2} passing data in and out of subs
{substamp} Sample use of subroutines
{tipsy} Calling in a module from you Perl program
{bandq.pm} package with "romeo" example
{mailister2} including package name in package methods
{bridges.pm} subroutines called up from example applications
{ms2} calling subroutines in a different file
{subby} repeated code in a sub
{mysub} calling a subroutine in the same file
{valread.pm} standard subroutines to include in several programs
{covertest} Sample application - coverage test given ranges of integers
{tip1} Parameters in and out of a sub
{diaryev.pm} Sample class for courses.pl demo
{maillister} using a module to retain information
{email.pm} email class of objects - a very simple class
{globvar} demonstration that variables default to global
{mf2.pm} package of subroutines for mailfilter2

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
{topper} File handle <>
{was} Use of command line options in Perl
{shh} Counting Unique visitors in a log file
{oddgrep} Using grep and map with $_
{rqu} Use of awk-like options with Perl
{topic1} Variable used many times - candidate for topicalisation
{ama} Use of $" to produce a csv output
{topic2} Topicalisation in use
{bcv} Use of @ARGV command line and $_
{cl2} Program that generates a warning
{allhosts} Special variable $/; reading whole file to scalar
{spout} Special variables to control output formatting of lists
{delay} select to change default output
{perltodiamond} Using the -p option on the command line
{gop2} Handling command line options - getopt
{hodo} Filter looking for IP addresses of computer(s) with "tea" in name
{paws} Progress bar / progress reports
{top3} Further use of $_
{ticker} Clock, using autoflush to update screen every second
{infovars} English and short names for informational special variables
{start} BEGIN - CHECK - INIT - main code - END
{shhh} script to run on every line of a file
{gop} Handling the command line via Getopt. Also Usage lines.
{exact} map, grep and $_ save loops
{special1} Program using a variety of special variables
{commline} Handling the command line via @ARGV
{johnny.vegas} Output from select demo
{sample} Filter - takes names and attempts to capitalise correctly
{cv} rewrite of "dos2unix" in Perl
{spot} Using implicit loop with -n

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
{webc2} Sample answer - 2nd question
{bankout} initialising a hash
{ha1} Setting up, then displaying contents, of a hash
{requests.xyz} Data file for hash demos and exercises
{stdhash4} Keys must be unique - design new keys, add accessor loops to find multiple keys
{sorter} Demonstration of default dort order
{cbdemo} How sort callbacks work
{nip3} the danger of jumping out of an each loop
{sthash2} Keys must be unique - solution 1 - Append all possible values
{stdcodes} Dialling codes for use with course exercises
{acc_0} Loading from a module in another file
{account} Sample - extracting statistics from an access log file
{pathit} List out all programs on the current $PATH
{peeps.pl} Set up a hash of people
{langies} List of all the skills in a file, and who has them
{niports} hash - manipulation
{blx.pl} Use of hashes in Perl / CGI
{so5} sorting with a comparison block
{aco_1} Access log - listing hosts via a hash
{hash1.pl} setting up and using a hash
{env2} ENV module to import variables as globals
{nip2} set up and loop though a hash in various ways
{im3} Using intelligent matches to check hash keys
{fwom} Hash - keys must be unique
{so2} Sort using your own sort subroutine
{so4} sort using a more complex routine
{ukports} fill and look up a hash
{web_count} Sample answer - web access counter question 1
{access_log.xyz} Log file used in many Well House exercises
{ford.pm} Module for use with account demo
{h1} Setting up, adding to, changing a hash (associative array)
{stdhash} keys must be unique - example illustrates the problem
{nip4} Sorting the keys of a hash
{stdhash3} Hash keys must be unique - so make up a new keu
{channel} Ferries to France - data file
{envrep} use of %ENV
{acl} Sample answer - web_c2, page 152

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
{stuff} storing a compiled regular expression - qr
{regextra} Splitting up a URL via a regex - sample exercise answer
{ogado} Anagrams of First Great Western served stations
{catshow} Sample answer 1
{murl} Regular expression with comments
{holiday} Packing and unpacking binary data
{trandy} tr (or y) and its modifiers
{slurpex} matching lines - whole file at a time
{sting} different ways of defining a string
{emre} KISS - keep it simple - regular expression
{newsub} Examples of the =~ s for substitute operator
{pwline2} using tr to change multiple characters; also c and s switches
{bincopi} Read and analyse binary .gif files
{ystwyth.pl} binary data handling - examine a .gif file
{html2} Sparse matching, looking for an HTML tag
{rogues} Using tr to find invalid characters in a string
{n5} Special variables $' $& and $`
{n4} Special variables $' $& and $`
{letters} Look for word starting and ending with same letter
{html1} Matching HTML - a greedy match doesn't work
{bindemo} Printing out and reading in binary numbers
{n3} Capturing groups into a list
{pcv3} Postcode, Mk3 - extract multiple postcodes
{cstr} Defining Strings
{itsperl} Serialise and unserialise strings
{cats2} Sample answer 2
{totext} Converting < > and & to web standard sequences
{emma_hunter} Match and Capture - email address
{favex.pl} Postcode, Zipcode, credit card no. etc - regular expression matches
{yem} Perl regular expression - information returned
{greedyvglobal.pl} Greedy matches v Global matches
{html4} Global matching in a list context
{getlinks} Find all href links from a page
{n2} Capturing groups into $1 and $2
{pcrd} Modifiers im matching
{3to3} translate a DNA 3-character codon to an amino acid
{pusher} Single v global match and alternatives
{name3} Match and substitute executed block
{name} Match and substitute (long winded way!)
{pcv2} Postcode extractor Mk2 - save into named variables
{filler} Using Regular Expressions to "mailmerge"
{phone} Substitution using back reference
{packet} pack and unpack
{pcv1} Postcode extractor - mark 1
{glomatch} Use of "g" modifier
{name2} Match and substitute - (example that fails)
{reg} Stepping through regular expressions
{pwline} Character by character translation with tr
{names} Regular expression match - revision
{sedm} Substitue operator
{tophat} Hashes, Regular Expressions, Topicalisation ... end-of-course example
{html3} Global matching in a scalar context

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
{ce.pm} Object interface to call events
{3cl} Object Orientation - 2 classes and polymorphism
{bd1.pm} A simple class, using a scalar to store object information
{bd2.pm} A simple class, using a list to store information about each object
{nsp} variables in packages (autovivification!)
{wheretogo} Example that uses commute.pm and ramble.pm
{at2} Hello Perl Object World
{small} True OO example
{roar} Sample program to use room.pm
{ubany.pl} Test program for ub1 ub2 and ub3 classes
{antest} Introduction to Objects
{big} How Object Inheritance is done in Perl
{higloo} houses and igloos - an OO example
{commute.pm} commute.pm - used in factory demo
{scemail} quick check of email address format
{blessing} Blessing and resultant polymorphism
{room.pm} A simple class which uses a blessed hash
{massage.pl} Template object and test program
{bd3.pm} A simple class, storing each object in a hash
{ub3} Another test program to use the book class
{journey} Call to factory class. See ramble.pm and commute.pm
{tiny} Towards OO in Perl
{book.pm} A simple class with a constructor and 2 access methods
{usebook} Sample application, constructs and uses book objects
{message.htp} Sample template for use in other demos
{medium} OO with inheritance demonstrated
{need2} Solving the bare word
{housing.pm} Definition of house, castle and igloo classes
{ub2} A test program to use the "book" class
{oco} Using the house, castle and igloo classes
{peeps.pm} Definition of two classes and polymorphism
{spammer} Using global matching to extract all matches
{message.pl} None-OO example of template filling
{ramble.pm} A class that includes a factory method
{thing.pm} Generic class for use during exercises
{need1} calling subs via bare words

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
{msexcel} Creating an Excel spread sheet
{ws1.wsf} Using Windows Script to list out special directories
{hostinfo} Looking up host by IP address and name
{info_more} looking at your perl configuration in detail
{ws2.wsf} Windows script - report on a datafile
{back} system dependent backquotes
{mytemp} template for faad example
{registry.pl} Example of using registry from Perl
{faad} A template system report summary
{blockshell} running a series of shell commands
{userinfo} use of getpwnam for user information
{cv} End of line character conversion - Windows to Linux / Unix

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
{f2} Formatting using "format" and "write"
{file} _ and $_ in file operators
{lowther.pl} Reading data from the end of the program file
{allin} Read and report contents of a directory
{ft} testing file existence, size and other stats
{dotty} globbing on a file handle
{chdirddemo} Using directory functions cwd, chdir, opendir, readdir
{segment} Spray one input file across 16 different outputs
{ab_file} Using some of the file status operators
{inter} See is STDIN is interactive, and prompt if it is
{fal} split an incoming file lots of ways
{dend} Data on end of program file
{hunt} Random access to a file of fixed length records
{dxyz} Finding all files with names matching a pattern
{whatsmypath} Lists out all duplicate executables
{af} using the stat function to report on a file

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
{dt5} compare a stated date and time with now!
{dt4} use of time and localtime
{dt3} current date and time (system dependent!)
{dt2} dt2 - file last modified (seconds from 1.1.1970)
{hf} Modified "chivvy" - perhaps less OS dependent
{dante} Date and time demos
{tim} Converting times between epoch seconds and regular time
{sigint} Use of Signals in Perl to trap ^C (Control C)
{chivvy} Using %SIG to timeout keyboard entry
{dt1} file last modified (days ago)

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
{rn2} Pushing a list v pushing a reference to a list
{lili} lists of lists - like a multidimensional array
{rrr} Setting up a list of lists (like a 2D array) from a file
{d3} Collection of collections (i.e. 2D array)
{refs} References - a first demo
{ar2} Combining lists - list of lists v one long list
{slush} Setting up a list of lists in Perl
{2tiny} A list of lists - autovivification
{clutter} Finding items common to a number of liats
{haha} A hash of hashes
{hohum} hash of list of hashes
{2ds} Setting up a list of lists (like a 2D array)
{ar3.cgi} Rekeying data / presenting it on a web page
{ar3} Rekeying data
{deal} A list of lists - dealing a pack of cards
{m2} Passing a reference to a hash
{d2} Passing list, passing reference to list comparison
{hali} Example of a hash of lists
{lilo} Collections and references to collections
{revise} Revision of reference notations in Perl
{ar4} Reading a data file into a structure
{show_acc} Setting up a list of lists
{rq2d} Setting up a hash of lists
{rain} Setting up a hash of lists
{multikey} A Hash of lists - a more complex example
{menu} Passing a reference to a list
{ref2} References - the fundamentals
{deal2} List of lists - flexible example
{lili2} List of lists

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
{phisherman.pm} A simple class in Perl
{runtest} Test code - for polymorphism / inheritance demo
{horse.pm} BEGIN END DESTROY and import special methods
{runner.pm} Multiple classes in a single file
{fruit.pm}
{transport.pm} Definition of a transport animal
{cafe} Test application - use of EXPORTER
{tharness} Perl program, calls 2 classes, polymorphism and interitance
{coin.pm} Simple base class defining a coin
{overload_add.pl} Operator (+) and to_string overloading, Perl
{offspring.pm} class offspring - an animal that need attention
{li2} the @INC list and the %INC hash
{commemorative.pm} A class which uses simple inheritance
{basket} Sample program - polymorphism in Perl OO
{test_class_2} Test harness for the various subclasses of animal
{pover} overloading operators
{opolop} Operator Overloading in Perl
{tptest} Test program for the trainingprogram.pm class
{rider} Application that uses the horse.pm module
{ua} Looking at data via Data::Dumper
{cafe3} cafe3 - offer a number of dishes
{animal.pm} A framework for a generic base class
{lookinc} Display the @INC list
{pet.pm} a pet is an animal ... inheritance ...
{needbr} require is runtime, use is compiletime
{fldo} Set up obects via a utility factory (main prog)
{angler} Program to demonstrate use of phisherman class
{dish.pm} package showing Exporter
{test_class_1} Test harness for class "animal"
{tabby.pm} calling the base class constructor in Perl
{collect} Application that uses commememorative coin class
{teacup.pm} For use with require demo
{visit.pm} Set up obects via a utility factory (classes prog)
{ptest} test harness for the program.pm class
{bne} a standard base class?
{oo6} SUPER example

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"
{wholenumbers} The integer pragma illustrated
{dadu}
{stx} croak - like die, but reports line in calling package
{colpert} printing coloured text in your terminal window
{tolatlong} UK Ordnance Survey Grid Reference to Latitude / Longitude convertor
{mod_demo} Use of standard modules
{togridref} Latitude / Longitude to UK Ordnance Survey Grid Reference convertor.
{ac1} perl -w / turning warnings on and off

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
{st_look.pl} Form, template, validation, POST and GET all in one example
{demo.pl} First cgi program - read and echos form content
{letterlinks.pl} Perl on the web - simple file lookup
{loganal.pl} Full cgi example - log file analysis
{railstats-1.xyz} data for st_look.pl demo
{samform.html} Sample form for an CGI script
{tabfeed.pl} Display list of SQL tables and/or table content on a web page
{onweb.pl} Looking up data in a file on the web
{nice.htp} Template file for log analysis application
{hww.pl} Simple CGI example with urldecoding and webify
{echo.pl} Web basics - echo form content
{sdo2.pl} Multiple page Perl / CGI application
{templ.htp} Template for sdo2.pl Perl / CGI demo
{echo.htp} Form / template to go with echo.pl demo
{job3.pl} Select, display, edit job opportunities application

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
{try5} regular expression efficiency demo - read into list
{control} regular expression efficiency demo - control
{try3} regular expression efficiency demo - remove use of $&
{try6} regular expression efficiency demo - via foreach
{try1} regular expression efficiency demo - start with literal
{try4} regular expression efficiency demo - process line by line
{try7} regular expression efficiency demo - index rather than regex
{trybench} regular expression efficiency demo - testing with benchmark module
{try2} regular expression efficiency demo - start with anchor

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
{check} Expect - choreographing multiple pings and analysing result
{fdem} Forking in Perl, then communicating between processes
{pinga3} Parallel (forked) processes communicating via signals and pipes
{kidgoes} Children signalling to parents as they complete
{knife} fork and two separate processes
{h_report} Two processing in parallel (via fork) communicating (via a pipe)
{talker} Simple talker written in Perl
{nonfat} A process that responds to signals
{pingpong} piping from another process
{f1.pl} Forking a process
{breeder} Parent forking multiple independent children
{breadknife} Forking a process, then the two communicating
{dodo} running another process from Perl
{pinga2} Parallel (forked) processes communicating via signals and files
{two_roles} Forking in Perl - two processes
{pingalong} Parallel (forked) processes communicating via pipes
{butter} Send a signal to a registered process

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
{victoria} fork and talk
{albert} Forking, Piping and Signals
{perl_robot_client} robot.txt collector in Perl from a list of sites
{pg1} LWP - simplest test
{pg2} LWP - sets own User Agent
{s1} Grab a web page
{netgrep} Network grep server - connect via telnet on port 5678
{pfinger} Client in Perl - talks to remote finger daemon
{myweblib.pm} module to go with s1 web grab example

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
{snobol} Various variable types in Perl
{pocket} Using a simple class
{ref2} References, lists, hashes, multidimensional structures
{ref1} Lists and refrences

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

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
{newperl.pl} Romeo and Juliet - Perl 6
{oldperl.pl} Romeo and Juliet - Perl 5

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

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
{st2} Dumping out all variables defined
{henry} Variable types
{myscope} Scoping of our and my variables
{sfact1} Use of strict to flag scoping dangers
{gawd} Typeglob - one each of file handle, scalar, hash and list
{iiw} my, local and global variables
{vbn} Soft References
{sfact3} Using package names to supress strict warnings
{fact} recursion in Perl
{scal_type} ref function - what is in a scalar
{vartypedemo} 6 variable types in Perl
{scope} variable scope illustration
{sfact} Beware of variable scope in recursive code
{ty} Setting up and exercising a typeglob
{mkd2} Anonymous lists using [ and ]
{my2} scoping with "my"
{mkpascal} Pascal's triangle; clever use of formatting
{st} Accessing Perl's symbol tables
{pers} persistent my variable
{tgd} typeglobs - a package deal (one of everything!)
{ref3} handling a list of lists element by element, by row, and as a whole
{ref2} Modifying values passed in to a subroutine
{phash} data munging - unpack, splice, regular expressions etc
{danger} What variables have I used?
{ref1} References
{dele} delete, undef, defined and exists
{splitter} select and typeglobs for file handles - alternative to array of file handles

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
{pex} Exception Handing in Perl
{mudemo} running an operating system command
{evx} try and catch simulation via eval
{mudemo2} Testing to see if a variable is tainted
{sptest2} Using a prototyped method incorrectly
{sptest1} Using a prototyped method correctly
{owncheck} Use of caller and wantarray
{waw} warnings, caller, wantarray, ref, $#_
{go2} goto based on a value - a sort of switch
{gogo} Goto based on string
{go4} Goto an array of possibilities
{spt4} A subroutine prototype defined in time
{sudemo} Operation that will fail if run tainted
{pmg} magic goto
{hoco} the continue block
{go1} The goto statement ... if you must ...
{asp} Command line options to add implicit read loop and split
{spt3} A subroutine prototype defined too late
{protodemo} subroutine prototype
{goflavours} goto, and jumping with last
{dob} uses of "do"
{cmc.pm} Defining a subroutine prototype

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
{acnset1} Crreating a database file through tie
{persist} Persistant variable via a tie class
{thash.pm} Tie class to access a disc file as a hash, with caching
{acnset2} Tying a text file to a hash
{acm2} tieing a text file to a hash
{codes2} Place lookup without tie - variables are cas sensitive
{ac2} Using a tie class to force lower case
{ah} Tieing a variable to change its behaviour
{lower.pm} Tie class to force all strings to lower case
{codes} location lookup
{acnlook} Tieing a database file to a hash
{fyle.pm} links a variable to a file
{bowtie} Using a variable tied to a file
{textfile.pm} tie class that treats a file as a scalar
{game} Appliaction that uses a scalar as a stack
{alias_list} Accessing Unix's aliases database directly
{flash.pm} Appending hash tie class definition
{pwlook} Looking up users, case sensitive
{ac3} Using a tie class to force lower case
{pwl2} Looking up user accounts, case insensitive
{acmagic} Persistant hash - NOT lost when the program exits
{aphash.pm} tie class definition - an appending hash
{stack.pm} Tie class that hides a stack under a scalar
{allcodes} tied hash, unique key solution

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
{keyin} print out ASCII decimal equivalents of entries
{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
{kbcheck} select to check input availability
{pcr} Binary file copy
{fi2} Reporting maximum field per line count
{ask} Send a signal to program h1
{kb2} Giving the user a limited time to make an entry
{h1} Long running program with interaction
{fc2} Reacting to each keystroke rather than awaiting a new line
{file_in} Unpacking characters

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.html} Example of HTML generated from POD
{pod1} Example of POD
{d4} Sample code - alternatives to if and while

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)
{tk1} A simple GUI with Perl/Tk
{tk5.pl} Tk demo - fill in form, moving graphic
{tk4.pl} An interactive form on a grid (tk)
{tk2} Drawing graphics on a canvas with Perl/Tk
{bobbb} An interactive application with a Tk GUI
{ptkcl2.pl} Clock using Perl/Tk
{tk3.pl} A toggle button implemented in Perl/Tk
{ptkclock.pl} Simpler version of Perl/Tk clock
{tk3} An interactive application with a Tk GUI
{bob} An interactive application with a Tk GUI

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
{D2.sql} Sample people database
{hellosql} Accessing and SQL database with DBI and DBD modules
{D3_Main.pm} Second DBIx Demonstration - headline file for loading Schema
{aggy} Connecting Perl to a MySQL database
{dbdhash.pm} Tie a Perl hash to a MySQL table through DBI
{D2_Main_People.pm} Define the table to object data mapping
{D3.sql} SQL source data for D3 demo (SQLite / DBIx / Perl)
{sqlping} Using DBI and DBD to establish a connection and list available tables
{D3_Main_People.pm} Define table/object data mapping for People and how they relate to Computers
{trains.sql} Data to create and populate train table for other examples
{edbi} Example using many database access methods from DBI
{D2_Main.pm} First DBIx Demonstration - headline file for loading Schema
{traintimes} Connect to an SQL database of train times
{aclog2table} Set up database for web access log records
{orange.pl} DBI used in a CGI script as a GUI to a table
{fifthdbi} Perl DBI - display contents of MySQL table
{D2.pl} Adding DBIx on top of DBI and DBD - First simple example
{tie_main} Exercise - main program to die hash to database
{D3.pl} Adding DBIx on top of DBI and DBD - Select on joined tables
{D1.pl} SQLite - DBD and DBI - create, insert, select, drop
{D3_Main_Computers.pm} Define table to object data mapping for Computers and link to people
{firstdbi} Simple Perl DBI Query

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

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
{miniserver.pl} Small Web Server in Perl
{dot} buffering - dotd come out all together
{ptime} Simple client
{sts} Simple Perl time SERVER
{pf1} Finger client
{mcopy} End of line conversion - moving data file between operating systems
{pf3} Better finger client
{dot2} Buffering - progress bar in dots
{pt3a} time and date from a series of hosts

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
{rf1.pl} Looking up an "A Road" - test program
{slip} Simple Perl / CGI script to calculate BMI
{whc_filter.pm} utilities for CGI use
{perlcycle.pl} cycling through images using CGI
{bmic.cgi} Simple CGI script with separated view and elementary validation only
{first.html} First HTML page to call up CGI script -->
{roadfinder.pl} Looking up an "A road" on a web site
{mypage.htp} HTML template for shoots.pl demo -->
{theywant.renew} Wedding list data
{seedcalc.pl} Shows structure of a CGI script
{formurl.pl} URL decoding - training example
{formone.cgi} Running a script when a form has been submitted
{area.pl} Single page ruggedised CGI form
{wedlist} Wedding list application
{seeding.html} Sample form - two boxes to submit to a CGI script -->
{mydate.cgi} CGI first example - menu based on day of week
{withval.cgi} CGI page with some data validation
{rsq} Analaysis of a file to the web.
{shoots.pl} CGI script - sets up form, also handles form response, in a single page
{firstform.html} A first web form -->
{logone.pl} Filtering an access log file from a browser

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
{twopost.pl} Collection information via POST
{twoa.pl} More generalised form handling
{jumper.pl} Random jump - return a location header
{docwrite.pl} Writing a document within a CGI script
{mulcgi.pl} Handling a form with multiple fields
{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
{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
{grablunch} Command line program to access webpage object
{pwebclient} Stand alone program to use web_fetch module to find links
{get_courses} Script to call an OO module that grabs a web page
{pwebserver} Perl server - low level socket programming - HTTP protocol tool
{pg1} LWP - simplest test
{cgiwebclient} CGI script to fetch page from another server
{pg2} LWP - sets own User Agent
{wclient} Simple web client - collect all links
{wtserv} Web server in Perl to expose file system
{webpage.pm} Module to connect to a web server and grab a page

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
{useredit.pl} Edit a file all on one page!
{nph-clock.pl} Multipart and updating CGI document
{down.pl} Download a file off the server
{up.html} Form for uploading a file -->
{winmailer.pl} emailing from Perl on a Windows box
{utils.pm} Utilities for CGI
{up.cgi} CGI script to receive uploaded file
{mailer.pl} Emailing and working out the browser type
{upsend.cgi} CGI script to receive and display uploaded file
{upfile.html} Uploading a file (live demo)-->

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
{sweeter.pl} Perl, CGI, sessions - complete application template second steps
{sweetest.pl} Perl, CGI, sessions - complete application template, full demo
{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
{ecbgrab.pl} Grabbing a network resource through LWP UserAgent
{bin_app.pl} Perl Dancer - Controllers and routes
{freda} Grabbing a web page for cache
{township.tt} first inner template - Dancer
{cgi1.pl} Simple demo of CGI.pm
{page_checker} Using LWP::Simple to find all links from a web page
{grab2} A first example - grabbing a web page via LWP
{config.yml} configuration - Dancer
{cgilite.pl} Using CGI_Lite.pm - simple example
{townstyle.css} Style sheet - Dancer
{askuser.tt} Second template (form) - Dancer
{frederick} Grabbing a web page for cache if refresh needed
{goodlinks} Validate links from a page (LWP)
{fred} Grabbing a web page for echo
{cookie.pl} Setting, reading and deleting cookies
{wellhouseframe.tt} layout example - Dancer
{cgis.pl} Using CGI.pm as a structured code
{cc2} Use LWP UserAgent to check and see if a remote site has changed

Module P409 - Searching
[2233] Transforming data in Perl using lists of lists and hashes of hashes
[1183] Improving searches - from OR to AND?
{ar5.cgi} Rekeying data - CGI example with form based control
{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
{my_search.pl} recursive search through HTML files
{searchform.html} Search form
{robotic_search.pl} Setting of a background indexer from a CGI script

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
{mailsender.pl} Mail form - sending email from Perl
{am2} Emailing from a Perl script to a variety or recipients
{pop3.pl} Using POP3 protocol to read emails into a Perl program

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

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
{addpatient} Add via form to patient table
{addoperation} Add via form to operation table
{testtabs} SQL test command
{gempage} Display joined SQL tables via Perl and Web and Browser
{gem} Display joined SQL tables via Perl
{operations} Operations Data
{patients} patients data
{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
{classdemo.p6} A first class definition and use
{rstats2015.txt} Data for Perl 6 demo programs in P600 module
{hello.pl6} Hello Perl 6 world
{mapper} Read file, map all lines, sort results and display top 25
{position.pl6} Practical script - finding smaller stations
{quieter.pl6} First data file analysis - using arrays, hashes, etc

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
{huge2} A progress line - hunting for huge files
{nf} Use of $! to find out why an action failed
{ftype} Establishing the type of a file system object
{bchop} Random access to a file - using a binary chop
{wr_loop} Using file locking constants
{pfc} Copying a file block by block
{loglook} reading a specific number of bytes
{pls} Four ways of finding the contents of a directory
{flockdemo} Co-operative file locing with flock
{webfiles} Using typeglobs to handle an effective array of files
{ndd} Accessing NDBM files
{nopen} $! in a string and a numeric context
{huge} finding lost disc space - hunting for huge files
{biggest} Look for biggest files in a tree
{recur} recursively scanning directories

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
{sshlet} Using ssh to contact a remote host
{ftpdemo} Simple FTP retreival in Perl
{ftp2} Recursive FTP client in Perl
{telnetdemo} Log in to a remote host and run a command

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

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
{huge2} Providing user feedback while handling huge data
{useindex} Grab first ten sites on a topic area - QUICKLY via index
{opt3} Improving sort efficiency
{reg_opt3} Regular expression match - more specific and faster
{huge1} A program to test handling a small part of a huge data set
{opt2} Sorting and data filtering efficiency
{reg_opt1} Regular expression match - don't save $' $` and $&
{reg_opt} Regular expression match - inefficient example
{big.start} Finding largest file, with intermediate status reports
{behind} looking behind in huge data files
{rt2} Handling data in chunks - chunk overlap issue solved
{opt4} Improving sort efficient further - caching record analysis
{huge3.pid} Example of the huge.pid file
{huge3} Asking a long running application for intermediate reports
{mtx} Merging two huge files
{paws} Progress Bar Techniques
{readtime} Efficiency - reading a file in large blocks
{optim} Optimising code to avoid repeating calculations
{makeindex} Generating a list of markers to a huge sorted data set
{out.txt} Example of search results written to file
{site.pm} Class used in other examples in this module
{slurp} slurping and sampling
{makedirs} Preprocessing a huge data file to set up indexes
{hugehunter} Long log file analysis, with progress and intermediate reporting
{reg_opt4} Regular expression match - a start assertion speeds it up!
{reg_opt2} Regular expression match - use of "o" modifier

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
{camels.xml} XML sample for xslt1 demo
{gnome.pl} Parsing XML through LibXML
{p2} Sample RSS data feed (XML data)!
{stdsubs.pm} Standard cgi handler to collect form data
{p1} SAX parser - extracting titles from XML stream
{xml3.pl} Illustration of handling a stream
{xml5.pl} Alternative - using handlers
{xml4.pl} Converting an XML document into a tree in Perl collection variables
{apps-admin.xml} Sample data file used in XML example
{xml0.pl} Parsing XML - first test program
{goblin.pl} Altering an XML document through LibXML
{xslt1.pl} Using XML and XSLT to turn data into a web page
{medline.pm} Class of XML element handlers
{medireport.pl} Using XML::Parser to extract information - practical example
{xml2.pl} Using Subs to report on an XML source
{xml1.pl} Using debug mode to quickly check a document
{camels.xsl} XSLT sample for xlst1.pl demo
{mediweb.pl} Parsing XML within a cgi script
{exp.pl} Direct use of the Expat module
{index.xml} Sample RSS data feed (XML data)

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
{filedata} List manipulation - sorting files by size and reporting largest 10
{pc1} (Somewhat) conventional programming methods to parse data
{anagram} Perl program to look for anagrams
{cdk.fasta} Data for sample bioinformatics program in Perl
{filedata2} Sorting files by size - shortened example, harder to follow?
{oldfash} Handling an "arraY" - really a list - the oldfashioned way
{memsave} Compressing data to save memory
{new1} List iteration
{new2} Alternative list iteration
{bacon} Conversion Codons -> Amino Acids -> Protein
{pc2} Using the power of lists to save code and time
{pc3} Handling a file as a single string of text

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?
{chink} About dieing in Perl
{avoidthis} Bad code - multiple actions in one statement

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
{requests} Data file for place_people
{lpo} Manipulating a file of records to extract a report
{place_people} Application that demonstrates integration of all the fundamental elements of Perl
{combine} Combine source code files into single dbn file

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

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
{bmic.pl} Simple CGI script with separated view and elementary validation only
{q15.pl} Quiz - Statistical table generator
{quiz.pl} Top level code for quiz system demo
{msgsys.pm} Message System in Perl
{main.htp} Template for Quiz system demo -->
{myhelpers.pm} Helpers for Perl Framework, MVC demo
{mycontroller.pm} Controller for Perl Framework, MVC demo
{Perl.1} Some sample quiz questions
{myview.htp} View for Perl Framework, MVC demo
{questionset.pm} Business logic for quiz system demo
{mymodel.pm} Model for Perl Framework, MVC demo
{myframework.pl} The FRAMEWORK for a common gateway interface application
{whc_web.pm} Web helpers for quiz demo (and others too)
{thing.pm} Generic object used within business logic

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?
{fur2.py} Operator precedence
{third.c} Calculate and print
{second.c} Calling named blocks of code
{stuff.txt} Data for eleven.c and twelve.c
{vcx} Quick first validation example / Ruby
{twelve.c} #define, breaking a loop, == testing
{furry.py} Whole program
{vcw} without validation / Ruby
{colin} Ruby example - planning and documenting your code
{small_demo.php} A first useful program in PHP
{vcz} Third validation example (catching errors) / Ruby
{seven.c} Repeating blocks of code with a loop
{fourth.c} Calculations and precedence
{fifth.c} Named blocks of code (functions)
{first.c} A first program - a series of instructions
{ten.c} An array to store multiple values
{sixth.c} Conditional code
{vcy} Second validation example (function) / Ruby
{fur3.py} Conditionals
{Chloe.java} First use of functions and command line - Java
{eleven.c} Reading data from file

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
{afresh} Modular programming!
{whatos} Implementation of a design
{cd1.c} Comments and sequence of statements
{day2_1} Functional (structured) coding
{algo_cgi.pl} CGI equivalent of Station Name / anagram program
{rubfunc1} Ruby example - define and call a named block of code
{askuser.py} Sample module for sharing ...
{perspire} First Loop
{compat} Sharing code between modules / Python
{fvm} difference between function and method
{design.001} Designing an application - start here
{cbv2.c} Call by value and name - extended example
{comp_control} Control case / Python
{compat_stage1} reusing code in a module / Python
{cbv.c} Call by value and call be name
{utilz.py} Simple sample module
{algo} Use of a sub to avoid repeating code
{sweat} First Conditional

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.c} Counting down in C
{revl.php} Counting down in PHP
{revl.py} Counting down in Python
{revl.lua} Counting down in Lua
{revl.pl} Counting down in Perl
{revl.shell} Counting down in Shell (Ksh or Bash)
{revl.java} Counting down in Java
{revl.rb} Counting down in Ruby
{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
{amm} Program to read in numbers and return some analysis (Python)
{d2.9} summing a collection
{fodder_stats} Minimum, maximum, total, average, count (Ruby)
{universe.py} Handling unique lines from a file - Python
{d2.8} finding extreme values from a collection
{universe.pl} Handling unique lines from a file - Perl (list)
{scat} Getting multiple results from a single data traversal
{lif.py} Counting the number of times something occurs
{lca} Least Common Ancestor
{uni2.pl} Handling unique lines from a file - Perl (generator)
{algorithms} Some common algorithms applied to a file of data

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.php4} Generating a table from a PHP script
{tabledemo.html} A Sample Table
{former.html} Sample form showing each main element -->
{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
{pcode} Perl - match and extract from a postcode
{bref} Back References
{posso} Sparse, Greedy and Possessive matching
{pocohunter} Post Code hunter / Perl
{lazyvgreedy.py} Comparison of Greedy and Sparse [python] ...
{lookahead.py} Negative lookahead - does not consume / must fail to match [Python]
{lookbehind.py} Negative lookbehind - fail if you have just passed over [python]
{isbn} Testing validity of ISBN number, including check digit
{ahead} Negative look ahead

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
{easier.py} making regular expressions easier to read [Python]
{ex1.php} Regular Expressions in PHP - from simple yes/no to ancilliary responses

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
{tconv.c} Well Structured program in C. Read / calc / report
{topd} Top down design - first example in Perl
{summer} Planning a simple application - the result
{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
{sc.java} Structured code in Java
{sc.perl} Structured code in Perl
{rails_oo} Using the Object Oriented idiom
{after3.c} Functions - passing in a structure
{osx.php} An array of objects
{ua03} Creating and using objects in Perl
{cap_object.py} Object coding
{oogap2} Log file gap reporter - using multiple objects (Python)
{ua02} Calling functions from a module in Perl
{an03} Creating and accessing simple objects in Perl
{develop.cpp} Methods (C++) - functions that run on an object
{after2.c} Functions - fundamental calls
{ua} Final example - calling basic Perl classes
{an02} creating a hash of data in a package in Perl
{animal.pm} Creating and using Perl objects in a class
{cap_functional.py} Functional coding
{rails_script} Using the scripting idiom
{oogap} Log file gap reporter - using logtime object (Python)
{ua01} Calling functions in Perl from another file
{cap_singleblock.py} single block coding
{gap} Log file gap reporter - single code block (Python)
{ringer} Test program for the "bells" class
{an01} creating a hash of data in Perl
{bells.pm} Bell change class - notation and change interpreter
{classic.php} First Class demo

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
{poc3} Piece of Content - using Perl's OO features
{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
{poc6} Piece of content - setters and getters
{Hotel004.cpp} Designing and implementing a class - C++ - stage 4 - initial test reporting
{poc4} Piece of Content - add a catch-all AUTOLOAD
{poc5} Piece of Content - a list of objects
{Hotel006.cpp} Designing and implementing a class - C++ - stage 6 - test pattern object
{oo2.py} Muliple classes / inheritance / polymorphism
{Hotel003.cpp} Designing and implementing a class - C++ - stage 3 - define methods
{Hotel007.cpp} Designing and implementing a class - C++ - stage 7 - separate files
{poc2} Piece of Content - encapsulate logic in package
{nr301} Associative class example - log file analysis - Ruby
{railstock.oo} Rail stock demonstration - Object Oriented
{HotelRoomBooking.cpp} Function definitions for class being developed
{TestPattern.cpp} Function definitions for Test Pattern Class
{oo3.py} Comparator across multiple classes
{Hotel005a.cpp} Designing and implementing a class - C++ - stage 5a - adding another accessor method
{TestPattern.h} Headers for test pattern
{poctest} Piece of Content - main program to use poc.pm module
{Hotel002.cpp} Designing and implementing a class - C++ - stage 2 - add API definition
{oo1.py} First Class definitions and use
{Hotel001.cpp} Designing and implementing a class - stage 1, test program
{poc7} Piece of Content - extended class and inheritance
{railstock.structured} Rail Stock Demonstration - structured
{poc.pm} Perl Module - for poctest demo
{oo4.py} high, higher, highest (static method)
{da.txt} Data for rail stock demo
{bobclass} Moving detail into classes

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
{umli.php} Code to illustrate UML examples
{single} Singleton class in PHP
{Validate.pm} Validation of parameters object
{valerie} Test and demonstration for Validate.pm
{pages.py} Factory for webpage objects
{runners} Full OO example / various design patterns in Perl
{uml2.php} Factory, Comparator, Object Sort routine
{demo1.php} caching design pattern

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
{doggies.php} A set of classes in PHP, factory method, comparators and test harness
{Shapes001.cpp} Framework for Inheritance example
{whm3} Residents and Delegates - extended from customers [Python]
{Shapes003.cpp} Adding a factory / static method
{Anitest.java} Test Harness - Java
{Farmanimal.java} Farm Subclass - Java
{Shapes004.cpp} Adding test harness
{Petanimal.java} Pet subclass - Java
{flightdemo.cpp} Associated object - in C++
{puma.php} Inheritance, Overriding, Polymorphism, Object comparison of different types [Python]
{Shapes002.cpp} Inheritance example - Constructors and first accessors
{transport.py} March 2015 / multiple classes in Python
{Anyanimal.java} Base class - Java
{Shapes005.cpp} Adding operator overloading

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)
{tic_view.py} First View - complete PyQt (Python 3, Qt4) GUI app
{accomlist.py} Controller - complete PyQt (Python 3, Qt4) GUI app
{tourist.py} Model (data class) - complete PyQt (Python 3, Qt4) GUI app
{model.py} Model - complete PyQt (Python 3, Qt4) GUI app
{ticfull.py} Alternative View - 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
{oursub.svg} Sample of an SVG file
{svgframe.html} How to include an SVG file in a web page
{glb.c} OpenGl / C / Mac OS X
{tryme.svg} Fixed and relative positioning

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
{choice.php} Framework - Bus Service Choice
{col.data} Bus user choice - the things the user must weigh up
{4lm_business.inc} 4 layer model - business logic for selecting bus futures
{choice.data} Weights table - bus future choice
{row.data} result text - bus service choice demo
{o247.htp} Tempate for bus service choice
{4lm_webhelpers.inc} Web Helpers - updated for bus future choice example

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
{col2} Simple Ruby Program - read, calculate, output
{googletrace} Where has Googlebot crawled?
{amazing} Initial Demo - finding matching lines in a file
{six} loop showing iterations
{rs06} All together - class, factory, comparable, exception, files, strings, arrays
{one} Hello world and elsewhere
{pmf} Subclass, Inheritance, Polymorphism, static methods, factories ...
{four} prompt, read, echo, calculate
{eight} log file analysis
{latest_log} Sample Application - Read and analyse a web access log file
{five} if elif else ... and while
{two} calculation, coercion, etc
{three} read - calculate - output
{seven} Simple file parsing

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
{d2.1} Prompt, read from user, calculate, output in Ruby
{col1} First Variables in Ruby
{e1} Simple input, calculate, print
{d2.2} Use of intermediate variables
{hello.rb} Some simple Ruby stuff
{d2.3} Use of intermediate variables - alternative

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
{f2} Moving detail into objects - after
{obrub1.rb} Define and use a class
{beast.rb} Sample class in its own file
{yesyes} data record to object and object to data record mapping
{d2.10} Define class, create and use instances of it
{shapes.rb} Object Orientation in Ruby - Training Example
{hit.rb} A class showing each variable scope in use
{obrub4.rb} Application to call in group of classes from a library file
{d2.11} Use of 'self' in Ruby
{nother} Operators as methods - polymorphism in *
{stations.rb} thick class, thin application example
{trainclass4.rb} Definition of a train - to be shared between all railway applications
{d2.12} Calling program to access class in another file
{f1} Moving detail into objects - before

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
{d2.4} Easier output formatting in double quoted strings
{bw.rb} Formatting strings and conversions
{x01} Constants in Ruby
{floater} Floating point rounding errors
{d2.5} Calculations within double quotes
{print.rb} Print alternatives
{calc.rb} Some early gotchas!
{muck} Common Ruby Pitfalls
{bluepeter} Throw a die and track sum of throws
{calcbetter.rb} A simple calculation in Ruby

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
{moretrains} Requiring a module from the current directory
{vcx} Quick first validation example
{dm.rb} Defining and using a method
{llen} Methods and default parameter
{mwpar} In Ruby you can redefine a function ...
{llen3} Default a parameter to nil
{rmi} Multiple return values from a function
{condi.rb} Example of Ruby conditionals
{cx} between and include
{dm3.rb} Dynamic redefinition of a method
{sid} Loop and conditional - exercise
{yetan} immutable object (integer)
{exx} Putting common code in a name block (function)
{howcome} Multiple actions in a single statement
{loop.rb} Loop in ruby - run until it breaks
{dbu} Variable and method of same name
{ex} Class exercise - ordering lunches
{llen2} calculating default parameters
{csep} Separation of repeated and specialist code
{u1} How many teams needed?
{ident} mutable object (array)
{lazyops.rb} Lazy operators
{ddd.rb} Iterators in Ruby
{amp_pass} Passing code blocks to procedures
{scram.rb} Break redo next and retry
{d2.6} if elsif elsif else
{loopy.rb} Loop structures in Ruby
{dice} Throwing dice, summing, printing average
{yrb} yield (co-routines / generator)
{dm2.rb} Method, parameter, optional parameter
{five} Some unusual conditionals and loops
{mi} redefine a method in Ruby
{ctors.rb} Comparators - what is true?
{collect} for and each loops over an array. Also sorting
{d2.7} while, until and for loops - comparison
{rubber} ? : conditional operator in Ruby
{doubleret} multiple returns and unlimited parameters
{tog} toggling a variable - ruby

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
{train.rb} Sample class with accessors and comparator methods
{triang.rb} Simple class and use
{tharn.rb} A class with a test harness
{tj2.rb} Displaying via an Inset class
{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
{thirdrail} File -> Objects -> Analysis
{disc} How to define and use a class
{stan.rb} Standard methods!
{ucl.rb} Use a class defined in another file
{mm.rb} Accessing class variables, and adding methods
{obtest.rb} Static (class) method definition and use

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
{finfo.rb} File status checks
{afid.rb} All files in a directory
{sysact.rb} Run a process from Ruby, stream output back
{webreader.rb} Read a page given its url
{ndo} Running another process - netstat example
{courseprice} Checking if a file exists and writing to a file
{filestuff.rb} File handling demonstration
{amaze1} Find and count matching lines in file
{d3_2} Testing files
{filemore} Analysing a file / counting events
{two} chop and chop!
{formprint} Formatted printing
{ddd} parse a directory
{d3_3} Reading from another process
{large} Checking a whole directory tree
{d3_1} iterating through a file, file output

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
{rrs} Sorting the keys of a hash
{pophand.rb} Read, interpret a data file
{d3_8} Simple but practical hash example
{pwc.rb} Copying an object in Ruby
{swapper} Swapping two variables
{pw.rb} %w to set up an array, and compact
{d3_5} Array methods such as grep
{d3_6} Array of arrays
{arar.rb} Arrays of arrays
{kvp} Sorting in Ruby
{amaze4} Array of counters - log file statistics
{a3.rb} methods on arrays
{favr} Defining, adding to, iterating through an array
{lunch} array sorting and iterating
{h2.rb} First hash in Ruby
{h1.rb} First hash in Ruby
{others} Symbols
{tessa} all possible combinations from an array
{logan} Read an Apache httpd access log file and count statuses
{tim} A Hash of arrays in ruby
{d3_4} Arrays, and iterating through them
{randimages} Randomiser of images
{a2.rb} Basic Array manipulation
{toppers.xx} Hash to count server accesses
{mar} Combining arrays - element by element "and" and "or"
{a1.rb} First Array
{d3_9} Using a hash to count web server accesses
{ddd} Symbols v strings
{d3_7} Setting up and using a hash
{bone} Combining arrays

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
{dubber} default - variables are LOCAL
{second} second program that uses classes
{d4_2} Single class example for extension by inheritance
{station.feature} gherkin / features of station class
{O2.rb} Copy v clone
{slogan} Server Log Analysis
{attr} attribute accessors
{inh1.rb} Inheritance in Ruby
{stanley} Listing of standard methods
{transport.rb} Cluster of related (inheriting) transport classes and test program
{food.rb} Single class demo
{reallyshort} Inheritance, Class methods, Attribute Accessors, operator overloading
{journey.rb} Sample class used in sharing example
{d4_5} Inheritance in Ruby
{dub3} no returns on a Ruby method
{stobsort} Data manipulation - object approach
{in4.rb} Inheritance, factories, statics, DATA, lazy ops, to_s
{station_steps.rb} Cucumber implemented test code for station.feature behaviour
{olop.rb} Operator overloading
{disc2} Comparator methods (larger and smaller)
{ststsort} Data manipulation - structured approach
{transact.data} Class / Interitance / Test program data
{finex} Simplest Inheritance Example
{multifood.rb} Class demo - lots of extras
{stations.rb} Sample class used in sharing example
{O1.rb} Amending a base class even after it has been extended
{third} third example use of classes
{d4_3} Object and Class variables (dynamic and static)
{d4_4} Static Method
{overload_add.rb} Operator (+) and to_string overloading, Ruby
{ob2.rb} A class with some class (static) and singleton members
{slash} Server Log Analysis (2)
{transact.rb} Class / Interitance / Test program example showing good practise
{dub2} With $ - variables are global
{cmquick} static and dynamic member variables and methods

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
{summatelse} Regular Expression Alternative Example
{rex2.rb} Splitting at a regular expression
{ii} Formatting example - splitting money between nieces and nephews
{bc} Some String Handling
{d4_8} Regular Expression (including documenation)
{sop.rb} + and * on strings in Ruby
{rex1.rb} Ruby regular expression demo
{finder} search, search / replace, search / execute / replace
{pareea} Class for email addresses / regex for splitting and checking
{kiddos} Formatting a table of data
{heredocs.rb} Here Documents in Ruby
{globalmatch} Scan for global matches
{d4_6} Formatted printing
{mlre.rb} Commenting a regular expression
{se1} Regular Expression Primer Example
{d4_1} Using a string as a collection
{pc} extracting sections from a match
{e2} Embedded variables in strings
{d4_7} Running a piped command via backquotes
{vest} Cleaning up a phone number and checking a postcode
{kids} Formatting values in Ruby
{names} formatting - adjust for longest string
{regex_sub.rb} Regular Expression Substitution
{str_types.rb} Ways of writing a string
{shalt} the compact method removes nil elements from an array

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
{vvx} variable types
{gloop2} Topicalisation - after
{cc} begin block
{topic.rb} Topicalisation - the use of $_
{ruby_awk.rb} implicit loop around code - awk mode
{pgv.rb} Predefined global variables and resources
{envx} reading and setting environment variables from and for shell commands
{tiny} Autosplit mode, a loop round your code, BEGIN and END
{av} Command Line Parameters to a Ruby program
{answer} Data manipulation example (table inversion)
{gloop1} Topicalisation - before
{c3.rb} Process every line via topicalisation
{rerub} Cleaning an incoming string in Ruby

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
{fstc.rb} File Reporter - handle multiple problems and re prompt
{fsta.rb} File Reporter - assumes all is OK
{mighty.rb} Passing exceptions back to calling code
{chq} catching exceptions - file handling
{mycode} input a number from user, deal with errors / exceptions
{mc} Catching user errors - a short demonstration
{bmi.rb} BMI (Body Mass Index) calculator
{fstb.rb} File Reporter - handle problems with open
{except} raisieng and catching exceptions between methods
{catcher} Converting String to Integer and handling errors

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
{papo} yield - calling back to a code block
{tap} Reading a file in parallel to processing
{feeder} yield and iterator - practical example
{faucet} a series of methods in a production line
{lynes.rb} How to write and use an iterator
{ytb.rb} Your own data iterator

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
{jload} making use of data in a JSON object
{wread} Read a web resource into a program
{exprub} Ruby server check with Ruby - Expect
{tj3.rb} Descending into a complex (json) object
{cashell} Calling Shell commands from Ruby

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
{south.rb} CGI Server application from first principles
{ruby_100} analysis of web server log file
{testwise1.rb} TestWise - example pasted from a Firefox Capture
{rubypost} Automated browser to collect from web service
{testwise2.rb} TestWise - multiple stories
{testwise6.rb} testwise - reading from file, writing to console and logfile
{testwise3.rb} TestWise - conditionals - making decisions based on pages returned
{testwise5.rb} Testwise - a first page object
{hello_ruby_cgi_world} Hello Web World
{testwise.log} Testwise - output log
{testwise.in} Testwise data file
{testwise4.rb} Testwise - testing in a loop, and expecting failure
{brightred} Ruby script / CGI - demo reporting current log file
{tj.rb} Reading a Json object from a web site and displaying it

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
{myrssfeed.xml} Sample XML data
{x1.rb} REXML - XML in Ruby - absolute basics
{dbl} Using MySQL databases from Ruby
{tago} SQLite example
{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
{onsite.rb} Testing a webiste with watir-webdriver
{quote_test_log.txt} logfile example watir-webdriver demo
{rubbers} Use of a debug flag to add and remove traces

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
{tcalc.rb} Tax Calculation Module for Mixin
{mixdem.rb} Mixins in Ruby - a short demo
{rubytime} Time objects
{wot.rb} Work out tax - use Taxcalc.rb
{taxcalc.rb} Tax Calculation Module
{pat.rb} Delivery objects - postman sort

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
{controller_floor_controller.rb} Our main shop floor controller
{greeting.rhtml} Some Ruby at the top of a view
{views_layouts_floor.html.erb} Template that encloses all pages in the application
{views_floor_index.html.erb} Home page for Ruby-on-rails sample application
{models_product.rb} How to validate a Product object
{db_seeds.rb} Seeding data for use when application is installed
{ilib.rb} Hello Rails World controller
{views_floor_addproduct.html.erb} The view for the add product page
{views_floor_stock.html.erb} View to list out what we sell, listed aisle by aisle
{config_routes.rb} Routing for product and aisle resources - configuration
{models_ailse.rb} How to validate an Aisle object
{controller_application_controller.rb} Controller General Helpers
{views_floor_addaisle.html.erb} The view for the "add aisle" page
{igot} Rails - application to display from Model, Controller and View

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
{productlister_controller.rb} Controller for Hello Rails World
{seeds.rb} Seed data for product model
{product.rb} Hello Rails World, Model
{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
{rsx} Class testing with rspec
{several.rb} Testing with multiple data values
{tables_steps.rb} Steps for implementing test behaviou for restaurant tables
{tables.rb} Definition of tables derived from behaviour and test specs
{tables.feature} Behaviour definition - for a restaurant table
{testmatrix.rb} Matrix of tests with rspec
{rs001} First RSpec example (no cucumber)

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

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
{greet.rb} Code to implement a behaviour
{station.feature} Scenario outline / table of example values
{second_steps.rb} Step implementation of second scenario
{train.rb} Code to implement a behaviour / second example
{third_steps.rb} Step implementation of third scenario - using RSpec
{hello.feature} Feature description - in Gherkin for Cucumber
{hello_steps.rb} How the behaviour is to be tested
{station_steps.rb} Steps for scenario outline example
{capacity.feature} Feature - Scenario, Given, When and Then

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
{gunnislake.feature} features - back end JSON service
{second_steps.rb} implementation tests for lunch application
{breakfast.php} First sample page to test
{quotation_steps.rb} Step definitions for web site testing
{one_steps.rb} implementation of first features
{second.feature} Testing lunch requirements
{titleregister.json} Json sample
{tamar.feature} First simple connectivity test
{hello_wat_steps.rb.hold} Tests - using Watir
{quotation.feature} Gherkin Behaviour for a web site
{framework.inc} include file for microPHP site for testing
{plymouth.txt} Sample output of running final example
{hello_quotation.feature} Gherkin - Behaviour description
{first.feature} Simplest feature file
{plym.feature} Feature - first test of lunches
{lunches.php} Test Application for Ruby / Cucumber
{hello_sel_steps.rb.hold} Tests - using Selenium
{tamarsteps.rb} steps for plym,tamar and gunnislake

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
{sql_demo.sql} Adding and amending data in a database table
{pop_dvd.sql} Insert rows into sample dvd table
{tab2} Second table for advanced join demos
{seeds.mysql} MySQL example - table joins
{make_dvd.sql} Create a database and table for a DVD collection
{loader.sql} Loading data from csv files
{linked.sql} Two tables ... an illustration of the different joins
{tab1} First table for advanced join demos

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
{sql} Table Design - Restaurants / Category / Line item
{docs.sql} Database and table setup for design / complex join example
{docjoin.sql} Select for design / complex join example
{tabled.php} Display normalised MySQL tables on a web page
{authors.tab} Author table
{docdata.sql} Data for design / complex join example
{books.tab} Book table
{pivot.sql} SQL to load book, author and pivot tables
{pivots.tab} Pivot table
{just.php} Skeleton application - design / complex join example

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
{mkexcel.php} Returning data from a database via a URL as an excel spread sheet in PHP
{mqxyz.php} Simple demo of PHP table from SQL
{t1.sql} create tables for t1 demo
{t1.php4} PHP table insert into two tables / join / enquire
{mkexcel2.php} Returning data, opening Excel including formulas, from PHP

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
{perlit} 6 tables ordering system model - perl program
{agents} SQL statements for Agent and Property demo
{rz} 6 tables ordering system model - running output
{seeder} Data for join v left join demonstration
{homes.tab} Houses for sale - Trowbridge, Melksham, etc
{agents.tab} Estate agent details - Trowbridge, Melksham, etc
{shopper} 6 tables ordering system model - Design and test in SQL

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
{vlatest.php5} A simple example using PHP mysql functions
{vlatesti.php5} How NOT to use mysqli - don't just add an i
{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
{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
{stp4} Stored procedure to return a result set
{twcrp.sql} MySQLdump sample - twcrp test database for store procedure use
{stored5.php} PHP call to a MySQL stored procedure that returns a result set
{seed.sql} Data to seed tables for stored procedure demos
{stored4.php} PHP call to a MySQL stored procedure passing a parameter
{stp5} Stored Procedure taking a parameter
{stp3} Simple stored procedure definition

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
{distance_graph} itcl and tk together - full app
{day2} A good - but not perfect - early program
{myfuncs} File of function(s) for common operations
{day3} A good - but not perfect - second program

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
{anno2} Comments - inline and continuations
{anno} A trivial Tcl program with comments
{hddh} Hexadecimal to decimal, and decimal to hex, in Tcl
{gry} Variables in Tcl - first use
{gr2} Double quote substitution in Tcl
{pricer} Completed simple application in Tcl - pricing tickets

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.
{minimax} Answer to practical - minimum and maximum
{diy} The for command
{wtot} breaking out of a Tcl loop
{dthrow} The switch command
{group} The if command in Tcl
{wipats} More flexible alternative to a switch
{globber} Switch - exact, glob and regex
{older} Conditional Operator ? and :
{food} Alternative conditions - while loop
{wd} The while command in Tcl
{group4} deferred execution blocks with { and }
{lunches} Lunches for each day of the week
{flt} for while and foreach loops compared
{group5} if, elseif and else in Tcl
{ftoc} F to C conversion - exercise
{morelunches} Lunches - different places to go
{validlunches} Lunches - validating user input within range
{lazy} The ? : conditional operator
{diy2} The foreach command
{ftoc2} Is water a solid, a liquid or a gas?

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
{stringinfo} Getting information from a text string
{ac_report} Complete example - Access log file analysis
{rf2} Using scan to get a field from a string
{dm2} A further date match example
{rematch} String matching using a regular expression
{hunter} Example of analysis of a log file
{iconfinder} search for all icon references in a web log
{match} String matching - using globing
{poco} Postcode identifier and string splitter
{brax} Literally matching round brackets in regular expressions
{stringman} Manipulating a string
{rf} Opening and reading a file
{rf2a} Using scan's return value
{datematch} Matching a date using a regular expression
{apfo} format and append commands
{ccat} lappend and concat - the difference

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
{growth} station growth program
{os_letters.txt} Easting and Northing additions for OS grid references
{stdlook} Look up Florida dialling codes
{slist} list manipulation with struct::list
{expand} Handling a list of command parameters
{arx} how an lsort callback works
{pk4.tcl} Generate a series packet sizes for network testing
{distance_between} Finding distances between places base on OS grid references
{acr2} Treating lines of data read from file as a list
{fido} Open and read a file line by line
{days} A list of days
{dt4u} extract field pairs from lines
{liimp} List basics in a nutshell

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
{p4} returning a variable - RECOMMENED for passing 1 piece of data back
{p2} Sharing a variable using upvar
{dresser} Changing a value within a proc and returning the altered value
{p5} Sharing a variable using uplevel - obscure!
{add2} Answer to final exercise
{p1} Sharing a variable using global
{cbn} Using upvar to call by name
{yetan} uplevel to store a value in parent
{uquery} Shared file of procs
{whatandwhen} Exercise - please write the proc to complete
{tied} Using an array of inputs as if they were local variables in a proc
{p3} Sharing a variable using upvar and call by name - RECOMMENED
{wwbetter} Better sample answer - "getnumber"
{addindemo} Sample code to complete - final exercise
{pr3} loading a file of procs shared with other applications
{gsc} The global scope
{up1} Using upvar to effect a variable in the calling code
{wwanswer} First sample answer - "getnumber"
{pr1} Defining a proc (command) and using it
{vardemo} Calling a proc with a variable number of arguments
{scope1} Variable default to being local
{doublit} Another upvar example for learners
{another} upvar to return a second value
{dr2} Optional parameter in Tcl
{knots} Unloading an array of inputs as local variables in a proc
{uv} Call by value and call by name

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
{arr_log_2} Selecting elements from an array - glob matching to keys
{dict4} dict for
{railutils} File of procs to do with station info
{au} Demo of use of upvar
{ar2} Checking if an array key exists
{rail_dict} Sorting a dict
{dict1} setting up and get, dict
{dla} list, array, dict
{arr_log_3} Passing arrays in and out of procs - using upvar
{dnicer} test program for station data
{ar3} looping though an array with array get
{topskill} setting up an array of lists, sorting, listing out elements
{dicdem} dicts - using the various subcommands
{nested} nested dicts
{ifinder2} search for icon references and count them
{ar1} First use of arrays
{dict3} iterating through the keys of a dict
{mini} 2nd program using railutils
{dict2} Conrol - using a string as a list
{ifinder} search for icon references; list icon names
{ar_rail} Setting up an array and sorting the elements by key
{stfinal} final exercise - array of dialling codes
{arr_log} Access log counter using arrays

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
{failer} Using catch to trap file open failures
{for_qa.tcl} Data reformatting example / course end tie together
{recent} List all files modified in the last hour
{filework} Report file statuses
{dnstab} Read a file, extract from it
{disc_status} Piping input from an operating system command
{files} fileutil package in use
{diary} diary data for for_qa script
{bigbelow} Find biggest file in or below a specified folder
{rail} Data extraction and reporting from multiple files
{bigbelow.v2} biggest below - practical example that traps empty folders
{biggest} using glob to check all files in a directory
{multifile} Output to stdout and several files at the same time

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
{weblinks} Grab a web page and report all links
{yap} Expecting from a list (expect block)
{qp} Expect to automate a series of pings
{xpx} quick ping around a series of hosts
{evening} Automated backup
{ftp2} Expect with some error checking and decisions
{ftp1} First Expect example
{gup} Grabbing a log file and locally analysing
{e1} Simplest ping check via expect
{e2} Ping via expect, echo back a value from the report
{e3} expect - do not grab indeterminate
{plet.exp} Expect for Windows - ping a host and guess its distance from you
{linksandimages} Grab a web page, report all links and images
{wuff} Expecting from a list (regular expression)

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
{exp_ping} expect - multiple parallel pings, Red Hat Linux version
{botget} parallel expect example - get robots.txt from several servers
{mex} multiple processes through expect
{server.tce} Expect script, web server, CGI
{pingle} parallel pings - Caldera Linux version
{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

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
{ns_no} shows how variables are lost between proc calls
{rules.tcl} Definition of a package with namespace
{doubler.tcl} define a package to contain a namespace
{tpack.tcl} package chicken - part of dinpack demo
{nsp} setting up and using a namespace
{packs} Loading a package
{gpack.tcl} package goose - goes with dinpack
{ns_yes} Saving variables in a namespace
{ns_exim} Namespace export and import
{twice} Using a package - without namespaces
{2wice} Using a package that contains a namespace
{ns_up} Variables saved between proc calls in the next code level up
{updown} uplevel - performed in calling code variable space
{nsq} Adding a package to a namespace
{toes.tcl} Package to go with twice demo
{show.tcl} Defining a package
{nex} packages with and without namespace
{tabby.tcl} a namespace wrapped in a package
{dinpack} Using packages and namespaces together
{ns_y2} Counting proc calls using a namespace - shorter example
{legals.tcl} Definition of a package

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
{dunno} unknown command calls unknown proc
{vtt} Tcl program that uses the trace command to report the manipulation of a variable
{vt} Tcl program that manipulates a variable
{edo} Running an external process in Tcl
{netting} catch - catching error, and error message too
{firstline} Using catch to trap runtime errors
{err1} Example of a Tcl program that fails
{lick} Finding size of .gif image in Tcl - binary scan
{fishing} exceptions in Tcl
{times} proc coverage example
{goalie} catching exceptions - Tcl style
{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)
{tk_accesscount} Tcl/Tk - Access Log File counter!
{gui_2} Classis Tk structure - procs, widgets, geometry ...
{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
{tk_wm} Tcl/Tk - First Frame
{tk_b1} Tcl/Tk - button test 1
{tk_event} Tcl/Tk - Event demo
{admin} Tk GUI to provide system state reporting box
{colmat} Sample answer 1 - coloured labels and layout question
{tk_b2} Tcl/Tk - button test 2
{colmat3} Sample answer 3 - Completed layout question
{tk_b3} Tk - attributes of a button
{deferintk} Deferred execution can cause a problem in Tk
{colmat2} Sample answer 3 in development
{tk_b4} Tcl/Tk - button states

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_l2} Grid geometry manager, showing cell size via colour
{tk_l3} Grid geometry manager, expanding cells via -sticky news
{numpad} Laying out a numeric keypad on a grid
{tk_wh2} Grid geometry manager - cells spanning multiple rows and columns
{tk_which} Grid geometry manager, using -rowspan and -columnspan
{tk_log} Grid geometry manager - first example
{tk_wh3} An example of the place geometry manager in use
{tk_l4} Grid geometry manager - column weights to control resize behaviour

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?
{imgoncanvas.tk} Placing a GIF on a canvas
{can3} Demo of different graphic objects
{can2} Drawing shapes on a canvas and dragging them with the mouse
{histo} Histogram drawn on a canvas - generalised code
{can1} Drawing on a canvas
{can4} Line styles on a Tk canvas
{tktext} text options in Tk - colour, font, size, centring

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
{clifflift} Tcl/Tk - Scales linked like a cliff lift
{tk_sc2} Tk scales with variable feedback
{tk_scale} Tcl/Tk - First Scales
{willie} Check buttons - defaulting to be selected or not
{tls} Scrolling a canvas (canvas, scrollbar, toplevel, frame, grid)
{tk_rusure} Tk - popup box to ask "are you sure" written using Tk basics
{tk_fvar_2} Tk frames - flexibility of layout
{tk_fvar_1} Tk frames using variables to allow extra flexibility
{sltvtl} Slider, text variable and pop up
{tk_ru2} Tcl/Tk - Are you sure window using a message widget
{linedisplay} Display with frames, canvas, window manager
{tk_frames} Nested frames - first completed example

Module T221 - Menus
[1475] Tcl/Tk - updating your display while tasks are running
{mb2} Various options for menu buttons
{mb1} First menu button
{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
{skeleton} Template for resource exercise
{tk_res3} Use of two files of Tk resources.
{lookandfeel} Demonstration file of Tk resources
{bright} Resource file - answer to exercise
{resource3} Resources file for tk_res3

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

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
{tke2} Events to toggle text on a widget.
{tke5} Button binding for all keys, down and up
{tke3} Button bindings to a single proc.
{caneve} Binding canvas events and keys
{tkbb} Button Binding example
{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
{getpage} Reading http from Tcl
{tlet.html} Embedding Tcl in your browser (client side) -->
{isitnz.tcl} web application - is it from New Zealand?
{tclcourse.tcl} CGI , Server side programming basics
{scale.tcl} Sample Tclet to run within a browser
{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 -->
{formrep.tcl} Using Tcl as a CGI scripting language - form collection

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
{rupple} Expect - run rup on a named host
{engineer} send_human in expect
{pingabout} Expect to run ping on a named host; able to switch host during run
{chammy} Automated Logging In
{multisigs} Trapping multiple signals in Expect
{subnet_test} Check a subnet for pingable systems
{immortal} Catching signals in expect
{typist} Second example of expect's "send_human" command.
{tctel} Telnet wrapper using interact
{sslo} Send slow example - expect
{tcenhance} Telnet wrapper using interact; provides filtering too

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
{fullapp.c} C program that invokes a Tcl Interpreter
{secret.c} Run a Tcl script from an encoded file
{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
{mytcl.c} Simplest call from C to Tcl - just a wrapper

Module T244 - Socket Programming
[4462] Server program written in Tcl using sockets
[785] Running external processes in Tcl and Tcl/Tk
{tclserver} food server - pass on previous persons contribution
{kesclient} GUI (Tk) client which uses information provided by kesserv server
{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
{itlist} Using [incr-Tcl] to hold a list of objects
{petal} Example that loads Itcl into tclsh
{find.itcl} List available classes in [Incr-Tcl]
{animal2.itcl} class that loads Itcl into basic Tclsh
{ootcl02} Creating and using objects, cget and configure
{hello.itcl} [Incr-Tcl] Demonstration
{pet.itcl} itcl - second sample class
{exv} Multiple classes and inheritance demonstration
{weekend.itcl} [incr-Tcl] - Inheritance and Polmorphism - main file
{animal.itcl} A simple class in [incr-tcl]
{ootcl01} Creating and using objects
{film.itcl} [incr-Tcl] - Base class and two classes that inherit from it
{inherits.itcl} Multiple inheritance and constructor calls

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

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
{aretest} advanced regular expression match demo
{sparkle} Sparse v Greedy regular expressions
{blob} Progressive regsub examples
{T247.tcl} Tcl in use for CGI scripting

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
{tt2.test} tcltest example using setup and cleanup blocks
{ttrun} tcltest - an example running all the tests in a directory
{tt1.test} Test under tcltest, version 2
{ttest} tcltest - first steps
{tt3.test} tcltest example that runs only if constraints are met

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
{town_simulation} Main program - town simulation exercise
{towns_about} Overview of Town Simulation example
{tap.lua} include file to load data and functioanllity
{towns.lua} Town simulation - town type definitions
{towns_output} Town Simulation - the program outputs ...
{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?
{simples} Read keyboard - calculate - output result
{straightforwards} Read - calculate - loop - output
{moongreet} Hello Lua World
{hello} Some variable types in Lua
{lop} Testing to see if a fallback is needed
{ello} Commenting - line and multiline
{easys} Read - calculate - conditionals - output
{demo} Some Lua Basics
{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
{vatty} Take the VAT back off a gross amount
{allfloat} All Lua numbers are floats
{ludo} Comments in Lua
{ichange} Lua - integer changes 5.2 to 5.3
{rnum} Reading from the keyboard, calculate and output
{prncr} io.write allows output with no new line
{larith} Simple string format example
{ccinit} Initialising Variables
{furry} Lua basics - calculations, output and comments
{vars.lua} Lua Comments and Variables
{vn} Variable naming in Lua

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
{bpm} string.find v string.gfind
{clike} for loop with pairs and ipairs
{meerkat} Lazy Operators
{ll2} while loop and repeat until loop
{lsx} Lua for loop - termination
{floo} for loop in which end condition changes
{runt} repeat until
{whilly} Writing cleaner code without break or continue
{doco} Changing loop counts
{kz} Example of a for loop
{lloops} while and for loops
{swans.lua} Swan family - Lua
{exa} Loops and conditionals - exchange rate example
{clumpit} for loop termination
{lif} if, elseif, else
{tchart} for loop with start, end and step
{andor} Lazy and / or operators
{wcd} Comparison of while and until loops

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
{s2} Finding literal strings
{ul} Use of string.rep
{sf} string.format
{kiddos} Spread money gift around a group of children
{qbs} backslash specials in character strings and other basics
{mlx} Single and multiline strings
{moopark} Answer to excercise - Theme park takings
{stem} Basic String functionality
{gimme} Reading from the keyboard and string basics
{ee} Excercise to print out exchange rate table
{two} Checking a NUMBER has been entered
{kids} String formatting
{three} Wait until a NUMBER has been entered
{splitter} Using string.find and string.sub to split

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
{tabo} Tables - some basics
{cleversort} Sorting with a user defined routine
{sorting} Sorting tables
{ooco} Assignment of a table - by reference
{clone} Duplicate (clone) a table
{t1} mixing associative and normal in table
{tinies} Reading a file and creating a table
{clo_demo} User defined sorting in Lua
{moretab} Getting the minimum number from a table
{sf3} Read file, split line, tables of tables
{duh} What is in a table?
{ph} pairs, ipairs and #tablename iteration
{synsug} . v ["...."] v insert
{tat} whole table v single member, pairs v ipairs
{asort} Sorting an Associative table
{settab} Set up a table, output in reverse
{taba} Tables as associative arrays
{spjo} Split and Join a string into / from a table
{party} Read and store data until we get a blank line

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
{funone} Function calling and definition in Lua
{cl2d} First Closure demonstration
{fcv} Dynamic code loading
{size.lua} sample module - exercise answer
{dress1} The problem of default global
{dress2} declaring variables local to avoid global issues
{fav} Using tables and functions within them
{testharness} Loading functions from a file
{isd} An adaptive function in Lua
{owsort} how sorting via callbacks works
{loadthese.lua} functions to include within a test harness
{lomore} variables local to a block
{mj} A function to take a lot of parameters or a table
{selit} variable number of parameters and the select function
{tabasnamed} function call via table
{summer} variable arguments - a function to add up numbers
{symet} Symetric Functions
{yik} Need to use local to reduce cope of variables
{dress3} Code loads at run time not compile time
{aaa} A table of functions, calling each in turn
{ex106} excersize - functions
{rmv} returning multiple values
{funtwo} global, local and call by value
{lazy} lazy operators / short circuit evaluation
{fsr} Flexible Function Calls
{exrate} exchange rate example as a function
{slct} Returning multiple results
{brvret} break v return
{vargs} Variable number of arguments

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
{meta3} creating and using a table of tables("objects")
{metatiny} Metatables - the mechanism
{dibdab} We can keep funtions in a table too
{train_objects} using tables as classic objects
{oblet} Hello Object World
{metapetite} Overriding an operator on a table
{north} Comparing dot and colon
{trains} introducting metatables
{tabby} Define special behaviours ...
{zoo.txt} Sample data file for animal demo
{anim_o1.lua} Tables to associate functions with data
{service_12} table for data and functionallity
{ii5} bus and train tables, and printing metatable
{index_123} __index and __newindex
{obtable} Polymorphism in Lua - table of objects of different types
{Sphere.lua} Definition of a sphere object
{Dice.lua} Definition of a dice object - Inheritance
{alog} Program to use visit objects
{kitten} Setting up tables and printing them out - control
{cat} adding in extra behavious
{visit.lua} definition of visit objects
{meta4} redefining operators
{meta2} Simple use of a metatable to create a class
{couples} Moving towards Lua objects - Metatables
{animals.lua} Using a metatable to define print, <, etc
{metamid} Adding user methods via a metatable
{cuboid} Illustrates use of a class of objects
{xlog.lua} Access log - exercise framework
{Cube.lua} Definition of a cube object
{lottaob} Polymorphism in Lua - table of objects of different types
{rail5} a table for each station
{overload_add.lua} Operator (+) and to_string overloading, Lua
{trains_control} pre-metatables
{newCube.lua} Definition of a class in Lua
{meta1} preparations for metatables - this is just a table
{acobj} The OO paradigm applied in Lua
{metasmall} Metatable to change a table characteristics

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
{dls} Pattern substitute, pattern match and extract
{slander1} Pattern matching - FAST code
{slander0} Pattern matching - SLOW code
{split} split or explode in Lua
{iiapc} Pattern matching in Lua (not Regular Expressions)
{patplode} iterating through a string, choosing a pattern
{pcis} Pattern match and extract - a postcode
{lpm} Anchoring and delimiting patterns
{stratch} String Pattern Matching

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
{sf5_main} first program to use shared utilities
{Distance.lua} Namespace definition in Lua
{j2} ... then moving logic out to a module
{withstrict} How strict.lua can trap globals
{mymod.lua} First Lua Module
{httpcalls.lua} A module to handle web access log records
{gdist} get distance between points - uses module
{MyLib.lua} where do modules / namespaces load from?
{exc} Excercise on loading functions from a file
{skills.lua} Sample answer to exercise - an include file
{useit} Program to use a module
{logex} Second program to use shared utilities
{MyLib2.lua} where do namespaces load from?
{joinery} Separating out detailed logic into separate functions
{myutils.lua} utility functions for multiple examples
{strictcure} How strict.lua can trap globals

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
{boring} File open, read
{zz} Some file reading fundamentals
{filescan} Finding the latest log file and analysing it (popen, ls)
{flapper} file read and write - line by line
{emmas} Looking for (and counting) email addresses in a log file
{loganal} Log file analysis
{flipper} keyboard and screen read and write
{skill_lister} Processing a file of records, splitting each record
{grounds.lua} Soccer grounds - Lua
{log_counter} Command line and data file use / full course example
{info.txt} Soccer ground data for Lua and Python example

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
{splut} trapping Lua errors - assert
{gp1} trapping an error via pcall
{protectedcall} pcall to trap errors in a lua function call
{gp2} Assert - test a condition and exit with your error if it fails
{splot} trapping Lua errors - nil and error
{tbp} Stack Traceback
{errc} Error handling on file open
{wonky} error checking through pcall
{gp0} 'Control' for error trapping - failing example

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

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
{crcr} coroutine basics
{charmoves} coroutine for game player movements
{coro} simple coroutine example
{nocoro} NOT using coroutines - filling a table then using it instead
{inco} Passing parameters to coroutines
{datafeeder} using a coroutine as a generator
{ff2.lua} Multiple coroutines in parallel use
{cosy} Illustration of Coroutines
{controller} setting off a number of timers

Module U116 - Network Lua.
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, 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
{formone.lua} Web Page via CGI in Lua

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
{getos} What is my host operating system (in Lua)
{top.lua} Lua program that loads and runs C code
{luapassing.c} C code - callable from lua with parameters passed
{fromlua.c} C code callable from Lua - Mk 1
{passing.lua} Lua code that calls a C function, passing params and returning value
{wrapper.lua} Lua script to load and run C functions - Mk 3
{candy.c} C code callable from Lua - Mk 3

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
{envelope} Command Line parameters in Lua
{lugra} Using the gd module and library

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
{shortplatform} postoptimised Lua example
{loadthese.lua} Functions to include within a test harness
{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
{el004.php} XHTML Page with PHP, dynamic reload and style
{el005.php} XHTML Page with PHP, dynamic reload, style and image
{el003.php} XHTML Page - PHP clock, auto reloads every minute
{el002.php} XHTML Page with PHP (current time and date)
{el006.php} XHTML Page with PHP, dynamic refresh (metatag), style (css) and image (jpg) that resizes to browser window via Javascript
{codes.php} ASCII codes for HTML special characters
{el001.php} XHTML Page

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?
{frime.html} elementary formatting and images
{3wi.html} Multiple images in a piece of HTML
{bgdemo.html} Tiled background (random image)
{picshow.php4} Random image using PHP

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
{esq.php} A first script - just echo inputs
{smith.html} target page for a link
{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
{dpd.php4} hierarcy navigation - PHP without frames
{framed_dpd.php4} hierarcy navigation - PHP with 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)
{isflash.html} Sensing whether Flash is available on a browser
{fourth.html} reporting platform information via Javascript
{seven.php} Changing one Select menu based on another selection
{dynamic.html} Dynamic Image (Using Javascript)
{nine.php} Javascript, PHP and MySQL used together - training example
{first.html} Simple Javascript variables, and an alert box
{terry2.html} Roll over an image to change another image
{six.php} Validating user entries at the browser
{jskl.html} Javascript event handling on a form (textarea)
{eight.php} Disabling a form input until another element has been completed
{smonth.php} Disabling a form input until another element has been completed
{second.html} Conditional in Javascript - wording based on browser
{fifth.html} Providing different links depending on which browser
{geoloc.html} Reporting back your latitude and longitude
{third.html} Checking plugin availability

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?
{isflash.html} Sensing whether Flash is available on a browser
{squish.php} PHP script that shows server side interaction
{button.html} HTML shell to load a flash movie
{ButtonBottom.as} Interaction from Actionscript to server and database
{Buttontop.as} Actionscript to server interaction

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
{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
{cshello.html} First example of the application of style

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
{ddisp.html} block and inline display attributes
{dheir.html} document heirarcy
{dte.css} flexibility in text styles
{dtext.html} text demonstration of styles
{dfsr.html} relative font sizes using percentages
{dshello.html} different types of element selector
{dhs.css} style sheet applied to a 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
{e01.html} Laying out elements of a page
{tabin.html} Standard tags v classes v tables
{eoscr.html} Overflow and scroll - cascading style sheets
{epl.css} Style screen for positioning demos

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.html} page layout is within style sheet
{hex2.html} with tags embedded in page
{holder.html} holding page
{hex3.html} Page layout included within style
{hex_direct.html} Direct code - older style tags
{direct.html} Direct coding
{hex4.css} Style for example 4
{styled.html} Styles within page
{hex3.css} Style sheet for example no. 3
{hex1.html} Direct Coding

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
{nuform} Some examples of the % (string formatting) operator
{rv1} Using a generator to avoid a large intermediate list - control
{peeps} Converting a file on disc to a list of objects in memory
{extend.py} Decorator, lots of __ methods, formatting, and more
{ld} Lists, lists of lists, mutable and immutable
{zzz} transport in Ireland
{animals.py} Sample class with test harness too
{tupperware} Trying to modify a tuple
{neville} Simple log file analysis
{mlog} Tracking start and end records
{together.py} Station growths
{monty} First 'real' application
{fdo} File read and write - program 'samples' every 10th line of a log file
{d2} ways of looping through a list
{dfg.py} Hiding algorithms in functions - 'encapsulation'
{demox} How EVERYTHING is an object - even functions!
{grabbage} Reading a web page 'as if it was a local file'
{ooe} generatings lists of 365 elements to convert day of year to month and day
{p4l} Use of xrange rather than range to avoid huge intermediate lists
{pipo} Running an operating system command via a pipe
{wool} Generator function to prevent need for intermediate list
{darling.py} file to be included to bring in application globals
{sheep} lists of functions, lambdas, callbacks (posh/flexible ways to use functions)
{costings.py} A file of functions for 'from' or 'import'
{wac} Web Access Counter - parsing big data file
{demo2} first real application - simple calculation
{fd} Some early list demonstrations!
{re1} Regular Expression to extract data from log file (and dictionary analyse)
{dooper} A one-liner to print a file's contents
{dd} loading functions from shared file
{demo} early python demonstration - using, re-using, copying variables
{accts} First steps in Object definition and use
{filer} Reading a file line by line (good for huge files)

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
{hello.py} "Hello World" in Python
{qx} Singapore Dollar Answer
{new_ok} Printing strings in Python 3
{ok} Printing strings in Python 2
{fred} Hello world - Python v Java
{scope} Python is "default local"
{melksham.txt} Reform 0 sample data
{d4_1} Factory demo
{stations.py} Samsung example
{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
{y102a} Answer to end of module exercise
{henry} Conversion, Coercion, and 2 forms of print
{leadollar} Output - with and without spacing
{o2} Stripping leading and trailing space
{oper.py} Maths operations in Python
{pout.py} More about print statements
{const.py} Constants in Python
{yraw} input v raw_input
{inout.py} raw input
{comment.py} Commenting your program
{i2.py} input with built in coercion
{pygo} Deleting a variable v deleting its contents
{pasco} Pascals Triangle
{repo.py} Operator precedence in Python
{tqs.py} Strings several lines long
{trimmer} early example of formatting output
{demo} Simple first steps - prompt, read, calculate, report
{cli} Running a python program without having to type in "python" every time
{constr.py} Constant Strings

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
{if3.py} Nested blocks
{three.py} if statments - various ways of writing them
{ken} single and multiple statement blocks / conditionals
{tab2.py} loop controls - break and else
{george} if / elif / elif - how it works
{eqt} Comparions
{b1.py} if - elif - else conditional
{combo.py} Combining conditions with and and or
{groupsave} Groupsave ticket calculator
{lenny} First Loop
{shin} with as and in
{shand.py} Shorthand operators
{table.py} a loop in python
{python_switch_case} Alternative to switch, case and default
{cally.py} Days and months exercise - answer using methods
{sintea} Singapore Teapot - exercise answer
{if2.py} if with a block
{if4.py} if, elif and else
{swans.py} Swan family - Python
{isy} is or == in Python
{goal.py} when is a number "false"?
{if1.py} an if statement in python
{sintea2} Singapore Teapot - exercise answer (2)
{bp} Exchange Rate Conversion answer

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
{li4.py} range to go through each element of a list
{f2} Copy list v Clone list
{utils.py} solving exersise using a function
{cmp.py} Comparing lists
{weekwurk} using function from exercise
{yuk} some excercises with lists
{tessapy} All possible pairs from list
{revq} Parking exercise - mk 1
{pf} using + and re-assigning
{li2.py} for loop to handle each element of a list
{pe} using +=
{revq3} Parking exercise - final sample answer
{lc} List Comprehensions
{lp1} Whole list or just elements of list?
{backuds} Going through a list backwards
{tu1.py} First use of a tuple
{li3.py} Use of range to give list indexes
{m2} Alternative answer to exercise 1
{shuffle.py} Shuffle a list of numbers
{da1} Using the power of lists to reduce loops (control)
{cally.py} Days and months exercise - answer using methods
{lister} 4 different ways of parsing a list
{daze} Using the power of lists to reduce loops (actual)
{li1.py} List - first example
{months} Answer - excercise 1 - day and month numbers
{mutt} mutable v immutable
{lcopy.py} Copying a list (or rather - copying a reference to a list)
{sh2.py} Shuffle a list of numbers using supplied shuffle method
{repeat.py} + and * operators on a list
{litu.py} Converting a list to a tuple
{inlist.py} The in operator - is a value in a list
{3slice} List slices - 1 2 and 3 value forms
{menu.py} A list of lists - works like a 2 D array but better ;-)
{revq2} Parking exercise - mark 2
{myrange} How a function takes different shapes
{lo} list manipulation
{dmy} Two alternatives - day of year -> day of month and month of year
{staloop} looping throught a station file
{slice.py} list slices

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.
{fat.py} A second program that uses shared functions in mod2.py
{mystuff.py} functions, statics, test code, doc strings ...
{better} An extra x - range v xrange and readlines v xreadlines
{sysdemo.py} use of a standard module (sys)
{gen} A generator - two code branches both live
{params.py} Optional parameters, and variable number of parameters
{places.xyz} Sample data for jenny demo
{gen_control} Not using a generator - each runs to completion
{restaurant.py} code that DEFINES a restuarant table
{locvar.py} Local and global variables
{taxcalcs.py} Collecting function parameters
{genex} Generator v regular function
{ffx} Dynamic function definition
{jen.iter} Generator with multiple yields
{pf} Defining and calling a function - postal delivery order
{gen2} Using a generator function to provide an iteration
{requests.xyz} Sample data for dfg
{flook.py} Program to use a module and the attributes of its functions
{slumbermore} Good structure of named blocks of code
{yf} Using a generator
{mod_demo.py} Program that uses the module in local.py
{fm} use of functions from a module
{qv3} alternative example using mystuff.py
{fun.py} definition and use of a function
{mutton} Anonymous variables and subs and lambdas
{firstclass} List of fucntions and callback demo
{ststst} function calling - options demonstrated
{drought.py} Assorted function call examples
{taxi} Exercise answer - net and tax from gross amount
{myne.py} Module with documentation string and test harness
{m1} map to transform and filter to select from a list
{acsh2} Dynamic function definition
{dbc} Functions are objects
{cardy} Main program - methods and attributes from a module
{sheep.py} A Lambda function - one line function definition
{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
{gubbins.py} A bunch of functions in a module
{mapfunc.py} Use of the map function to transform a list
{sweetdream} Another example of a module reuse
{pgob} Using objects to pass in (and out) of generators
{dfg} Using a generator to process a big file
{poc.py} Scope of variables - some samples
{geom.py} Full module, documentation, test harness, static variables
{chezme} code to use a restaurant (table)
{qv2} Example that uses mystuff.py
{noa} Mandatory, optional, ordered and named parameters
{avg.py} Demonstration of variable scope in Python
{silksheets.py} Functions that we'll share between applications
{ststar} * and ** in function calls
{mod2.py} A module with doc strings and attributes defined
{snoresleep} A further Good structure of named blocks of code
{colin.py} A tiny module
{bundemo} demonstration of a Python Package
{repeater} retaining a variable from one call to the next
{recur.py} Recursion - when a function calls itself
{apers} static variables in Python?
{thing.py} demonstration of a Python Package - the module
{f1} more options with modules and functions
{yum} Brining in elements from a namespace
{extrastep.py} importing a name from a module into the current namespace
{electric.py} a generator function - carries on where it left off at previous call
{factor} recursive example - factorial
{dream} Good structure of named blocks of code
{local.py} File of functions to be loaded by other examples
{gentwo} generator - multiple yields and no loop!
{vargs} vargs in Python

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
{rr2} Object equality, identity and sameness
{glue} Shows danger of using direct access to a member variable
{pyobs} test program for containers in junkroom
{typelook} looking at an object type
{survey.py} Work in progress - survey analysis
{wr_test.py} Test harness for writer class
{drink.py} definition and testing of a class
{mute} mutable v immutable objects
{cubbyhole} Simple class - with a class (static) variable
{c1} Defining and using a class - early steps
{pets} OO sample - definition and use of two dog objects
{writer.py} A simple class - constructor, object method and class method, no inheritance
{aper2} retaining data objects for iteration
{animal.py} Sample class (exercise) - animal
{forum.py} Class of records - forum log file analysis
{dirStream.py} Object using generator - directory file traverser
{wr2.py} Test application for "writer" class
{creatures} Exercise answer - program to test class animal
{tabby.py} table, round table and rectangular table
{containers.py} Shapes used for items in junkroom
{longer} Saving a lambda in a variable and other tricks
{webhit.py} Web Server access - directory report

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
{uniwords} finding words by their count in a data file
{pycounter} counting words using dictionary
{d2.py} Looping through all the elements of a dictionary
{coin.py} Class used by dictionary with object key example
{d3_3.py} Can I sort a dictionary?
{uniquise} data file with duplicated lines
{od} dict with digit strings as keys
{soccer_py} Soccer - league table, old v new point system
{d3.py} Can I sort a dictionary?
{file_2nd} Analysing blog accesses
{visitors} Analysing visit lengths to web site - using cache
{pocket.py} dictionary with object keys - example
{pyset} listing words using set
{od3} dict with digit strings as keys (python 3)
{dfp} Optional, list and dictionary params
{topsk} counting occurrences in a file
{setup} Simple use of dict
{marie.data} data file with duplicated lines
{u1} data file with duplicated lines
{soccer.data} Soccer League table
{slowcoach} Analysing visit lengths to web site - no cache
{nx} Dictionary of objects - exercise and sample answer
{u2} data file with duplicated lines
{u0} data file with duplicated lines')
{snork} Variable scope when sorting a dictionary by value
{pax_month.py} Unique visitors / visited pages per month
{counter} counting server accesse
{ss1.py} Python 3 - sorting with sorted
{ssold.py} Python 2.7 - sorting a list
{wp2} dict - members with same key
{timberpull} multiple values at same key
{zip-it.py} Joining 2 lists into a dictionary
{pred.py} Illustration of a program that would benefit from dictionaries
{d1.py} Defining and looking up in a dictionary
{ss2.py} Python 3 - sorting a list
{pres.py} Is a key used in a dictionary?

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
{kid} Formatting strings / multiple use of % operator
{nf} Formatting - time and money using the % operator and format method
{listmethods} List all methods available on an object
{p3.py} raw and regular strings
{seqrev.py} translate, reverse and join - reversing dna sequence
{earlier} formatted printing variety - format method
{twoforms} Two forms of formatting
{reggie.py} Regular Expression Overview
{lit} Checking the type of characters entered
{strf} The String formatter
{cori} Multiline string
{cli.py} Command line handler function in Python
{irish_grid} Ordnance Survey Ireland - Grid Reference Conversion
{pyform} Python Formatting via the str.format method
{fares.py} Distortion of bus prices due to concessionary fares
{seq2.py} Using the replace method on a string
{bejo.py} split and join
{grab} Regular Expression - Maya strings
{visitors} Web site - population penetration
{qre} Split - regular expression v literal string
{pys} Strings - how to write them
{regex} Search and find, replace, and replace with result
{young.py} revision - string basics
{fhand} Unicode text string
{poundland} formatting a pound sign and a #! line
{taxform.py} Formatting output - floats, ints, etc
{mypi} Strings, raw strings, triple quoted strings
{rexy} writing understandable regular expressions
{tliser} Exercise answer - formatting prices and aligning columns
{gift} Share 10000 pound between 1 to 10 children
{Pythoners} Parse a file checking each line against a criterion
{reginald} Regular expression with comments in it
{splitcare} Comparison of regex and string splitting
{backtick} Conversion to a string with the backtick operator
{funsub} Substitute for a regular expression
{ifi} generating text with character
{fence.py} Fencepost problem and solution
{formatting} formatting - old and new ways
{sequence.py} Handling a string as a list of characters
{cli_withopts.py} Command line handler function in Python
{inflate} Search for regular expression and replace
{clinput} reading and handling command line options
{chunky} Splitting at a literal v splitting at a regex

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
{dbnover} Events spread over a number of units
{railx} Busiest and quietest stations
{grabot.py} Read from a URL resource with error trapping
{oy} Raising Exceptions yourself
{ouch} try, except, finally example
{stopc} trapping ^C in Python
{prog} Status line. Also trapping ^C
{ewhy.py} Using excpetion for fail-safe error handling
{pushit.py} Handling multiple exceptions types
{ui} Read an integer - validated
{kx} Answer to exercise
{trapper.py} Use of try and except
{syntax.py} Example of a syntax error
{duff} Try, except, else and finally
{ranger.py} passing exceptions back to calling code
{maffs.py} static variable in Python
{topstats} Exception, Lambda, dict
{deltemp.py} Use of pass to provide an empty block
{sometimes.py} Example of a piece of code that sometimes crashes
{wholehog.py} static variable - initialise via exception
{runtime.py} Example of a runtime error
{gwrong.py} Using excpetions to allow *some* user errors
{attempt} full traceback log from exceptions
{insist.py} try and except within a loop
{bug.py} Program with a bug!

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
{j2} using a generator to source data from a file
{widem} using with to limit the scope of a file handle
{sp} running OS subprocesses in Python
{fgfg} Improved version - program to handle data recently appended to a log file
{lost.py} Trapping a non-existant file error
{wac1} Read file into list and process each line
{tablog.py} File overwrite and append in python
{fff} Jumping around an input file (random access)
{grounds.py} Soccer grounds - Python
{filechex} File checks - is it a directory, when was it modified
{coster.py} Read whole file, report on lines matching a pattern
{flr} Fixed Length Record to CSV
{pstat.py} Checking whether a file exists, and things about it ...
{dirStream.py} Object using generator - directory file traverser
{n2} Find the title of a web site
{pinorder.py} List a directory sorted by age of object
{dmoz.py} Parsing a large file, looking for matching lines
{majorcooker.py} Handling huge data
{is.xyz} Inflation data - UK - annual factors
{costhuge.py} Reading a file line by line
{analysethatbusstop} import CSV data into dict
{sys.py} Disc space free within an application
{jdemo} json and csv handling
{file_first} Short file parser
{inflate} Inflation Calculcator - what would it have cost?
{dsa} polymorphism in action
{grabpage.py} Read from a URL as is reading from a file

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
{indemo} Sorting a dictionary?
{dsd} Python equivalent of Schwartzian transform
{unamsort.py} Sorting of a list of strings - user routine ignoring case
{coldem} Collections - initial setup and reference
{sby_sname} Sorting by surname
{sal} Sorting in a non-standard way
{uip2.py} Counting in a dictionary, and sorting
{lirev.py} List - revision
{fortan} A list of lists (a matrix?)
{cuber} using a callback to map a list
{copy_levels} alias, shallow copy and deep copy comparison
{lat.py} copy reference and shallow copy
{2dli.py} List - multiple dimensions
{p162} Sample answer - module exercise
{deepcop.py} List - deep copy
{slices} list slices - revision
{coplist.py} List - copy through assignment
{furlist.py} Further methods that run on lists - looking things up
{shallowcop.py} List - shallow copy
{namsort.py} Natural sorting of a list of strings
{rails_dict} Sorting and subsorting into your own order
{scenario} Encapsulating changes in a function

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
{cho.py} new style classes, as module with inheritance and test harness
{p4.py} Factory, comparator, inheritance etc
{meerkat} Decorator v modifier; static methods
{travel.py} static methods, overloaded operator, propertys, inheritance and polymorphism ...
{end_of_universe.txt} Data for p4.py example
{goat.py} Defining a class of goats and overriding addition
{timetable.txt} data for pub.py
{ttest.py} calling an attribute [property]
{overload_add.py} Operator (+) and to_string overloading, Python
{addload} Illustration of how the + (add) operator is really defined
{people.py} Class, subclasses, test harness. Inheritance, Poymorphism and Overloading
{cl_n.py} New Style classes and inheritance
{pets.py} Simple base class, subclass and polymorphism
{bandb.py} definition of subclass bandb of accom
{pysin} Singleton class
{travel.txt} Data file for "tu2" example
{clever} nested decorators
{triang.py} definition of a property
{accoms.xyz} Sample data for accoms program
{pub.py} wholesale factory method - read file to list of objects
{hotel.py} definition of subclass hotel of accom
{cho} New style class - with inheritance
{thems} Polymorphism demonstration - uses cat and dog objects from hound.py
{tuse} Sample program (1) using c1.py demonstration classes
{cbx} Callbacks in Python
{tr1.py} class, subclass, utility, factory, etc
{restex.py} Class example - restaurant
{boxex} Overloading (redefining) addition and how a variable is printed
{person.py} Class with Body Mass Index method
{fcl.py} program to show use of "person" class
{alog} objects within objects - access log hits and visits
{tu2} Sample program (2) using c1.py demonstration classes
{cl_o.py} Old Style classes and inheritance
{whm_real} Factory method
{looob2} class exercise - add 200 count please
{mult_inherit} Multiple Inheritance Complete Example
{teapot.py} Class heirarcy in a single file
{personx.py} OO demo - multiple classes, inheritance, test program
{id} getitem and getslice
{mcx} metaclass setup and use
{accom.py} Accommodation base clase
{taball} all together table example
{bq} backquote / backtic operator
{ob1.py} definition and use of property with lambda
{accom_finder.py} Sample application using hotel and bandb
{ting2} static (class) methods via decorators
{c1.py} Classes, subclasses, static method, test harness
{mi} Multiple Inheritance
{obob} Inheritance demo
{hound.py} Definition of two objects to demonstrate polymorphism
{m_i_m} Mixins Complete Example
{tabledata.csv} Data file for Python 3.4 inheritance model
{xmc4.py} Polymorphism and inheritance with Christmas and Easter Characters
{ub} Utility method to construct different objects
{tables.py} Python 3.4 tables interitance and factory demo
{yum} Define your own add and print methods
{dayzend} using with to open and close an object
{ufd} Sample data for person.py demo

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
{pyjson_kvcache} Using our JSON service from Python with key / value cache
{prepared_statements.py} MySQL / Python (3) - with prepared statements
{selector.py} Simple selector (MySQL database of 168,000 records)
{alch002} SQL Alchemy - connect, inserts and queries
{multi_resultsets.py} MySQL / Python (2) - connect, drop, create, insert, select with iterate, drop
{napreader} reading from http://www.wellho.net/data/wiltshire_busstops.csv
{orm_sqlite} sqlalchemy orm with sqlite demo - Python 2.x
{logger} Local MySQL test prior to running examples
{databases_python} sqlite3 - connect, create, insert, select
{alch001} SQL Alchemy - connect and first query
{inserts.py} MySQL / Python (1) - connect, drop, create, insert, select, drop
{kvcache.py} Cacheing class object / sqlite3

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
{subp} Subprocess module - replacement for os.popen
{hostcounter} Extract data from huge flow. Save and restore via Json
{get_os.py} Get Operating System information
{retest.py} Regular Expression test engine
{psplit} Splitting at a string v splitting at a regular expression
{re2.py} Stripping spaces
{gad2.py} Running an SQL query - Gadfly
{cpick} Store an object via cPickle
{sql1.py} Hello MySQL World in Python
{emma} Regular expression then split
{cli.py} Report on command line parameters
{re4.py} Regular expression split over several lines
{timestuff.py} Some time handling
{python_mysql_web.py} Python, MySQL, CGI (Web) board
{mar_out.py} Marshal converts an object to a string
{again} Looking for part of a string that repeats later
{class_v_static.py} Decorators - your own, plus @classmethod and @staticmethod
{pysql_another} Using a MySQL database - select across multiple tables
{currency.py} Formatting a currency using Regular Expression
{gad1.py} Create a Gadfly (SQL) database and insert data
{relib.py} Some common regular expressions
{sqlite.py} Sqlite3 / Python 3 example
{mar_in.py} Loading in an object saved via the marshal module
{re3.py} Find email addresses in line of text
{curr27} From Python 2.7 - currency alternative
{tim} Some time handlers
{penv.py} Python environment variables
{hostfilter.py} Extract host computer information - strip comments with regular expressions
{bench.py} Find largest 5 files in or below a directory
{refun} evaluating a net list in EQN format
{pocohunter} Looking for postcodes in a string
{py_mysql.py} MySQL to Python using MySQL Connector
{sql1a.py} MySQL to Python using MySQLdb
{myuser.py} class for use in pickle / unpickle demo
{syscommand} Running an operating system command in Python
{eo2.py} Scanning log file for instability
{flist.py} All the files in a directory - which is largest?
{logs.json} Json data for http://www.wellho.net/resources/ex.php?item=y115/hostcounter
{re1.py} Regular expression - first example
{cunpick} recover a pickled object

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?
{constant.py} Constants in Python
{t6} inherited and associated / composite objects
{novel} Traffic survey - Python and Objects
{t7} completion of example t6 - add factory, comparator, etc
{cincontrol} Caching design pattern / Control
{ddd.py} Good practise tips and documentation string
{cin} Caching design pattern
{counter} inheriting from a standard data type object
{tree.py} Recursion and special collections in Python
{sob} Data for novel and story examples
{story} Traffic survey - Python without Objects

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
{avx} Command Line Parameters
{imgsize} interpretting binary data
{jflow.json} Data for jdemo3
{fgrab} FTP transfers
{pyjson} Using our JSON service from Python
{xz} Day of week, month of year names and locales
{pyjson_with_cache} Using our JSON service from Python with cache
{dates} Date and Time - short example
{jdemo3} finding a specifically keyed within json structure
{jones} Random - really and replay
{butter} Regular Expressions

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?
{aa} Tuple and list to numpy array conversions
{mpl3.py} Plotting multiple user data sets
{mpl4.py} Two graphs on a canvas - top to bottom
{graph.py} Graph x,y,z via numpy from a Json file
{npx} Loading binary data from file into numpy array
{nphw} Basic objects in numpy
{npx2} alternative scheme for loading binary data
{gr3d.json} Data for graph.py - formatted json
{tog1.py} Loading and storing numpy objects
{mpl1.py} Hello matplotlib world
{prepare.py} Extract data for graphing and save to Json
{npgd} Loading data into numpy
{mpl2.py} Plotting a user data set
{mpl5.py} Two plots on a canvas - left to right
{simplegraph} Straightforward line plot using huge data
{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
{images.xml} XML data used by demonstration program
{simsax.py} Parsing XML stream for pertinent data - SAX
{minid1.py} parse and check with minidom
{image.xsl} xslt program for Python / xslt / xml demo
{simdom.py} Reading XML into memory structure - DOM
{python_rss} Grabbing an RSS feed in Python
{minid4.py} further extraction including data with minidom
{sax_xml2.py} Extracting information via SAX
{xsltprocess.py} Process an XML file through an XSLT Stylesheet in Python with libxml2 and libxslt
{minid5.py} Modifying a document structure with minidom
{sax_xml3.py} Attributes and text extracted via SAX
{minid3.py} Useful extraction with minidom
{xmlparserdemo} command line params (argparse) and xml (ElementTree)
{simpull.xml} XML data for simsax and sidom demonstrations
{sax_xml1.py} First SAX based xml handler
{sax_xml4.py} More sophisticated SAX output example
{minid2.py} report structure with minidom

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
{requests.xyz} Sample data file used in source examples
{tr3.py} base and subclasses, decorator, data from file, factory
{while1} While loop
{fast2} Fast start example 2 - inputs and strings
{kwlist} What are the keywords in Python?
{fast1} Fundamentals of Python - variables and output
{for1} for loop
{if1} If, elif and else

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.
{importlist} bring module into its own namespace
{fromlist} bring module into current namespace
{biff} Some built in functions
{appy} Calling a method which alters the object it runs on
{aug13_train.py} Inheritance, factory, etc
{lenco} functions v methods

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
{noisesource} Spike solution - Data extraction and reporting
{spamdata.txt} Data for spam signup demo
{sbs} Data Munging Example
{lfan} Demonstration program - many aspects of Python
{rqsummy} Splitting a line at any white space

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
{hsdemo.htp} Template for hsapp1 and hsapp2
{place.py} Python / CGI - read from a form, run an application, fill in a template to respond
{jhandle} Python 3.4 urllib urlopen and json
{hsapp2.py} Web application, Mark 2 - 3 pages, sessions, hidden fields
{python_mysql_web.py} Python, MySQL, CGI (Web) board
{template.htp} Template for simple web example
{pytop} Analysis of current web log file
{martin.html} Translation coster - HTML form
{pyserv} basic web server
{pybrow} Browser client
{piddle.py} CGI, Python, Web server, HTML - reporting server time
{martin.py} Translation coster - CGI script
{hsapp1.py} Web application mark 1 - 3 pages, sessions, hidden fields
{pyhello} Embedding plain text app on the web
{visitor.py} Analysing a web access log file
{inf.py} Simple web demo - produce form, complete form, act on data entered to form
{tellmewhen.py} Running a Python program through CGI

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_hello} Hello TkInter World
{tki_demo} Practical Tkinter GUI

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
{qupdown.py} Altering a label as a result of button presses - Python Qt
{hq3.py} Python Qt - Widgets, Geometry layouts, slots and signals
{pyqthello.py} Hello World - Python and Qt GUI
{Voter_qt.py} Python 3 / PyQt 4 - simple voting GUI

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
{wx02.py} Simple menu with modal "about"
{wx01.py} Application with 2 windows
{wx04.py} Panel and event handler
{logreport.py} Log file analysis is a wxPython GUI wrapper
{wxpfsbe.py} Status bar with events on wxPython frame
{wxexample_02} Event handlers to provide feedback
{demo1.py} Simple "hello world"
{wxx3} GUI with feedback (Boxsizer placement)
{mymodel.py} Model for wx Framework demo
{however} Principles of a GUI - app frame
{sizer1.py} Geometry Manager - First Example
{Voter_wx.py} Python 2.6 / wxpython - simple voting GUI
{boxsizer.py} Vertically arranged widgets with a BoxSizer
{wxexample_01} principles a GUI - with code
{wxexample_04} Final example - GUI interface to rail data
{wx03_02.py} wxPython text editor with open, save, etc
{delegates} Simple complete application - wxPython
{wxx2} GUI with feedback (manual placement)
{wxexample_03} Single event handler for many buttons
{wxphello.py} Hello wxPython world
{wxreal} Putting it together - food selector

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

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
{dta.py} doctest - a longer example
{utes2.py} unittest nesting demonstration
{myTrain.py} train class to be tested
{travel.py} inheritance, factory, decorator, comparators, static methods, caching, etc
{Combotest} Combining Test Suites - unittest
{railstats.xyz} data for profiler demo
{first.py} Test program for use in build demonstration - first principles
{utes.py} Simple unittest demonstration
{tdd_0} Test Driven Development - step 1
{stawithat} Static Method in Python (Decorator - 2.4 and later)
{dt.py} doctest - a clean example
{test_mathfuncs5.py} Pytest - multiple setup fixtures
{setup.cfg} Sample config file for Pytest
{mathstuff.py} function for Pytest to test
{tdd_3} Test Drive Developement - extending unit testing
{second.py} Test program for use in build demonstration - with doctest
{third.py} Test program for use in build demonstration - with unittest
{Traintest.py} Tests for myTrain classes
{train.py} class for testing in doctest
{utd2} Unit Test (2) for transport classes
{dec01} decorator - to log function calls
{tdd_2} Test Driven Developemnt - using unittst
{test_hello.py} Hello Pytest world
{tdd_1} Test Driven Development - multiple objects
{profdemo.py} using and running the profiler and stats analyser
{annie.py} Test driven exercise
{stawrong} bound method running on a class FAILS
{test_mathfuncs2.py} Pytest with setup fixture
{utdemo} unittest for Transport group of classes
{railway.py} Test class for profiler
{staboth} Static Method in Python (classmethod - all versions)
{makefile} Makefile - for a python test and build distribution project
{test_mathfuncs3.py} Pytest / class test with setup fixture
{dtxfail} Doctest / Python 3 - failing example
{mzz} Mocking - setting up and calling a mocked method
{testtrain} Unit test - Python 3 / train class
{transport.py} Sample class - Test Driven Development
{test_mathfuncs4.py} Pytest - chaining test no setup repeats
{stations.py} station class - for testing demo
{thems.py} Polymorphism demonstration - used to demonstrate the profiler
{hound.py} Object definitions for profiler desmonstration
{mtbf.py} MTBF class - overwrides + and *, and associated unittest
{logtest} Unit test for mary class
{dtxpass} Doctest / Python 3 - passing example
{Stationtest.py} Test for stations class
{test_mathfuncs.py} pytest - simple example with setup
{dtf.py} doctest - an example that triggers a failure report
{mary.py} Web server log access class
{trytravel} unittest for travel.py classes
{stameth} Static Method in Python (all versions)

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
{george} Integer v float arithmetic
{jba1} Class definition and use - Python 3
{print_3.py} print in Python 3 - print now a function
{input_2.py} inputs in Python 2
{print_2.py} print in python 2
{jba3} Construct and Populate methods separated
{input_3.py} Inputs in Python 3 - input replaces raw_input
{git_3.py} Generator in Python 3, range replaces xrange
{john} input and raw_input - Python 2 and Python 3
{jba2} Class definition and use with a static method - Python 3
{jba_poor} Poor class definition and use
{london.2} Python 2.6 for conversion to Python 3
{py3only.py} Python 3 - ONLY - Hello World
{rsy} Python 3 using classes of objects for data filtering
{london.3} Python 3 - converted from Python 2.6 example
{cheznous} simple inheritance example - Python 2.7 and Python 3
{py2only.py} Python 2 - ONLY - Hello World
{pyboth.py} Python 2 and Python 3 - Hello World
{git_2.py} Generator and xrange - 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
{kicking} checking hosts in parallel threads
{alive} Checking hosts one by one
{fastandfull} Threading - to Ping a complete class C subnet
{fullrange} Threading to ping 254 IP addresses in parallel batches

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
{browser.py} Demonstration of simple http client (browser)
{udp_server.py} UDP Server
{server.py} Simple tcp/ip server using sockets
{udp_client.py} UDP client
{ftpthread} FTP from within a thread and monitoring it
{probo} Reading from a remote host via http as a stream
{t2} Parallel processing with forks
{ftpgrab} FTP from Python, checking exceptions
{to_me} Talking direct to a socket
{table} Basic mechanism of forking
{read_robots} Reading from a web resource in Python
{t3} pipe and fork - communicating with your children

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?
{dave} load a list then iterate through it
{visitors} Analysing visit lengths to web site - using cache
{longjob} Long job, showing interactive monitoring
{jenny} iterate through a file using a generator
{slowcoach} Analysing visit lengths to web site - no 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)
{base_site.html} Modified look and feel for admin app
{15_0.visitbase.htp} Django 1.5 - Story 0
{settings.py} Django settings for oursystems project - phase 1
{15_0.settings.py} Django 1.5 - Story 0
{3_views.py} Django integrated view
{15_0.indextemplate.htp} Django 1.5 - Story 0
{models.py} Definition of Django managed tables
{15_0.views.py} Django 1.5 - Story 0
{urls.py} url to application mapping
{2_settings.py} Django settings for oursystems project - phase 2
{15_0.urls.py} Django 1.5 - Story 0
{2_index.html} Template - django, stage 2
{2_views.py} model to view transforms in Django - phase 2
{2_urls.py} Django - URL to view mappings - phase 2
{views.py.002} Transforming a model to a view in Django
{15_0.firsttemplate.htp} Django 1.5 - Story 0
{3_urls.py} url mapping - URLs without extensions
{admin.py} Register the System class with the admin app
{z_complete} Complete set of Django files
{3_integrate.html} Template for Django lesson 3 (tag language)
{views.py.001} First view in Django - checking URL mapping

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
{rrx} Flask - form that picks up answer
{fltest} Running Flask in unittest
{rrw} Flask first form
{second} Flask with routing
{allstations.html} jinja2 MVC inner template - station index page
{rrc} Flask with request - response cycle
{station_model.py} model - first flask MVC demo
{rrx.py} Flask form demo / tuned to also work under unittest
{person.html} Template for "third" flask example
{rstats2014.xyz} data for stations.py demo
{requestresponse.html} template for request / response demo
{rry} Flask - form that stores answers in sessions
{first} Hello Flask World
{flask_app_test} Running Flask unittest with form and POST method
{rrt} Flask - Jinja 2 introduction
{third} Flask with routing and templates
{base.html} base html - supertemplate - for rrt
{features.html} features of jinja2 for rrt demo
{stations.py} Flask Station Navigator - Router and controller for MVC demo
{secondform.html} Form and response - Jinja2
{astation.html} jinja2 MVC inner template - iindividual station page
{flask_test} Running Flask with template in unittest
{thirdform.html} template including session report
{firstform.html} Form - Jinja2
{basestation.html} jinja2 MVC - common outer template

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
[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
[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_0506.csv} station entrances and exits - 2005/6
{station_usage_0405.csv} station entrances and exits - 2004/5
{stationtables.tsv} Rail stations - postcode, OS and lat/long data source
{station_usage_0708.csv} Station entrances and exits 2007 - 2008
{station_usage_0203.csv} Station entrances and exits - 2002 - 2003
{station_usage_0809.csv} Station entrances and exits - 2008/9
{railstats.txt} Railway Station codes, locations, usage 2004 - 2010 (+2011 added 29.3.2012) (+2012 added 4.4.2013)
{station_usage_0910.csv} station entrances and exits - 2009/2010

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
[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