The Well House Newsletter - Thursday, 1st January 2009
About us and this newsletter [link] ...
Previous editions: November 2008September 2008July 2008May 2008March 2008January 2008November 2007September 2007July 2007 • or current edition

Public Transport Training from Well House Consultants And also ... Tcl, Tcl/Tk and Expect Programming in Lua Python Programming Well House Manor - Hotel and Training Centre Apache HTTP and Tomcat Servers The Perl Programming Language and its use Ruby and Ruby on Rails PHP - the language and its application C and C++ Programming Linux and Shell Programming Melksham SQL and MySQL For the Webmaster, Postmaster and moderator Java and the Java Environment Fun and Flames Running a training and hotel company Around, about and nearby to Wiltshire Client Side Languages (HTML, CSS, Javascript) Keynote Articles General Programming Topics
Keynote article ...

How to avoid duplicating web page maintainance

How do you move from a web site with a single static page to a web site with a thousand pages (URLs) without multiplying your maintainance work by a thousand? Such is the critical importance of being able to do this that there are many schemes available - many solutions - and virtually every site that's more than a single shop front window uses them. Here are some of the techniques:

Scripted Content Generation Where a program that's run whenever [part of] the web site is updated regenerates the individual static .html files.

Site Management Programs Where a static .html page is generated by a program that a content provider submits.

Style Sheets Where the look and feel that's been developed for one page is carried across many others.

Include Files Where a page is held on the server in "HTML++" - that's html with extra bits such as SSI, PHP, ASP, JSP, Mason, Rails which are interpreted by the server before it's passed to the browser allowing a single piece of content to be maintained for insertion in many pages

URL rewriting Where a whole number of apparently different static .html pages are actually served by a single page or program that produces a response based in part on the name of the page to be served.

