Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
 
Python, Lua and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, C, C++, Ruby, MySQL and Linux / Tomcat systems
 

About this Index

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

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

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

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

A: Linux, Apache httpd and Tomcat

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

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

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

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

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

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

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

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

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