Duncan C. White,
Computing Support Group Technical Coordinator,
Department of Computing,
Imperial College London.
Hi there! Welcome to my Personal Pages, with information on my:
- New! July 2016: Built a new version of Apache2 for use where I work (where we need to apply a few locally written patches to generalise suexec), fixing the httpoxy security vulnerability. Building on my previous work automating Apache2 patching and packaging, this only took a few hours: I took the latest Ubuntu Apache2 source package - in which the httpoxy vulnerability had already been fixed - and automatically applied our suexec patches to it, generating a new local package. Released that package to a test webserver, checked that it worked and fixed the bug, then released it to all our other Departmental webservers. A good afternoon's work - a few years ago it would have taken a day's effort just to build the package, and a few years earlier a junior colleague took 2 months to successfully build a previous iteration of the packages including our suexec patches!
- New! Easter 2016: Built a new version of Apache2 for use where I work (where we need to apply a few locally written patches to generalise suexec), to replace 3 elderly Departmental web servers with new (virtual) machines running newer versions of Ubuntu linux. Worked out how to automate this time-consuming process: detect when a newer Ubuntu stock Apache2 source package becomes available, and automatically apply our suexec patches to it, generating a local package. Also experimented with building packages using cowbuilder for several different Linux distributions. Released the new Apache2 packages to a test webserver, checked that it worked, then rolled it out to the new webservers, migrating all the web content etc. Achieved A+ security ratings from SSL Labs tester.
- November 2015: Building an experimental online backup system on Linux, using rsync and ZFS snapshots to build a time machine like "past versions of your files". Sucks up 15TB of home directories and shared volumes, then exposes the readonly results over NFS. ZFS on Linux has only just got the ability to share snapshots via NFS, and we've found that globbing across multiple snapshots over NFS reliably crashes the online backup fileserver (nfsd threads go into D state and the NFS client hangs, over time more and more nfsd threads go into D state). To work around this snafu, I've built a tiny RESTful API web service that runs on the backup fileserver, receives a path such as ~dcw/blah or /vol/blurgh, discovers all distinct versions (in all snapshots) of that path by globbing across all snapshots locally on the server, and reports the distinct version paths via a JSON report. These things are sent to try us!
- September 2015: Sadly, heard this month that my Introduction to Perl short lecture course (8 lectures), for Computing second year undergraduates has been cancelled, because "Perl is not modern enough". Clearly someone's not heard of the "Modern Perl" Renaissance! I ran this course nearly every year since 1997. Here's the supporting web pages of the last version.
- August 2015: I've added a new blog entry to my dunq.org blog, entitled: Shared Norms of C Programming?
- January 2015: I gave my Introduction to Perl short lecture course (8 lectures), for Computing second year undergraduates. I have run this course, or it's predecessors, nearly every year since 1997. Here's the supporting web pages.
- New! 29th December 2014: I've just finished a new article in my Practical Software Development pages: Article 8: Cool Features #2: Bringing Recursive Data Types to C.
- 24th November 2014: last week I attended Dave Cross’s excellent 2-day “Advanced Perl Techniques” course, learning lots of great things new to Perl in the last decade or so:-) The most interesting topics were DBIx::Class, aka DBIC, Perl’s most popular ORM (Object Relational Mapper), Moose, Perl's new OO system with a declarative syntax and a simple type-checking system built-in, and Catalyst, one of the many Perl MVC webapp frameworks.
- 24th September 2014: added a programming and sysadm blog post on the scary Bash "Shellshock" vulnerability that's appeared.
- 15th August 2014: I've just started blogging about programming and sysadm stuff, and from now on, I'll mostly put new updates there.
- 14th August 2014: I've just finished a new article in my Practical Software Development pages: Article 7: Import Cool Features #1: Simulating OO in C
- May/June 2014: Every year I gave a series of lectures for the first year undergrads on C Tools, building a toolbox of useful tools and the craft skills to use them effectively, making C programming easier. This year, it's 3 lectures not 2, enabling me to expand treatment of the same number of topics.
- 8th April 2014: Following today's scary OpenSSL Heartbeat/Heartbleed security vulnerability (aka CVE-2014-0160) some sites may find themselves in a vulnerable position - running Ubuntu 13.04 on large numbers of desktop PCs despite the "Ubuntu party line" that support has ended, and everyone must upgrade to a newer version of Ubuntu immediately. I don't wish to get into an argument as to whether Ubuntu's policy (of 9 months support for non-Long Term Support editions) is sensible, I'll just point out that this may not be practical for everyone. In our case, it's a right pain, because we have an annual cycle, picking (until now) Ubuntu xx.04 each year, tweaking it to work in our environment, releasing it to our users each Sept, reinstalling a 250 seat lab (fully automatically of course). Then our chosen supported distro needs to last for a year, with only termly package updates (plus any emergency fixes - like Heartbleed).
So, for those who have no choice but to run Ubuntu 13.04 for a few more months, and want to fix the bug by making the most minimal change possible, I have just managed to:
- Take the Ubuntu 13.04 openssl 1.0.1c source package.
- Add the CVE-2014-0160.patch from the Ubuntu 12.04 LTS openssl source package.
- then rebuild both i386 and amd64 packages successfully on 13.04.
(Mind you, building the i386 version was quite involved, as we had not previously supported 32-bit Ubuntu 13.04, so had no build host. I set up a 32-bit Ubuntu 13.04 virtual machine, installed it from a 13.04 ISO, then installed the build tools and a few prerequisites, copied the source package tree in, and was then finally able to build the 32-bit package.)
Manually installing these packages on an Ubuntu 13.04 appears to patch the vulnerability, according to the heartbleeder tool talking to an "openssl s_server" test server!
If you'd like to give these a try - with absolutely no guarantees from me, or Imperial College London - you can download the tarball here.
After downloading this into /tmp, to fix the bug on a 64-bit Ubuntu 13.04 machine I installed libssl1 as follows:mkdir /tmp/openssl cd /tmp/openssl tar xzf /tmp/openssl-heartbeat-patch-ubuntu-13.04.tgz cd openssl-heartbeat-patch-ubuntu-13.04 sudo dpkg -i *.deb
NB: I found I needed to install both amd64 and i386 packages to satisfy dependencies with some existing installed software; your mileage may vary!
Update: I put a quick report of this (admittedly not a question) on serverfault.com as others had asked similar questions and just got "the Ubuntu party line". I see my question has got closed as a duplicate, which it isn't, by the moderator who was the main source of the unhelpful Ubuntu party line in the earlier questions. Ah well. Life's too short to waste time trying to convince people.
I've just added a similar note on askubuntu.com, let's see if that gets closed as well. Oh yes, it has. These sites are really frustrating when you just want to answer something (but have no reputation on there cos you've never bothered to use them).
9th April: I've just added a similar note to a blog post about the bug on 2buntu.com. They temporarily disappeared, but I see (late April) they have reappeared permanently now. Well done 2buntu!
Anyway: everyone is most welcome to try out my packages above, if they keep some people's Ubuntu 13.04 boxes more secure, I'm happy. Actually, I see that approx 38 people have downloaded the tarball; hope it helps.
- March 2014: I've just attended a fascinating mini-course on Theorem Proving and Program Verification with Dafny. I'm massively out of date wrt verification, and thought it would be interesting to catch up. Suffice it to say that a lot of progress has been made, and Rustan Leino showed us how Dafny embeds specification functions, predicates, lemmas, pre- and post-conditions and invariants in an actual programming language, and shows what you can do with that - an awful lot it turns out!
One side discussion - of translating a subset of Haskell functional programming features into Dafny - particularly caught my attention, because in my first year lectures on C Tools, the final example tool I built happened to be a tiny-Haskell-subset to C translator, written in C. It occurred to me that changing some printf() statements in the C version might trivially serve to generate valid Dafny. Less than an hour's work showed that was correct, and I then spent an hour or two wrapping it in a web CGI script (written in Perl).
- January 2014: I've just finished giving my Introduction to Perl short lecture course again (currently 8 lectures), for Computing second year undergraduates. I have run this course, or it's predecessors, nearly every year since 1997. Here's the supporting web pages of the most recent version.
- October 2013: I've just added a new section to the CSG website: CSG Recent Changes.
- September 2013: I've just finished a new article in my Practical Software Development pages: Article 6: Review of 'The Practice of Programming (Pike and Kernighan)'.
- June 2013: I've just finished a new article in my Practical Software Development pages: Article 5: Testing and Development: the Siamese Twins of PSD.
- May/June 2013: I have just given two first year lectures on C Tools, building a toolbox of useful tools and the craft skills to use them effectively, making C programming easier. This year, it's two lectures not one, this enables me to fit Yacc and Lex in! The slides are done with LaTeX's Beamer presentation class with Ann Arbor themed decorations. LaTeX still rocks!
- May 2013: I've just given a DoC Lunchtime seminar talk on Five Things You Never Knew about CSG.
- February 2013: I've just added a new article (at long last) to my Thoughts on Practical Software Development web pages, this new article is: Article 4: Perlstub: Building a Tool, Extending your Editor.
- December 2012: I've just finished giving my Perl short course again, for the benefit of Computing second year undergraduates. I have run this course, or it's predecessors, nearly every year since 1997. Here's the supporting web pages of the latest version.
- October 2012: I've just given my regular lecture to the first year Computing students on practical Tips and Techniques for using the Department's computing systems, focussing mainly on what you can do with the Linux shell, i.e. beneath the GUI. Here are the supporting web pages.
- May 2012: I've just given (for the second time) my first year lecture on C Tools, building a toolbox of useful tools and the craft skills to use them effectively, making C programming easier. The slides are done with LaTeX's Beamer presentation class with Ann Arbor themed decorations. LaTeX still rocks!
- December 2011: I've just finished giving my Perl short course again, for the benefit of Computing second year students. I have run this course, or it's predecessors, over 10 times since 1997. Here's the supporting web pages of the latest version.
- November 2011: I've just given my regular lecture to the first year Computing students on practical Tips and Techniques for using the Department's computing systems, focussing mainly on what you can do with the Linux shell, i.e. beneath the GUI. Here are the supporting web pages.
- June 2011: I've just developed and given a brand new first year lecture on C Tools, building a toolbox of useful tools, and the craft skills to use them effectively, in order to make C programming easier. Here's the supporting web pages of the version - it's now two lectures, enabling me to fit Yacc and Lex in!
- December 2010: I have just finished giving my Perl short course again, for the benefit of Computing second year students. I have run this course, or it's predecessors, over 10 times since 1997. Here's the supporting web pages of the latest version.
- November 2010: I've just given my regular lecture to the first year Computing students on practical Tips and Techniques for using the Department's computing systems, focussing mainly on what you can do with the Linux shell, i.e. beneath the KDE or Gnome GUI. Here are the supporting web pages.
- June 2010: I love LD_PRELOAD: It's taken me a while but I've now taken the time to understand the principle of dynamic library interposition as described in this Sun Developers article, which works on Solaris and Linux, with a few small changes. To make the Sun Developer malloc_interposer example work on Linux, just do the following:
- Edit the source code and add:#define __USE_GNUafter including stdio.h.
- Compile via:gcc -o malloc_interposer.so -shared -fPIC malloc_interposer.c -ldl
- Then carry on as the Sun Developer instructions say, ie.setenv LD_PRELOAD $cwd/malloc_interposer.so
- Run the application - every malloc() call will now print out its size.
- Afterwards, don't forget to:unsetenv LD_PRELOAD
I've used this to build an experimental library to implement a per-directory umask.. more details later.
- January 2010: I am now the CSG Manager (that's the Computing Support Group at the Dept of Computing, Imperial College London).
- 18th December 2009: I have finished my Perl short course again, for the benefit of Computing second year students. I have run this course, or it's predecessors, about 10 times since 1997. Here's the supporting web pages for the latest version.
- December 2009: long gap, been busy. Just watched Bryan Lunduke's excellent Why Desktop Linux Sucks presentation, he makes a number of very sensible points, well done to him for making them. I'm a long term Unix (Solaris and Linux) lover and M$ hater, and IMHO Linux both Rocks and Sucks (at different things)! His main underlying theme seems to be: after an initial period of experimentation, the Linux community needs to standardise on a single way of doing each thing, and then make it work in a rock solid way which doesn't break later under an upgrade. I agree 100%!
For example, software should only need to be built and packaged ONCE for all Linux distros, past present and future. But this requires a single packaging system (RPM or DEB, I know both, they're both fully functional, I don't care which is chosen) along with a standard set of package names, version numbers and library versions to hang dependencies on. This would make it easy for companies to port software to Linux, making Linux a single market. The dependency problem is as important as the packaging system, btw - noone seems to ever mention that! A corollary of this may well be that each new release of each (Ubuntu, Fedora, Redhat or whatever) distro would probably have to include old versions of each library packaged in the repo, where any number of versions of one library must be installable separately (without trampling on any other version that is installed). Backwards compatibility matters (albeit to some people more than others)!
- November 2009: I gave my lecture (designed in 2006) to the first year Computing students on practical Tips and Techniques for using the Department's computing systems, focussing mainly on what you can do with the Linux shell, i.e. beneath the KDE or Gnome GUI. Here are the supporting web pages.
- 19th December 2008: I have just finished giving my Perl short course again, for the benefit of Computing second year students. I have run this course, or it's predecessors, about 9 times since 1997. Here's the supporting web pages for the latest version.
- 29th November 2008: After struggling for a week, I've managed to expand an XFS filesystem beyond 16TB on a 64-bit Ubuntu Hardy machine. In case this helps anyone else, I describe it briefly here.
- 14th November 2008: I've just been promoted to the CSG Technical Coordinator.
- 11th November 2008: I gave my lecture (designed in 2006) to the first year Computing students on practical Tips and Techniques for using the Department's computing systems, focussing mainly on what you can do with the Linux shell, i.e. beneath the KDE GUI. Here are the supporting web pages.
- 27th March 2008: set up www.devonwineweek.co.uk for my brother Roger and his colleagues at other Devon vineyards who organise the Devon Wine Week each year. Take a look at that and at my brother's vineyard website - www.yearlstone.co.uk.
- 22nd March 2008: went on a fossil walk along the Jurassic coast from Charmouth to Lyme Regis, organised by Discovering Fossils and found an amazing fossil ammonite, 9 inches in diameter, called Liparoceras Cheltiense, or Lippy to his friends.
- 14th December 2007: I have just finished giving my Perl short course again, for the benefit of Computing second year students. I have run this course, or it's predecessors, about 8 times since 1997. Here's the supporting web pages for the latest version.
- 6th November 2007: I gave a lecture that I designed in 2006 to the first year Computing students on practical Tips and Techniques for using the computing systems. Here are the supporting web pages.
- 18th August 2007: while on holiday with friends in the English Lake District we walked up Helvellyn and swam in Grisedale Tarn.
- May 2007: after spending some time recently thinking about the practical issues of software development, I've decided to start a series of pages about Thoughts on Practical Software Development.
- December 2006: I was due to give my Perl short course again, unfortunately, I had a really bad cold that week, so my colleague Matt Johnson gave the vast majority of the course instead of me. I managed just the last lecture, coughing and sweating as I did it! Many thanks to Matt for stepping in at the last minute.
- Sept 2006: Throughout the late part of the summer I built, configured and installed the Dept of Computing's new Anti-Spam system (Symantec's BrightMail product integrated into Exim), rolling it out on 1st October 2006.
- August 2006: I built, configured and deployed the Dept of Computing's new Problem Tracking system (the open-source Open Ticket Request System, OTRS), rolling it out in September 2006.
- Summer 2006: For the last 15 years, my brother Roger and his wife Juliet have owned Yearlstone vineyard in Devon. I set up the Yearlstone website for them in 2005 - please take a look, and plan to visit the Vineyard sometime.. In summer 2006, they were filmed by the BBC for the primetime BBC1 TV series The Great British Summer, presented by Alan Titchmarsh (who else) on Sunday evenings in November 2006. Juliet's clearly a star!
At the end of August 2007, their vineyard was featured on BBC1's Countryfile, with Lotte Duncan and famous wine drinker Oz Clarke sampling Yearlstone Fizz on the cafe terrace with it's amazing views over the lower Exe valley.
A visit to the vineyard is highly recommended - loads of people have had a lovely time visiting it, see their TripAdvisor reviews at the Yearlstone website
- January 2006: I gave a new and improved version of my Perl short course primarily for the benefit of Computing second year students. I have run this course, or it's predecessors, about 6 times since 1997.
- After obtaining a 2-1 Computer Science Degree from Imperial College in 1986, I worked at the Dept of Computing, Imperial College, London until September 1993, preparing and auto-marking computing exercises, evaluating teaching software and giving short lecture courses.
- From October 1993 until April 2000, I worked as a Unix Systems Administrator at the University of Surrey, working (over the years) in various SysAdmin roles within the Department of Electronic & Electrical Engineering and then the Department of Mathematics and Computing. As well as many technical responsibilities, from 1997-2000 I was responsible for preparing, justifying, planning and spending an annual Computing Equipment budget of £50,000, and also had direct management responsibility for a small team.
- In May 2000, I left the University of Surrey and accepted a job as a Senior Systems Programmer working in the Computing Support Group back at the Dept of Computing, Imperial College London. I specialise in Solaris and Linux support, C and Perl programming, and the web.
- In October 2002, I was promoted to Deputy Manager of the Computing Support Group, adding some managerial responsibility to my systems programming role.
- At Christmas 2002, I was given one of two Departmental Extra Mile awards (and bonus:-)) in reward for my continuing efforts in the Department.
- From 1st September 2006, after a bruising and unpleasant restructuring process, I was demoted to being a mere Linux Systems Programmer.
- In 2007, I considered leaving Imperial, and in particular was offered (but turned down!) the offer of a Unix Systems Administrator job with Google, when they decided after 5 months of interviews that the job was in Dublin rather than London! I applied again in 2008, but their plans changed so that fell through.
- In Nov 2008, I was very pleased to be appointed to a new senior technical role created especially for me: the first CSG Technical Coordinator. I guess the Departmental Management do want to keep me after all; thanks to them for sorting this all out!
- In summer 2009, the Dept embarked on another reorganisation of CSG, and made three colleagues redundant, and started giving away our network to the central College computing support. Makes me consider other opportunities once more..
- In Jan 2010, with the departure of yet another colleague, I am now the CSG Systems Manager, and am now in effective charge of CSG on the last man standing principle.
- I have more than thirty years experience of the Unix operating system, originally on Solaris (2.1 to 8) but more recently on Linux (primarily Ubuntu, but also on Debian, Redhat, SuSE and Mandrake). I've also used SunOS, BSD and even MacOS X.
- I am a skilled C and Perl programmer, with an interest in constructing Graphical User Interfaces using X-Windows, especially with Motif and Perl/Tk. I am completely familiar with Unix software development tools (make, subversion and git, yacc/bison, lex/flex, debuggers, profilers etc). I am also knowledgable about SQL and relational databases, having worked with Oracle, Ingres, Sybase/Microsoft SQL server, MySQL and (most recently and extensively) Postgres.
- I know many other computing languages, eg. Java, C++, Prolog, Pascal, Miranda etc to differing levels of competence and expertise. Although (because?) I currently maintain an Tomcat-based system, I haven't got very excited about Java! Based on all my programming experience, I've recently started writing some Thoughts on Practical Software Development.
- I also have over twenty years Unix Systems Administration experience, on Solaris, Linux, SunOS and BSD. I have supported users; performed OS installations (both by hand and using networked methods including Solaris Jumpstart, RedHat Kickstart and our own locally developed technique); have a good understanding of journalling filesystems (Veritas, UFS, XFS), software RAID (Solstice Disk Suite, Linux MD) and hardware RAID connected via SCSI or fibre-channel; volume management (Veritas Volume Manager, SDS, Linux LVM/EVMS).
- I've installed and supported a wide variety of Unix application software; Built hundreds of software packages - Redhat Linux RPMs, Ubuntu DEBs and Solaris PKGs; Built a complete Solaris infrastructure from scratch; Maintained Solaris security (patching; upgrading; hardening); Troubleshooted Solaris systems; Implemented two complete tape backup and recovery systems; Been responsible for a variety of specialist servers - fileservers (NFS and Samba), mail servers (Smail, Exim), web servers (Apache, mod_perl and Tomcat), backup servers, CPU servers etc.
- Between 1994-2000, while at the University of Surrey, alongside colleagues Bevis King and Mike Stonebank (now at Redhat), I set up the Elec Eng web-server, one of the first production web servers at Surrey. I wrote most of the CGI programs on these Web servers - in particular, the showstaff program mentioned in the links above. When I moved to the Maths and Computing Department (as it then was) I also created the first Maths and Computing Department website, and then split it into two after a major reorganisation. Over this time, I learned a lot about the Web, HTML and CGI programming, and have a lot of experience linking Oracle and Postgres databases to the Web via CGI scripts.
- I have been using Larry Wall's brilliant Perl language for nearly twenty years, and now do most of my programming in it. In 1997, I developed and gave a short lecture course on Perl programming - this was expanded and repeated several times, most recently during January 2015 for the benefit of DoC second year computing students. Here's the supporting web pages of the most recent version.
- In 1999, I cowrote an article on Perl and Morphology - using Perl to generate inflections and derivations of English words - which was published in the Spring 2000 issue (#17) of the Perl Journal. This has now been republished in the O'Reilly book Games, Diversions and Perl Culture (Best of the Perl Journal volume 3).
- In September 2000, I gave a presentation at The European Yet Another Perl Conference on Generating Abstract Art with Perl. Please feel free to read my presentation in Postscript form or PDF form. The programs discussed in this talk (and some others) can be found here at my Web Programs Page.
- During 2003 and early 2004, I and my colleague Matt Johnson set up the new clustered SunSITE Northern Europe web/ftp/rsync mirroring service (a cluster of two Sunfire 280R servers with 2.1TB of useful data), which gave me the opportunity to get to grips with Veritas Clustering software and to use mod_perl in anger.
- I have also performed various consultancy roles, using my Solaris, Linux, Motif and Perl skills. Most recently, I worked with a company in the music media field on a data munging project which delivered high quality results. I can't say much more than this, as a Non-Disclosure Agreement was involved.
- Between 1996-2000, while at the University of Surrey, I designed and taught a 25-lecture second year course called Computing Technology which was a practical introduction to Operating Systems, Computer Architecture, C Programming and Networks. Along with the lecture materials, I developed a series of support programs (including an assembler and Motif-based emulator for a teaching computer architecture called Kiss-2, which is also used by several other Computer Architecture courses at the University of Surrey).
- Each year, I give my Perl short course (currently 8 lectures), mainly for the benefit of Computing second year students. I have run this course, or it's predecessors, every year since 1997. Here's the supporting web pages of the most recent version.
- Each November since 2006, I also give a regular lecture to our first year students covering many practical Tips and Techniques for using the DoC computing systems - here are the supporting web pages. This might be subtitled Beneath the GUI (where things get interesting).
- Each May/June since 2011: I give two first year lectures on C Tools, building a toolbox of useful tools, and the craft skills to use them effectively, in order to make C programming easier. Here's the supporting web pages of the version.
- I have also run short courses on the C Programming Language, Motif, Designing Web (HTML) Pages, Perl and it's use for CGI programming.
- My non-computing interests include swimming, walking (especially in mountains, lakes and other wild places!), music, plants and gardens.
- For instance, here's an account of a recent trip, with friends, to Helvellyn in the English Lake District in August 2007.
- In addition, I am a keen amateur geologist with interests in geology, paleontology and natural history. I'm a member of the Geologists Association and go regularly on geological field trips with the GA, and also with a mixed group of friends. I am especially interested in evolution and consciousness, and enjoy reading works about evolutionary biology by authors such as Stephen Jay Gould (now sadly deceased), Richard Dawkins and John Maynard-Smith (also sadly deceased). I am also a Friend of the Royal Botanic Gardens, Kew and of the Natural History Museum, London. Click here for some pictures of an amazing large ammonite I found near Lyme Regis in March 2008.
- I am also particularly interested in science fiction, and have cowritten (with my friend Bevis King) web guides to Dr Who, Blakes 7, Star Trek: The Next Generation and Star Trek: Deep Space Nine. I also enjoy Enterprise, Star Trek: Voyagerand the wonderful British sci-fi comedy Red Dwarf, but haven't got around to writing guides for them (yet :-)). Josh Wheedon's wonderful Firefly series, sadly cancelled, and the spin off film Serenity are my latest sci-fi enthusiasms.
- I also enjoy a bit of photography, but can't hack all that stuff with filters and manual exposures etc. Like most people these days, I now use a fully automatic digital camera (a Canon PowerShot A400), following an earlier Pentax Zoom 70 that died a sad death after a close encounter with a leaking water bottle. Here's one of my better piccies - feel free to grab it if you like it.
Other Personal PagesHere are some of my other personal pages/projects:
- My Datadec - ANSI C Recursive Data Type Generator. Take a look at this useful tool, and feel free to download it and use it yourself.
- Take a look at my Web Programs page.
- My automatic conversion of the Edupage newsletter to HTML ran from 1993-1999 before Edupage stopped doing the newsletter. A Perl script parsed an incoming Edupage newsletter via email and produced the HTML version automatically, updating an index page as well.
- My collection of paleontology/geology resources found on the Web..
- For the last 20 years, my brother Roger and his wife Juliet have owned Yearlstone vineyard in Devon. I set up the Yearlstone website for them in May 2005 - please take a look, and plan to visit it sometime.. In 2006, they were filmed by the BBC for the series The Great British Summer, which was shown on BBC1 on Sunday evenings in November 2006. At the end of August 2007, their vineyard was featured on BBC1's Countryfile, with Lotte Duncan and famous wine drinker Oz Clarke sampling Yearlstone Fizz on the cafe terrace with it's amazing views over the lower Exe valley. A visit to the vineyard is highly recommended - loads of people have had a lovely time visiting it, see their TripAdvisor reviews at the Yearlstone website
My GPG Public KeyHere is my public key. I sign RPM packages and occasional emails with this:-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org mQGiBDwHrxcRBACo4o+PXVWnpsRxoEE5mTpDNRXA3DLqlyzG63HYDAflecM62PQ3 W+ErpGh/Zo2E4AqOgf7pB+5C+1OadESRHExoLhtCq8UHKBA+qkaueCICVq0sw2X9 76qmThQ79uoGTxTDabZXCgNiSgFNISaVt7TapJw1unDqEHozfsPMQCz8owCg/qgN 0Je7+kvuQ7HVVd0e5BQUiqUD/1rVHqPKf9fjFCbMf07FpEo/12cbBoLU9huAEEjf j62T//aQ4tNHGkkhKY0Y3X2gJgJn6TGn4e1LJvyMZdRnPQ4PcL7klQCcF5xHay7n P5Kah8tMGavi+9Hlf6ohvli9UgPnjwpvoy4FgrlYgkz7B162/BzhuOPShUPG1LrE rtlRA/9y/Xo1YTilzOQN7JB6SGLeOAQnCtGJX+HAs0Vr/Fxqctq4YLkyWkJpS0qs wr1DzS7JHsBRVr03xEaxkokF2wPzQHj3p2WNeMPqNglc7O62e20W6snkQhv25leh pgOYk8rTeX0MIDXNmF45fVbu9VSi5eJ8Houv7XitMd1DMM5SYbQiRHVuY2FuIEMu IFdoaXRlIDxkY3dAZG9jLmljLmFjLnVrPohXBBMRAgAXBQI8B68XBQsHCgMEAxUD AgMWAgECF4AACgkQZ0ZZU1WypVTXcwCgnfGHqPoHvTbmecaVr7nvu0IlsOAAmgMs SYCWyI+WRZ5CCq0o0P96glnRuQENBDwHrxkQBACTozk/Qhm5BIOs6meOc9CTQ9Ks VgdiZiQqtf+RHvEjAG+deMKh86r/72D7FaaO6wsfuCq9sgwQX0NwAzklaDlb7+9u 4SSdYYsU3VWU9ZDhNf9sj8SlUvZJz8NazjdaDe8GEUs3ieV4FcqPACLTGVLRghGH S6alltysHm6YzC8PQwADBQP9FkiV59J7a0GC2TQYwXirab1Sq29pFRGdwL9Lio6I wj4ThroPIDwUKCCiJYgBTzL84znvxECMEBLbnQIeJNFRuf1o/5DsQQBYCPl4IMFK ZXaCd+Y/bVgDmN9fu7FrHzkXxPRPD+urhaVYP2S22KseVGs6MHVvs6GA1j0nRPjw V4OIRgQYEQIABgUCPAevGQAKCRBnRllTVbKlVHO3AKCUifhyS6hm9sBGYsU1vQEl ZnpxTACg2GsTeviVZE9qU4/7Lf8WWSxjBRc= =HurF -----END PGP PUBLIC KEY BLOCK-----
Updated: August 2015