Under the Apache httpd web server, URL rewriting is performed by mod_rewrite. See mod_rewrite for newcomers for further details of this (that's really the second part of this article)
(this article written on 2008-12-20)

Other articles ...

Apache HTTP and Tomcat Servers
[1945] Summary - Apache httpd build on Linux - (new - 2008-12-14)
[1944] Forwarding session and cookie requests from httpd to Tomcat - (new - 2008-12-14)
[1943] Port and Glasses - (new - 2008-12-14)
[1941] Server - Service - Engine - Host, Tomcat - (new - 2008-12-14)
[1940] URL rewriting with front and back servers - (new - 2008-12-14)
[1939] mod_proxy_ajp and mod_proxy_balancer examples - (new - 2008-12-13)
[1901] XML, HTML, XHTML and more - (new - 2008-11-23)
[1899] Virtual Hosting under Tomcat - an example - (new - 2008-11-22)
[1896] Virtual Hosts and Virtual Servers - (new - 2008-11-20)
Top or Show all for Apache HTTP and Tomcat Servers

C and C++ Programming
[1675] Comparing Objects in C++
[1674] What a lot of files! (C++ / Polymorphism demo)
[1671] Compiling C programs with gcc - an overview
[1670] Dynamic Memory Allocation in C
[1669] What are Unions (C programming)
Top or Show all for C and C++ Programming

Melksham
[1966] Background to the TransWilts Train Fiasco - (new - 2008-12-29)
[1937] Getting hold of the wrong end of the stick - (new - 2008-12-12)
[1934] Lidl opens in Melksham - (new - 2008-12-11)
[1928] Melksham Oak Community School, Melksham, Wiltshire - (new - 2008-12-07)
[1904] Ruby, Perl, Linux, MySQL - some training notes - (new - 2008-11-23)
[1894] Shopping in Melksham - (new - 2008-11-19)
[1892] Melksham Chamber of Commerce and Industry - (new - 2008-11-17)
[1883] Spa Road Garage and Convenience Store, Melksham - (new - 2008-11-14)
[1881] Wiltshire Council says - part 1 - (new - 2008-11-13)
[1880] Melksham Chamber of Commerce, or the FSB - (new - 2008-11-12)
Top or Show all for Melksham

Training from Well House Consultants
[1933] Learning to Program in C - (new - 2008-12-10)
[1932] Training Passports - booking a training program - (new - 2008-12-09)
[1898] Every cloud has a silver lining - (new - 2008-11-21)
[1874] Is it worth it? - (new - 2008-11-07)
[1867] Domain Renewal Group - (new - 2008-11-02)
Top or Show all for Training from Well House Consultants

Running a training and hotel company
[1957] Why are cooks bad tempered? - (new - 2008-12-22)
[1950] Copyright of Training Notes and Web Site - (new - 2008-12-18)
[1948] Blame Culture - (new - 2008-12-17)
[1927] Team changes at Well House - looking forward - (new - 2008-12-06)
[1915] Quietly putting prices up - (new - 2008-12-02)
[1913] Alastair Darling helps make paperwork and confusion - (new - 2008-11-30)
[1900] Table Topics - (new - 2008-11-22)
[1884] Recession? Depression? - (new - 2008-11-14)
[1877] Guests doing a bunk? - (new - 2008-11-09)
Top or Show all for Running a training and hotel company

Well House Manor - Hotel and Training Centre
[1968] Review of 2008 - (new - 2008-12-31)
[1929] 2009 - Hotel, Meeting, Training Course prices - (new - 2008-12-07)
[1907] Melksham Hotel Rates - (new - 2008-11-25)
[1866] What a difference a day made - (new - 2008-11-02)
[1824] Which is your best hotel room?
Top or Show all for Well House Manor - Hotel and Training Centre

For the Webmaster, Postmaster and moderator
[1967] LinkedIn - Thrice Asked, and joined. - (new - 2008-12-30)
[1961] Making our things easier to find - (new - 2008-12-26)
[1954] mod_rewrite for newcomers - (new - 2008-12-20)
[1912] Book now for 2009 - (new - 2008-11-29)
[1895] Comparison - with and without flash - (new - 2008-11-20)
[1888] Find the link - (new - 2008-11-16)
Top or Show all for For the Webmaster, Postmaster and moderator

General Programming Topics
[1963] Best source to learn Java (or Perl or PHP or Python) - (new - 2008-12-28)
[1949] Nuclear Physics comes to our web site - (new - 2008-12-17)
[1864] Object Oriented Perl - First Steps - (new - 2008-11-01)
[1860] Seven new intermediate Perl examples - (new - 2008-10-30)
[1853] Well structured coding in Perl
Top or Show all for General Programming Topics

PHP - the language and its application
[1962] Index Card System for Game Characters in PHP - (new - 2008-12-27)
[1958] PHP - Parse error: syntax error, unexpected $end ... - (new - 2008-12-23)
[1956] Images for Christmas - (new - 2008-12-21)
[1938] Predictive Load Balancing - PHP and / or Java - (new - 2008-12-13)
[1936] Quick Summary - PHP installation - (new - 2008-12-12)
[1923] Making it all worthwhile - (new - 2008-12-04)
[1911] Remember Me - PHP - (new - 2008-11-28)
Top or Show all for PHP - the language and its application

Java and the Java Environment
[1910] Java - Generics - (new - 2008-11-27)
[1909] javax.servlet cannot be resolved - how to solve - (new - 2008-11-26)
[1908] Java CLASSPATH explained - (new - 2008-11-26)
[1906] Long, Longer, Longest in Java - (new - 2008-11-25)
[1562] Java Compiler - needs all classes, compiles them all too
Top or Show all for Java and the Java Environment

Around, about and nearby to Wiltshire
[1930] Bath Christmas Market - (new - 2008-12-08)
[1859] Wiltshire at dawn - the tourist trail
[1851] Pictures from a delegate
[1846] Old Piles of the South West
[1834] Seend, near Melksham, Wiltshire
Top or Show all for Around, about and nearby to Wiltshire

The Perl Programming Language and its use
[1951] Whisky - Setting and reading cookies from Perl - (new - 2008-12-18)
[1947] Perl substitute - the e modifier - (new - 2008-12-16)
[1946] Variable Types in Perl - (new - 2008-12-15)
[1924] Preventing ^C stopping / killing a program - Perl - (new - 2008-12-05)
[1922] Flurinci knows Raby Lae PHP and Jeve - (new - 2008-12-04)
[1921] Romeo and Julie - (new - 2008-12-04)
[1920] Progress Bar Techniques - Perl - (new - 2008-12-03)
[1918] Perl Socket Programming Examples - (new - 2008-12-02)
[1917] Out of memory during array extend - Perl - (new - 2008-12-02)
[1897] Keeping on an even keel - (new - 2008-11-21)
[1865] Debugging and Data::Dumper in Perl - (new - 2008-11-02)
[1863] About dieing and exiting in Perl - (new - 2008-11-01)
[1861] Reactive (dynamic) formatting in Perl - (new - 2008-10-31)
[1856] A few of my favourite things
[1852] Perl and Blackberries
[1832] Processing all files in a directory - Perl
[1829] Dont bother to write a Perl program
[1828] Perl - map to process every member of a list (array)
[1826] Perl - Subs, Chop v Chomp, => v ,
[1825] Question Mark - Colon operator (Perl and PHP)
[1753] Perl v PHP, choosing the right language
[1750] Glorious (?) 12th August - what a Pe(a)rl!
[1728] A short Perl example
[1727] Equality and looks like tests - Perl
[1726] Hot Courses - Perl
[1721] Perl 6 - When will we have a production release?
[1717] Q - Should I use Perl or Python?
[1709] There is more that one way - Perl
[1705] Environment variables in Perl / use Env
[1704] Finding operating system settings in Perl
[1703] Perl ... adding to a list - end, middle, start
[1702] Running operating system commands in Perl
[1665] Factory method example - Perl
[1664] Example of OO in Perl
[1581] What is an lvalue? (Perl, C)
[1514] Autovivification - the magic appearance of variables in Perl
[1510] Handling Binary data (.gif file example) in Perl
[1509] Extracting information from a file of records
[1508] How not to write Perl?
[1468] Lexical v Arithemetic testing, Bash and Perl
[1444] Using English can slow you right down!
[1416] Good, steady, simple example - Perl file handling
[1397] Perl - progress bar, supressing ^C and coping with huge data flows
[1395] Dont just convert to Perl - re-engineer!
[1320] Perl for Larger Projects - Object Oriented Perl
[1316] Filtering and altering Perl lists with grep and map
[1312] Some one line Perl tips and techniques
[1289] Pure Perl
[1251] Substitute operator / modifiers in Perl
[1232] Bathtub example
[1225] Perl - functions for directory handling
[1222] Perl, the substitute operator s
[1221] Bathtubs and pecking birds
[1219] Judging the quality of contributed Perl code
[1215] An update on Perl - where is it going?
[1191] Smart English Output - via PHP and Perl ? : operator
[1183] Improving searches - from OR to AND?
[1073] Heartbeat script in Perl
[1009] Passing GET parameters through Apache mod_rewrite
[975] Answering ALL the delegate's Perl questions
[969] Perl - $_ and @_
[968] Perl - a list or a hash?
[965] KISS - one action per statement please - Perl
[930] -> , >= and => in Perl
[928] C++ and Perl - why did they do it THAT way?
[872] Email metrics
[867] Being sure to be positive in Perl
[839] Reporting on the 10 largest files or 10 top scores
[765] Perl - turning seconds into days, hours, minutes and seconds
[762] Huge data files - what happened earlier?
[760] Self help in Perl
[743] How to debug a Perl program
[738] (Perl) Callbacks - what are they?
[737] Coloured text in a terminal from Perl
[733] Perl for Systems Admin - suid scripts
[702] Iterators - expressions tha change each time you call them
[662] An unhelpful error message from Apache httpd
[641] Simple but rugged form handling demo
[639] Progress bars and other dynamic reports
[622] Queues and barrel rolls in Perl
[618] Perl - its up to YOU to check your file opened
[616] printf - a flawed but useful function
[608] Don't expose your regular expressions
[604] Perl - multiprocess applications
[599] Perl/Tk real time display
[597] Storing a regular expression in a perl variable
[594] Twice is a co-incidence and three times is a pattern
[590] Danny and Donna are getting married
[588] Changing @INC - where Perl loads its modules
[586] Perl Regular Expressions - finding the position and length of the match
[583] Remember to process blank lines
[582] DWIM and AWWO
[577] Learning to program in Perl or PHP
[531] Packages in packages in Perl
[493] Running a Perl script within a PHP page
[454] Time conversions in Perl
[400] New in the shops
[358] Use standard Perl modules
[357] Where do Perl modules load from
[355] Context in Perl
[314] What language is this written in?
[293] Course follow-ups
[263] Harmony
[262] A little bit of fun - the new Perl Quiz
[255] STDIN, STDOUT, STDERR and DATA - Perl file handles
[254] x operator in Perl
[246] When to bless a Perl variable
[243] new 'Perl on the Web' example
[242] Satisfaction of training
[240] Conventional restraints removed
[230] Course sizes - beware of marketing statistics
[140] Comparison Chart for Perl programmers - list functions
[138] Perl - redo and last without a loop
[113] A Parallel for Perl 6
[112] Avoid the wheel being re-invented by using Perl modules
[89] When will Perl 6 be available
[86] Talk review - Idiomatic Perl, David Cross
[45] CGI v mod_perl
[43] Hash of lists in Perl
[31] Here documents
[28] Perl for breakfast
[25] Release numbers
[12] How many people in a room?
Top or Show all for The Perl Programming Language and its use

Client Side Languages (HTML, CSS, Javascript)
[1926] Flash (client) to PHP (server) - example - (new - 2008-12-06)
[1831] Text formating for HTML, with PHP
[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
Top or Show all for Client Side Languages (HTML, CSS, Javascript)

Ruby and Ruby on Rails
[1891] Ruby to access web services - (new - 2008-11-16)
[1890] MySQL database from Ruby - an example - (new - 2008-11-16)
[1889] Ruby mixins, modules, require and include - (new - 2008-11-16)
[1887] Ruby Programming Course - Saturday and Sunday - (new - 2008-11-16)
[1875] What are exceptions - Python based answer - (new - 2008-11-08)
Top or Show all for Ruby and Ruby on Rails

SQL and MySQL
[1935] Summary of MySQL installation on a Linux system - (new - 2008-12-11)
[1885] Hiding a MySQL database behind a web page - (new - 2008-11-15)
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1766] Diagrams to show you how - Tomcat, Java, PHP
[1754] Upgrade from PHP 4 to PHP 5 - the TRY issue
Top or Show all for SQL and MySQL

Tcl, Tcl/Tk and Expect
[1785] What is running on your network? (tcl and expect)
[1782] Calling procs in Tcl and how it compares to Perl
[1614] When an array is not an array
[1613] Regular expression for 6 digits OR 25 digits
[1602] Automating processes through Expect
Top or Show all for Tcl, Tcl/Tk and Expect

Programming in Lua
[1847] Lua - IAQ (Infrequently Answered Questions)
[1845] Passing a table from Lua into C
[1844] Calling functions in C from your Lua script - a first HowTo
[1842] Lua Course, and the Wiltshire Countryside too
[1841] Formatting with a leading + / Lua and Perl
Top or Show all for Programming in Lua

Python Programming
[1925] Introduction to Object Oriented Programming - (new - 2008-12-06)
[1879] Dynamic code - Python - (new - 2008-11-11)
[1878] Pascals Triangle in Python and Java - (new - 2008-11-10)
[1876] Python Regular Expressions - (new - 2008-11-08)
[1873] List Comprehensions in Python - (new - 2008-11-06)
[1871] Optional and named parameters in Python - (new - 2008-11-05)
[1870] What to do with a huge crop of apples - (new - 2008-11-04)
[1869] Anonymous functions (lambdas) and map in Python - (new - 2008-11-04)
Top or Show all for Python Programming

And also ...
[1960] Christmas Survivors - (new - 2008-12-25)
[1959] - - (new - 2008-12-24)
[1953] End of Training, 2008 - (new - 2008-12-20)
[1942] Christmas scenes and events - (new - 2008-12-14)
[1931] Frosty Morning, foggy evening - (new - 2008-12-08)
[1919] Transition - (new - 2008-12-03)
[1916] Why I remember East Grafton - (new - 2008-12-02)
[1914] It must be nearly Christmas - (new - 2008-12-01)
[1882] Wiltshire Council says - part 2 - (new - 2008-11-14)
[1872] Barack Obama wins US Predidency - (new - 2008-11-05)
[1868] Liverpool - a friendly city - (new - 2008-11-03)
Top or Show all for And also ...

Public Transport
[1965] How much does a train service actually cost - (new - 2008-12-29)
[1964] Why hasnt the fiasco been put right - (new - 2008-12-29)
[1905] A Gold Star for First Great Western Customer Service - (new - 2008-11-24)
[1858] Camera with night vision, youth with no vision
[1848] 30th November - Santa Trip from Melksham
Top or Show all for Public Transport

Fun and Flames
[1952] Small Print - (new - 2008-12-19)
[1886] Keys to friendless churches - (new - 2008-11-15)
[1862] Remember your units - (new - 2008-10-31)
[1839] Job application
[1783] Think before you send
Top or Show all for Fun and Flames

Keynote Articles
[1955] How to avoid duplicating web page maintainance - (new - 2008-12-20)
[1857] November and December Public Course Schedule
[1773] The Longest Possible Day
[1414] What we teach - expained for the non-technical
[1317] 2008 course schedule - Perl, Python, PHP, Linux, Java Deployment, Ruby and more
Top or Show all for Keynote Articles

Linux and Shell Programming
[1903] daemons - what is running on my Linux server? - (new - 2008-11-23)
[1902] sstrwxrwxrwx - Unix and Linux file permissions - (new - 2008-11-23)
[1893] Some Linux and Unix tips - (new - 2008-11-18)
[1803] FTP passive mode - a sometimes cure for upload hangs
[1801] Will your backups work if you have to restore them?
Top or Show all for Linux and Shell Programming

Public Transport Training from Well House Consultants And also ... Tcl, Tcl/Tk and Expect Programming in Lua Python Programming Well House Manor - Hotel and Training Centre Apache HTTP and Tomcat Servers The Perl Programming Language and its use Ruby and Ruby on Rails PHP - the language and its application C and C++ Programming Linux and Shell Programming Melksham SQL and MySQL For the Webmaster, Postmaster and moderator Java and the Java Environment Fun and Flames Running a training and hotel company Around, about and nearby to Wiltshire Client Side Languages (HTML, CSS, Javascript) Keynote Articles General Programming Topics

A little more about this newsletter ...

At Well House Consultants, we run niche IT training courses ... and we run a hotel for delegates on those courses and other visitors to Melksham too. And we make a lot of friends - have a lot of ambassadors with whom we want to keep in touch. So every day Graham (that's me, writing this piece) puts together an article or two which might include the latest sample programs that I've written during the current course, new information about Well House Manor - our business hotel, tips on search engine optimisation, announcements of upcoming public courses, pictures of local places, and even (on occasions) rants and whimsical pieces to keep those friends up to date and in touch. The feeds are available directlt via the Blog - "The Horse's Mouth", they're on our Twitter Feed and you can find me at my LinkedIn profile. But most people just want to look us up occasionally - every month or two, and then to catch up on the latest news just for their particular subjects of interest ... and that's what this newsletter is about

You'll find above the titles of ALL the new articles written in the last two months, listed by major subject area, and showing as (new) with their date of publication. You'll find additional articles in each category too - topping each category up to a minimum of five articles. And you'll find a link at the end of each section which lets you expand that section to show the titles of every article that's been published in that section. After all, "the old ones are often the best ones", aren't they?

go to Top or other editions November 2008September 2008July 2008May 2008March 2008January 2008November 2007September 2007July 2007 • or current edition


Training sample © 2025, WELL HOUSE CONSULTANTS LTD
This is http://www.wellho.net/demo/newsletter.php
Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
Phone: +44 (0) 1225 708 225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net