Our Next Meeting: Wednesday 20th November 2019
Slide and Video evening - All

Now is the time for you to show what you have been up to in the photographic and video areas in what has become a traditional evening without too much technicality.

Our Last Meeting:Wednesday 16th October 2019
Programming - XML - Web Technologies and Go

Paul gave a very detailed, informative and well prepared presentation of the intricacies of XML. XML stands for Extensible Markup language.

XML is both human readable and machine readable. In this you can invent your own tag pairs in order to define data.

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

There is a processor element in XML called XSL, A style sheet language which produces HTML. XSL and HTML must have an ending tag. Another template matches "States " again get parameter pass and sets variable of State name and gets the value. It basically gets a list of US States on first pass and a second pass gets the ID of the State as all US states have a reference number based on the date the state entered the USA. North and South Dakota entered on the same day and dispute over who is older! North Dakota is listed first for alphabetic order.

On the first pass it matches the States variable then Pass parameter = First it gets the value of the state name and then calls the template again to get the variable Pass = Second and then matches the ID of state then second pass picks out the abbreviations for state names and all the other data.

This can be found at https://gist.github.com/bzerangue/984886 for us-states.xml. This file is very interesting and 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).

Paul showed this file and explained how it is read by the processor each row containing the elements with the data tags.

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

UTC + 0 is GMT I believe].

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.

To run this type of file Paul used to use Javascript but security reasons now deprecate this so instead he uses php. W3schools website shows examples of how to do this.

ddl files also have the format of XML files.

A PHP file contains HTML preprocessor code and is used to generate the HTML (Currently HTML 5) as it is a script file it can be written in any text editor. 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.

Paul wondered why the genealogy groups had not taken up XML as it was more flexible than GEDCOM.

Peter said his writing of the Newsletter was principally in EasiWriter which then converted it to HTML. He edited the previous letter each time for the next version and created HTML files for Membership, Newsletter and Programme with a pointer file to select the latest or older Newsletter. All the files are ftp'd onto the server by dragging and dropping using !FTPc which works very well. He had wanted to move to using Virtual Acorn on his Win10 laptop but had problems getting software to load onto it.

Gareth gave a talk on the latest version of Ubuntu 19-10 entitled "Eoan Ermine" (wild stoat). This build is not an LTS (Long Term Support version which are every 2 years).

He spoke mainly about his work as a Sys-Admin engineer, which has now been renamed Systems Reliability Engineer (SRE).

This turned out to be extremely complex (Ed. to me; so apologies if I don't do it justice. ).

Much of his work involves setting up systems and to this end there was a requirement to create processing capacity by starting up machines automatically and allocate memory and storage i.e. how many disks and what capacity for each machine configured as you want it. He demonstrated this by running a program called MAAS (Metal as a server) but using virtual machines with Linux KVM.

MAAS allows you to set up everything including networking in an automated way which was an advance on the cumbersome scripts they used to have to use. You might need to set up networking on a machine. A real machine has a real IP address. The system will give the machine a name too or you can create your own. You can turn on a machine when needed and off again when no longer required. He created a machine called "ICENIdemo1". It will run a commissioning image first and eventually declare when it is ready. Gareth would try the connection to get WiFi connectivity.

MAAS is written in JSON and uses JuJu Charms on an Apache Server. [Ed. Charms seem to be small procedures AFAIK.] Blades servers may also be needed ( related to security procedures, Firewalls etc.).

Now the machine was commissioned it could be bridged on the network. It will write the config files for you. You can use any of the Ubuntu versions as it has downloaded all of the recent ones. You can add other operating systems too e.g. ARM and Windows. You can deploy an application. Need a charm for programs written in Python or Windows can be used to Wordpress logging software.

When the job is finished we can release it with or without purging the disks.

The software creates all its credentials use and logins. JSON (Javascript object notation) is another structured format which is very fussy about syntax.

JuJu has a notion of a "bundle" so Gareth linked his Media Wiki to his SQL database. It fetches the charms from the charm store and it all runs by itself it has asked for two machines and it installs all the software. This only works on 14-04.

The software was running in the background whilst Gareth was talking. The relation between the two charms for database and media is shown graphically.

It probably took at least half an hour for the whole installation. Once done it can be copied over to other units if necessary.

Thanks to both Paul and Gareth for all the hard work they have put into preparing and delivering these talks. As I said at the time, probably the most technical evening we've ever had!


Future Programme

We have now had a Committee meeting and the following programme has been generated, but as usual, if anyone would like to introduce a new topic instead we would be delighted to accommodate them.

ICENI Future programme

ICENI Future programme 2019/2020
November 20th Slide and Video Evening All
December 18th Gadgets and Party Evening All
January 15th Winter Social Evening: Suggestions welcome. All
February 19th Chrome OS and Linux Apps. All
March 18th AI - Pattern recognition etc. All
April 15th Accounting Software All
May 20th AGM - Cloud Computing All

The Social evenings dates and venues are just suggestions at this stage.

Meetings are now on the Third Wednesday of the month unless otherwise stated.

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. http://icenicomputerclub.org.uk

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: iceni@woolridge.org.uk

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