Coronavirus Impact Covid-19.

As we are now in lockdown all of our meetings will be online until further notice. I hope you are all keeping safe and well and will be able to join us online. Contact Gareth ( or to ) if you don't think you are on our meeting list of participants for online meetings if you are interested in joining in; since he is sending out the links prior to each meeting. There is nothing to download or install and we still meet on the third Wednesday of the month at 7:30 p.m. via Video conferencing.


Our Next Meeting Wednesday 21st April 2021 - A Retro Evening

I expect most people have older machines they would like to show. We had a warning from Paul that the PSU in the BBC B was prone to blow the capacitors when you turn on as they could have degraded. They can be replaced with new ones and kits were available on line with full instructions for less than £5. There are probably similar issues with other vintage machines so turning on after many years of non-use could be tricky. Nevertheless we'd like to see them on Wednesday.

[Ed. I have just got the set for the BEEB, but may not have time to fit them before Wednesday. ]

Our Last Meeting Wednesday 17th March 2021 - XML and Json.

We had some general discussion whilst waiting for Gareth to join us. Covering vaccination and census issues, and the clear desk policies!

Also the Elon Musk Starlink satellite system internet using low orbit satellites which burn up quickly and are much loved by astronomers(not). Steve said that the European GPS (Galileo) satellite system had serious problems. We use the American one. There is also a Russian one (Glonass) and a Chinese one(BeiDou).

Paul has covered XML before but was willing to do a refresher for us.

However this time Paul altered the files used and although the original approach was to generate HTML which is the easiest output but in fact the XML can be used by many database systems. You need to do the XSL to suit.

XML stands for Extensible Markup language.

XML is both human readable and machine readable. It may be useful to you to revisit Paul's previous talk from the November 2019 Newsletter.

He showed a file describing a list of US states in XML Unlike HTML which has a self-closing tag you must end all tags so <State> must have a </ State> to end. You can use XML as a database.

The beginning of the XML file is shown here.

and here is the xsl template in this case the output is set to HTML:-

This file gives the:-

state name, abbreviation, capital, date of becoming a state, most populous city, population, area in square miles, Timezone -1 and UTC , Timezone-2 abbreviation and UTC if more than one) and UTC and dst = "Yes" or "No" (daylight saving time).

[Ed. UTC is Co-ordinated Universal Time e.g. EST Eastern Standard Time is UTC -05 ,

UTC + 0 is GMT I believe].

On the first pass it matches the States variable then Pass parameter = First.

It gets the value of the State name and effectively is building an index of State names and then calls the template again to get the variable Pass = Second and then matches the ID of each State; as all US states have a reference number based on the date the state entered the Union. North and South Dakota entered on the same day and are in dispute over who is older! North Dakota is listed first in alphabetic order.

The second pass picks out the abbreviations for state names and all the other element data.

This can be found at for us-states.xml.

This file was originally written in 2010 and was written in XML version 1.0 encoded in UTF-8. So there is quite a wealth of information in the file and yet it is also quite flexibly arranged. i.e. it doesn't matter if there is only one timezone in a state for example.

To run this type of file you can use PHP or Javascript.

The HTML file calls XML files and XSL, style sheet language, for style sheets and both XSL and XML are written in Bash shell or Perl.

Files are called with href = commands in the HTML.

and the resultant output for some states.

You can validate the HTML against a schema. Steve said that an SQL script produced XML but he felt XML fell out of favour in recent years. It is still regarded as a safe choice.

Paul said he used to use it to keep a download of all his databases at work using an SQL script to generate the XML and this enabled him to have a web page to check whether the databases were becoming too full. This was run every hour so he could see the status within the last hour. Steve thought the XML language support was not good the Java one was probably best. Paul thought JavaScript nowadays was horrendous as so many traps had been added to it.

Last time he had to use Dillo because he was serving the XML and XSL on the same machine whereas this time we may have noticed he used a Raspberry Pi to show the web pages.

