Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
 
Python, Lua, Tcl, C and C++ training - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, 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?
{examples.txt} Source code examples for our training modules
{index.php} Simple test script for WAMP

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

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

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

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

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

Module A164 - Services and Regular Jobs
[4487] Starting MySQL. ERROR! The server quit without updating PID file - how we fixed it.
[3792] Managing daemons from a terminal session
[3791] The Kernel, Shells and Daemons. Greek Gods in computing
[3143] On time
[3011] What are .pid files?
[2182] What Linux run level am I in?
[2145] Using the internet to remotely check for power failure at home (PHP)
[1903] daemons - what is running on my Linux server?
[1765] Dialects of English and Unix
[1733] memcached - overview, installation, example of use in PHP
[1731] Apache httpd, MySQL, PHP - installation procedure
[1700] FTP server on Fedora Linux
[1633] Changing a screen saver from a web page (PHP, Perl, OSX)
[1553] Automatic startup and shutdown of Tomcat
[1288] Linux run states, shell special commands, and directory structures
[1028] Linux / Unix - process priority and nice
[907] Browser -> httpd -> Tomcat -> MySQL. Restarting.
[544] Repeating tasks with crontab
(article) Windows clients to a Linux Server
{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
{gents.dat} Input data for utilities
{as3} Using awk to select and format data, and calculate
{ladies.dat} input data for utilities
{requests.txt} input data for utilities
{aspers.txt} grep example output
{as2} awk - match in whole line or on specific field
{demo.pl} Sample Perl script to analyse data file
{demo.awk} awk script to analyse a data file
{as1} awk - BEGIN, END and patterns
{lsof_extract.awk} awk program to analyse and report on listing of open files

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

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_3} Variable and their types, conditionals and make functions
{makefile} Simple makefile example
{demo.c} Hello World in C for compiler tool demo
{Make_2} Makefile - with standard rules and Make variables
{makefile_hello} Compiler tools - simple Make file
{Make_1} Straightforward, commented Makefile
{more.c} Second source file for makefile / compiler 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
{funky} Define a function - Korn shell
{filestat} Comparing one or two files
{hello_korn} Korn shell commands in a file
{gvar} ksh - global and local variables
{dat_backup3} Korn shell conditional testing
{pippa} Setting up and referencing a Ksh array
{kornserver.cgi} Korn shell / web script using CGI
{tracey} Korn shell array and while loop
{selk} Korn Shell - Select example
{stroppy} String Test Operators
{townline} Selects a town ending
{dat_backup} Simple shell script to back up file
{script_korn} Korn shell script
{numtee} Korn Shell - numeric (integer) testing
{sharon} for loop - Korn Shell
{dat_backup2} Uses bourne shell compatible tests

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

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

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

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

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

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
{xslt.php4} Process an XML file through XSLT in PHP
{imglist.xsl} XSLT sample - produces a table of images -->
{reminder.html} Sample HTML document from this module
{capname.pl} Altering an XML document through LibXML

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
{firstalt} This is a sample of the Perl language
{firstprog} This is a sample of the Python language
{firstwish} First program in Tcl
{firstweb} This is a sample of the PHP language
{firstclass.java} Sample program - written in Java */

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
{javalog.001} Annotated log
{Debbie.java} Class used in Chloe.java example
{Bella.java} Running a method in Java
{Annie.java} "Hello World" in Java
{Chloe.java} Running a method from another class
{Summer.java} Summer test program

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

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

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
{statlog} Server Status Logger / hpptd to run via crontab
{als} Analysing Web Server Logs
{o10x} Generate parallel network traffic to test a server
{httpd-info.conf} Config file for Apache Status and Info

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
{httpd.conf} httpd.conf which includes extra proxy forwarder file
{proxy.conf} Sample mod_proxy configurations

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

