Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact

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

Module A101 - Linux -An Introduction For Users
[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 A161 - Users and Groups
[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
[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

Module A163 - Network Configuration and Security
[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
[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

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

Module A167 - Shell Programming (bash)
[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
{skcount} Skill counter - sample script in alternative Perl language
{dcj} Data copy, with command line parameter
{dc4} Data copy, loop to copy files one by one, checking
{datcopy} Simple copy script to run from command line
{dc_checked} Data copy with conditional check
{dci} Data copy, use of shell variables
{skillcounter} Perl script - needs setting up to run as Linux command
{lookup.sh} Bourne Again Shell script for CGI Web server
{dc5} Data copy, calculating statistics
{dcif} Data copy, use of shell if statement

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

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

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

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

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

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
[3168] Web Sites - Subject to Advertising Standards from 1st March - check your sites
[3104] Catering in Syracuse, the Saigon Cafe, stolen images and Christmas
[3016] The legal considerations of your web presence - revisited
[2686] Freedom of Information - consideration for web site designers
[2592] Re-using our pictures
[2252] Leaping dog, Leaping horse, copyright of old masters
[2140] Beware - giving copyright away when you upload a picture - Dogs Trust
[1937] Getting hold of the wrong end of the stick
[1840] Validating Credit Card Numbers
[1747] Who is watching you?
[1506] Ongoing Image Copyright Issues, PHP and MySQL solutions
[1486] Does anyone understand Lithuanian?
[1485] Copyright and theft of images, bandwidth and members.
[1431] Getting the community on line - some basics
[1054] UK legal requirements for your commercial web site
[994] Training on Cascading Style Sheets
[876] Making pages clearer - easy Disability Discrimination Act Compliance
[795] Remember a site's non-technical issues too
[759] Watch your Google profile
[746] Domain Listing Center and Domain Registry of America
[532] Copyright - how much can I legally copy?
[322] More maps
[320] Ordnance Survey - using a 'Get a map'
[288] Colour blindness for web developers
[259] Responding to spam
[142] Colour for access
(article) Using current exchange rates on a web page

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

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
{firstweb} This is a sample of the PHP language
{firstwish} First program in Tcl
{firstprog} This is a sample of the Python 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
[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
{Chloe.java} Running a method from another class
{Debbie.java} Class used in Chloe.java example
{Passport.java} Passport class
{Bella.java} Running a method in Java
{Annie.java} "Hello World" in Java
{Summer.java} Summer test program
{javalog.001} Annotated log

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

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

Module A604 - Apache httpd - virtual hosts
[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
{vhosts_proxy.conf} Virtual Hosting Example with forwarding to Tomcat
{vhost_withnote} Virtual Hosting - sample template for many-domain system

Module A606 - Apache httpd - log files and log tools
[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

Module A607 - Apache httpd mod_rewrite
[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
[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.conf} httpd.conf which includes extra proxy forwarder file
{proxy.conf} Sample mod_proxy configurations
{httpd-forwarder.conf} Proxy Forwarder include file for Apache httpd 2.2

Module A651 - Tomcat Overview
[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
[2088] Changing the 404 - file not found - page in Tomcat
[1550] Java (JSP and Servlet examples) live on our server
[1049] Java 6, Apache Tomcat 6.
[837] Tomcat - Shutdown port
(article) Running CGI scripts in Apache Tomcat
(article) Running SSI (Server Side Include) scripts in Apache Tomcat
{server.course.xml} Cut down server.xml file, from a course practical
{web.course.xml} web.xml, as cut down / modified during a training course
{tomcat-users.course.xml} tomcat-users.xml file, modified on a training course

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

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

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

Module A657 - Using httpd to front Tomcat
[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
[3339] Simplest ever proxy configuration?
[3293] Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat)
[2483] Clustering on Tomcat
[2482] Load balancing with sticky sessions (httpd / Tomcat)
[2059] Sharing the load between servers - httpd and Tomcat
[1995] Automated server heartbeat and health check
[1993] Load Balancing - Hardware or Software?
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1121] Sharing the load with Apache httpd and perhaps Tomcat
[934] Clustering, load balancing, mod_rewrite and mod_proxy
(article) Load balancing and robustness - httpd, tomcat, PHP, Servlets, MySQL
(article) The proxy jServ, jk, jk2, warp and jk story
(article) Load Balancing and Clustering
{server.xml} Tomcat 6.0 server.xml with named jvmroute

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

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

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

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

Module A900 - Tomcat - Extra Features
[3018] Tuning Apache httpd and Tomcat to work well together
[1939] mod_proxy_ajp and mod_proxy_balancer examples
[1899] Virtual Hosting under Tomcat - an example
[1896] Virtual Hosts and Virtual Servers
[1383] Monitoring mod_jk and how it is load balancing
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat)
[1376] Choosing between mod_proxy and mod_rewrite
[1370] Apache Tomcat Performance Tuning
[1121] Sharing the load with Apache httpd and perhaps Tomcat
[1006] Apache httpd and Apache Tomcat together tips
[934] Clustering, load balancing, mod_rewrite and mod_proxy
(article) Load Balancing and Clustering
{balance.conf} httpd mod_rewrite map for load balancing Apache Tomcat
{sslc} server.xml setup example - SSL connector
{mod_rewrite-load_balance} Configuration file mod_rewrite load balancing
{bal.httpd.conf} Load balancing a number of Tomcat instances via httpd
{clust} Clustering - basic setup for server.xml
{cluck.pl} "heartbeat" script to switch servers
{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
[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
{tryme.c} realloc - adds new memory in sizeable chunks
{pinc2.c} Pascal's triangle all in calloc'd memory
{cppex.c} uses of preprocessor directives (cpp)
{pinc.c} Pascal's Triangle - calloc'd rows
{globals.h} include file for cppex.c
{starstar.c} multilevel pointers
{remember.c} Call by value v call by address

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

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

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

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

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

Module C204 - Functions, Macros and programs in multiple files
[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
{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
{funfuncs.c} use of extern to reference variable held elsewhere
{third.c} Separating look and feel from business logic
{fundy.c} call by value v call by pointer / reference
{tcmain.c} Using functions
{tcall.c} Function definition and call
{p3.c} Returning values from a function
{abcpointers.c} Ways of passing back results from a function
{healthybits.c} functions to be loaded from another program
{healthcheck.c} function prototypes and extern
{twice.cpp} Two functions of same name in C++
{makefile} makefile for module C204
{tcsub.h} Using functions - the header file
{taxi.c} functions for VAT rate exercise
{funfiles.c} The home for an extern variable
{tcsub.c} Functions in their own file

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

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

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

Module C208 - Programming techniques and tools
{cle.c} Command line arguments and the environment
{qn208.c} Command line options and parameters
{ctoken.c} Tokenising a string into a structure
{makefile} makefile for module C202
{fyle.c} File reading - template for delegates

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
{ts2.c} Definition and use of pointer to structure
{mytrains.c} Use of pointer to a structure
{ot4.c} Pointer to malloc'd memory from a structure
{sixteen.c} Setting up and using structures on the heap
{ts.c} definition and use of structure
{reso.c} Struct, Structures and Structure Pointers
{dinners.c} Read file into array of structs
{trains.c} An array of structures
{union.c} Example of a Union in C
{tud.c} A Union within a struct - practical use demonstration
{ot2.c} Defining and using a structure
{lunches.c} Read file into array of structs
{ot3.c} Structure with char pointer
{st1.c} Definition and first use of a structure

Module C210 - File Handling
[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
{filesinc.c} low level file handling with open
{cmelk.c} Text file read and write
{lunches.c} Read file into array of structs
{ffiles.c} fopen to access files at a higher level
{deardir.c} Parsing a directory

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

Module C212 - Memory Management
[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?
{strainer.c} reallocing for an array of structures
{loglook.c} Complete example - regex, realloc, string and file handling, etc
{slurpit.c} Dynamic memory allocation - reading a file of unknown length
{supper.c} Read file into array of structs
{twelve.c} Dynamically sized collection
{afp2.c} Dymanic array - runtime sizing on using calloc

Module C221 - Secure C Programming
{oob.c} A poor program - using un initialised variables and an out of bounds array

Module C231 - Introduction to C++
[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
{ir.cpp} File of functions
{fiftyfour.cpp} private method, arrays of objects and object pointers
{fiftythree.cpp} several methods of same name
{app1.cpp} Main application
{fifty.cpp} define and use a class
{rsmain.cpp} Scoping of variables in C++
{cs.cpp} string objects
{makefile} Compile / Load instructions for examples in this module
{ir.inc} Function prototypes for first demo

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

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

Module C234 - Further C++ Object Oriented features
[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++
{regionhotel.inc} include file to define melkshamhotel
{PMdemo} Polymorphism - complete example
{act_02.cpp} Second C++ demo - heap v stack, char handling, this, static
{regionhotel.cpp} Derived class member code
{melkshamhotel.cpp} Derived class member code
{sixtyfive.cpp} Direct, reference and pointer access to variables
{bighotels.cpp} Comparing objects
{Xmas.cpp} Vector, Multiple Inheritance, virtual, Polymorphism, Factory
{cube.cpp} Operator overloading
{pet.cpp} multiple constructors, default parameters
{hotel.inc} Class descriptor
{erandest.cpp} costly, costly, costliest - object comparison
{alias.cpp} Direct, Pointer and Reference access to variables
{act_03.cpp} Object Extras. Vector, delete, factory, destructor, etc
{refs.cpp} Direct, pointer and reference comparison
{act_01.cpp} Simple C++ demo - class - interface and test program
{r2.cpp} References and Pointers for each array member
{coffee.cpp} Overriding add, multiply and << for print
{makefile} Compile / Load instructions for examples in this module
{refdemo.cpp} References and Pointers
{compare.cpp} Comparatives - heavy, heavier, heaviest
{tinyref.cpp} References - description and sample code
{hotel.cpp} Class member code
{melkshamhotel.inc} include file to define melkshamhotel

Module C235 - I/O in C++
[3390] Printing objects in C++
[3252] C++ - unknown array size, unknown object type. Help!
[3124] C++ - putting the language elements together into a program
[1675] Comparing Objects in C++
[1478] Some new C programming examples - files, structs, unions etc
{stdcodes.xyz} Sample data file ...
{fullapp2.cpp} Wholesale factory - a single call to make many objects
{fullapp.cpp} Shell for full application
{boring.data} Sample data for C++ course examples
{nine.cpp} Outputting an object via a stream
{file01.cpp} File handling with C++ streams
{makefile} Compile / Load instructions for examples in this module
{Person.cpp} for use in print object demo
{Person.h} header file for object output demo
{fpri.cpp} Formatting floating point numbers in C++
{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
{prob.cpp} Exception handling - why we need it
{CppExcept.cpp} Creating exception objects, throwing and catching them
{except.cpp} Exception handling - catches
{levels.cpp} Exceptions - try, catch yourself AND throw to parent too
{makefile} Compile / Load instructions for examples in this module
{microthrow.cpp} Defining, throwing, catching an excpetion

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

Module C238 - Templates
[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
{template.cpp} Function templates
{vec01.cpp} Use of a vector in C++
{swab.cpp} more features of templates
{clever.cpp} Reference, pointers, templates
{makefile} Compile / Load instructions for examples in this module

Module C239 - Putting it all together
[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?
{Makefile} Makefile for multiple inheritance demo
{Expense.cpp} A second subclass for multiple inheritance demo
{pd5.cpp} Switching from array to vector
{Film.h} header file for main subclass - multiple inheritance demo
{Make_mark_2} Alternative Makefile to show Makefile facilities
{Film.cpp} main subclass for multiple inheritance demo
{Ninety.cpp} vector, factory method, files, tokeniser
{pd1.cpp} Inheritance in C++ - base demonstration
{Filmtest.cpp} Main program for multiple inheitance demo
{HireFilm.h} Main class specification - multiple inheritance demo
{pd4.cpp} add iostream / namespace, inline, new, printing function, override +
{HireFilm.cpp} Main class for multiple inheritance demo
{pd2.cpp} add an array of objects
{Expense.h} Header file for second subclass
{pd3.cpp} Add an object comparator

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

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
[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
[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 Secondary 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
[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
[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
[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
[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
[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.
[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
[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
[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
[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
[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
[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
[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.
[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
[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
[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
[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
[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
[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
[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
[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
[3636] Best tenner I every 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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
{pee3.rb} Invert (rekey) a file / Ruby
{pee3.pl} Invert (rekey) a file / Perl
{pee3.py} Invert (rekey) a file / Python

Subject G909 - Spam, Spamming and Spammers
[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
[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
[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
[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
[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.m} Objective C source code - First iPad application
{Viewcontroller.h} Objective C header - First iPad application
{ViewController.xib} Objective C nib file (ViewController.xib) - 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
[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
[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?
{fourth.php} Straightforward form and simple validation
{chris.php} Demonstration of form and pricing
{p_fifth.php} One page application - design and human interface MATTERS

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

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

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

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

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

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

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

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

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

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

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

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

Module H114 - Sourcing, installing and configuring PHP
[3635] Parse error: parse error, unexpected T_STRING on brand new web site - why?
[3132] Virtual Hosting with Apache http server - an overall scheme, and avoiding common pitfalls
[2646] Compile but do not run PHP - syntax check only
[2589] Your PHP code does not work? Here is where to start looking.
[2433] Controlling, supressing, enabling PHP error messages
[2317] How to make a Risotto (PHP build style)
[1936] Quick Summary - PHP installation
[1768] What is built in to this httpd and PHP?
[1731] Apache httpd, MySQL, PHP - installation procedure
[1688] cannot restore segment prot after reloc message - PHP / httpd
[1667] Checking server performance for PHP generated pages
[934] Clustering, load balancing, mod_rewrite and mod_proxy
[481] PHP upgrade - traps to watch
[316] Development Environments
[192] Current MySQL and PHP paths and upgrades
(article) Sourcing, installing and configuring PHP
{ini.extras} Some commonly changed limits for PHP
{yellowlion.php} Test for Apache httpd + PHP + MySQL interaction

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

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

Module H117 - Security in PHP
[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

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

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
{offeredit.php4} Validate an editor's login if necessary, and offer a list of records that can be edited
{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
{index.php4} Start of application - offer a series of search boxes, and also an editor's login form
{error.txt} Error messages file - allows for translation into other languages
{edit.php4} Offer the content editor a record to edit (or a blank record)
{top.txt} Boiler plate HTML for the head of every page
{stdfuncs.inc} Standard functions for all pages e.g. open database connection, shopping cart handling
{select.php4} List out all records that match the searcher's criteria, in the form of a selection menu
{confirm.php4} Confirm and update to the content, and save it into database.
{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

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

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

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

Module H300 - PHP Revision
[2742] A simple server benchmark script
[1787] Howto - write and manage a news box on your web page
[1615] PHP training courses every month
{speed.php} Converting distance travelled and time taken into a speed
{showdb.php} Retreiving and displaying information from a database
{nibs.php} Extracting data / complex text file format
{xxy.php} Web Site news - a simple edit box

Module H301 - Sticky fields and session
[3540] Easy session example in PHP - keeping each customers data apart
[2738] What is all this SESSION stuff about? (PHP)
[2416] Automating access to a page obscured behind a holding page
[1911] Remember Me - PHP
[1766] Diagrams to show you how - Tomcat, Java, PHP
[1739] Bath, Snake or Nag?
{fru2.php} Sticky fields, and preventing injection attacks
{zxzx.php} Viewing session from another web page
{westend.php} PHP Session - first principles
{stracker.php} Cookie demo - session alternative
{wsss.php} Sessions - a demo of the mechanism
{dozen.php} Sending out holding pages before final result page
{tracker.php} Cookie demo - demonstration of session principles

Module H302 - MVC, 4 layer model and templating
[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
{stages.finish1.inc} validate email, name and department
{business.inc} Business Logic
{product.txt} Product listing
{multiply.php} Separting look and feel from business logic - business logic
{needed.inc} Sample included file
{stages.htp} Multiple Stage Application
{shoptop.php} Top level
{t2.xxx} Look and feel (business logic elsewhere)
{stages.finish0.inc} initialise for new visitor
{mpc.php} Session based multiple page application Mk 1
{mpa.php} First shell for multipage application
{simsess.php} Session demo / single included file
{stages.php} Muliple page, session based application
{stages.webhelpers.inc} Web helpers for stage.php demo
{mpd.php} Session based multiple page application Mk 2
{template.txt} template file
{mpe.php} Session based multiple page application Mk 3
{web.inc} Web Helpers
{mpb.php} Stepping through and validating over multiple pages
{stages.finish2.inc} Read and record an incident record
{stages.prepare2.inc} prepare for phase 2
{stages.prepare1.inc} prepare for phase 1
{stages.prepare3.inc} prepare phase 3 - no form, just an onward link

Module H303 - Long and short term cookies and security
[3698] How to stop forms on other sites submitting to your scripts
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua
[1911] Remember Me - PHP
[1646] Using cookies and sessions to connect different URLs - PHP
{suggest.php} Cookie and clean form demo
{codo.php} Memorising via a cookie

Module H304 - DDA, Style and image handling
[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
{imagine.php} Upload an image
{gbs.php} What can PHP tell me about my browser?
{park.php} Change image every minute. Retain style based on cookie (DDA)
{imagefromdb.php} Display image held in database
{browsers.php} Counting browser types visiting our site
{browtype.php} Check browser type - feed out plain text or image / flash references
{imagetodb.php} Save already uploaded image into database

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?
[3094] Setting your user_agent in PHP - telling back servers who you are
[2667] Web page to telephone calls / links using an iPhone
[2380] Object Oriented programming - a practical design example
[2343] World Flags in your PHP pages
[2135] What features does this visitors browser support? (PHP)
[1736] Current visitors from around the world - PHP
{sqlshowrecent.php} Display recently visited pages
{parly.php} Welcome a User - but only between 3pm and 5pm on Wednesday!
{second.php} Web Log Analysis - example

Module H307 - Web2 and caching
[3458] On this day ... one PHP script with three uses
[3186] How to add a customised twitter feed to your site
[3094] Setting your user_agent in PHP - telling back servers who you are
[3029] PHP data sources - other web servers, large data flows, and the client (browser)
[2545] Scraping content for your own page via PHP
[2321] Uploading and Downloading files - changing names (Perl and PHP)
[2196] New Example - cacheing results in PHP for faster loading
[1995] Automated server heartbeat and health check
[1926] Flash (client) to PHP (server) - example
[1814] Javascript/HTML example, dynamic server monitor
[1813] Ajax - going Asyncronous and what it means
[1812] Starting Ajax - easy example of browser calling up server data
[1733] memcached - overview, installation, example of use in PHP
[1647] Exchange Rates - PHP with your prices in your users currency
[1633] Changing a screen saver from a web page (PHP, Perl, OSX)
(article) Using current exchange rates on a web page
{cademo.php} Caching between pages via memcached
{ajaxcode.php} Web Service provider - first Ajax demo ajax123.html
{scraper.php} Scraping a remote URL content
{ajax456.html} Asyncronous call from Javascript on client to PHP on server
{prod.php} Web Site performance test page
{ajax123.html} JavaScript to load data from server
{a_logshow.php} Log file analysis (2) - code optimised for readability
{rs.php} Web service to give user current server stats
{exr.php} Grab exchange rates to/from Euro
{hb.php} Heartbeat script to check server
{a_timbershow.php} Log file analysis (1) - base case - functioning but poorly structured
{sendimage.php} Serve a download from a database
{currency.inc} Currency abbreviations and names
{train_pixelreport.php} An easy way to add an image point to a file
{phping.php} Heartbeat script to watch vital server
{train_graphic.php} Display info from application server on an image
{pset.php} Setting the User Agent in your PHP code
{ajaxstatus.html} Ajax demonstration - a dynamically updating status page.
{a_papershow.php} Log file analysis (3) - results cached for run time efficiency

Module H308 - Searches, and search engines
[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
{globalindex.html} ") {
{pplev.php} Looking for a similar surname
{ntx} File of surnames for matching demo

Module H309 - Maps, Graphics and Geographics
[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
{showmanor.php} Slide Show - single file example
{tgf.html} Graphic and report based on data from application server
{shift_graphic.php} Shift Graphic Demo
{isp_eu.php} Plot web site visitors on a map of Europe
{qr_demo.php} Dynamic qr code
{showmap.php} Selecting from an image map
{latlong2os.php} latitude / longitude to ordnance Survey grid positions
{train_pixelreport.php} An easy way to add an image point to a file
{serverlog.php} Graphing server log files
{railstats.txt} Railway Station codes, locations, usage 2004 - 2010 (+2011 added 29.3.2012)
{train_graphic.php} Display info from application server on an image
{tfd.txt} Bare data that we've cached from our application server
{railuse.php} Table and graph of same data
{isp.php} Plotting your web site visitors on a world map
{popup.php} A popup window to show details of an item on a page
{railtrends.php} OO based GD graphics example

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

Module H312 - Tips and Techniques
[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
{ppq.php} Crossreferencing data markers to web pages
{myod.php} generates HTML to link to subdirectories
{callback.php} How a Callback works in PHP
{robert} Sample data for crossreference demo
{msf.php} generates HTML to link to files in

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

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

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

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

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

Module J601 - Java Introduction
[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
{Hello.java} Program to test basic operation of Java tools.
{demolet.java} Sample Servlet - init doGet and doPost methods

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

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

Module J704 - Loops and Conditional Statements
[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
{Day2a.java} Sample program for exercise
{Secondif.java} Nested 'ifs', and 'else'
{Updown.java} Example of a boolean variable
{Newtab.java} First read - calculate - loop program
{Forloop.java} the 'for' loop in Java
{Loop1.java} 'While' loop example
{Firstif.java} Example of a first if statement
{Loop2.java} Breaking from a loop
{Bills.java} Nested loops, conditionals, breaks, labels etc

Module J705 - Arrays
[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!
{compton.java} Array initialisation
{Wilsford.java} Two Dimensional non-rectangular Array */
{A350.java} Array - setting up, filling, looking for highest and lowest values
{Arr1.java} First Array in Java
{Charlton.java} Setting up and using array of arrays
{rowby.java} Dynamic use of arrays
{rushall.java} Two dimensional array
{upavon.java} Array Manipulation
{Weekend.java} Array of Objects
{A365.java} Array - length, initialise throughout, arrays or strings
{Gurdy.java} Pascal's triangle using dynamic arrays
{Bowerhill.java} Dynamic Array sizing (multidimensional)
{Hurdy.java} Pascal's traingle using a two dimensional array

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

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

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

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

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

Module J712 - Exceptions
[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
{E1.java} Class to which to add exception handling during practicals
{wadswick.java} Sample program that will throw an exception, not catch it, and fail
{E1a.java} Sample answer - handling exceptions on reading use input
{neston.java} First example of an exception
{card_7.java} for neston demo - interface card
{Keira.java} try, catch, finally - full example
{Jane.java} Define your own exception class
{Bikini.java} Practical Exception Handling Example
{playing_card_7.java} class of playing_card, used in "neston"
{suspect_card_7.java} class used within "neston" demonstration

Module J713 - More Input and Output
[2420] Exceptions in Java - why and how
[1239] End of File on a Java BufferedReader
(article) Formatting to a fixed number of decimal places
{farleigh.java} Checking file status, reading and writing
{snip2} File existence checking
{bratton.java} Formatted Printing
{snip1} Code snippet - reading from a file
{winsley.java} File Manipulation examples
{snip3} Writing to a file
{wellreader.java} Sample Input class from earlier courses and modules
{Javafgrep.java} Example for modification exercise

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

Module J715 - Putting the Java Language Together
[2735] Type checking, Java arrays and collections
[1181] Good Programming practise - where to initialise variables
[836] Build on what you already have with OO
{Placefinde.java} Solution - application class
{PF2.java} Second example application
{Area.java} defintion of an area of the UK
{Place.java} Solution - base class (abstract)
{MF.java} Final example application
{PF4.java} Final lookup on data example, ignoring area v district distinction
{PF1.java} Sample extended class
{PF3.java} Third example application
{P3.java} Example object
{Multifinder.java} Full application
{District.java} definition of a district of the UK
{P4.java} Object P4 definition

Module J801 - Review of Java Basics
[1082] Straight from the .jar
(article) Overview of Java
{Desert.java} Base Class for use in Dairy Queen demo
{Icecream.java} A subclass of Desert
{DairyQueen.java} Main application to show inheritance and polymorphism
{Insurable.java} Dairy Queen demo - just a shell interface to show the implements mechanism
{Colddesert.java} Part of the Dairy Queen demo

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

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

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

Module J808 - Network Programming
[2863] Writing a server in Java
[1976] Where is this IP address, IPv4 and IPv6
(article) "Java Cookbook" - review
{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
{kingfisher.java} Application to demonstrate serialiasble objects
{Bead.java} The Serialiable class itself

Module J810 - Internationalization
[3497] Not the same language - but based on the same constructs
{pintail.java} Numbers, currency and date - internationalization
{Avocet.java} Resource bundles in use
{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
{jdbc1.java} Connecting to a MySQL database
{J850sjdbc.java} Generic database insert and select code (MySQL demo)
{Oralink.java} Connecting to an Oracle database
{J850insert.java} Servlet that adds a MySQL table row
{J850select.java} Servlet to run a MySQL select (jdbc)
{J850_jdbc.java} Class to perform a MySQL table insert
{Maggie.java} MySQL Database Connection and Query
{make_J850.java} Create table for J850 series of demos
{J850staff.java} Servlet to insert into and report on a table

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
{Reg1.java} Regular expressions - look for email address
{Reg2.java} Regular expressions - look for all matching lines in a file
{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
{Reg6.java} Regular expressions - match and replace

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

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

Module J906 - Servlets in More Detail
[3293] Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat)
[3044] Changing a Servlet - more that just editing and compiling
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2652] Reading and writing cookies in Java Servlets and JSPs
[2183] Servlet life cycle, and Java Servlet variable scope
[1909] javax.servlet cannot be resolved - how to solve
[1550] Java (JSP and Servlet examples) live on our server
[1495] Single login and single threaded models - Java and PHP
[479] New servlet from old
(article) Sessions in Servlets
{Barman.java} Servlet with sessions
{HelloServlet.java} Hello Servlet World
{PubWatch.java} Tracking and sessions for clustering demo
{Landlord.java} Web Server / Servlet / Sessions, with session interaction

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

Module J909 - Putting it all together
[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?
{price.jsp} Example of a JSP and what the raw Java would be
{Room.java} Business logic for JSP demo (price)
{hello.jsp} Simple JSP calling in business logic from a class
{Beast.java} Java Bean for JSP demo (hello)
{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
{Im1.java} Generating an image file through AWT */
{formpage.html} Web form that uses Im4.java -->
{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) */
{web.xml} Tomcat config file for the sample application -->
{Im4.java} An image (AWT) with form selected data (HTTP) from a database (JDBC) via a web page (Servlet) */
{multigraph.html} Web form that uses Im4.java (multiple images in one page) -->

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

M: Well House Manor; hotel and events

Subject M100 - Introduction to Well House Manor
[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
[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
[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
[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
[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
[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
[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
[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.
[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 availabiity
[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
[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
[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
[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
[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
[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
[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
{tracks.txt} OS data for Wiltshire Public Transport
{game01.php} Choosing start and end points for a game

Subject M201 - Around Melksham, Wiltshire
[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 Secondary 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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
{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
{ws2.wsf} Windows script - report on a datafile

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

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

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

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

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

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
{d4} Sample code - alternatives to if and while
{pod1.html} Example of HTML generated from POD
{pod1} Example of 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)
{ptkclock.pl} Simpler version of Perl/Tk clock
{tk1} A simple GUI with Perl/Tk
{tk2} Drawing graphics on a canvas with Perl/Tk
{ptkcl2.pl} Clock using Perl/Tk
{tk5.pl} Tk demo - fill in form, moving graphic
{tk3.pl} A toggle button implemented in Perl/Tk
{tk3} An interactive application with a Tk GUI
{tk4.pl} An interactive form on a grid (tk)

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

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

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

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

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
{twoa.pl} More generalised form handling
{docwrite.pl} Writing a document within a CGI script
{jumper.pl} Random jump - return a location header
{twopost.pl} Collection information via POST
{mulcgi.pl} Handling a form with multiple fields
{envlist.pl} Environment and input lister

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

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

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
{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
{whisky.pl} Cookies from first principles - demonstration

Module P408 - Standard Web Modules
[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
{fred} Grabbing a web page for echo
{cookie.pl} Setting, reading and deleting cookies
{cc2} Use LWP UserAgent to check and see if a remote site has changed
{ecbgrab.pl} Grabbing a network resource through LWP UserAgent
{cgis.pl} Using CGI.pm as a structured code
{page_checker} Using LWP::Simple to find all links from a web page
{freda} Grabbing a web page for cache
{goodlinks} Validate links from a page (LWP)
{cgilite.pl} Using CGI_Lite.pm - simple example
{grab2} A first example - grabbing a web page via LWP
{cgi1.pl} Simple demo of CGI.pm
{frederick} Grabbing a web page for cache if refresh needed

Module P409 - Searching
[2233] Transforming data in Perl using lists of lists and hashes of hashes
[1183] Improving searches - from OR to AND?
{searchform.html} Search form
{ar5.cgi} Rekeying data - CGI example with form based control
{my_search.pl} recursive search through HTML files
{yetwider.pl} Wider area search using a pregenerated central keyword resource
{indexer.pl} Simple search through a few web pages
{robotic_search.pl} Setting of a background indexer from a CGI script
{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
{automail} Emailing from a Perl Script
{am2} Emailing from a Perl script to a variety or recipients
{mailsender.pl} Mail form - sending email from Perl
{pop3.pl} Using POP3 protocol to read emails into a Perl program

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

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
{operations} Operations Data
{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)
{gem} Display joined SQL tables via Perl
{testtabs} SQL test command
{patients} patients data
{addpatient} Add via form to patient table

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Module P774 - Good CGI scripting.
[263] Harmony
[262] A little bit of fun - the new Perl Quiz
[261] Putting a form online
{questionset.pm} Business logic for quiz system demo
{q15.pl} Quiz - Statistical table generator
{quiz.pl} Top level code for quiz system demo
{main.htp} Template for Quiz system demo -->
{whc_web.pm} Web helpers for quiz demo (and others too)
{Perl.1} Some sample quiz questions
{thing.pm} Generic object used within business logic

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

Q: General programming subjects

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

Module Q100 - Learning to Progam
[3551] Some terms used in programming (Biased towards Python)
[3120] Learning to write good programs in C and C++ - separating out repeated code
[2973] Learning to program - where to start if you have never programmed before
[2898] Programming Standards from the start!
[2505] I almost put the bins out this morning
[2504] Learning to program in ...
[2326] Learn a new programming language this summer.
[2294] Can you learn to program in 4 days?
[2286] New to programming? It is natural (but needless) for you to be nervous
[2092] Tracking difficult bugs, the programmer / customer relationship
[2048] Learning to program in PHP, Python, Java or Lua ...
[2001] I have not programmed before, and need to learn
[1985] Learning to program as a part of your job
[1963] Best source to learn Java (or Perl or PHP or Python)
[1605] Learning and understanding scripting programming techniques
[116] The next generation of programmer
(article) Why so many different courses?
{Chloe.java} First use of functions and command line - Java
{furry.py} Whole program
{fifth.c} Named blocks of code (functions)
{colin} Ruby example - planning and documenting your code
{seven.c} Repeating blocks of code with a loop
{third.c} Calculate and print
{sixth.c} Conditional code
{eleven.c} Reading data from file
{fur3.py} Conditionals
{small_demo.php} A first useful program in PHP
{fourth.c} Calculations and precedence
{twelve.c} #define, breaking a loop, == testing
{stuff.txt} Data for eleven.c and twelve.c
{first.c} A first program - a series of instructions
{ten.c} An array to store multiple values
{fur2.py} Operator precedence
{second.c} Calling named blocks of code

Module Q101 - Programming Principles
[3673] Object oriented or structured - a comparison in Python. Also writing clean regular expressions
[3551] Some terms used in programming (Biased towards Python)
[3548] Dark mornings, dog update, and Python and Lua courses before Christmas
[3542] What order are operations performed in, in a Perl expression?
[3456] Stepping stones - early coding, and writing re-usable code quickly
[3026] Coding efficiency - do not repeat yourself!
[2964] An introduction to file handling in programs - buffering, standard in and out, and file handles
[2915] Looking up a value by key - associative arrays / Hashes / Dictionaries
[2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use
[2769] Easy - but for whom?
[2737] Improving your function calls (APIs) - General and PHP
[2586] And and Or illustrated by locks
[2550] Do not copy and paste code - there are much better ways
[2510] The music of the stock market
[2415] Variable names like i and j - why?
[2327] Planning!
[2310] Learning to write high quality code in Lua
[2228] Where do I start when writing a program?
[2022] Pre and post increment - the ++ operator
[2001] I have not programmed before, and need to learn
(article) copying an object - copy the reference
{compat} Sharing code between modules / Python
{whatos} Implementation of a design
{compat_stage1} reusing code in a module / Python
{design.001} Designing an application - start here
{rubfunc1} Ruby example - define and call a named block of code
{comp_control} Control case / Python
{cbv2.c} Call by value and name - extended example
{cbv.c} Call by value and call be name
{perspire} First Loop
{sweat} First Conditional
{cd1.c} Comments and sequence of statements
{afresh} Modular programming!
{day2_1} Functional (structured) coding
{algo_cgi.pl} CGI equivalent of Station Name / anagram program
{utilz.py} Simple sample module
{algo} Use of a sub to avoid repeating code
{askuser.py} Sample module for sharing ...

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

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

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

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

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

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

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

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

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

Module Q805 - Advanced Regular Expression Components
[3100] Looking ahead and behind in Regular Expressions - double matching
[3089] Python regular expressions - repeating, splitting, lookahead and lookbehind
[2909] Be gentle rather than macho ... regular expression techniques
[728] Looking ahead and behind in a Regular Expression
{ahead.pl} Checking if part of a string matches twice with look-ahead

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

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

Module Q906 - Object Orientation: Individual Objects
[3721] Naming blocks of code, structures and Object Orientation - efficient coding in manageable chunks
[3436] Moving from scripting to Object Orientation in Python
[2651] Calculation within objects - early, last minute, or cached?
[2393] A first demonstration of OO, including polymorphism
[2173] Basic OO principles
[2171] Cleaning up redundant objects
[1925] Introduction to Object Oriented Programming
[1864] Object Oriented Perl - First Steps
[1543] Learning Object Oriented Principles (and perhaps Java)
[507] Introduction to Object Oriented Programming
[227] Bellringing and Programming and Objects and Perl
(article) Incr-Tcl - Object Oriented extension to Tcl
(article) Object Orientation in Perl - First Steps
{develop.cpp} Methods (C++) - functions that run on an object
{ua03} Creating and using objects in Perl
{bells.pm} Bell change class - notation and change interpreter
{ua} Final example - calling basic Perl classes
{an03} Creating and accessing simple objects in Perl
{classic.php} First Class demo
{sc.java} Structured code in Java
{ua01} Calling functions in Perl from another file
{an02} creating a hash of data in a package in Perl
{sc.perl} Structured code in Perl
{animal.pm} Creating and using Perl objects in a class
{an01} creating a hash of data in Perl
{rails_script} Using the scripting idiom
{after3.c} Functions - passing in a structure
{after2.c} Functions - fundamental calls
{ua02} Calling functions from a module in Perl
{rails_oo} Using the Object Oriented idiom
{osx.php} An array of objects
{ringer} Test program for the "bells" class

Module Q907 - Object Orientation: Design Techniques
[3607] Designing your application - using UML techniques
[3454] Your PHP website - how to factor and refactor to reduce growing pains
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole
[3085] Object Oriented Programming for Structured Programmers - conversion training
[3063] Comments in and on Perl - a case for extreme OO programming
[2977] What is a factory method and why use one? - Example in Ruby
[2953] Turning an exercise into the real thing with extreme programming
[2889] Should Python classes each be in their own file?
[2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use
[2865] Relationships between Java classes - inheritance, packaging and others
[2785] The Light bulb moment when people see how Object Orientation works in real use
[2747] Containment, Associative Objects, Inheritance, packages and modules
[2741] What is a factory?
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2523] Plan your application before you start
[2501] Simples
[2380] Object Oriented programming - a practical design example
[2327] Planning!
[2170] Designing a heirarcy of classes - getting inheritance right
[2169] When should I use OO techniques?
[1538] Teaching Object Oriented Java with Students and Ice Cream
[1528] Object Oriented Tcl
[1435] Object Oriented Programming in Perl - Course
[1224] Object Relation Mapping (ORM)
[1217] What are factory and singleton classes?
[1047] Maintainable code - some positive advice
[836] Build on what you already have with OO
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl
[747] The Fag Packet Design Methodology
[656] Think about your design even if you don't use full UML
[534] Design - one name, one action
[507] Introduction to Object Oriented Programming
[236] Tapping in on resources
[80] OO - real benefits
(article) Mapping database rows to objects in a class
{poc.pm} Perl Module - for poctest demo
{oo3.py} Comparator across multiple classes
{oo2.py} Muliple classes / inheritance / polymorphism
{poc3} Piece of Content - using Perl's OO features
{poc5} Piece of Content - a list of objects
{oo1.py} First Class definitions and use
{poc2} Piece of Content - encapsulate logic in package
{poc7} Piece of Content - extended class and inheritance
{poc1} Piece of Content - encapsulation in a package
{railstock.structured} Rail Stock Demonstration - structured
{poctest} Piece of Content - main program to use poc.pm module
{railstock.oo} Rail stock demonstration - Object Oriented
{da.txt} Data for rail stock demo
{poc6} Piece of content - setters and getters
{poc4} Piece of Content - add a catch-all AUTOLOAD
{oo4.py} high, higher, highest (static method)

Module Q908 - Object Orientation: Design Patterns
[3716] Learning C++ - a design pattern for your first class
[3608] Design Patterns - what are they? Why use them?
[2977] What is a factory method and why use one? - Example in Ruby
[2741] What is a factory?
[2322] Looking for a practical standards course
[1224] Object Relation Mapping (ORM)
[485] North, Norther and Northest - PHP 5 Objects
{uml2.php} Factory, Comparator, Object Sort routine
{umli.php} Code to illustrate UML examples

Module Q909 - Object Orientation: Composite Objects
[3609] How do classes relate to each other? Associated Classes
[3251] C++ - objects that are based on other objects, saving coding and adding robustness
[3152] Jargon busting
[3142] Private and Public - and things between
[2922] Getting the OO design write - with PHP a example
[2865] Relationships between Java classes - inheritance, packaging and others
[2641] Object Oriented Programming in PHP
[2170] Designing a heirarcy of classes - getting inheritance right
[1348] Screw it or Glue it? Access to Object variables - a warning
[1345] Perl and Shell coding standards / costs of an IT project
[592] NOT Gone phishing
[477] Class, static and unbound variables
(article) Inheritance
{puma.php} Inheritance, Overriding, Polymorphism, Object comparison of different types [Python]
{Petanimal.java} Pet subclass - Java
{whm3} Residents and Delegates - extended from customers [Python]
{Farmanimal.java} Farm Subclass - Java
{Anyanimal.java} Base class - Java
{doggies.php} A set of classes in PHP, factory method, comparators and test harness
{Anitest.java} Test Harness - Java

Module Q910 - GUI principles
[3081] wxPython - simple example to add GUI to a server log file analysis
[2746] Model - View - Controller demo, Sqlite - Python 3 - Qt4
(article) Graphic User Interfaces (GUIs)
{accomlist.py} Controller - complete PyQt (Python 3, Qt4) GUI app
{ticfull.py} Alternative View - complete PyQt (Python 3, Qt4) GUI app
{model.py} Model - complete PyQt (Python 3, Qt4) GUI app
{tourist.py} Model (data class) - complete PyQt (Python 3, Qt4) GUI app
{tic_view.py} First View - complete PyQt (Python 3, Qt4) GUI app

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

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

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

Module Q915 - Principles of Model - View - Controller
[3705] Django Training Courses - UK
[3624] Why do we need a Model, View, Controller architecture?
[3454] Your PHP website - how to factor and refactor to reduce growing pains
[3237] Using functions to keep look and feel apart from calculations - simple C example
[2612] The Model, View, Controller architecture (MVC) - what, why and how.
[2199] Improving the structure of your early PHP programs
[687] Presentation, Business and Persistence layers in Perl and PHP

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

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

R: Ruby programming and use

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

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

Module R102 - Hello Ruby Objects
[2603] Ruby objects - a primer
[2287] Learning to program in Ruby - examples of the programming basics
{hit.rb} A class showing each variable scope in use
{shapes.rb} Object Orientation in Ruby - Training Example
{beast.rb} Sample class in its own file
{d2.10} Define class, create and use instances of it
{d2.12} Calling program to access class in another file
{d2.11} Use of 'self' in Ruby

Module R103 - Basic Ruby Language Elements
[3430] Sigils - the characters on the start of variable names in Perl, Ruby and Fortran
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java.
[2617] Comparing floating point numbers - a word of caution and a solution
[2613] Constants in Ruby
[2296] Variable scope - what is it, and how does it Ruby?
[2287] Learning to program in Ruby - examples of the programming basics
[986] puts - opposite of chomp in Ruby
{d2.5} Calculations within double quotes
{rub1} FAILS to continue a line
{muck} Common Ruby Pitfalls
{floater} Floating point rounding errors
{print.rb} Print alternatives
{calc.rb} Some early gotchas!
{calcbetter.rb} A simple calculation in Ruby
{x01} Constants in Ruby
{d2.4} Easier output formatting in double quoted strings
{bw.rb} Formatting strings and conversions

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

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

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

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

Module R108 - More Classes and Objects
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole
[3158] Ruby training - some fresh examples for string handling applications
[3154] Changing a class later on - Ruby
[3142] Private and Public - and things between
[2980] Ruby - examples of regular expressions, inheritance and polymorphism
[2977] What is a factory method and why use one? - Example in Ruby
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2623] Object Oriented Ruby - new examples
[2620] Direct access to object variable (attributes) in Ruby
[2616] Defining a static method - Java, Python and Ruby
[2604] Tips for writing a test program (Ruby / Python / Java)
[2603] Ruby objects - a primer
[2601] Ruby - is_a? v instance_of? - what is the difference?
[2292] Object Orientation in Ruby - intermediate examples
[1587] Some Ruby programming examples from our course
[1217] What are factory and singleton classes?
[656] Think about your design even if you don't use full UML
[184] MTBF of coffee machines
(article) Basic class definition and use in Ruby
(article) Modules, Mixins and Comparators in Ruby
{disc2} Comparator methods (larger and smaller)
{food.rb} Single class demo
{d4_4} Static Method
{O1.rb} Amending a base class even after it has been extended
{dubber} default - variables are LOCAL
{transact.data} Class / Interitance / Test program data
{ob2.rb} A class with some class (static) and singleton members
{transact.rb} Class / Interitance / Test program example showing good practise
{d4_5} Inheritance in Ruby
{O2.rb} Copy v clone
{multifood.rb} Class demo - lots of extras
{slogan} Server Log Analysis
{reallyshort} Inheritance, Class methods, Attribute Accessors, operator overloading
{slash} Server Log Analysis (2)
{d4_2} Single class example for extension by inheritance
{olop.rb} Operator overloading
{finex} Simplest Inheritance Example
{inh1.rb} Inheritance in Ruby
{attr} attribute accessors
{cmquick} static and dynamic member variables and methods
{d4_3} Object and Class variables (dynamic and static)
{dub3} no returns on a Ruby method
{dub2} With $ - variables are global

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

Module R110 - Special Variables and Pseudo-Variables
[2623] Object Oriented Ruby - new examples
[2613] Constants in Ruby
[2296] Variable scope - what is it, and how does it Ruby?
[1891] Ruby to access web services
[1587] Some Ruby programming examples from our course
[1586] Variable types in Ruby
[990] Ruby - Totally Topical
(article) Solution Centre - all article listing
(article) Solution Centre - all article listing
{topic.rb} Topicalisation - the use of $_
{ruby_awk.rb} implicit loop around code - awk mode
{cc} begin block
{pgv.rb} Predefined global variables and resources
{rerub} Cleaning an incoming string in Ruby
{tiny} Autosplit mode, a loop round your code, BEGIN and END
{c3.rb} Process every line via topicalisation
{av} Command Line Parameters to a Ruby program
{gloop1} Topicalisation - before
{gloop2} Topicalisation - after
{vvx} variable types

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

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

Module R113 - Further Input and Output
{wread} Read a web resource into a program

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

Module R115 - Using Ruby with Other Languages
[3155] Rake - a build system using code written in Ruby
{rakefile} Rakefile for complete C++ example

Module R116 - Security Issues.
[2604] Tips for writing a test program (Ruby / Python / Java)
[945] Code quality counts

Module R117 - Ruby GUIs, XML, SQL Database Connectivity
[2714] A simple example - XML from a Ruby program
[1890] MySQL database from Ruby - an example
(article) Graphic User Interfaces (GUIs)
(article) Interfacing applications to a MySQL database engine
{x1.rb} REXML - XML in Ruby - absolute basics
{dbl} Using MySQL databases from Ruby
{myrssfeed.xml} Sample XML data

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

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

Module R202 - Ruby on Rails
[3624] Why do we need a Model, View, Controller architecture?
[2609] Scope of variables - important to Ruby on Rails
[2607] Answers on Ruby on Rails
[2605] Ruby on Rails - a sample application to teach you how
[1745] Moodle, Drupal, Django (and Rails)
[1375] Python v Ruby
[1302] Ruby, Ruby, Ruby. Rails, Rails, Rails.
[1050] The HTML++ Metalanguage
(article) Ror - Ruby on Rails
{db_seeds.rb} Seeding data for use when application is installed
{views_layouts_floor.html.erb} Template that encloses all pages in the application
{views_floor_index.html.erb} Home page for Ruby-on-rails sample application
{config_routes.rb} Routing for product and aisle resources - configuration
{controller_application_controller.rb} Controller General Helpers
{views_floor_addaisle.html.erb} The view for the "add aisle" page
{ilib.rb} Hello Rails World controller
{views_floor_addproduct.html.erb} The view for the add product page
{greeting.rhtml} Some Ruby at the top of a view
{views_floor_stock.html.erb} View to list out what we sell, listed aisle by aisle
{models_product.rb} How to validate a Product object
{controller_floor_controller.rb} Our main shop floor controller
{models_ailse.rb} How to validate an Aisle object

Module R203 - Installing and setting up Rails
[2610] Cheat Sheet - what do you need for Ruby on Rails?
(article) Ror - Ruby on Rails

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

S: Databases / the MySQL database

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

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

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

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

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

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

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

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

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

Module S161 - Data Access and Security in MySQL
[3270] SQL - Data v Metadata, and the various stages of data selection
[2647] Removing duplicates from a MySQL table
[2263] Mysqldump fails as a cron job - a work around
[2204] Images in a database? How big is a database? (MySQL)
[1131] MySQL - Password security (authentication protocol)
[947] What is an SQL injection attack?
[647] Checking for MySQL errors
[535] MySQL permissions and privileges
[401] What is an SQL injection attack?
[193] The wrong MySQL
[192] Current MySQL and PHP paths and upgrades
(article) Copying databases and tables in MySQL

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

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

Module S200 - SQLite
[3269] Files or Databases? MySQL, SQLite, or Oracle?
[3139] Steering our Python courses towards wxPython, SQLite and Django
[3099] Perl - database access - DBD, DBI and DBIx modules
[2786] Factory methods and SqLite in use in a Python teaching example
[2746] Model - View - Controller demo, Sqlite - Python 3 - Qt4
[2745] Connecting Python to sqlite and MySQL databases
[2744] PyQt (Python and Qt) and wxPython - GUI comparison
[2561] The future of MySQL

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

T: Tcl, Tcl/Tk, wish and Expect

Overview T050 - Tcl, Tcl/Tk and Expect - General
[3286] Should we cover expect and/or Tk on our public Tcl courses?
[3192] Tcl - Some example of HOW TO in handling data files and formats
[2681] Tcl - a great engineering language
[2504] Learning to program in ...
[2474] Using Tcl and Expect to automate repetitive jobs
[2429] Tcl scripts / processes on a web server via CGI
(article) Why have Tcl/Tk been around for so long?
(article) Incr-Tcl - Object Oriented extension to Tcl
(article) The Typist and the Engineer

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

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

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

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

Module T206 - Lists
[3618] lists and struct::list in Tcl - Introduction to struct::list and examples
[3583] Expanding a list of parameters in Tcl - {*} and eval
[3582] Tcl collections - lists, dicts and array
[3415] User defined sorting and other uses of callbacks in Tcl and Tk
[3394] The difference between lists and strings - Tcl
[3285] Extracting data from a string / line from file - Tcl
[2472] split and join in tcl and expect
[2468] What are Tcl lists?
[1601] Replacing the last comma with an and
[1405] Sorting in Tcl - lists and arrays
[1402] Tcl - append v lappend v concat
[1334] Stable sorting - Tcl, Perl and others
[1283] Generating traffic for network testing
[1282] Stringing together Tcl scripts
[781] Tcl - lappend v concat
[463] Splitting the difference
[144] Tcl sandwich - lists in Tcl
{acr2} Treating lines of data read from file as a list
{pk4.tcl} Generate a series packet sizes for network testing
{stdlook} Look up Florida dialling codes
{arx} how an lsort callback works
{fido} Open and read a file line by line
{dt4u} extract field pairs from lines
{slist} list manipulation with struct::list
{expand} Handling a list of command parameters
{days} A list of days

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

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

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

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

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

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

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

Module T216 - Introduction to Tk
[2040] Error: Cant read xxxxx: no such variable (in Tcl Tk)
[595] Add a friendly front end with Tk
(article) Graphic User Interfaces (GUIs)
{tk_hello} Tcl/Tk - Report Date Information
{tk_h2} Report Date Information on a widget
{udq} Widgets, Geometry Managers and Events
{tk_accesscount} Tcl/Tk - Access Log File counter!

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

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

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

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

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

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

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

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

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

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

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

Module T244 - Socket Programming
[785] Running external processes in Tcl and Tcl/Tk
{kesclient} GUI (Tk) client which uses information provided by kesserv server
{kesserv} Tcl Server - read from a Linux device and serve information entered by TCP/IP

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

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

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

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

Module T249 - The Tcltest Package
(article) Using Tcl to test a system with the tcltest module
{ttrun} tcltest - an example running all the tests in a directory
{tt1.test} Test under tcltest, version 2
{tt3.test} tcltest example that runs only if constraints are met
{tt1.t2} Simple test under tcltest versions 1 or 2
{tt2.test} tcltest example using setup and cleanup blocks

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

U: Lua programming and use

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

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

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

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

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

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

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

Module U107 - Object Orientation - the Lua way
[3730] What is a metatable? How do I set one up? How do I use them? Lua
[3727] Using Lua tables as objects
[3694] Special __ methods you can use in Lua metatables
[3683] Weak references in Lua - what are they, and why use them?
[3524] Metaclasses (Python) and Metatables (Lua)
[3396] Tables as Objects in Lua - a gentle introduction to data driven programming
[3142] Private and Public - and things between
[2710] __index and __newindex in Lua - metatable methods
[2703] Lua Metatables
[2701] Is Lua an Object Oriented language?
[2455] Lua examples - coroutines, error handling, objects, etc
[2359] A fresh example - objects the Lua way
[2318] For Lua Programmers AND for Town Planners
[1819] Calling base class constructors
[1743] First class functions in Lua lead to powerful OO facilities
[1699] If you are learning Lua, here are some more examples
[1692] Towards Object Oriented Programming in Lua
{metapetite} Overriding an operator on a table
{lottaob} Polymorphism in Lua - table of objects of different types
{meta3} creating and using a table of tables("objects")
{anim_o1.lua} Tables to associate functions with data
{cat} adding in extra behavious
{meta2} Simple use of a metatable to create a class
{couples} Moving towards Lua objects - Metatables
{dibdab} We can keep funtions in a table too
{acobj} The OO paradigm applied in Lua
{oblet} Hello Object World
{rail5} a table for each station
{meta4} redefining operators
{tabby} Define special behaviours ...
{obtable} Polymorphism in Lua - table of objects of different types
{metatiny} Metatables - the mechanism
{zoo.txt} Sample data file for animal demo
{alog} Program to use visit objects
{Cube.lua} Definition of a cube object
{Dice.lua} Definition of a dice object - Inheritance
{metasmall} Metatable to change a table characteristics
{visit.lua} definition of visit objects
{index_123} __index and __newindex
{kitten} Setting up tables and printing them out - control
{cuboid} Illustrates use of a class of objects
{Sphere.lua} Definition of a sphere object
{newCube.lua} Definition of a class in Lua
{metamid} Adding user methods via a metatable
{meta1} preparations for metatables - this is just a table
{animals.lua} Using a metatable to define print, <, etc

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

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

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

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

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

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

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

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

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

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

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

Module U199 - Programming Standards in Lua
[3685] Programming Standards in Lua
{loadthese.lua} Functions to include within a test harness

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

W: Web site programming / techniques

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

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

Module W503 - Hypertext
[1630] To provide external links, or not?
[1034] The new web site look spreads

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

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

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

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

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

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

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

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

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

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

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

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

Module W604 - Beyond the Server
[2355] See this page in French
[468] Stand alone PHP programs

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

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

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

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

Module W704 - Cascading style sheets - putting it all together
[2223] CSS Style Diagrams - working out where attributes come from
[1677] CSS training - Cascading Style Sheets (UK course)
[996] Setting your colour theme through PHP
[994] Training on Cascading Style Sheets
[565] Using PHP to output images, XML, Style sheets, etc
[501] .css - using PHP to make dynamic style sheets
(article) Introduction to Cascaded Style Sheets
(article) Elements of Cascading Style Sheets
(article) Cascading Style Sheets - laying out your page
(article) Cascading Style Sheets - putting it all together

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

Y: Python programming and use

Overview Y050 - Python - General
[3519] Python - current versions and implementations (CPython, Jython, IronPython etc)
[3489] Python courses and Private courses - gently updating our product to keep it ahead of the game
[3463] Busy weekend of contrasts.
[3076] Python through the Snow
[2822] Python training courses for use with ESRI ArcMap software
[2778] Learning to program in Python 2 ... and / or in Python 3
[2504] Learning to program in ...
[2394] Two days of demonstration scripts in Python
[2367] Learning to program - how to jump the first hurdles
[2285] Great new diagrams for our notes ... Python releases
[2227] Learning PHP, Ruby, Lua and Python - upcoming courses
[2020] Learning Python - many new example programs
[2017] Python - a truly dynamic language
[16] Python training
(article) Python Fast Start
{p4l} Use of xrange rather than range to avoid huge intermediate lists
{ld} Lists, lists of lists, mutable and immutable
{wac} Web Access Counter - parsing big data file
{fdo} File read and write - program 'samples' every 10th line of a log file
{demo} early python demonstration - using, re-using, copying variables
{ooe} generatings lists of 365 elements to convert day of year to month and day
{fd} Some early list demonstrations!
{d2} ways of looping through a list
{accts} First steps in Object definition and use
{demo2} first real application - simple calculation
{filer} Reading a file line by line (good for huge files)
{tupperware} Trying to modify a tuple
{wool} Generator function to prevent need for intermediate list
{demox} How EVERYTHING is an object - even functions!
{darling.py} file to be included to bring in application globals
{costings.py} A file of functions for 'from' or 'import'
{grabbage} Reading a web page 'as if it was a local file'
{dooper} A one-liner to print a file's contents
{rv1} Using a generator to avoid a large intermediate list - control
{sheep} lists of functions, lambdas, callbacks (posh/flexible ways to use functions)
{pipo} Running an operating system command via a pipe
{neville} Simple log file analysis
{monty} First 'real' application
{animals.py} Sample class with test harness too
{nuform} Some examples of the % (string formatting) operator
{dd} loading functions from shared file
{peeps} Converting a file on disc to a list of objects in memory
{dfg.py} Hiding algorithms in functions - 'encapsulation'
{re1} Regular Expression to extract data from log file (and dictionary analyse)

Module Y101 - Introduction to Python
[1663] Python in an afternoon - a lecture for experienced programmers
[1375] Python v Ruby
[950] Python and the Magic Roundabout
[949] Sludge off the mountain, and Python and PHP
[909] Python is like a narrowboat
[846] Is Perl being replaced by PHP and Python?
[834] Python makes University Challenge
[753] Python 3000 - the next generation
[745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus.
[712] Why reinvent the wheel
[710] Linux training Glasgow, Python programming course Dundee
[629] Choosing the right language
[444] Database or Progamming - which to learn first?
[382] Central London Courses - Perl, PHP, Python, Tcl, MySQL
[380] Bridging to the customer requirement
[317] Programming languages - a comparison
(article) Python Fast Start
{fred} Hello world - Python v Java
{hello.py} "Hello World" in Python
{ok} Printing strings in Python 2

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

Module Y103 - Conditionals and Loops
[3558] Python or Lua - which should I use / learn?
[3439] Python for loops - applying a temporary second name to the same object
[3397] Does a for loop evaluate its end condition once, or on every iteration?
[3200] How a for loop works Java, Perl and other languages
[3083] Python - fresh examples from recent courses
[2899] Groupsave tickets - 3 or 4 train tickets for the price of 2
[2778] Learning to program in Python 2 ... and / or in Python 3
[1696] Saying NOT in Perl, PHP, Python, Lua ...
[1661] Equality, sameness and identity - Python
[1477] Decisions - small ones, or big ones?
[1201] No switch in Python
[909] Python is like a narrowboat
[835] Python - when to use the in operator
[788] New - Conditional expressions in Python 2.5
[668] Python - block insets help with documentation
[657] The ternary operator in Python
[353] Wimbledon Neck
[299] What - no switch or case statement?
(article) the while and else structure
{lenny} First Loop
{groupsave} Groupsave ticket calculator
{if2.py} if with a block
{combo.py} Combining conditions with and and or
{goal.py} when is a number "false"?
{if3.py} Nested blocks
{ken} single and multiple statement blocks / conditionals
{eqt} Comparions
{tab2.py} loop controls - break and else
{table.py} a loop in python
{bp} Exchange Rate Conversion answer
{swans.py} Swan family - Python
{shand.py} Shorthand operators
{sintea2} Singapore Teapot - exercise answer (2)
{python_switch_case} Alternative to switch, case and default
{b1.py} if - elif - else conditional
{if1.py} an if statement in python
{if4.py} if, elif and else
{sintea} Singapore Teapot - exercise answer

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

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

Module Y106 - Object Oriented Python
[3673] Object oriented or structured - a comparison in Python. Also writing clean regular expressions
[3436] Moving from scripting to Object Orientation in Python
[3399] From fish, loaves and apples to money, plastic cards and BACS (Perl references explained)
[3085] Object Oriented Programming for Structured Programmers - conversion training
[2604] Tips for writing a test program (Ruby / Python / Java)
[2169] When should I use OO techniques?
[2017] Python - a truly dynamic language
[1925] Introduction to Object Oriented Programming
[1348] Screw it or Glue it? Access to Object variables - a warning
[1306] Python class rattling around
[900] Python - function v method
[834] Python makes University Challenge
[477] Class, static and unbound variables
(article) all variables are objects
(article) Python Calling functions and methods. Using objects and modules.
(article) copying an object - copy the reference
{cubbyhole} Simple class - with a class variable
{creatures} Exercise answer - program to test class animal
{pets} OO sample - definition and use of two dog objects
{wr2.py} Test application for "writer" class
{longer} Saving a lambda in a variable and other tricks
{aper2} retaining data objects for iteration
{wr_test.py} Test harness for writer class
{writer.py} A simple class - constructor, object method and class method, no inheritance
{tabby.py} table, round table and rectangular table
{c1} Defining and using a class - early steps
{drink.py} definition and testing of a class
{containers.py} Shapes used for items in junkroom
{rr2} Object equality, identity and sameness
{animal.py} Sample class (exercise) - animal
{pyobs} test program for containers in junkroom
{glue} Shows danger of using direct access to a member variable

Module Y107 - Dictionaries
[3662] Finding all the unique lines in a file, using Python or Perl
[3555] Football league tables - under old and new point system. Python program.
[3554] Learning more about our web site - and learning how to learn about yours
[3488] Python sets and frozensets - what are they?
[3464] Passing optional and named parameters to python methods
[2994] Python - some common questions answered in code examples
[2986] Python dictionaries - reaching to new uses
[2915] Looking up a value by key - associative arrays / Hashes / Dictionaries
[2368] Python - fresh examples of all the fundamentals
[1145] Using a list of keys and a list of values to make a dictionary in Python - zip
[1144] Python dictionary for quick look ups
[955] Python collections - mutable and imutable
[103] Can't resist writing about Python
(article) Python List, Python Tuple, Python Dictionary
{pred.py} Illustration of a program that would benefit from dictionaries
{zip-it.py} Joining 2 lists into a dictionary
{pocket.py} dictionary with object keys - example
{d2.py} Looping through all the elements of a dictionary
{coin.py} Class used by dictionary with object key example
{soccer.data} Soccer League table
{u2} count of each line in a file, sorted by count
{pycounter} counting words using dictionary
{pres.py} Is a key used in a disctionary?
{file_2nd} Analysing blog accesses
{u0} report unique lines from file
{pyset} listing words using set
{topsk} counting occurrences in a file
{nx} Dictionary of objects - exercise and sample answer
{d1.py} Defining and looking up in a dictionary
{d3.py} Can I sort a dictionary?
{uniquise} Sort all lines in a file, sort by frequency, list lines they occur on
{slowcoach} Analysing visit lengths to web site - no cache
{snork} Variable scope when sorting a dictionary by value
{soccer_py} Soccer - league table, old v new point system
{dfp} Optional, list and dictionary params
{marie.data} data file with duplicated lines
{u1} Report each line from a file
{visitors} Analysing visit lengths to web site - using cache
{pax_month.py} Unique visitors / visited pages per month

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

Module Y109 - Exceptions
[3664] Error checking in a Python program - making your program robust via exceptions
[3441] Pressing ^C in a Python program. Also Progress Bar.
[3433] Exceptions - a fail-safe way of trapping things that may go wrong
[3177] Insurance against any errors - Volcanoes and Python
[2998] Using an exception to initialise a static variable in a Python function / method
[2994] Python - some common questions answered in code examples
[2622] Handling unusual and error conditions - exceptions
[2408] Robust user input (exception handling) example in Python
[2368] Python - fresh examples of all the fundamentals
[2281] Python - using exceptions to set a fallback
[2018] UnboundLocalError - Python Message
[1236] Trying things in Python
[1042] Nested exceptions in Python
[381] Exceptions in Python
(article) errors v exceptions
{trapper.py} Use of try and except
{wholehog.py} static variable - initialise via exception
{ouch} try, except, finally example
{grabot.py} Read from a URL resource with error trapping
{oy} Raising Exceptions yourself
{kx} Answer to exercise
{ewhy.py} Using excpetion for fail-safe error handling
{sometimes.py} Example of a piece of code that sometimes crashes
{insist.py} try and except within a loop
{pushit.py} Handling multiple exceptions types
{syntax.py} Example of a syntax error
{stopc} trapping ^C in Python
{prog} Status line. Also trapping ^C
{deltemp.py} Use of pass to provide an empty block
{maffs.py} static variable in Python
{runtime.py} Example of a runtime error
{gwrong.py} Using excpetions to allow *some* user errors
{ranger.py} passing exceptions back to calling code
{ui} Read an integer - validated
{bug.py} Program with a bug!

Module Y110 - File Handling
[3558] Python or Lua - which should I use / learn?
[3465] How can I do an FTP transfer in Python?
[3442] A demonstration of how many Python facilities work together
[3083] Python - fresh examples from recent courses
[2870] Old prices - what would the equivalent price have been in 1966?
[2282] Checking robots.txt from Python
[2011] Conversion of OSI grid references to Eastings and Northings
[1442] Reading a file multiple times - file pointers
[183] The elegance of Python
[114] Relative or absolute milkman
{pstat.py} Checking whether a file exists, and things about it ...
{j2} using a generator to source data from a file
{is.xyz} Inflation data - UK - annual factors
{majorcooker.py} Handling huge data
{costhuge.py} Reading a file line by line
{coster.py} Read whole file, report on lines matching a pattern
{wac1} Read file into list and process each line
{lost.py} Trapping a non-existant file error
{file_first} Short file parser
{dsa} polymorphism in action
{fff} Jumping around an input file (random access)
{tablog.py} File overwrite and append in python
{grabpage.py} Read from a URL as is reading from a file
{n2} Find the title of a web site
{pinorder.py} List a directory sorted by age of object
{filechex} File checks - is it a directory, when was it modified
{fgfg} Improved version - program to handle data recently appended to a log file
{dmoz.py} Parsing a large file, looking for matching lines
{grounds.py} Soccer grounds - Python
{flr} Fixed Length Record to CSV
{sys.py} Disc space free within an application
{inflate} Inflation Calculcator - what would it have cost?

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

Module Y112 - Objects - Intermediate
[3524] Metaclasses (Python) and Metatables (Lua)
[3472] Static variables in functions - and better ways using objects
[3442] A demonstration of how many Python facilities work together
[3002] A list of special method and attribute names in Python
[2994] Python - some common questions answered in code examples
[2905] Defining static methods in Python
[2889] Should Python classes each be in their own file?
[2785] The Light bulb moment when people see how Object Orientation works in real use
[2764] Python decorators - your own, staticmethod and classmethod
[2722] Mixins example in Python
[2720] Multiple inheritance in Python - complete working example
[2717] The Multiple Inheritance Conundrum, interfaces and mixins
[2693] Methods that run on classes (static methods) in Python
[2485] How do I set up a constant in Python?
[2409] TypeError: super() argument 1 must be type, not classobj (Python)
[2368] Python - fresh examples of all the fundamentals
[1819] Calling base class constructors
[1661] Equality, sameness and identity - Python
[1644] Using a utility method to construct objects of different types - Python
[1517] Python - formatting objects
[1217] What are factory and singleton classes?
[1146] __new__ v __init__ - python constructor alternatives?
[964] Practical polymorphism in action
[903] Pieces of Python
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl
[656] Think about your design even if you don't use full UML
[477] Class, static and unbound variables
[383] Overloading of operators on standard objects in Python
[296] Using a Python dictionary as a holder of object attributes
(article) Inheritance
(article) all variables are objects
{ub} Utility method to construct different objects
{cho.py} new style classes, as module with inheritance and test harness
{meerkat} Decorator v modifier; static methods
{m_i_m} Mixins Complete Example
{accoms.xyz} Sample data for accoms program
{fcl.py} program to show use of "person" class
{mcx} metaclass setup and use
{person.py} Class with Body Mass Index method
{mult_inherit} Multiple Inheritance Complete Example
{ting2} static (class) methods via decorators
{travel.py} static methods, overloaded operator, propertys, inheritance and polymorphism ...
{pub.py} wholesale factory method - read file to list of objects
{id} getitem and getslice
{triang.py} definition of a property
{accom_finder.py} Sample application using hotel and bandb
{timetable.txt} data for pub.py
{ufd} Sample data for person.py demo
{cl_n.py} New Style classes and inheritance
{hound.py} Definition of two objects to demonstrate polymorphism
{people.py} Class, subclasses, test harness. Inheritance, Poymorphism and Overloading
{obob} Inheritance demo
{ttest.py} calling an attribute [property]
{bandb.py} definition of subclass bandb of accom
{accom.py} Accommodation base clase
{goat.py} Defining a class of goats and overriding addition
{pysin} Singleton class
{addload} Illustration of how the + (add) operator is really defined
{thems} Polymorphism demonstration - uses cat and dog objects from hound.py
{cho} New style class - with inheritance
{whm_real} Factory method
{boxex} Overloading (redefining) addition and how a variable is printed
{teapot.py} Class heirarcy in a single file
{hotel.py} definition of subclass hotel of accom
{personx.py} OO demo - multiple classes, inheritance, test program
{xmc4.py} Polymorphism and inheritance with Christmas and Easter Characters
{cl_o.py} Old Style classes and inheritance
{yum} Define your own add and print methods

Module Y113 - Python and SQL databases
[3139] Steering our Python courses towards wxPython, SQLite and Django
[3136] A framework with python - Django - first steps
[2790] Joining a MySQL table from within a Python program
[2786] Factory methods and SqLite in use in a Python teaching example
[2746] Model - View - Controller demo, Sqlite - Python 3 - Qt4
[2745] Connecting Python to sqlite and MySQL databases

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

Module Y116 - Applying OO design techniques and best practise
[2604] Tips for writing a test program (Ruby / Python / Java)
[2523] Plan your application before you start
[2485] How do I set up a constant in Python?
[2407] Testing code in Python - doctest, unittest and others
[2363] Alpaca Case or Camel Case
[1181] Good Programming practise - where to initialise variables
[945] Code quality counts
[836] Build on what you already have with OO
[668] Python - block insets help with documentation
[656] Think about your design even if you don't use full UML
[340] Code and code maintainance efficiency
(article) What makes a good variable name?
{constant.py} Constants in Python
{ddd.py} Good practise tips and documentation string

Module Y117 - Already written modules
[3479] Practical Extraction and Reporting - using Python and Extreme Programming
[3465] How can I do an FTP transfer in Python?
[3442] A demonstration of how many Python facilities work together
[2931] Syncronise - software, trains, and buses. Please!
[2890] Dates and times in Python
[2506] Good example of recursion in Python - analyse an RSS feed
[2020] Learning Python - many new example programs
{fgrab} FTP transfers
{butter} Regular Expressions
{dates} Date and Time - short example

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

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

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

Module Y199 - Python - Fast Start
[3519] Python - current versions and implementations (CPython, Jython, IronPython etc)
[2017] Python - a truly dynamic language
(article) Python Fast Start
{fast2} Fast start example 2 - inputs and strings
{while1} While loop
{kwlist} What are the keywords in Python?
{for1} for loop
{fast1} Fundamentals of Python - variables and output
{requests.xyz} Sample data file used in source examples
{if1} If, elif and else

Module Y200 - Python - using functions, objects and modules.
[418] Difference between import and from in Python
(article) Python Calling functions and methods. Using objects and modules.
{biff} Some built in functions
{lenco} functions v methods
{importlist} bring module into its own namespace
{fromlist} bring module into current namespace
{appy} Calling a method which alters the object it runs on

Module Y201 - Python for DataMunging and System Admin
[3479] Practical Extraction and Reporting - using Python and Extreme Programming
(article) Log file analysis - short Python example
{sbs} Data Munging Example
{rqsummy} Splitting a line at any white space
{noisesource} Spike solution - Data extraction and reporting
{spamdata.txt} Data for spam signup demo
{lfan} Demonstration program - many aspects of Python

Module Y202 - Python on the Web
[2365] Counting Words in Python via the web
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua
[1745] Moodle, Drupal, Django (and Rails)
[903] Pieces of Python
[433] FTP - how to make the right transfers
[426] Robust checking of data entered by users
[237] Crossfertilisation, PHP to Python
(article) Nasty Characters in Web Applications
{martin.py} Translation coster - CGI script
{tellmewhen.py} Running a Python program through CGI
{piddle.py} CGI, Python, Web server, HTML - reporting server time
{pyserv} basic web server
{hsdemo.htp} Template for hsapp1 and hsapp2
{inf.py} Simple web demo - produce form, complete form, act on data entered to form
{python_mysql_web.py} Python, MySQL, CGI (Web) board
{visitor.py} Analysing a web access log file
{hsapp1.py} Web application mark 1 - 3 pages, sessions, hidden fields
{hsapp2.py} Web application, Mark 2 - 3 pages, sessions, hidden fields
{martin.html} Translation coster - HTML form
{template.htp} Template for simple web example
{place.py} Python / CGI - read from a form, run an application, fill in a template to respond
{pybrow} Browser client

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

Module Y204 - The TkInter GUI
[3476] Tkinter - an easy to use Python Graphic User Interface - introductory examples
{tki_hello} Hello TkInter World
{tki_demo} Practical Tkinter GUI

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

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

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

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

Module Y212 - Code testing, patterns, profiles and optimisation.
[3658] Using Make for a distribution
[3478] Testing your Python classes with the unittest package - how to
[3464] Passing optional and named parameters to python methods
[3442] A demonstration of how many Python facilities work together
[3441] Pressing ^C in a Python program. Also Progress Bar.
[2616] Defining a static method - Java, Python and Ruby
[2123] Using Python with OpenOffice
[1555] Advanced Python, Perl, PHP and Tcl training courses / classes
[1148] Python decorators - wrapping a method call in extra code
[1146] __new__ v __init__ - python constructor alternatives?
[1140] Python GTK - Widget, Packing, Event and Feedback example
[235] Preparation for a day's work
{first.py} Test program for use in build demonstration - first principles
{thems.py} Polymorphism demonstration - used to demonstrate the profiler
{mtbf.py} MTBF class - overwrides + and *, and associated unittest
{utes.py} Simple unittest demonstration
{dtf.py} doctest - an example that triggers a failure report
{trytravel} unittest for travel.py classes
{third.py} Test program for use in build demonstration - with unittest
{travel.py} inheritance, factory, decorator, comparators, static methods, caching, etc
{staboth} Static Method in Python (classmethod - all versions)
{second.py} Test program for use in build demonstration - with doctest
{hound.py} Object definitions for profiler desmonstration
{dec01} decorator - to log function calls
{dta.py} doctest - a longer example
{stawithat} Static Method in Python (Decorator - 2.4 and later)
{makefile} Makefile - for a python test and build distribution project
{profdemo.py} How to run the profiler
{stameth} Static Method in Python (all versions)
{utes2.py} unittest nesting demonstration
{stawrong} bound method running on a class FAILS
{dt.py} doctest - a clean example

Module Y300 - Python 3 - What is New?
[2871] Moving from Python 2.6 to Python 3
[2778] Learning to program in Python 2 ... and / or in Python 3
[2559] Moving the product forward - ours, and MySQL, Perl, PHP and Python too
[2285] Great new diagrams for our notes ... Python releases
[2277] Python classes / courses - what version do we train on?
[1791] The road ahead - Python 3
[1788] Python 2 to Python 3 / Python 3000 / Py3k
[753] Python 3000 - the next generation
{print_2.py} print in python 2
{input_2.py} inputs in Python 2
{git_3.py} Generator in Python 3, range replaces xrange
{git_2.py} Generator and xrange - Python 2
{london.2} Python 2.6 for conversion to Python 3
{john} input and raw_input - Python 2 and Python 3
{input_3.py} Inputs in Python 3 - input replaces raw_input
{london.3} Python 3 - converted from Python 2.6 example
{print_3.py} print in Python 3 - print now a function
{george} Integer v float arithmetic

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

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

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

Module Y305 - Optimising Python
[2462] Python - how it saves on compile time
[2369] Using a cache for efficiency. Python and PHP examples
[2277] Python classes / courses - what version do we train on?
{slowcoach} Analysing visit lengths to web site - no cache
{visitors} Analysing visit lengths to web site - using cache

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

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

Z: Miscellany

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

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

Subject Z200 - Places
[3667] A modern area of Cambridge - some thoughts provoked?
[3654] On a sunny afternoon in London
[3631] Getting around Dublin by public transport - some observations
[3603] Another cold night
[3595] Looking up
[3529] Sharpness, Gloucestershire - a place in transport history
[3393] Rodwell Trail, Weymouth
[3353] Off the beaten track - non-quite-so-tourist spots
[3330] A lot of exercise this week
[3297] A long day, a long journey, and families and similarities the world over
[3204] Two views of a war memorial
[3185] Day Trip to Hereford, in pictures
[3175] The Rhine in winter
[3070] Belfast, on a cold November evening
[3064] On the way to the course this week
[2985] Right place, right season
[2907] Dartmouth, Kingswear and Torbay
[2897] The Land of the Black Labrador
[2809] Frankfurt in 90 minutes
[2808] From home to Nurnberg - journey pictures
[2802] After the Perl course in Nurnberg
[2799] Nuremberg - some pictures
[2754] At Arlington and the Pentagon
[2733] Travel Troubles and Jesus again
[2624] Skyline and looking up in London
[2411] Further North - long summer days and lovely countryside
[2392] Lymington, New Forest - some pictures
[2387] to Clifton Down and Avonmouth
[2316] Guadalajara - a special tour of a lovely city
[2207] North Antrim Coast - a jewel thats well worth a visit
[2205] An evening walk in Carrickfergus
[1837] Alfred the Great
[1807] A sad town in the sunlight
[1804] Colvin and Carlisle
[1755] Istanbul
[1730] Punting on the Cam
[1715] Pictures from South Hampshire
[1714] Hillier Gardens, Hampshire
[1652] Old Sarum airfield brings back fond memories
[1639] Minehead Marauder
[1638] Pictures far apart
[1624] From Freddie the fallow
[1617] Steam Engines at Bressingham
[1590] All Change, Portsmouth Harbour
[1537] To Wales - where theres still a toll on the bridge
[1536] A Weekend in Liverpool
[1524] Nottingham - just text!
[1460] Christmas fare in Ljubljana
[1457] A day in Ljubljana
[1456] Right up to the top of the City
[1425] Melksham v Ely
[1307] Troy, up state New York
[1298] From Leeds
[1244] FolksFest Bristol - German beer, Bratwurst and music
[1229] Where am I?
[1204] Spot the difference
[1147] A picture (mostly in words) of Helsinki
[886] Signs of Leek
[778] Weekend in Ireland
[740] Finishing up in Dhahran
[730] Reading the newspaper and working with other restrictions
[727] A journey, an arrival, a people
[713] Pictures from my travels
[685] A couple of days away
[670] Architectural Heritage - Devizes
[403] Full circle - made it back to an old haunt
[218] Golden Nugget
[186] Lull
[92] Hard work, Hard sell
[70] Red Luas - early life and times
[66] A Taste or Ireland

Subject Z201 - Holidays and Business Trips
[3681] Kicking up a stink, the Victorian way?
[3381] Report - day trip from Swindon / Chippenham / Melksham to Weymouth
[3372] Wearing the new London uniform
[3346] Gibraltar - said to have a few residents less than Chippenham
[3345] Cruising
[3321] Travelling around
[3306] Photogenic Place
[3303] Flying tonight
[3300] Wildlife and other pictures from holiday
[2803] Travelling across Europe
[2797] Sur la T.G.V.
[2796] Sunday - waiting for the ferry.
[2759] Touching base
[2469] Beyond the Pale
[2313] Seeing Guadalajara - a first glimpse downtown
[2306] Melksham to Mexico for the week
[2269] Sipping at York
[2265] A chance to do the tourist thing
[2208] A beautiful coastline
[2200] England, Scotland, Northern Ireland
[2198] On the road, at a Service area thats a cut above the others
[2101] A B C D of GA and TN
[2100] Visiting Family
[2098] A room without a view
[2090] Melksham to Georgia
[2030] The final step to being British
[1992] A good time to travel
[1868] Liverpool - a friendly city
[1746] London for the visitor, for free
[1740] Vertical London
[1657] Farewell, Newcastle to Stavanger, Haugsund and Bergen
[1457] A day in Ljubljana
[1454] From Sunday to Monday, from Melksham to the Balkans
[1308] Good to be home
[1299] In the USA for a few days
[1293] Weymouth - Sunny Summer Sunday afternoon
[1291] Day trip to Weymouth
[1231] Sur le Continent
[1150] Helsinki - what comes naturally
[1143] A course in Helsinki
[1120] 1200 miles in 3 days
[1025] Tomorrow's keywords - London, Training, Course, PHP, Ruby.
[1004] Old dog, old tricks
[878] Easy criteria to meet
[684] Staying in the country
[620] Familiar names, close to home
[548] San Francisco
[518] Passport office - a much improved system
[420] Towards Tebay
[374] Instant availability
[373] Vik, Iceland to Melksham, England
[370] From Iceland
[368] Vacation Week
[81] Cafe keyboards
[65] Ireland

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

Subject Z203 - Cat and Dog
[3675] Spring 2012
[3674] Off to walk the dogs
[3625] An update on Billy the Greyhound and Gypsy the Lurcher
[3606] Gypsy and Billy enjoy the snow
[3561] Happy Christmas ... a Christmas morning walk in Melksham
[3553] Changes to morning routines
[3541] I loves Melksham
[3537] Letting the foster parents know ... too little or too much?
[3533] No message - just doggy pictures of the new doggy
[3530] A typical weekend??
[3338] Return trip - Dogs Trust, Newbury
[3324] Rabbit Shelter
[3096] Contrast in pictures
[2897] The Land of the Black Labrador
[2787] Sleeping in on Sunday
[2689] Can my dog eat potatoes? Doggie Dietary Research, and political sleaze!
[2555] Bookkeeping
[2499] ourdog is Greyhound, Staffie and Ginger Cake
[2496] A better design of mouth
[2456] Bright Eyes
[2451] Gypsy says
[2450] Family Gathering at 404, The Spa
[2295] The dog is not in trouble
[2271] Dogs Trust, Dog Show, Newbury
[2252] Leaping dog, Leaping horse, copyright of old masters
[2167] Watching the tele
[2140] Beware - giving copyright away when you upload a picture - Dogs Trust
[2138] Ski bore ... train bore ... dog bore
[2132] Learning about Lurchers
[2029] Also for the eyes of the cat
[771] From cat breeder to Cobol to Perl
[744] We can offer a room, but we can't operate on a dog
[547] Taking the dog for a walk
[96] Variable Scope
[62] Technical Open House

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

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

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

Subject Z300 - Politics and Religion
[3676] Rising prices, changing habits and society
[3592] Are we one man, one vote? No, and we never have been.
[3438] Melksham to become a part of Trowbridge?
[3325] The Olympic Torch, and Melksham House
[3323] Is Melksham town centre dying?
[3313] What does our MP do on a Bank Holiday?
[3264] Alternative Vote (AV) - explaining and an example
[3051] Positively reforming the system - could it be done?
[2971] Should the public sector compete with businesses? and other deep questions
[2948] Melksham shamefully makes the national headlines
[2870] Old prices - what would the equivalent price have been in 1966?
[2864] Changing with weather and seasons
[2856] Two sides of the coin
[2824] A pint of Black Rat, and a lazy barman
[2792] Should Government compete with private industry?
[2757] Bodicea, Lincoln, and our new MP
[2752] Voting day - UK General Election
[2740] Melksham Hustings at George Ward School
[2712] A more informed decision than ever before
[2689] Can my dog eat potatoes? Doggie Dietary Research, and political sleaze!
[2640] How is your tax pound spent?
[2353] All change - Wiltshire Parliamentary
[2288] Wiltshire Community Area Partnerships
[2279] Understanding the new local government structure in Wiltshire
[2270] Wiltshire - a chance to improve life for everybody
[2257] Ramblings on church and state linkage in Melksham
[2206] Spot the odd one out
[2178] Melksham Candidates for Wiltshire Unitary Election
[2075] Supporting Parkinsons and Trains
[2028] Things people say on the phone
[2012] The Wiltshire Police
[1987] One Cheer for Local Democracy - Asda in Melksham
[1882] Wiltshire Council says - part 2
[1881] Wiltshire Council says - part 1
[1872] Barack Obama wins US Predidency
[1769] July child ponders on August children
[1729] Back from the future
[1579] Rome, and the faith of Rome
[1573] Budget tax increases hit vehicle market
[1526] Carers at work - court case changes
[1428] Travel Across Wiltshire - the game
[1386] New software product for warmblooded programmers
[1350] FSB (Federation of Small Businesses) Western Region
[1260] An inspirational business talk from one of our prospective MPs
[1247] An afternoon at a public enquiry
[1175] Local elections - choosing who to vote for
[1135] Government pressure on me to shut up after I make the papers
[1109] False imprisonment - a contrast from the news
[1060] What a relief from the tax office.
[1003] Room at the Inn, Guy at the station
[967] Realistic on line shoot'em up
[875] Wilfred Emmanuel-Jones
[780] Separation and Integration
[750] Almost everyone loses
[696] Is than an uphill or downhill task?
[682] Iran has enriched uranium ...
[674] Wiltshire to get an extra MP
[671] Both ends of the animal
[607] On being British
[602] MP face to face
[539] rich and famous
[505] Would you steal ... petrol? ... a training course?
[469] Yesterday was Kiss and Ride
[415] Campaign Drift and efficiency.
[384] Managing conflict and disappointment
[377] A Strengthened City
[335] Sad priorities
[326] UK Tax payment totals and where the money is spent
[313] Making bona fide international marriages more difficult
[301] General Election day, UK
[289] MP for Devizes, Wiltshire
[280] Spotted - the local MP
[257] Politics gets nasty. Must be an election coming up.
[216] Cheap purchase - votes paid for with selfish promises

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

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

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

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

Subject Z405 - Melksham Campus
[3520] Quintessentially English - scenes from our Wiltshire town
[3518] Melksham House / Melksham Campus - Seniors Input Sought
[3503] Melksham House - a community facility
[3500] Campus Shadow - a great responsibility
[3481] Some thoughts in answer to some Melksham Campus questions
[3325] The Olympic Torch, and Melksham House
[3279] Letter to The Editor
[3277] Between a rock and a hard place.
[3246] Melksham - the way forward. 26th April, Well House Manor
[3225] Campus - answer to business questions
[3224] Melksham Campus - a win / win opportunity, but a severely lacking decision process
[3214] Melksham Campus - any last minute inputs from Melksham businesses?
[3193] Melksham Campus - what, why, questions, concerns and how you can input

Subject Z501 - Public Transport - Rail
[3728] The future needs for rail services to Melksham - change needed; current service an insult
[3699] Bristol 50? Bristol 25?
[3671] Future train services in Wiltshire - please write in to support a better service
[3668] Kings Cross - new concourse - between Python in Cambridge and Objective C in London
[3642] Wiltshire Travel Times - Chippenham, Trowbridge, Salisbury and other places too
[3631] Getting around Dublin by public transport - some observations
[3626] There is so much to see travelling by train
[3601] Rail Travel - has it become more unreliable?
[3579] Transport in Cambridgeshire - seen by an outside observer. What can Wiltshire learn?
[3565] What would an appropriate train service on the TransWilts line mean
[3564] I wish I was not a special case
[3550] Provide a useable train service, and people will use it!
[3538] Santa Train - another successful trip - 4th December 2011
[3501] Santa Claus - on the train from Melksham on 4th December 2011
[3493] West Wilts Rail User Group - Walk yesterday from Bradford-on-Avon to Trowbridge
[3487] Public transport - road and rail
[3486] How important is public transport to people in the Melksham area?
[3452] Which or ATOC - who reads train fares right?
[3434] Sundays - and over eating
[3410] A review of the Summer Sunday extra trains on the TransWilts line
[3408] Journey home by public transport for a Bank Holiday
[3403] Last chance this summer - Swindon and North Wiltshire to Weymouth by through train
[3392] What costs 8.20 from Melksham, or 22.30 via Chippenham?
[3378] New product - ensuring that supply matches demand
[3371] From Wiltshire to Weymouth on Sundays
[3370] Standing Challenge
[3364] Dogs Legs on the Dogleg
[3362] Swindon, Chippenham and Melksham to Weymouth - Sunday Train Service Starts
[3336] Efficient travel - from Melsksham to Edinburgh by Sleeper Train
[3331] Comparing Alloa and Melksham - stations and services
[3328] Summer Sundays - days out by train from Swindon on the TransWilts
[3318] Summer Sunday Trains - outings from Swindon, Chippenham, Melksham, Trowbridge and Westbury
[3274] Small scale improvement - big scale gain. And they CAN be done with local knowledge
[3273] Wanted - a look to the future
[3198] TransWilts rail - coming together, wanted and needed
[3187] Past and Present - Melksham Station
[3178] The cost of roadworks on the economy of our town - 1800 pounds per hour?
[3176] Comparing German, Dutch and British Railways
[3171] Train and boat journey - the passenger accommodation
[3167] Can I take my dog by train? And other questions
[3161] TransWilts rail - what picture represents us
[3141] Wiltshire Rail services - a golden opportunity
[3135] A time to be brave? We should ask for what is best for our area.
[3119] TransWilts - some things to see and do
[3114] Transwilts Link - both Wiltshire and beyond
[3113] Trowbridge and Melksham to Chippenham - more roadworks, even slower journey over the winter
[3111] TransWilts Link - Days out from Swindon to Weymouth?
[3080] Santa Special - rather more special than usual - December 2010
[3079] TransWilts Rail News ... Melksham (Santa Special) Edition ... 5th December 2010
[3033] Rail services back to Radstock?
[3031] Get all your ducks in a row ... and they may turn into swans
[3017] Seventh day traveller on the six day railway
[3006] Santa announcement, 5th December 2010, Melksham
[2982] Travel, Transport and Tourism - A vision for Melksham, 2026
[2955] Melksham Railway Station - new information point
[2954] Railway meetings, trips and meetups this autumn
[2931] Syncronise - software, trains, and buses. Please!
[2930] Walk - Tilehurst to Pangborne
[2919] London to Calne, Corsham, Melksham, Bradford-on-Avon, Chippenham by public Transport
[2908] How Green is my train?
[2901] Ambassador or Anorak?
[2855] Train Services - Melksham to Bath and Bristol (and airport)
[2808] From home to Nurnberg - journey pictures
[2696] Garlic bread without garlic
[2678] Reaching out to the community - a good case for support
[2664] Oliver Cromwell at Bristol Temple Meads
[2662] Is Melksham public transport actually used?
[2658] Save the Train - a significant change in approach
[2634] London to and from Melksham by public transport
[2627] Saturdays out from Melksham - to Oxford, to Didcot or to Swindon
[2626] On Malachite Green
[2568] Forums for your Melksham and open source discussions
[2557] Rail Campaign - response to core consultation
[2556] Railway Station Survey - please complete today or tomorrow
[2533] Five guests, three groups, one car
[2529] Santa Special, 2009
[2522] Integrated public Transport - what could be done for Melksham
[2513] Wiltshire Council purchases Melksham Station Land
[2511] The story of the railway land at Melksham Station
[2486] Santa Special - Trowbridge and Melksham to Swindon
[2477] By train ...
[2473] Exploring Old Railways
[2457] Railway Arithmetic
[2438] Listening to The Minister
[2395] From Lymington by train - last of the slammers
[2391] Great Western Route Utilisation Strategy - Draft for Consultation
[2372] Public Transport from (and to) Melksham on Sundays
[2328] Melksham - no trains, no southbound buses through the town
[2318] For Lua Programmers AND for Town Planners
[2268] Westbury Bypass Refused - looking forward
[2133] Bigger and better this year!
[2057] Train and Coach fares from London (and airports) to Melksham
[2042] Wiltshire Rail Service Update
[2026] Melksham Climate Friendly Group
[2024] Carry on Training - in spite of the weather
[1999] How low can you sink?
[1966] Background to the TransWilts Train Fiasco
[1965] How much does a train service actually cost
[1964] Why hasnt the fiasco been put right
[1905] A Gold Star for First Great Western Customer Service
[1858] Camera with night vision, youth with no vision
[1848] 30th November - Santa Trip from Melksham
[1757] Preserved railways - struggling to the future?
[1729] Back from the future
[1708] A Train Service Update for Melksham Party in the Park
[1616] Not daring to be an anorak
[1567] Melksham - Swindon. Train v Bus v Car
[1558] Getting somewhere with the train service
[1530] Railway Acronyms and Abbreviations
[1452] Santa on the train to Melksham
[1428] Travel Across Wiltshire - the game
[1424] Closer than you think - the next step
[1382] First Great Western - information for customers
[1358] Look forward with a new broom - Wiltshire Train Service
[1314] Business travel by train in the USA
[1303] Heading Upstate New York
[1291] Day trip to Weymouth
[1274] Radio coverage for railway issues
[1273] Melksham or Weymouth? Meal or day out?
[1228] Some progress on the train campaign
[1139] Overcrowded trains around Bristol
[1097] Train and business balls all in the air!
[1093] Wiltshire Train - can YOU come on 5th March?
[1076] Save the Train - an update
[1069] Rail trouble forced me to buy hotel
[1063] Bradford-on-Avon - 150 years of passenger trains
[1045] Bang! Train campaign hits home
[1044] Call for appropriate train services - Swindon, Bristol, Bath, West Wilts, Severn Beach etc
[1033] Empty at Easleigh, Missing at Melksham, Overflowing at Oldfield
[976] Santa at the station
[974] The last commuter train through Melksham
[952] Coming from London to Melksham by train for a course
[877] Yes, but what do we do now??
[814] Melksham Railway Calendar 2007
[803] Not shouting
[790] Shadow Transport Minister to visit Melksham
[697] For any North and West Wilts and Swindon Readers
[688] Are you free on Friday evening?
[648] West Wilts Railway Users Group and trains to Lacock
[634] Real chance to make a difference
[632] Moral dilemma
[527] Greater Western Franchise Awarded
[524] Santa comes to Melksham
[521] Proof needed? Please just use common sense!
[488] Looking for railway groups and users - Swindon, Salisbury, Southampton
[486] Rail services under threat - Swindon, Melksham ... and Newquay and Bicester too
[447] Tomorrow's meeting.
[434] Through public transport connection, Chippenham to Salisbury, to cease
[428] Swindon - Chippenham - Melksham - Trowbridge - Westbury train service
[154] Railway train service, Melksham station
{station_usage_0203.csv} Station entrances and exits - 2002 - 2003
{station_usage_0506.csv} station entrances and exits - 2005/6
{station_usage_0708.csv} Station entrances and exits 2007 - 2008
{station_usage_0809.csv} Station entrances and exits - 2008/9
{station_usage_0910.csv} station entrances and exits - 2009/2010
{station_usage_0607.csv} Station entrances and exits - 2006/7
{railstats.txt} Railway Station codes, locations, usage 2004 - 2010 (+2011 added 29.3.2012)
{station_usage_0405.csv} station entrances and exits - 2004/5
{stationtables.tsv} Rail stations - postcode, OS and lat/long data source

Subject Z511 - Public Transport - Road
[3699] Bristol 50? Bristol 25?
[3631] Getting around Dublin by public transport - some observations
[3580] Melksham Area - buses, trains, cycles, and roads. Meeting, 17.1.2012
[3579] Transport in Cambridgeshire - seen by an outside observer. What can Wiltshire learn?
[3564] I wish I was not a special case
[3523] When competition is not a good idea - Melksham Bus Absurdity
[3504] Coaches from Trowbridge and Melksham to London
[3487] Public transport - road and rail
[3486] How important is public transport to people in the Melksham area?
[3471] Vintage Bus Running Day in Warminster. An example of good bus practise.
[3404] Buses on the Cambridge Guided Busway
[3301] Using public transport - USA style
[3290] Changes (and no changes) at Melksham bus stops
[3194] Buses - what they cost and their future direction in the SW and in Wiltshire
[3126] Car Parking in Melksham - thoughts on the proposed scheme, and wider thoughts too
[2983] Strong arm tactics in the bus industry? Poor result for the customer!
[2982] Travel, Transport and Tourism - A vision for Melksham, 2026
[2958] What do these road markings mean? Could Confusion Kill?
[2933] Bath - Melksham - Devizes buses from September
[2919] London to Calne, Corsham, Melksham, Bradford-on-Avon, Chippenham by public Transport
[2903] Bath to Devizes bus via Melksham - changing again in September
[2857] Park and Ride at Batheaston - will it solve Wiltshires Ills?
[2791] Bath to Melksham buses - times
[2789] Melksham to London (Heathrow, and Central London)
[2771] Melksham to Calne by public transport
[2672] Dear Planners, please provide viable alternatives
[2662] Is Melksham public transport actually used?
[2533] Five guests, three groups, one car
[2522] Integrated public Transport - what could be done for Melksham
[2515] Why we have two buses an hour - but not a half hourly service
[2431] Moving busstop!
[2372] Public Transport from (and to) Melksham on Sundays
[2328] Melksham - no trains, no southbound buses through the town
[2268] Westbury Bypass Refused - looking forward
[2083] Do you support a decent train service? Please sign up!
[2075] Supporting Parkinsons and Trains
[1777] The Rise and Rise of First Bus Fares
[1723] Bath - Melksham - Devizes. Bus route changes, new timetable
[1668] Talk on TransWilts train service to Green Party
[1567] Melksham - Swindon. Train v Bus v Car
[1560] HST Power Car TravelWatch SouthWest
[1511] Buses from Well House Manor, Melksham, to Bath
[1428] Travel Across Wiltshire - the game
[1315] Two years of campaigning for a train service
[1254] Comparing bus stops
[1125] Train service - petititon reply
[1085] Lawrence Webb's Melksham Taxi service
[818] Heard, yes. Considered, no. The case for the train.
[764] Journey planning - Xephos v Transport Direct
[474] Vintage Bus Day
[459] Kiss and Ride
[187] a popular bus number
[119] PHP course. Come by train.

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

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

Subject Z600 - History
[3731] Now Open - A Museum for Melksham. Come in and see us.
[3726] Press Release - Museum to explore the story of Melksham
[3510] The skull above the door in Melksham Town Hall
[3484] A Melksham Timeline - Domesday to present day
[2037] The Interview and The Lift
[102] The Romans got it right
[33] 10 Years of experience
(article) Time Line - growth of our Open Source training

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

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

Subject Z801 - Pettifog
[3302] Are you a half full or half empty person?
[3084] Can you trust the big brand names?
[3030] Liquorice allsorts and Dolly Mixtures
[3013] Audio equipment
[2944] What others cannot do in 10 months takes Virgin 10 minutes
[2937] The cat in the dustbin
[2788] Cost of Sales
[2761] A small business, facing a big government questionnaire
[2625] Both feet on the same pavement
[2193] Excellent product, excruciating customer service. 3 Mobile Broadband
[2122] Commission Creep
[1972] Pettifog and forum boards away from public view
[1862] Remember your units
[1839] Job application
[1783] Think before you send
[1741] Age Concern
[1349] Cash is not an acceptable way of paying
[1337] A series of tyre damages
[1170] Smoking, or no? The law insists we spell out the obvious
[826] Fighting illegal net use by imposing download limits
[815] Time trickles like water through a sieve
[791] Strange housewarming
[783] Good follow up ... my thanks
[638] A pile of sand? Where do we stand?
[600] It costs nothing to say THANK YOU
[562] Smoke and mirrors
[519] New Road
[478] Watch what you wear
[471] And it gets even better
[439] You cant
[323] 1 in 48 steel
[90] Rude old people
[87] Too sittings
[52] International awareness
(article) Phone and fax to 070059 numbers in the UK

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

Subject Z950 - Purely Personal
[3711] Kiss
[3602] Emerging proposals for land to the east of Spa Road, Melksham
[3566] Initial thoughts - response to GW Rail Franchise Consultation for Wiltshire
[3556] Aeryn at 1
[3511] Melksham has a heart - have your picture taken and support the defibrillator appeal
[3450] A threat in the post? Poor marketing practise from Smiletrain?
[3413] If its Sunday, must it be Weymouth?
[3298] Quiet Monday in
[3283] The juggler
[3240] Melksham Town Council - vacancy in the Spa Ward
[3224] Melksham Campus - a win / win opportunity, but a severely lacking decision process
[3108] My First Christmas
[3055] Zyliana Kyrei Cox
[3037] Looking back and forward personally - 6 years each way
[3034] Birth Notice - Aeryn Cassandra Ellis
[2982] Travel, Transport and Tourism - A vision for Melksham, 2026
[2886] Congratulations, Kimberly
[2698] Ruth Davis, 1916 - 2010
[2547] The great thing about snow ....
[2195] A two day gap - first time in five years?
[1051] Too busy to blog it - but it's great (mostly)
[1014] Christmas Season Piccies

These articles have not yet been categorised
Subject Z999 - new and uncategorised articles
[3742] Dysenni Valley, and nearby
[3741] Low carbon and other environmental lessons for the Melksham Campus?
[3740] Looking and Learning - even on Holiday
[3739] Go green - business seminar in Melksham
[3738] Adoptive homes sought for abandoned babies
[3737] Postcards from Barmouth
[3736] Abstraction
[3735] A walk around Melksham this morning. Can you place all of these?
[3734] QR codes with marketing logos embedded
[3733] More hazards of modern life
[3578] A busy start to 2012
[3567] First of the year
[3363] Should we take sponsored adverts on our site?
[3342] A Holiday

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

Source - [recalled from cache - about 58 minutes old]

You can Add a comment or ranking to this page

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

PAGE: http://www.wellho.net/resources/globalindex.html • PAGE BUILT: Tue Mar 27 06:35:44 2012 • BUILD SYSTEM: wizard