The Well House Newsletter - Sunday, 1st March 2009
About us and this newsletter [link] ...
Previous editions: January 2009November 2008September 2008July 2008May 2008March 2008January 2008November 2007September 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
[2059] Sharing the load between servers - httpd and Tomcat - (new - 2009-02-28)
[2055] Effect on server when memory runs out and swapping starts - (new - 2009-02-26)
[2054] Tuning httpd / the supermarket checkout comparison - (new - 2009-02-26)
[2039] The Invoker - (new - 2009-02-13)
[2038] Sticky Sessions with mod_jk (httpd to Tomcat) - (new - 2009-02-12)
[2016] Apache httpd and Apache Tomcat miscellany - (new - 2009-01-30)
[1994] tomcat-users.xml; what a difference a space made - (new - 2009-01-16)
[1974] Moving a directory on your web site - (new - 2009-01-03)
[1969] Search Engines. Getting the right pages seen. - (new - 2009-01-01)
Top or Show all for Apache HTTP and Tomcat Servers

C and C++ Programming
[2005] Variables and pointers and references - C and C++ - (new - 2009-01-23)
[2004] Variable Scope in C++ - (new - 2009-01-22)
[2002] New C Examples - pointers, realloc, structs and more - (new - 2009-01-20)
[1675] Comparing Objects in C++
[1674] What a lot of files! (C++ / Polymorphism demo)
Top or Show all for C and C++ Programming

Melksham
[2043] Confidence, Customer Service and Tourism in Melksham - (new - 2009-02-15)
[2015] Service Excellence Awards - (new - 2009-01-30)
[2012] The Wiltshire Police - (new - 2009-01-29)
[1997] Travelling to a course - station pickups - (new - 2009-01-16)
[1987] One Cheer for Local Democracy - Asda in Melksham - (new - 2009-01-11)
[1979] Looking forward, in Melksham, in 2009 - (new - 2009-01-05)
[1966] Background to the TransWilts Train Fiasco - (new - 2008-12-29)
Top or Show all for Melksham

Training from Well House Consultants
[2041] httpd, Tomcat and PHP course enhancements - (new - 2009-02-14)
[2032] Mobile Internet - an alternative to hotel WiFi - (new - 2009-02-09)
[1996] Advise before my Apache / Tomcat course - (new - 2009-01-16)
[1989] So sad to see you go - (new - 2009-01-12)
[1933] Learning to Program in C
Top or Show all for Training from Well House Consultants

Running a training and hotel company
[2049] Why Choose Well House Consultants for your course? - (new - 2009-02-20)
[2044] Please Trouble me - (new - 2009-02-16)
[2021] Short health and safety course - (new - 2009-02-02)
[2010] How long should a training module be? - (new - 2009-01-27)
[2007] Launch of Melksham Food and Drink Festival - (new - 2009-01-24)
[2003] Discount Training Courses - PHP, Perl, Python - (new - 2009-01-21)
[1991] Rules for a King - (new - 2009-01-13)
[1975] Well House Manor Hotel - on plan for 2009 business guests - (new - 2009-01-03)
[1973] Required Request - (new - 2009-01-03)
Top or Show all for Running a training and hotel company

Well House Manor - Hotel and Training Centre
[2014] First Class - (new - 2009-01-29)
[1968] Review of 2008 - (new - 2008-12-31)
[1929] 2009 - Hotel, Meeting, Training Course prices
[1907] Melksham Hotel Rates
[1866] What a difference a day made
Top or Show all for Well House Manor - Hotel and Training Centre

For the Webmaster, Postmaster and moderator
[2056] Web Site Loading - experiences and some solutions shared - (new - 2009-02-26)
[2052] How was my web site compromised? - (new - 2009-02-24)
[2033] Huawei D100 Wireless Router - Mobile Internet - (new - 2009-02-10)
[2019] Baby Caleb and Fortune City in your web logs? - (new - 2009-01-31)
[1993] Load Balancing - Hardware or Software? - (new - 2009-01-15)
[1984] Site24x7 prowls uninvited - (new - 2009-01-10)
[1982] Cooking bodies and URLs - (new - 2009-01-08)
[1978] From spam to mod_alias - finding resources - (new - 2009-01-05)
[1971] Telling Google which country your business trades in - (new - 2009-01-02)
[1970] Plagarism - who is copying my pages? - (new - 2009-01-02)
[1967] LinkedIn - Thrice Asked, and joined. - (new - 2008-12-30)
Top or Show all for For the Webmaster, Postmaster and moderator

General Programming Topics
[2048] Learning to program in PHP, Python, Java or Lua ... - (new - 2009-02-19)
[2022] Pre and post increment - the ++ operator - (new - 2009-02-03)
[2001] I have not programmed before, and need to learn - (new - 2009-01-19)
[1990] Speaking all the languages - (new - 2009-01-12)
[1985] Learning to program as a part of your job - (new - 2009-01-10)
[1976] Where is this IP address, IPv4 and IPv6 - (new - 2009-01-04)
[1963] Best source to learn Java (or Perl or PHP or Python) - (new - 2008-12-28)
Top or Show all for General Programming Topics

