May 13, 2008
Tektronix 4010 series / Python Tuples
The Tektronix Storage Tube was a cathode ray screen across which a beam of electrons could be swept directed, leaving a trail behind it rather like the plume behind an aircraft (technology note). The technology was developed further to allow the picture generated to be held on the screen for quite a long period, and with various electronics, an RS232 interface and a keyboard, the whole combination formed the major product range in Tek's IDG (Information Display Group) / IDD (Information Display Division) in the 1970s. In those days, fast computer memory was very expensive and products such as the 4014 gave the first practical graphics terminals, addressable to a very high 4000 x 3000 resolution.
One of the problems, though, was how to get rid of the image ... and it had to be done by erasing the entire image and recreating a new one - a "redraw". For some applications this was a big issue (comment here), but not for others where a series of pages being displayed one after another worked very well indeed.
I was reminded of this yesterday with a parallel being drawn between Python's Tuples (which have to be rebuilt from scratch if they need modification) and the storage tube, contrasting to Python's lists, which can be modified element by element like a modern raster scan device refreshed from memory 30 or 60 times a second. And like the storage tube, the tuple does have its ideal uses but (let's be frank!) we do need more dynamic devices and lists too.
I joined Tektronix in 1976 as the UK's Technical support specialist for these devices, and formed a fondness for them. Built like tanks, priced at a level where they weren't exactly a consumer product (over 10000 pounds for some terminals!) , they were an ideal solution for many interesting research and development projects ranging from the geothermal energy project through to nuclear research, defense, and the design of the stopping patterns for lifts!
Researching last night to find information about the old "tek" products online I found very little and found myself recalling numbers and models. So for no particular reason (other than that other Tektronix oldtimers may be here too!) I give you the list of some that I recall
The early models (superseded before I joined)
4002
4002A
The main product range
4010 11" Storage tube terminal
4010-1 11" Storage tube terminal with ability to read back screen for printed copy
4012 12" Storage tube, with readback for print
4013 12" Storage tube, with APL keyboard and readback for print
4014 19" storage rube terminal
4014-1 19" Storage tube terminal with ability to read back screen for printed copy
4015 19", APL keyboard
4015-1 19", APL keyboard, readback
4016 25" storage tube terminal
also the 4006 - a desktop version of the 4010 introduced a little later as electronic shrunk and got lower cost
The 4112 and 4114 were a next generation storage tube terminal with much enhanced electronics - didn't do very well in the market which had moved on with cheap memory for raster devices and PCs
The 4020 series were (hiss, hiss!) raster graphics terminals.
4023 early Alpha terminal
4024 and 4025 introduced after the hayday of the 4010 series (4024 alpha, 4025 graphics)
4027 Colour Raster Graphics - the first such product from Tektronix
Graphic Computers
4051 11" Screen with a basic interpreter, tape drive and motorola 6800 chip
4052 11" Screen with a basic interpreter, tape drive and bit slice processors - MUCH faster!
4054 19" Screen, basic, tape, bit slice.
The 4050 series was 8k up to 32k (4051) and 32k up to 54k (4052 and 4054) and you could add an 8" disc drive, model 4907.
4081 Fortran based 19" storage tube workstation.
Peripherals
4601, 4631, 4611 Printers - three generations - for copying storage tubes. The 4601 and 4631 were photographic and the 4611 was thermal
4632, 4634, 4612 Also printers - for video screens via a video out, NOT for the storage tubes
4662 A3 flatbed plotter
4663 A2 (? A1) flatbed plotter
4923 and 4924 Cartridge tape drives with RS232 (4923) and GPIB (IEEE 488) interfaces (4924)
4953 and 4954 Digitisers (graphics tablets) for use with 4010 series
4956 graphics tablet for use with 4050 series
4911 and 4912 - Paper Tape and Cassette tape
Software
These were the pieces of code that it was my role to get running on any computer from a Perkin Elmer to a PDP 11, via a Norsk Data box, a system running RSX11M and an ICL 1905.
Plot 10 TCS (Terminal Control System) Fortran Driver Routines
Plot 10 AGII (Advanced Graphing II) Additional Fortran routines to add graphing capability
Other Plot-10 software (utimities mainly) and Plot-50 software for the 4050 series

Where are YOU now? ... former colleagues such as Brock Wadsley, Allen Mathhews, George Wreford, Brian Burke, Steve Boniwell, John Thomspon, Lorraine Perrott, Colin Eddy, Alan Mawdsley, Peter Wilde, Val Hill, Bob Shaw, Jim Rew, Paula Lumby, Mike Crowley, Dave Brackenbridge, Bob Wakefield, Bob Wainwright, Nigel Payne ...
And does anyone have ... a copy of the source of TCS.
Posted by gje at 09:53 AM | Comments (0)
More about Graham Ellis of Well House ConsultantsUseful link: Python training
May 12, 2008
Walking on The Wiltshire Downs
Summer is here! A lovely walk yesterday - on Roundway Hill Covert which is only about 6 miles from Melksham

The Marlborough Downs fall away at Roundway Hill, where a battle was fought (1643) in the English Civil War. The next hill across is known as "Olivers Castle" after Oliver Cromwell.

Behind the hill, the Marlborough Downs are a carpet of yellow at the moment.

Posted by gje at 12:27 PM | Comments (0)
May 11, 2008
Minehead Marauder
A lovely day out in Minehead yesterday ... an excursion by train from Westbury, organised by The Railway Children Charity, on a train loaned free of charge by First Great Western for the day, track access costs waived by Network Rail and by the West Somerset Railway, time given for free by all the staff concerned, sponsorship of the buffet and raffles by various people / companies - meant that all the money taken goes to the charity without an initial admin layer.
Minehead is a lovely town to choose as the destination for such an excursion, and I have returned with too many lovely pictures to do them all justice, and so many happy memories that I'm looking to record just a few of them here and on other pages before I hit this week's Python and PHP courses.
"Minehead Marauder" - ah - the name of the special train! I have posted some slightly more rail related pictures here
Posted by gje at 08:36 AM | Comments (0)
May 10, 2008
Pictures far apart
I'll tell you something about the following two pictures ... and that's that I'm the photographer in each case. The I'll ask you how far apart in distance and in time you think they are.


I have some pictures that look similar that are taken at similar times ... and then others where you say "they're almost the same" and they turn out to be far apart. I was looking at a picture of a crowded Pilning station the other day and thinking how similar it looked to a crowded Melksham taken last December.
But the two above look worlds apart, don't they?
They're not - they're about 100 yards apart, and the time interval between them is the time I took to walk that 100 yards. And if you wonder, it's not some European City that's been fought over and is now easily reached (daily, at an obscure hour, from Stansted) by Easyjet. It's Winchester!
Posted by gje at 02:15 AM | Comments (0)
May 09, 2008
Providing exceptional service - and carrying on doing so.
Nothing gives me greater please than to hear from a customer who writes "My line manager is quite keen for me to work on those web programming skills for various proposed, so we've already discussed it, and I don't think he'd be looking at me going elsewhere for training - what you do is so much better than everywhere else we've looked. It's just matter of what the training budget will allow!" And that's because we're achieving what we want to achieve - a product that's exceptionally suited to our client's needs.
Actually, it's been rather a good week for such things; a conversation with guests checking out this week - a group of three with two back next week and the third staying elsewhere because we were full. yes, he is wait listed. And as he explained as he checked out - "I'm the boss and I want my staff to be really comfortable when they're away from home; I'm used to a lot of different places" and with an assurance that the following booking - when we do have room - he'll be with us.
These two discussions related to the PHP Techniques Workshop and to hotel rooms at Well House Manor
But we have to be careful - very careful - not to rest on our laurels; it would be so natural and easy
for us to let standards slip which is why the opportunity has been taken this week, with things a little quieter than normal, to catch up on a few things, adjust things to crisp them up before they are customer visible, and so on. Which has left me doing some very odd things like photographing bed settings to remind me (and everyone else) just how those duvets look in the duvet covers.
Posted by gje at 05:11 PM | Comments (0)
May 08, 2008
What to do if the Home Page is missing
The Web Server Administrator has two choices as to what he / she should do when a content provider doesn't supply a home page (index.html or similar) in a directory - either he can generate an error such as a 403 ("Forbidden") or 404 ("Not found"), or he can generate a directory listing, so that the web site visitor can access the content of the directory anyway.
Question - How does the web site admin turn directory listing on and off?
The Web Server configuration file is usually called httpd.conf, though were you find it varies depending on your operating system and configuration. For a web server installed on a Linux server, as configured on our Linux Web Server and Deploying Apache httpd and Tomcat courses, you'll be looking at /usr/local/apache2/conf.
Find the Options line for the directory in which the directory tree you're interesting in altering is located and add (or remove) Indexes. For example:
<Directory "/home/www/htdocs">
Options Indexes FollowSymLinks
allows web directories served from within /home/www/htdocs to display their contents, but
<Directory "/home/www/htdocs">
Options FollowSymLinks
will give anyone who tries a 400 series error.
Question - can the web develop control this too?
Yes, if given such permission by the Web Site Admin. The Web Site Admin need to allow overrides - if the httpd.conf file says
AllowOverride None
then the web developer has no control but it it says either of
AllowOverride Options
or
AllowOverride All
the it CAN be overridden by the web developer ... who would provide a file called .htaccess in the top level directory to which the automatic indeing should apply. The line in that file would be either
Options Indexes
to allow Indexes (only) or
Options +Indexes
To turn indexes on in addition to options inherited from the directory above.
There may be other things in the .htaccess file too, and these files can exist in multiple places on the web site - here's an example of mine that allows a directory listing and turn off any page rewrites too:
RewriteEngine Off
Options Indexes
and here's one which (by contrast) diverts all .html and .htm requests to a script with the undescriptive name 8.php, passing in the name of the page that was called up as a parameter.
RewriteEngine On
RewriteRule ^(.*)\.htm 8.php?pagename=index&sharename=$1&%{QUERY_STRING}
Question - is it a good idea to allow automatic indexes?
In general NO. If you leave out the home page from a directory by mistake, you'll be exposing yourself to anyone who visits your web site. When I go to a web site following a link to an obscure page on a domain I don't know, I often "research" the domain by cutting sections off the path. By disallowing, you stop people like me spying around, and perhaps finding backup files (e.g. copies of .php scripts that have a .bak extension) from which I could (but wouldn't!) break holes in your site.
But if you want to make a directory from which people can quickly and easily grab pictures and you're not too worried about it looking pretty, then in these LIMITED CIRCUMSTANCES it can be a good idea.
In fact I have turned in on for one of my directories today - here where you can some some record shots of this morning's breakfast setup, and of Devizes last night.
Note - than answers on this page apply to the Apache httpd web server, which is used to serve the majority of domains on the web. Options and configuration files differ for other servers.
Posted by gje at 05:01 PM | Comments (0)
Spring in Devizes
Yesterday evening, Lisa and I got a breath of fresh air in Devizes - a beautiful Spring evening with leaves on the trees where 2 weeks ago there were just twigs.
Moored at the wharf on the Kennet and Avon Canal was a cluster of modern narrowboats (and what a wonder it is that my modern camera let me shoot this right into the sun!
Looking out towards Honey Street and Pewsey, "Unity" is moored up. Now "Unity" is a famous name - a barge built in the days of commercial carrying, horse drawn, and operated by Robbins Lane and Pinnegar - a long established firm of carriers on the canal. She looks beautiful - but is she original, or a reproduction? And if she's original, just how much of the original boat remains? Questions that I don't know answers to!
Questioning "Unity"s credentials is rather like questioning our credentials to describe our breakfast as "Continental" when we're certainly not on the mainland of Europe, and our breakfast products are sourced locally where possible. Not only do local products help us to support local businesses, but they also cut down on greenhouse gases from Transport, and they give distant visitors a local taste rather than the standard fayre from a worldwide chain.
Our niche at Well House Manor, where we cater for business travelers to our computer courses and to other local businesses also allows us to provide products that would be out of the question at a more general hotel. The picture here shows the preparation of fruit which we allow guests to juice for themselves - bringing a true new meaning to FRESHLY squeezed orange juice - but it's something we couldn't entertain allowing if we were to accept bookings from children.
Posted by gje at 03:38 PM | Comments (0)
May 07, 2008
Kiss and Book
The headline on our story reads "We've got a New Online Booking System for our Open Source courses" ... but there's a story behind that headline.
We pride ourselves in our flexibility - the ability to treat each customer as an individual and offer him a solution to meet his or her needs. And that means that we're likely to ask each and every delegate booking a course with us a whole string of questions - some to establish that he or she is booking on the right course (not something too advanced or basic), whether she or he prefers to work at a Linux system, with a Mac, or with Windows Vista, whether a station pickup is required and if there are any special dietary requirements, and whether a hotel room is wanted - if so, bath or shower preferred? But our flexibility leads to the danger of a very complex online booking system!
"KISS" - "Keep it Simple, Stupid" ... a 4 letter acronym! A booking system needs to be simple and easy to use - and our new one is.
• On the first page, simply fill in the names of the delegates you want to send on each course, and if necessary check a box if they don't want a hotel room.
• On the second page, fill in the contact details of the person who's making the booking, and an order number.
• And on the third page, tell us how you want to pay. If that's by credit or debit card, the whole of the booking system is using a secure site so you can enter the details.
• The final page isn't a form - it's a confirmation. Yes, it's that easy! You'll get an automated email to let you know that your order is in the system.
You'll also get a nice note from Lisa, thanking you for your booking and dealing with many of the things that we're very flexible about - and it will be personalised. Book from outside the UK and Lisa will ask you whether you need directions from the airport, or a taxi. Book from one of our regular client companies, and she'll know how you PO system works .. or from a new company but requesting to pay on account, and she'll set that ball rolling.
Our conundrum of how to keep it straightforward, and yet provide the flexibility, isn't unique to us - in fact it's a common feature of most customer-aware businesses. When I book a train ticket and I'm offered (as I was the other day) 37 different fares for the same journey on the same train, I take an object lesson and say "please let this be a reminder to me to make sure that our system NEVER gets like that".
Go on - try it out ... why not find a course and book it today!
Posted by gje at 12:22 PM | Comments (0)
May 06, 2008
Changing a screen saver from a web page (PHP, Perl, OSX)
Here's a challenge. I want to change the screen saver on a mac mini, running OSX, from a browser anywhere in the world.
You may well ask why ... the screen of the mac mini is to be visible at Well House Manor where it will provide an information screen at the front door when it's not otherwise in use, and we want it to say things like "Sorry - no Vacancies" and "Welcome to the Chamber of Commerce"
Task achieved! Using PHP ... and Perl ... and Web2 technology. With a smattering of OSX!
Here's the control widget on our web page ... the page is in PHP and this particular widget is only displayed to staff members who are logged in - if you look at our Staff Resources Page you won't see it.
And the PHP that's run when you press the update button:
if ($_POST[door] == 12) { // Door Status changed
$ds = $_POST[doorst];
$fho = fopen("door.txt","w");
fputs ($fho,stripslashes($ds)."\n");
fclose ($fho); // Host and Port changed for security
$done = file("http://zzz.wellho.net:8080/cgi-bin/dodo.pl?$ds");
}
That piece of viewing software was called a controller on the Mac - which is running as a Web Server on a port enabled on our firewall, and redirected with NATS to the Mac Mini.
The Perl software dodo.pl looks like this:
#!/usr/bin/perl
print "content-type: text/html\n\n";
print "Changing Page";
`rm -rf /Users/lisaellis/FrontDoor`;
`cp -r /Users/lisaellis/$ENV{QUERY_STRING} /Users/lisaellis/FrontDoor`;
open (FH,"ps aux|");
while (<FH>) {
if (/ScreenSaverEngine/) {
@n = split;
kill 9,$n[1];
print "$n[1]<br>";
}
}
sleep 1;
open (FH,'|/System/Library/Frameworks/ScreenSaver.framework/Versions'.
'/A/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine' );
close FH;
print "Changing Page";
And there's also a standalone version here if you want to download a copy for your own use.
You'll notice - typical use of PHP to front a web application, typical use of Perl as "glueware", and typical use of a Unix / Linux / OSX utility - in this case Mac's ScreenSaverEngine - to do the oddball job we needed.
Posted by gje at 05:49 PM | Comments (0)
Useful links: Perl training, PHP training
May 05, 2008
Lua - a powerful, up and coming scripting language
Lua is a powerful, lightweight scripting language. It combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. It is ideal for configuration, scripting, and rapid prototyping. Lua has been used in many industrial applications, with an emphasis on embedded systems and games, and indeed is currently the leading scripting language in games.
Here's a quick Download, build, install, test procedure for Lua
• Download from http://www.lua.org/ftp/ and save to disc. The file you choose is lua-5.1.3.tar.gz
• unpack tar file and build
tar xzf lua-5.1.3.tar.gz
cd lua-5.1.3
make linux
• Install (as root, into /usr/local)
su -
cd ~trainee/lua-5.1.3
make install
exit
• Test (as trainee, once again)
[trainee@holt ~]$ lua
Lua 5.1.3 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> print "hello world"
hello world
>
[trainee@holt ~]$
I've put a simple program - the next step beyond "Hello World" that shows some of the basics of the language here, and I would be delighted to spend a day or two going through the language with you ... (Keywords - Lua Courses / Training / Classes!)
Posted by gje at 10:57 AM | Comments (0)
May 04, 2008
Looking back through some photos
A Sunday afternoon - and a Bank Holiday one at that. I'm not sure why (suggestions of age and workload are probably along the right lines!) but I lay down just after lunchtime and dozed ... and, up again now, I am starting to do some low key stuff including labeling up some old pictures.
Photoshop is, of course, a marvelous piece of software for adding art and zest to a dull picture such as this one of a steam engine at Bressingham, taken just a fortnight ago. You may argue that the best place for this picture was the recycle bin - but, hey, I'm an amateur and an amateur will show you as many of his pictures as he possibly can. In fact - if you want to see the other ones that I have just been labeling up they are here
Another picture - from last Thursday, at Bibury. [more pictures of Bibury]. A certain timelessness, and an opportunity to take a rare picture - one that has no road, no vehicles, no signs of the 21st or even the 20th Century in it. Or so one might think, but I do wonder as to just how similar (or otherwise) this scene might have been in 1908 rather than 2008.
And finally, a pair of pictures that lead me to start thinking just how European we have become in Great Britain - with photographs on the steps in Norwich and in Rome.
![]() | ![]() |
Stop Press - Image search at http://www.wwuu.co.uk
Posted by gje at 04:41 PM | Comments (0)
To provide external links, or not?
My email this morning brought me a report of a broken link on our web site. Which I investigated, and found to be within a blog entry I had written a year ago, and linked to someone else's site over which I have no control.
I'm a great believer in providing a wide range of linked resources for our customers, and for other visitors to our web site. With links to sites that we manage (and there are lots of them, from our company overview microsite to Save the Train and from our PHP course pages through to image reuse details via the hotel and the First Great Western customer page), I know how likely (or otherwise) it is that the URLs will go away or change in the future (and can link accordingly), but with most external sites, the best I can do is make an educated guess!
This is not an exact science ... so what can I suggest?
a) That links to the major pages of well established organisations are likely to remain substantially correct, as are links to pages that one's encouraged to link to
b) That links by IP address, to obscure URLs especially within blogs, forums and wikis, are likely to go out of date
It's regrettable that there's no way that you can register any links you add and get the people to whom you've linked to let you know when they take pages away ... but the good ones will replace pages they remove with "301" redirects rather than just abandoning you - as I found this morning - to a "404" not found.
There's another option. You can write a spider / script that will visit all the pages to which you have provided links from time to time, and update you on their status. I have one of these somewhere in a dusty directory - written in Perl and using the LWP module, it trawled my own pages for external references, then visited each of those internal references in turn. But I admit - it's years since I've looked back at it and I need a month of Sundays to catch up on such things.
My current view is that external links within my main pages are very carefully selected, and will rarely go out of date - and I would typically know very quickly. External links on blog articles and on forum answers - well - the reasonable person may expect them to go out of date over time, especially if they're something like an advert for an event in July!
Posted by gje at 08:50 AM | Comments (0)
May 03, 2008
A short introduction to our courses
Hotel guests and other visitors are often interested in the Computer Training we do at Well House Manor, but hitherto our sales and marketing material really hasn't included a handy single sheet to explain. There's a good reason for this - with niche course such as ours, our main market hasn't been a local one (and that's why we have the hotel, after all!)
However - in response to a request at last Friday's Staff meeting, I have put together a page, suitable for printing out on a single sheet, that pulls together the training and the hotel business.
See what you think here
Posted by gje at 04:29 PM | Comments (0)
Gant charts - drawing them with a PHP script
I wrote a piece of project planning code - to generate GANT charts in PHP - when we were planning all the works on Well House Manor the best part of 2 years ago now. And although I did little more that provide a screen capture here on "The Horse's Mouth", one of our popular hits has turned out to be that page.
So I've looked through the code and realised that I can publish it, and the sample data - and indeed I can have a running copy on our web server. So here you are:
Example Gant chart (PHP)
Source code for Gant Chart program
Sample Data file
Techniques such as these are covered on our new PHP Techniques course
Posted by gje at 03:47 PM | Comments (0)
Useful link: PHP training
May 02, 2008
Amazing family members
Look around at your family, and you'll find some remarkable people - and look a little beyond your immediate group to slightly more distant relatives, and you'll find some people who amaze you.
We knew her as "Molly" but by birth she was Mary O'Loughlin White; Dad's cousin who we met from time to time, and who passed away towards the end of last month. "I haven't seen an obituary this long ..." said the priest who officiated at her funeral yesterday, and indeed she had been an accomplished journalist on the staff of the Witney Gazette, which he had in his hand.
But how many of us have (or will) learn to fly - to get a pilot's license - in our 50s? How many of us will fly with the RAF's heavy lift aircraft, and helicopters from other nations too, for famine relief in Ethiopia? And write "The Foodbirds" - a book on her experiences too.
Posted by gje at 08:53 AM | Comments (0)
May 01, 2008
Early May - a short chance to regroup and improve
Welcome to May. A mad busy April gives way to a quiet week next week - perhaps caused in a part by the fact that I've simply not had the time to go out marketing courses, and in part by the fact that it's another Bank Holiday week, and in part by the fact that whenever there's a major turbulence in the news or the economy, company's first reaction is to freeze expenditure on training until it blows over ... or until they realise that life is going on anyway. We saw it with regard to 9/11, we saw it when Iraq was invaded, and we have sensed a cut in training bookings in the current financial climate.
I predict that this quietness won't last; companies need to invest in their staff and, once they're sure where they're going the quieter times are an excellent opportunity to catch up on training and backroom work so that they can hit the ground running as things accelerate forward again. We're certainly taking that opportunity.
In a month, it will be two years since we took over Well House Manor and now is a good time for us to take stock and move onwards and upwards.
And on the training course side, with the ongoing popularity and growth of PHP we've added our PHP Techniques workshop to our regular PHP programming and OO Programming with PHP courses. PHP Techniques are critical to the success of a web based application, and they're what our new course covers. A user friendly, flexible, easily maintained site that hides the complexity from the customer and is secure is critical to a web campaign's success - but is often overlooked. This course will be a really good investment for anyone who knows the principles of PHP programming but wants tips, techniques and help as to how to make best use of them. But it is going to be a hard one for people to "sell" to their bosses ...
It's been brought home to me in the last few days just how effective an online application can be ... looking as an example at our Save the Train pledge page. Over 350 people - with over 90% of them from Wiltshire and the local area - have signed up on the page I wrote on Easter Monday, and I hear the "whisper" that the interest that it has generated has been noted in the high places that matter with regards to decisions on whether we'll see a more appropriate train service next year across Wiltshire, or a continuation of the current travesty.
* If you've not signed up to support the train yet, please click here
* If you've not booked for PHP Techniques on 15th / 16th May - please click here for a description - and if you book by email (graham@wellho.net) for that first course, we'll give you a £100.00 introductory discount.
Posted by gje at 08:40 AM | Comments (0)