[Ed. I'd not heard of Dillo, which is a minimalistic web browser intended for older and slower computers. It supports only plain HTML/XHTML and images over HTTP. Initial release 1999 it can run on Linux, BSD, OSX, Irix and Cygwin Languages C, C++ {WikiPaedia}]

Steve said that although he disliked IE it did have good support for displaying XML. Paul agreed.

Steve considered that most people disliked XML and felt it was cumbersome to use ad preferred JSON or YAML.

Peter asked which software was used for authoring web pages. Many people now use word processors. Peter felt our own Newsletter was a bit too simple in construction as he had produced it very early on and never improved it. He writes it in Easiwriter and uses the HTML converter there. Occasionally having to edit the HTML directly. Steve reckoned that simple HTML was much easier to display on mobile devices. One reason we kept to it was because we needed it to run on older RiscOS machines. Modern BBC web pages are over complicated .

Colour choices are dreadful sometimes yellow on light blue or dark red on brown for example. Different type of colour blindness is also an issue here.



Duncan said when he heard the were banning ordinary light bulbs he was absolutely incandescent.

Paul was sure it was the idea of some bright spark!

Peter : If they had not invented venetian blinds it would be curtains for all of us.

Gareth then took over and spoke about JSON. He began by mentioning a project where someone had used an .ini file to do some config which he had not seen used for some time, but in fact was quite a good approach for doing config quickly when it was not too complex.

Steve mentioned another newer type called TOML ( Tom's Obvious Markup Language and YAML (Yet Another Markup Language developed from PERL).

Gareth showed a YAML file which was fairly readable and could be written to define configuration of a cloud with some machines instances with their IP addresses etc. and using juju-status to set their data. It used various indentations to layout the script to make it more readable a;though relatively verbose. He then showed a condensed and valid representation but was virtually unreadable in human terms. There is a beautify command which gives a more readable appearance again. It can be modified by running a template to populate the variables. YAML is more friendly than JSON therefore. INI files were also useful and easy to read.

Containers were also useful and Gareth showed a bundle called a Kubernetes cluster which detailed several pieces of software which could talk to each other and communicate through a server. The whole thing is defined in a YAML script.

The indentation is crucial and sometimes made it difficult to find errors.

Steve reckoned that however careful you were; if the file was very long then you would have problems. Some people preferred XML, because of the data validation tools available for it, but in the end it still is not very readable. Gareth though you should publish your data and schema for it and say what data would be valid.

Steve thought that there probably were JSON schemas and YAML schemas but did not think anyone really used them.

Paul mentioned the Home Automation evening and said that we had talked about the Home Assistant and this software used a configuration YAML script; and one of the main complaints from people was that they could go into the YAML file and easily mess it up since they did not understand what it was doing although Paul thought it was very well documented and you should not need to go into the file.

There was some discussion of reverse engineering when the source code has been lost. Paul had reverse engineered an executable into assembly language which had been quite successful. Paul had also to modify a BACS file for his old company after retirement since no one there knew any PERL.

Steve showed some TOML running some code to check external servers and generate an error log if there was a problem. It configured some variables with a datatype alongside much like C. Some were slices of strings or even slices of slices of strings because they kept adding extra arbitrary values into the lines.

Shown here :-

He thought that using TOML would make it easier for them as they were making lots of changes but in fact the group had started using YAML anyway.

There was another tweak to JSON which HashiCorp had produced called HCL HashiCorp Configuration Language.

He thought that it was quite easy to write transforms between these of different types of markup language.

We had some discussion on Viruses in Macs and Windows. Steve was horrified to find viruses in an old archive he had kept for 20 years and in the end had to delete some of it as it couldn't be cleaned up. He did not not like most AntiVirus software and thought it was bloatware however he thought that Avira AntiVirus was one of the best. [Ed. Which I use as well.] Paul said that Windows Defender was now turned on by default and was difficult to turn off if you wanted to.

Windows Defender had risen in the list of Best AntiVirus software and was quite good now. Steve was not keen on it because it did not say what it was doing.

Peter bought a cheap tablet from the far east for a particular reason which had now gone. He wanted to know if it would be possible to put Ubuntu on it. Would it then be more secure? Unfortunately it has no software update facility even though it is supposed to be Android 9. It uses Mediatek chips. Peter had heard that there was vulnerability with the Mediatek chips which needed an update or upgrade to Android 10, but without a software update facility you could not install this.

Steve said it might be O.K. with Ubuntu but said it might not install with the hardware. He recommended not to use it for gmail or banking and thought it better to get a more mainstream product from a known source and at least then you could update it. He did not think Android was ever secure and felt it was a false economy.

NetBSD would run forever and recommended a a Crowdbook with any form of Linux on it.

Peter said if you try and load Google it comes up with a strange looking Chinese Soldier instead of the usual icon. Very dodgy!

He thought he would dispose of it.

We had a bit more on vintage machines - but more on this subject next month.

Steve recommended if you were looking for build your own PC machines. He had a Ryzen system.

Paul had a BEEBUG hard disk companion and he had managed to restore a lot of old files and had managed to restore a lot of stuff.

Michael was trying to sell his Atari 1640 STSM as a complete set up with MIDI software.

We also had some discussion of boilers and CH systems.

Paul said Evince, mentioned last time, was only available on request at the moment.

Also a warning about the Retro evening that before turning on an old Acorn BBC B probably needed new capacitors in the power supply as they would have deteriorated. Repair kits were available with instructions on line.

A committee meeting was also arranged for the following week 24th March at 8p.m. See below.

Steve promised to send suggestions for the future programme.

ICENI Future programme

If anyone would like to present a talk please let us know. Unfortunately although the Secretary arranged a Committee meeting he made a mistake (rare!) and forgot to turn up (too many things at once), my sincere apologies for completely forgetting about this meeting.

Thanks to the rest of the Officers who did turn up and managed to decide on a good programme for next year. As always there is scope for adjustments as we go through the year and we are hoping the Covid restrictions will have eased and we can have the social functions. Once the restrictions allow in-person meetings it has been suggested that we alternate our meetings between online and in-person as it has been quite convenient for several of us to avoid going out but still attend a meeting. Gareth suggests this may need a decision at the AGM.


ICENI Future programme 2021/2022
April 21st A Retro Evening All
May 19th AGM - and Cloud All
June 16th Virtualisation All
July 21st Operating System Updates All
August 18th Social Evening All
September 15th Raspberry Pi, Arduino, Microbit All
October 20th Computer Surgery All
November 17th Slides and Video All
December 15th Gadgets and Party All
January 19th Social Evening All
February 16th Photo and Video Editing All
March 16th Home Networking and Network Storage All
April 20th Apps and App Stores All
May 18th AGM + Extras All


Our meetings are held at the Bourne Vale Social Club, Halifax Road,

Ipswich IP2 8RE ,

for a map and other details please see the website.

Membership fee currently £15, visitors free.

Special Notice - Insurance

"ICENI does not have any Insurance cover for computers or other equipment so please be advised that you bring machines to the club at your own risk."

However many household insurance policies will include cover away from home often with no increase in premium. (Ed.)

Our Website and Email

Our website URL is

Email to:

I am open to suggestions on what people would like to have included in the website. If anyone would like a copy of our old newsletters on CD this could be arranged.