PHP - the language and its application
[2051] A Presentation about our company - web and PHP - (new - 2009-02-23)
[2046] Finding variations on a surname - (new - 2009-02-17)
[2031] Choosing from an image with an image map - (new - 2009-02-08)
[2025] Injection Attack if register_globals in on - PHP - (new - 2009-02-04)
[1995] Automated server heartbeat and health check - (new - 2009-01-16)
[1983] Keeping PHP code in database and running it - (new - 2009-01-09)
Top or Show all for PHP - the language and its application

Java and the Java Environment
[2058] Invoker and cgi servlets on Tomcat 6 - (new - 2009-02-27)
[2036] Java Tag Libraries / how they work / Tomcat Deployment - (new - 2009-02-11)
[1910] Java - Generics
[1909] javax.servlet cannot be resolved - how to solve
[1908] Java CLASSPATH explained
Top or Show all for Java and the Java Environment

Around, about and nearby to Wiltshire
[1930] Bath Christmas Market
[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
[2047] Small Web Server in Perl - (new - 2009-02-18)
[2045] Does robots.txt actually work? - (new - 2009-02-16)
[1951] Whisky - Setting and reading cookies from Perl
[1947] Perl substitute - the e modifier
[1946] Variable Types in Perl
[1924] Preventing ^C stopping / killing a program - Perl
[1922] Flurinci knows Raby Lae PHP and Jeve
[1921] Romeo and Julie
[1920] Progress Bar Techniques - Perl
[1918] Perl Socket Programming Examples
[1917] Out of memory during array extend - Perl
[1897] Keeping on an even keel
[1865] Debugging and Data::Dumper in Perl
[1863] About dieing and exiting in Perl
[1861] Reactive (dynamic) formatting in Perl
[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)
[1998] Text on a background image - (new - 2009-01-16)
[1926] Flash (client) to PHP (server) - example
[1831] Text formating for HTML, with PHP
[1814] Javascript/HTML example, dynamic server monitor
[1813] Ajax - going Asyncronous and what it means
Top or Show all for Client Side Languages (HTML, CSS, Javascript)

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

SQL and MySQL
[2053] What a difference a MySQL Index made - (new - 2009-02-25)
[1935] Summary of MySQL installation on a Linux system
[1885] Hiding a MySQL database behind a web page
[1771] More HowTo diagrams - MySQL, Tomcat and Java
[1766] Diagrams to show you how - Tomcat, Java, PHP
Top or Show all for SQL and MySQL

Tcl, Tcl/Tk and Expect
[2040] Error: Cant read xxxxx: no such variable (in Tcl Tk) - (new - 2009-02-14)
[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
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
[2020] Learning Python - many new example programs - (new - 2009-01-31)
[2018] UnboundLocalError - Python Message - (new - 2009-01-31)
[2017] Python - a truly dynamic language - (new - 2009-01-30)
[2013] wxPython - Introduction and sample - (new - 2009-01-29)
[2011] Conversion of OSI grid references to Eastings and Northings - (new - 2009-01-28)
Top or Show all for Python Programming

And also ...
[2037] The Interview and The Lift - (new - 2009-02-12)
[2034] Through Snow and Flood to Linux and Tomcat - (new - 2009-02-10)
[2030] The final step to being British - (new - 2009-02-07)
[2029] Also for the eyes of the cat - (new - 2009-02-07)
[2027] Who sticks by you in the snow? - (new - 2009-02-05)
[2008] The Month Ahead - What is happening in Melksham - (new - 2009-01-25)
[2006] Contrast - (new - 2009-01-23)
[2000] 2000th article - Remember the background and basics - (new - 2009-01-18)
[1992] A good time to travel - (new - 2009-01-14)
[1981] Bitter cold - (new - 2009-01-07)
Top or Show all for And also ...

Public Transport
[2057] Train and Coach fares from London (and airports) to Melksham - (new - 2009-02-26)
[2042] Wiltshire Rail Service Update - (new - 2009-02-15)
[2026] Melksham Climate Friendly Group - (new - 2009-02-05)
[2024] Carry on Training - in spite of the weather - (new - 2009-02-03)
[1999] How low can you sink? - (new - 2009-01-17)
[1986] Walk to Bowerhill - (new - 2009-01-10)
[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)
Top or Show all for Public Transport

Fun and Flames
[2050] Why the Pony Tail? - (new - 2009-02-21)
[2028] Things people say on the phone - (new - 2009-02-06)
[2009] The Royal Mail Receipt - (new - 2009-01-26)
[1988] Melksham, Wiltshire. Town Crier Competition, 2009 - (new - 2009-01-11)
[1980] Michelle - (new - 2009-01-06)
[1977] Going round the block - (new - 2009-01-04)
[1972] Pettifog and forum boards away from public view - (new - 2009-01-03)
Top or Show all for Fun and Flames

Keynote Articles
[1955] How to avoid duplicating web page maintainance
[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
[2035] 1234567890 ... coming up on Friday 13th - (new - 2009-02-11)
[2023] sw_vers - what version of OSX am I running? - (new - 2009-02-03)
[1903] daemons - what is running on my Linux server?
[1902] sstrwxrwxrwx - Unix and Linux file permissions
[1893] Some Linux and Unix tips
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 January 2009November 2008September 2008July 2008May 2008March 2008January 2008November 2007September 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