Module A652 - Tomcat -Sourcing, Installing and Initial Testing
[3819] Packing a tar, jar or war file - best practise
[2088] Changing the 404 - file not found - page in Tomcat
[1550] Java (JSP and Servlet examples) live on our server
[1049] Java 6, Apache Tomcat 6.
[837] Tomcat - Shutdown port
(article) Running CGI scripts in Apache Tomcat
(article) Running SSI (Server Side Include) scripts in Apache Tomcat
{web.course.xml} web.xml, as cut down / modified during a training course
{server.course.xml} Cut down server.xml file, from a course practical
{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
{bookform.html} Form to ask for ISBN number -->
{idemo.shtml} SSI Script to test Apache Tomcat SSI support
{Coffeeweb.java} Servlet source + web.xml + CLASSPATH all in one example
{index.html} Home page for latmj web application -->
{demoform.jsp} A JSP to calculate based on form data -->
{page1.html} Test page - HTML - for new Tomcat install -->
{web.xml} mapping servlet URLs to classes -->
{together_jsp.java} Conversion of together.jsp into a servlet
{Smallest.java} Smallest servlet - hit counter
{TinyServ.java} A Simple servlet for testing initial operation of Tomcat
{together.jsp} A form and a program in the same .jsp -->
{Book.java} Book bean - connect to MySQL to look up Author based on ISBN */
{Autumn.java} Servlet Sessions, and variable scope.
{shortform.html} A short form to allow the user to input to a JSP -->
{first.jsp} A simple calculator in a JSP page -->
{prog1.cgi} Perl script to test Apache Tomcat CGI support
{demo.jsp} A Java Server Page Multiplication table -->
{first.web.xml} Very simplest web.xml -->
{booklook.jsp} JSP tags used to call up Java Beans -->
{isbnform.html} Form for bl3.jsp example -->
{Tempconv.java} Temperature Conversion Servlet -->
{supervisor.jsp} JSP Page to compare your age to 21, using the agetest class -->
{Agetest.java} Class to use with age testing JSP pages such as supervisor.jsp
{bookrun.jsp} JSP to get author based on ISBN number in form -->
{Summer.java} First Example of using Java Servlet Sessions

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

Module A655 - Using Tomcat and Apache httpd Together
[3999] Handling failures / absences of your backend server nicely
[3018] Tuning Apache httpd and Tomcat to work well together
[2482] Load balancing with sticky sessions (httpd / Tomcat)
[1944] Forwarding session and cookie requests from httpd to Tomcat
[1940] URL rewriting with front and back servers
[1938] Predictive Load Balancing - PHP and / or Java
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1552] Extra public classes in deploying Apache httpd and Tomcat
[1549] http, https and ajp - comparison and choice
[1383] Monitoring mod_jk and how it is load balancing
[1376] Choosing between mod_proxy and mod_rewrite
[631] Apache httpd to Tomcat - jk v proxy
[576] Why run two different web servers
[436] Linking Apache httpd to Apache Tomcat
(article) Load balancing and robustness - httpd, tomcat, PHP, Servlets, MySQL
(article) The proxy jServ, jk, jk2, warp and jk story
{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 -->
{index.jsp} A Shopping cart JSP that maintains state -->
{server.xml} Sample server.xml file
{Store6.java} Store class, used to maintain state in JSP demo */
{products.txt} Product data for Shopping cart demo

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
{bal.httpd.conf} Load balancing a number of Tomcat instances via httpd
{clust} Clustering - basic setup for server.xml
{cluck.pl} "heartbeat" script to switch servers
{mod_rewrite-load_balance} Configuration file mod_rewrite load balancing
{sslc} server.xml setup example - SSL connector
{balance.conf} httpd mod_rewrite map for load balancing Apache Tomcat
{server.xml.virtual} Virtual Hosting on Tomcat.

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
{pinc2.c} Pascal's triangle all in calloc'd memory
{starstar.c} multilevel pointers
{globals.h} include file for cppex.c
{pinc.c} Pascal's Triangle - calloc'd rows
{tryme.c} realloc - adds new memory in sizeable chunks
{cppex.c} uses of preprocessor directives (cpp)
{remember.c} Call by value v call by address

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

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
{fourthmain.c} Separate function file and include file [main part]
{ltab.c} Comparing while and do loops
{fourth.h} Separate function file and include file [header part]
{fourthfuncs.c} Separate function file and include file [functions part]
{friend.h} Snippet of code to #include
{g3.c} Hello World with extra function call
{starter.c} Read from user - calculate - provide answer
{g4.c} Loading code from another file
{second.c} Loops and functions
{greeting.c} Hello World in C

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
{makefile} makefile for C version of "hello world"
{t2.c} What happens when you overflow
{tara.c} Sample function to illustrate inclusion
{hello.c} First C program
{first.c} First program and some comments
{second.c} Commenting code in C
{cond01.c} C and C++ preprocessor examples

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
{cvopt.c} Prompt - read - calculate - decide - report
{makefile} makefile for module C202
{tconv.c} Temperature conversions
{adder.c} Variables and arithmetic in C
{vars2.c} Declaring and initialising variables
{fred.c} Calculation of VAT on an amount
{vars.c} Delaring but not initialising - what happens?
{calcit.c} First calculation
{second.c} Read, Calculate, output results */
{p003.c} Remember to prompt the user
{nranges.c} Testing number ranges in C

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

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

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

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

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

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

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

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

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?
{twelve.c} Dynamically sized collection
{framework.c} Framework for testing lower level code
{slurpit.c} Dynamic memory allocation - reading a file of unknown length
{access_checkpoint_01.c} Routines to load data into array of structures and access it (1)
{trinamic.c} Memory allocation and freeing - demo of principles
{loglook.c} Complete example - regex, realloc, string and file handling, etc
{access_checkpoint_03.c} Routines to load data (imporved API and Regex in C example (3)
{access_checkpoint_02.c} Routines to load data into array of structures and access it (2)
{supper.c} Read file into array of structs
{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

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
{ooc.c} C program using OO type patterns
{overflow.c} Fast but unchecked - C

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

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

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

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

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

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

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

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

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

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
{hello.m} First program example - Objective C
{helloipad_ViewController.h} Hello iPad World - header
{helloipad_ViewController.xib} Hello iPad world - view layout
{timeline_ViewController.m} ViewController nethods
{helloipad_ViewController.m} Hello iPad World - main view controller
{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
[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
[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.java} Programming language Comparison - a Java program
{incr.php} Programming language Comparison - a PHP program
{incr.tcl} Programming language Comparison - a Tcl program
{incr.lua} Programming language Comparison - a Lua program
{incr.rb} Programming language Comparison - a ruby program
{incr.pl} Programming language Comparison - a Perl program
{incr.c} Programming language Comparison - a C program
{pee3.rb} Invert (rekey) a file / Ruby
{incr.sh} Programming language Comparison - a bash shell program
{pee3.pl} Invert (rekey) a file / Perl
{incr.py} Programming language Comparison - a Python program
{incr.cpp} Programming language Comparison - a C++ program
{pee3.py} Invert (rekey) a file / Python

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.h} Objective C header - First iPad application
{ViewController.xib} Objective C nib file (ViewController.xib) - First iPad application
{ViewController.m} Objective C source code - 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
{chris.php} Demonstration of form and pricing
{fourth.php} Straightforward form and simple validation

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

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

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
{result} Master and Header code merged
{k4.php} Example of comment types
{k3.php} Getting a variable from a form - OLD style
{k1.php} A calculation in PHP
{simsan.php} Simple sanitisation and sticky field example
{header.txt} File to be included in master example ?>
{master.php} PHP page that calls in an include file ?>
{k2.php} A calculation with variables
{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
{bristolgulls.php} Table of calculations
{coin.php} switch, case, default and break
{units.php} Conversion of units of area
{tt3.php} lazy operators, increments, +=, ? : and endfor
{ttab.php} Temperature table - a while loop
{tt2.php} for loop
{condits.php} example simple if statements
{timothy.php} demonstration of if / else / while
{ifvswit.php} if v switch / first "step through" application
{floop.php} while, for and foreach loops
{if2.php} if, block, else and elseif
{macorder.php} 2 page simple ordering system
{houred.php} different image to reflect time of day

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

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
{pflog2.php} Where are scripts loaded from (2)
{pflog.php} Most viewed pictures (Mk 1)
{rubys.php} read a file into an array and display selected items
{a2.php} Array - dealing with missing elements and finding keys
{arrarr.php} Summing arrays in PHP
{assoc.php} Associative array - sorting and traversing
{nb.html} Speed networking - generate a page for an attendee
{simgrep.php} read a file into an array and display selected items
{nbm.html} Speed networking - seating matrix generator
{arrx.php} Ways of passing through an array
{fullmenu.php} Ordering system from menu file
{herbert.php} finding a value from a list of ranges
{walter.php} regular and associative arrays
{a3.php} Array_walk example. Also the difference between null and empty
{menu.txt} Menu for fullmenu.php example
{skills.php} A Small search tool
{5pl.php} Display a list in columns
{a1.php} Setting up an array, looking at individual elements
{ts.php} Lengthen or shorten an array
{patrick.php} User defined sort

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
{s1.php} Single and double quoted strings
{splitting.php} Ways of splitting a string
{fvar.php} Filtering of variables
{20101101_statlog.txt} Sample data from server operation log file
{pmoffs.php} Capturing regular expression offsets
{sfex.php} Demo of sticky fields and security
{clformat.php} Formatting data [file] for quick web display
{myform.php} Robust, sticky form demo with field validation
{shunt.php} Evaluting BODMAS expression using MySQL cell tables
{pc1} ereg v preg
{code} Reaping from an HTML page with regular expressions
{ex2.php} various preg style functions in use
{dlog.php} String handling example - extracting simple data from a complex line
{secdo.php} Convert seconds to minutes and seconds
{arrivals.php} Regex and associative arrays - search engine arrivals
{stickform.php} Stick Fields and Input Validation
{spell.php} Spell Checker
{sprint.php} Formatting with sprintf
{s3.php} String cleansing with functions such as strspn
{stdist.php} Search - do two words look or sound the same?
{s2.php} Character string as an array
{bustimes.php} Using PHP to format data (timetable in this example)
{bits.php} Ways of writing strings
{mystdinc.inc} Include file for sticky fields demo
{popage.php} Counting in a log file - associative arrays and regular expressions
{toke.php} String tokenising - strtok, implode, explode
{strp.php} Curly braces in double quoted strings
{echovalley.php} How to put in blocks of HTML
{regex.php} Regular expression - validating an email address
{extrawords} Extra words for spell checker

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

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
{fr2.php} Pulldown menu of files, then search for regex
{fread2.php} File system and status reports and directory listings
{savepeople.php} Using PHP to download a data file
{xmasq.php} Christmas Quiz in PHP
{radio.php} look up current radio program in a text file
{quote.php} Quote demo - top level code
{mail_analysis.php} Read and analyse spam report file
{exchange.html} Exchange rate convertor
{timber.php} Reading and extracting from a remote URL
{recent.php} Link to the recently updated file in a directory
{seedoku.php} highlighting a source file
{secdo.php} Convert seconds to minutes and seconds
{eurorates.php} Read currency exchanges rates
{buslogic.inc} Business logic for quote demo
{cloak.php} Cloaking a web site in a PHP wrapper
{grabtitle.php} Grab the title of a web page (local or remote)
{webhelpers.inc} Web Helpers for quote demo
{saver.php} Write to file - simple diary page
{quote.htp} HTML template for quote demo -->
{fread1.php} Read all lines from a data file, report matches
{spammiest.php} The 20 spammiest emails in our filter records are ...
{mcq.txt} data for Christmas Quiz
{top_pdf.php} Showing top 10 downloads from our site

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.
{feedlet.php} Bare Bones demo of password protection
{apull.php} Selection of database records via a pulldown menu
{urlex.html} Does a URL exist?
{melksham.php} Images at random - pictures of Melksham
{myenv.php} The PHP environment - use of variables available to you
{getpost.php} Using a PHP script to POST to another server
{one_pizza.php} Validating a Pizza order in one page.
{veryniceform.php} Form completion with sticky fields and generalised code
{pdfstore.php} store a .pdf that's uploaded into a MySQL database
{agnew.php} How to do it - sending header first
{pdfup.php} form to upload a .pdf to a PHP script
{mcheck.php} generate and select from radio boxes
{agone.php} How NOT to do it - sending header too late
{pdfget.php} download a .pdf file from a MySQL database
{victor.php} Putting our conditional example on the web
{meldrew.inc} Helper function - set up an enquiry box
{alang.php} What langauge does the visitor prefer?
{selfinfo.php} Information available from PHP
{sticker.php} Sticky form demo ...

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

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

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

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

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
{offer.htp} Template web page for carter.php4
{getccard.htp} Template web page for carter.php4
{getshop.inc} Functions for carter.php4 and other shopping cart apps
{carter.php4} Session demonstration - full shopping cart
{thankyou.htp} Template web page for carter.php4
{getaddy.htp} Template web page for carter.php4
{s2.php} Free form shopping cart in a page

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
{page.htp} Full demo - template for display
{revinf.php} MySQL content report with counts, in PHP using CSS
{dss.php} Dynamic Style sheet
{style.inc} Full demo - PHP to set style sheets
{httpd.hta} full demo - .htaccess file
{index.php} full demo - top layer and main code file
{picklet.php} Image library application using dynamic PHP style sheets
{stdsess.inc} Full demo - web helper functions
{west.html} Selecting and applying CSS themes through PHP

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

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
{review.php} Form - course review
{sendform.php} Emailing form entries to the web site owner

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

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

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

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

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

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
{ss2.php} Session - logging time and remembering inputs
{suggest.php} Cookie and clean form demo
{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
{imagetodb.php} Save already uploaded image into database
{browsers.php} Counting browser types visiting our site
{gbs.php} What can PHP tell me about my browser?
{park.php} Change image every minute. Retain style based on cookie (DDA)
{browtype.php} Check browser type - feed out plain text or image / flash references
{imagefromdb.php} Display image held in database
{imagine.php} Upload an image

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

Module H306 - Who is your visitor?
[3946] Moving from a warning system to a control system - PHP, forum spammers
[3094] Setting your user_agent in PHP - telling back servers who you are
[2667] Web page to telephone calls / links using an iPhone
[2380] Object Oriented programming - a practical design example
[2343] World Flags in your PHP pages
[2135] What features does this visitors browser support? (PHP)
[1736] Current visitors from around the world - PHP
{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
{ajax123.html} JavaScript to load data from server
{ajax456.html} Asyncronous call from Javascript on client to PHP on server
{train_graphic.php} Display info from application server on an image
{xavier.php} demonstration of caching
{exr.php} Grab exchange rates to/from Euro
{caching} Caching in an object
{ajaxstatus.html} Ajax demonstration - a dynamically updating status page.
{a_papershow.php} Log file analysis (3) - results cached for run time efficiency
{train_pixelreport.php} An easy way to add an image point to a file
{phping.php} Heartbeat script to watch vital server
{currency.inc} Currency abbreviations and names
{scraper.php} Scraping a remote URL content
{client.php} Service layer - sample client
{hb.php} Heartbeat script to check server
{a_logshow.php} Log file analysis (2) - code optimised for readability
{rs.php} Web service to give user current server stats
{ajaxcode.php} Web Service provider - first Ajax demo ajax123.html
{sendimage.php} Serve a download from a database
{proxydown.php} Redirecting failed proxy request to valid page
{pset.php} Setting the User Agent in your PHP code
{a_timbershow.php} Log file analysis (1) - base case - functioning but poorly structured
{cademo.php} Caching between pages via memcached
{ostell.php} Demonstration of cached resource
{service.php} Service layer demonstration
{twitblog.php} Twitter feed from your PHP program
{prod.php} Web Site performance test 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
{page_it.php} Paging through a result set
{pplev.php} Looking for a similar surname
{liked.php} Algorithm for sorting most recent likes
{globalindex.html} ") {
{ntx} File of surnames for matching demo

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

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

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

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
{transport.php} 2nd CodeIgniter example - sessions and form - controller
{placetime.hld} view - transport form Mk 1
{transwilts_views_mailpage.php} Form demonstration
{index.html} Holding / home page outside CodeIgnitor
{header.php} header for first CodeIgniter example
{mycontroller.php} CodeIgnitor - first example controller
{transwilts_views_transwilts_tail.php} footer
{success.php} success view - 2nd CodeIgniter example
{transwilts_config_config.php} config file - added encryption key at about line 228
{footer.php} Footer for first CodeIgniter example
{placetime.php} view - transport form Mk 2
{dot_htaccess} Typical CodeIgniter .htaccess file
{transwilts_models_places_model.php} model - business logic
{transwilts_views_transwilts_top.php} header
{transwilts_htaccess} map most URLs onto CodeIgniter
{main.php} Main view - hello CodeIgnitor World
{transwilts_views_mainpages.php} main page content
{transwilts_controllers_passenger.php} main controller functions

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
{mailme.php} Reading emails from a POP3 mailbox
{windex.html} Combining blog and forum feeds using MagpieRSS

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

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

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

Module J702 - Hello Java World
[4350] Keyboard reader for Java programming newcomers
[2859] Using java, javac, jar, and CLASSPATH - a simple example
[2414] Hello World - a good traditional start to a Java course
(article) Overview of Java
(article) Hello Java World
{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
{Addup.java} Simple use of variables - adding
{Add2.java} Adding and declaring variables in a single statement
{Bnd.java} Setting up variables, reading values, calculating and output
{Av3.java} Average - *this* one works
{WellHouseInput.java} Easy user interaction class
{Average.java} Averages - how NOT to (try to) do it
{Somevars.java} Declaration and initialisation of variables
{Plus.java} Pre and Post increment in Java
{Av3b.java} An alternative working example
{Av2.java} Average - fails at compile
{Cost.java} Reading a cost from the user

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

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

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

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
{malmesbury.java} Stringbuffer
{marston.java} Arrays of Character String Objects
{Station.java} Extracting data from a string, passing to factory
{ashton.java} Comparing Strings
{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
{ransbury.java} char variables and char arrays
{minety.java} Accessing characters within a string object
{cricklade.java} String object manipulation
{highworth.java} More character variables
{oaksey.java} indexOf and substring
{StringBreaker.java} Splitting and interpertting a string

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

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

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

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

Module J714 - Fundamental classes
[4431] A Java servlet that is also a stand alone program. And a server that is also a web client.
[4421] How healthy are the stars of stage and screen?
[4396] Java Utility class - flexible replacement for array. Also cacheing in objects and multiple catch clauses example.
[4330] Java - factory method, encapsulation, hashmap example
[3048] String handling - from first steps to practical examples
[2920] Sorting - naturally, or into a different order
[2734] for and foreach in Java
[2649] Length, size or capacity in Java?
[2421] Sorting Collections of Objects in Java
[2418] Viv.java uses unchecked or unsafe operations - explanation and cure
[2323] Java Collection Objects in the java.util package
[1910] Java - Generics
[1502] Java, sorting, ArrayList example, generics
[1062] Java sorting - comparable v comparator
[42] Do languages change?
(article) Want something more dynamic than an array?
(article) Fundamental classes java.lang, java.util and others
{Arlist.java} ArrayList in Java
{Bus.java} To accompany Trans3 demo
{Handbag.java} A class in which descructor calls are delayed
{Hset.java} Hashset example
{stuff} Data for Trans3 demo
{Station.java} Station class used in Network example
{ByValue.java} Comparator for Trans3 demo
{floater} Float object v float primitive
{Strtok.java} StringTokenizer Example
{Access.java} Access Log analysis / String Tokenizer
{Bynum.java} A Comparator class
{Train.java} To accompany Trans3 demo
{Mhs2.java} A further example of sorting in Java
{About.java} System Properties
{Mypocket.java} Forcing a destructor to run
{outmarsh.java} Using a stack
{Thing.java} Example of destructor
{Hmap.java} Hashmap example
{Network.java} Vector to replace an array
{holt.java} Using a Vector object
{Tshirt.java} Utility classes ArrayList and Hashmap set up to help analyse data file
{Acsort.java} Sorting in Java using the comparable interface
{Hmapsort.java} Sorting in Java - using collections
{Mathop.java} Maths operations
{hinton.java} An Example of a Hashtable
{Discfree.java} Running an operating system command from Java
{Trans3.java} ArrayList, Hashmap and Collections sorting
{Ptr.java} To accompany Trans3 demo
{Objvprim.java} Object to primitive comparison
{AUtil.java} Creating a hash of objects
{NetworkStation.java} class uses in AUtil 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
{PF3.java} Third example application
{P3.java} Example object
{Station.java} Class of objects from file or URL, factory, Vector and HashMap, select, sort, output
{Person.java} Calculating BMI of various stars
{PF1.java} Sample extended class
{MF.java} Final example application
{P4.java} Object P4 definition
{Multifinder.java} Full application
{Place.java} Solution - base class (abstract)
{PF4.java} Final lookup on data example, ignoring area v district distinction
{District.java} definition of a district of the UK
{Area.java} defintion of an area of the UK
{Placefinde.java} Solution - application class
{PF2.java} Second 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
{Colddesert.java} Part of the Dairy Queen demo
{DairyQueen.java} Main application to show inheritance and polymorphism
{Friend.java} Interface to define an extra API
{Duck.java} inheriting and implementing class
{Icecream.java} A subclass of Desert
{Gull.java} Class in a package, extends another, implements an interface
{Insurable.java} Dairy Queen demo - just a shell interface to show the implements mechanism
{Aviary.java} Sample program - using Duck and Gull classes
{Bird.java} Base (abstract) class
{Desert.java} Base Class for use in Dairy Queen demo
{Av2.java} An array of objects of different types

Module J802 - Abstract Windowing Toolkit
[3049] Computer Graphics is fun - even if Java Applets are Old Hat
[2654] Java - from applets to servlets. JSPs and more
[2649] Length, size or capacity in Java?
[2245] Client side (Applet) and Server side (Servlet) Graphics in Java
[1325] Java - Client side applet applications as well as server side
(article) Graphic User Interfaces (GUIs)
{ash.java} Constructs and scaling - AWT and Applets
{acorn.java} Basic Graphic Applet
{magpie.java} A Histogram of financila results
{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.html} Web page calling applet with data parameters
{crow.java} Graphing Applet that picks up parameters from the HTML

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
{redwing.java} Syncronisation solution
{wren.java} Using threads by extending the Thread class
{redtail.java} Syncronisation problem

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

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

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

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
{Maggie.java} MySQL Database Connection and Query
{J850sjdbc.java} Generic database insert and select code (MySQL demo)
{J850insert.java} Servlet that adds a MySQL table row
{J850_jdbc.java} Class to perform a MySQL table insert
{Oralink.java} Connecting to an Oracle database
{J850select.java} Servlet to run a MySQL select (jdbc)
{jdbc1.java} Connecting to a MySQL database
{make_J850.java} Create table for J850 series of demos

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

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

Module J816 - Regular Expressions in Java
[1195] Regular Express Primer
(article) Regular Expressions in Java
{Reg3.java} Look for all lines containing a term and report the first field from matching lines
{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
{Reg6.java} Regular expressions - match and replace
{Reg2.java} Regular expressions - look for all matching lines in a file

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
{Memo.java} Linking requests together via a session in a servlet
{Lifeanswer.java} Basic Servlet - simple calculation and a visit counter
{Maryland.java} Checking and setting cookies in a Servlet
{Noah.java} A simple servlet, and how to modify it
{svl.html} Servlet demo - HTML form
{symdyn.html} Dynamic operation of a Servlet
{svl_right.java} Servlet to read form and echo

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

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

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

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

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

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

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

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
{symbols.pm} Package used within simple perl example
{rw2} read, calculate, print results (2)
{assume} Perl assumes empty variables
{rw3} Calculate, using a module
{d2} Prompt, read, chop and echo with comments, warnings and POD documentation

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
{condition} if and if - else; blocks.
{readandtotal} Reading and totalling numbers - sample answer
{ask} if, elsif and else (right)
{din} Use of shorthand operators
{nask} if, elsif and else (wrong use of =)
{summer} Answer to practical (reading and summing numbers)
{bmi4} bmi demonstration with loops
{looper} while loop
{numbers} how to write numeric constants
{d2r1} Illustration of looping to process a series of values
{dinners} nested blocks - loops and conditionals
{lp1} Blocks within blocks
{bmi3} Demonstration with conditionals
{d2r2} Illustration of looping to process a series of values, accumulating totals
{lp2} Blocks within blocks (shows \ protection)
{bitwise} Demonstration of bitwise and logical operators

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
{fd} Delimiting a variable name
{firststring} low level string functions demonstrated
{fil_tar} Filtering a log file for 'lua'
{winter} Course exercise - sample answer
{sc} Case insensitive comparison
{prop2} Using double quoted strings to change case
{im10} Intelligent match on scalars
{bticks} backtick operator - runs an operating system command
{autumn} Sample answer - course exercise
{finsent} Trimming a sentence
{pf2} Filter roads.xyz to match a pattern (using open or die)
{xz} Printing out variable contents with labelling text
{eqt} Numeric, String and match comparisons
{deepmidwinter} Course exercise - sample answer
{pfilter} Filter roads.xyz to match a pattern
{chx} Comparison of chop and chomp
{romance} Quoted strings, qq strings and here documents
{pig} Regular expression - first example with anchors, literals, groups, and counts
{pws} Use of eq rather that == for string comparison
{izit} ~~ =~ eq and == operators compared
{lms} comparing . and ,
{midwinter} Course exercise - sample answer
{greeting} use of x operator
{proper} Case changes on string
{plook} Simple example of reading and filtering a data file
{heredoc} Use of a here document for copyright block
{stringers} Strings in Perl
{dqs} Single, double and back quotes
{singlename} regex to look for a single name
{pattern} Regular expression learning tool
{cs} Exercise answer - completing a sentence
{perlstring} Ways of writing strings in Perl
{prop3} single and double quotes, q and qq strings

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
{tel4} Usin the ? : operator instead of if and else
{golf} Knockout competition - how many teams / players needed?
{power} inverted until loop example
{safety_net} The // defined or operator
{dunt} A do ... until loop - reprompt until you get valid input.
{qc} while loop, rewritten as for loop
{iffy} Read - calculate - conditional - output
{jumps2} Using a label in Perl to jump out of nested loops
{g4} String formatting, conditionals and loops
{bip} Different conditionals and comparisons
{telegram} if and else example
{dice} Sample answer - rolling a die
{eloop} Labelled block style of loop
{pswit} given and when - a switchlike syntax
{swit} Use of label to mimic a switch
{dowhile} a while loop that runs at least once
{tel3} Conditional operators "and" and "or"
{throwz} Sample answer - throwing a die
{qc2} use of triadic operator
{given_demo} given (Perl 5.10 onwards)
{mls} Knock out Competition - how many teams?
{lazyops} Lazy and and && operators
{jumps} demonstration of next, last and redo
{p023.c} read an array of numbers from a text string
{forloop} Good and bad examples of a for loop
{tae} Checking user input
{tel2} unless, and if and unless written in reverse
{jump2} Using a label in Perl to jump out of nested loops
{andor} and, or, &&, || - precendence

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
{costa} Output file handles, open, and defaults
{pe2rl} Single parse of data, multiple reports generated
{fsv} File open, read, write test example
{newread} <> v readline
{addplus} Formatter - adding a leading plus
{piper} Use of file handles to pipe from and to processes
{reporter} file status operators -x and -s
{tin} Filter and reformat a data file
{christmas} Formatted printing - splittin money between the grandchildren
{sp} Formatted printing
{sswd} Directory parsing, formatting data read
{fprint} Formatted printing - some specifier details
{ck} Splitting money many ways - formatted printing
{wacsal} Re-active formatting
{ddd} Splitting and reformatting data
{legacy} Divide money between children and print neatly
{perlwget} Running an OS command from within a Perl script
{leedspark} alternative answer to practical at end of module
{forvat} Formatting strings and numbers
{park} Sample answer to "the park" exercise
{biggy} Finding huge files
{bridges} sample answer - town with Bridges in name
{fan} One input and five output files in a single program
{procmon} Process monitoring - demonstration of principle
{paut} Piping a ping into your program

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

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

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

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

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

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

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

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
{dxyz} Finding all files with names matching a pattern
{segment} Spray one input file across 16 different outputs
{fal} split an incoming file lots of ways
{lowther.pl} Reading data from the end of the program file
{ft} testing file existence, size and other stats
{f2} Formatting using "format" and "write"
{file} _ and $_ in file operators
{inter} See is STDIN is interactive, and prompt if it is
{ab_file} Using some of the file status operators
{allin} Read and report contents of a directory
{dotty} globbing on a file handle
{whatsmypath} Lists out all duplicate executables
{chdirddemo} Using directory functions cwd, chdir, opendir, readdir
{hunt} Random access to a file of fixed length records
{dend} Data on end of program file
{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
{dante} Date and time demos
{dt5} compare a stated date and time with now!
{sigint} Use of Signals in Perl to trap ^C (Control C)
{hf} Modified "chivvy" - perhaps less OS dependent
{dt3} current date and time (system dependent!)
{chivvy} Using %SIG to timeout keyboard entry
{tim} Converting times between epoch seconds and regular time
{dt4} use of time and localtime
{dt1} file last modified (days ago)
{dt2} dt2 - file last modified (seconds from 1.1.1970)

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

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

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

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

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
{try3} regular expression efficiency demo - remove use of $&
{try6} regular expression efficiency demo - via foreach
{control} regular expression efficiency demo - control
{try7} regular expression efficiency demo - index rather than regex
{try5} regular expression efficiency demo - read into list
{try4} regular expression efficiency demo - process line by line
{try1} regular expression efficiency demo - start with literal
{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
{breeder} Parent forking multiple independent children
{butter} Send a signal to a registered process
{two_roles} Forking in Perl - two processes
{check} Expect - choreographing multiple pings and analysing result
{f1.pl} Forking a process
{dodo} running another process from Perl
{fdem} Forking in Perl, then communicating between processes
{pinga2} Parallel (forked) processes communicating via signals and files
{pingalong} Parallel (forked) processes communicating via pipes
{pingpong} piping from another process
{h_report} Two processing in parallel (via fork) communicating (via a pipe)
{knife} fork and two separate processes
{nonfat} A process that responds to signals
{pinga3} Parallel (forked) processes communicating via signals and pipes
{talker} Simple talker written in Perl
{breadknife} Forking a process, then the two communicating
{kidgoes} Children signalling to parents as they complete

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
{pg2} LWP - sets own User Agent
{victoria} fork and talk
{netgrep} Network grep server - connect via telnet on port 5678
{perl_robot_client} robot.txt collector in Perl from a list of sites
{pg1} LWP - simplest test
{albert} Forking, Piping and Signals
{s1} Grab a web page
{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?
{snobol} Various variable types in Perl
{ref1} Lists and refrences
{pocket} Using a simple class
{ref2} References, lists, hashes, multidimensional structures
{c1.pm} simple class

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

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
{registry.pl} An example of using the registry from Perl
{ws2.wsf} Windows script - report on a datafile
{ws1.wsf} Using Windows Script to list out special directories
{msword} extracting from a Word document ready for upload!
{msexcel} Creating an Excel spread sheet

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

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

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

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
{kb2} Giving the user a limited time to make an entry
{kbtest} If the user has started typing, wait for a whole line. Otherwise carry on
{keyin} print out ASCII decimal equivalents of entries
{pcr} Binary file copy
{ask} Send a signal to program h1
{kbcheck} select to check input availability
{h1} Long running program with interaction
{file_in} Unpacking characters
{fc2} Reacting to each keystroke rather than awaiting a new line
{askpw} Using ioctls and POSIX to provide a password entry system
{fi2} Reporting maximum field per line count

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

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

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

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

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

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

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

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
{mailer.pl} Emailing and working out the browser type
{winmailer.pl} emailing from Perl on a Windows box
{nph-clock.pl} Multipart and updating CGI document
{useredit.pl} Edit a file all on one page!
{upsend.cgi} CGI script to receive and display uploaded file
{down.pl} Download a file off the server
{up.cgi} CGI script to receive uploaded file
{utils.pm} Utilities for CGI
{up.html} Form for uploading a 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
{whisky.pl} Cookies from first principles - demonstration
{sweet.pl} Perl, CGI, sessions - application template, first principles
{sweeter.pl} Perl, CGI, sessions - complete application template second steps
{sweetest.pl} Perl, CGI, sessions - complete application template, full demo

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

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

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
{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
{automail} Emailing from a Perl Script

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
{with.pl} Simple seb page with CGI.pm
{cgi_serverpush.pl} Server push - a series of responses pages
{cgihello.pl} Hello CGI.pm world
{formdumper.pl} Finding what fields have been submitted - CGI.pm
{bookkeeper.pl} function to clear old session files
{without.pl} Simple seb page withOUT CGI.pm (for comparison)
{cgiobjects.pl} Hello Object Oriented CGI.pm
{extrapath.pl} CGI.pm - how to find server parameters such as remote address
{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
{cook2.pl} CGI.pm - sessions using hidden fields
{cgireadback.pl} Reading back from a form via CGI.pm
{cgitables.pl} Setting up tables with CGI.pm
{cgi_cookies.pl} Report on cookies from browser
{cookstart.pl} CGI.pm OO form / for hidden field session demo
{cook3.pl} CGI.pm / sessions with hidden fields / page 2
{cgiform.pl} How to set up a form using CGI.pm

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
{gempage} Display joined SQL tables via Perl and Web and Browser
{addoperation} Add via form to operation table
{mktabs} Create table structure (SQL for demo)
{addpatient} Add via form to patient table
{patients} patients data
{testtabs} SQL test command
{operations} Operations Data
{gem} Display joined SQL tables via Perl

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]</