Deep thoughts from the Centre for Applied Computer Science @ The University of Bolton

Author: Adam Isherwood

Happy birthday BBC Micro

The venerable BBC micro celebrates its 40th anniversary this year.

We have one in working condition in the Centre for Applied Computer Science. The University’s Head of Networks stuck his head around our office door and casually mentioned they had found a BBC Micro in a store cupboard and asked whether we wanted it. My inner teenager who had wanted a BBC since 1981 immediately said “yes please”. A few power supply capacitors needed changing and a TV with analogue input was found. The beeb made a happy chime and we were ready to go. Now what?

For those of you too young to remember the 8-bit home computer revolution in the 1980s, the BBC Micro was an important computer for home users. Most of us could not afford one, they cost almost £400 in 1981; adjusted for inflation that is a shade under £1600 today. That’s Apple money! The contemporary ZX Spectrum was a quarter of the price so most of us had those instead. It is difficult to explain just how limited the early 8-bit home computers were in modern terms.

The BBC Micro was a beast for its time. It had a full keyboard, plenty of expansion interfaces and was built without the cost saving compromises of the Spectrum. We have to remember that as an 8-bit system it was very limited. Even with 16 bits for addressing that only gives you an address space of only 64Kb. That’s right, kilobytes – not gigabytes or megabytes: 65536 memory locations. Actually it is worse than that, only half that space was available to programmers. The other 32Kb was used by the system. The 1980s gave us a special breed of programmer trying to wring every last shred of performance from these relatively limited computers.

The classic space shooter Elite

A great example of creative programming is the renowned Elite space trading (and shooting) game. Legend has it that the game used every single byte of available memory. The legend isn’t quite true, according to the dedicated BBC Elite Wiki there were actually 66 bytes of unused memory! There is a famous hack used in this game which is very impressive. The BBC micro had a number of graphics modes with different capabilities. One mode allows (relatively) high resolution graphics with a limited number of colours. Another offers more colours at much lower resolution. Elite wanted both! The above picture shows a high res, low colour spaceship in wireframe view in the top part of the screen and a low res full colour console at the bottom.

As detailed in the Elite Wiki the programmers exploited the way screens refresh faster than our eyes can follow. On a UK screen running at 50Hz the image is drawn from top to bottom. The programmers calculated how many clock ticks it would take to get 3/4 of the way down the screen. They set a timer running at the start of each screen load and put the graphics into the high res low colour mode. When the timer expired 3/4 of the way through drawing the screen it generated an interrupt and the graphics mode was switched to the high colour mode for the rest of the screen before switching back and resetting the clock for the next frame.

Elite Dangerous (2014) by Frontier Developments

Andrew Holland who regularly writes here is a big fan of the current Elite Dangerous game (available on Steam if you are interested). It has all the high end graphics and performance that the original lacked. In every way it is a better game. You could not squeeze it in to 32k of memory though.

We’re Celebrating!

The Centre for Applied Computer Science has been a Cisco Academy for fifteen years. We have incorporated the Cisco Certified Network Associate (CCNA) curriculum into our BSc Computer Networks and Security course since we created it. CCNA is a qualification that employers really value. We believe that having a CCNA as well as a degree when you go to an interview gives you an advantage over other candidates.

Vendor certifications are part of our commitment to make our degrees relevant to the modern workplace. Our graduates tell us that CCNA, Windows and Linux experience all help to make them more employable.

We have incorporated material from the Red Hat Academy into the most recent version of Computer Networks and Security. Students study the syllabus for the Red Hat Certified System Administrator qualification.

Both Cisco and Red Hat are major brands in Computing and Networking. Belonging to their academies gives you a head start in your career.

Our latest program embraces Cloud technology. We have joined the Amazon Web Services: AWS Educate programme. This allows our students to use Amazon’s powerful cloud infrastructure in class and to pursue your own interests outside the classroom. AWS give students credits to use this world-class infrastructure and learn modern cloud computing techniques.

AWS Educate

Centos 7 and Packet Tracer 7.11

Cisco Networking Academy Logo

Cisco Networking Academy


The University of Bolton has been a Cisco Academy since 2006 and we have put loads of Computer Networks and Security students through their CCNA. This year we thought we would make life more difficult for ourselves… We have decided to upgrade our Networking lab (C2-017) to a Linux lab. It will help with a number of modules next year.
Our Linux Distro of choice is Centos 7. [Some of you already know where I’m going with this.] Cisco + Centos equals headache. There is a Linux version of Packet Tracer (the network simulator used by the Cisco Academy) but although it works wonderfully with Ubuntu it famously doesn’t get along with Centos and Fedora.
This work was done in July 2018. We used Centos 7 and Cisco Packet Tracer 7.11.

Initial Install

The basic install is straightforward. Download a copy of Packet Tracer from the Cisco Academy website. The install comes as a tar file. It doesn’t create a directory when you unpack the archive so the following cleanly installs Packet Tracer:

mkdir ptinstall
mv PacketTracer711_64bit_linux.tar ptinstall
cd ptinstall
tar xf PacketTracer711_64bit_linux.tar
chmod +x install
sudo ./install

Follow the prompts and Packet Tracer will be installed in /opt/pt a handy alias is created in your path so that you can type packettracer and start the application. If you try that, nothing happens. The packettracer alias links to a script which suppresses error messages. If you run /opt/pt/bin/PacketTracer instead you will see a series of complaining error messages which list missing libraries.

Missing Libraries

The big problem for Packet Tracer on Centos is that the libCrypto library is not officially available. There are versions that have been compiled which do work. We found this SuSe packages site which contains the updated library libopenssl1_0_0-1.0.2j-7.3.x86_64.rpm if you would rather use the command line

wget http://ftp.gwdg.de/pub/opensuse/distribution/leap/42.3/repo/oss/suse/x86_64/libopenssl1_0_0-1.0.2j-7.3.x86_64.rpm

To install this library run:

sudo rpm -Uvh libopenssl1_0_0-1.0.2j-25.1.x86_64.rpm

Finally there are some Qt libraries needed, but fortunately you can get them using yum:

sudo yum install qt5-qtwebkit qt5-qtmultimedia qt5-qtsvg qt5-qtscript

With those in place you should be able to launch Packet Tracer using either the packettracer alias or the full /opt/pt/bin/PacketTracer command.

Post Install

With packet tracer working you might think your work is done. Not yet, it helps to add Packet Tracer to the Application Menu in Gnome. You can also associate packet tracer files with the application so that you can double-click on the save files and launch the application.
As root, using your favorite editor (there’s a huge vi vs nano divide in the networks team) create /usr/share/applications/pt.desktop and paste the following into it:

[Desktop Entry]
Exec=/opt/pt/bin/PacketTracer7
Icon=/opt/pt/art/app.png
Type=Application
Terminal=false
Name=Packet Tracer 7.11
MimeType=application/x-pka;application/x-pkt;application/x-pkz;

Run:
sudo update-desktop-database /usr/share/applications
This will reload your Applications menu and add PT to it.

Register Mime Types

Again as root using your favorite editor create /usr/share/mime/packages/pt.xml and paste:

<?xml version="1.0" encoding="utf-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
 <mime-type type="application/x-pka">
   <comment>Packet Tracer Activity</comment>
   <glob pattern="*.pka"/>
 </mime-type>
 <mime-type type="application/x-pkt">
   <comment>Packet Tracer</comment>
   <glob pattern="*.pkt"/>
 </mime-type>
 <mime-type type="application/x-pkz">
   <comment>Packet Tracer Archive</comment>
   <glob pattern="*.pkz"/>
 </mime-type>
</mime-info>

You may need to adapt the next bit if you use a different desktop theme from the default.

sudo bash
cd /usr/share/icons/Adwaita/32x32/mimetypes
cp /opt/pt/art/pka.png application-x-pka.png
cp /opt/pt/art/pkt.png application-x-pkt.png
cp /opt/pt/art/pkz.png application-x-pkz.png
gtk-update-icon-cache /usr/share/icons/Adwaita/
update-mime-database /usr/share/mime/packages

If you save a packet tracer file in your workspace now, it should show with a packet tracer icon in your file manager tool. Double-click and the application should launch.

Notable women in computing project

A topic of discussion at the WCIT awards ceremony on the 22nd of February was the lack of women entering the profession. According to the Guardian in 2017 only 16% of those applying to study Computer Science and related degrees are women.

Ada Lovelace


There are women in computing, indeed there are many notable women in computer but few have heard of them. Most of us can name people like Ada Lovelace who developed some of the earliest computer programmes back in the 19th century. Admiral Grace Hopper is famous for pushing the development of the COBOL programming language in the 1950s and 60s and playing a part in the development of the first compiler.

Grace M. Hopper


I knew Tim Berners-Lee’s parents worked on the early Manchester computers like the Ferranti Mk1. I didn’t know until I read the obituary of Mary Lee Berners-Lee that she pushed for (and won) equal pay for women programmers in the 1950s way before the equal pay act.

You can’t be what you can’t see

The three women I mentioned above are fairly widely know in Computing. There are many other leading women who are not well known. There are some interesting projects going on to try to fix this. The Notable Women in Tech Cards is a project to feature women who have made important contributions to computer science, networking, software and other fields on a set of playing cards. Grace Hopper is the Queen of Spades in the deck. Ada Lovelace isn’t on the list, but the ADA programming language is named after her.
There is a larger related project to publish and expand the number of Wikipedia pages dealing with notable women in IT. The project is organised by CRA-W and the Anita Borg institute. This is a nicely geeky way to address the issue of the lack of visibility for women in Tech.

Congratulations Gareth Weston on winning a WCIT Outstanding Student award

The School of Creative Technologies would like to congratulate our student Gareth Weston on winning an Outstanding Information Technology Student Award from the Worshipful Company of Information Technologists. Gareth was among five winners of the award in a ceremony held at the historic 19th century Armourers’ Hall in the City of London on Wednesday 22nd February.

City of London Alderman Vincent Keaveny presenting Gareth with his award (photo courtesy of Gerald Sharp Photography sharpphoto.co.uk)


Gareth is a final year student on the BSc Computing with Website Development course. He is an outstanding student on track to receive a first class degree if all goes well in his final semester. His academic achievements are particularly impressive as a mature student who joined the University as a Foundation student. This route is open to prospective students who don’t always have the traditional academic qualifications normally required to apply to university. Gareth’s success and achievement along with others over the years shows the benefits of extending Higher Education to applicants who would not normally be considered.
“It’s a big step to leave an established career and go to University as a mature student. Gareth has shown how hard work and passion for his subject area can pay off. Gareth has shown real enthusiasm for learning and demonstrated leadership supporting others in his cohort to step out of their comfort zone and take on the challenges wholeheartedly.” said Brennan Tighe (Associate Teaching Professor).

Gareth Weston pictured with Sheldon Stoutt
The Worshipful Company of Information Technologists is the 100th Livery Company of the City of London. Founded in 1992 the company promotes Information Technology. They undertake considerable charitable works and have a particular interest in promoting Information Technology in Education at all levels.

Boosting I/O for HDD

Seagate multi-actuator drive

Seagate’s multi actuator drive


There’s an interesting article in The Register about Seagate developing hard disks with two independent sets of read/write heads. When you think about it, this is long overdue. Currently an eight-platter drive will have sixteen read-write heads. They all move in concert so that reading from a particular location means that all the heads are positioned over the same track waiting for the desired sector to spin past.
Seagate’s new implementation splits the head mechanism into two groups. If the disk can read or write to two locations simultaneously that’s already a boost to I/O capacity. The Register speculates that other manufacturers will jump on this trend and go further with multiple read-write actuators.
Seagate’s own blog post explains this further. As ever, this new innovation puts our lecture material out of date. In week 11 of Introduction to Operating Systems Virtualisation our students have just learned that the read heads move in sync. That’s another lecture to re-write next year. Computing always evolves and we have to evolve with it.

Porthcurno

Cornwall is home to several important network resources for the United Kingdom. For a good part of the 19th and 20th centuries the tiny village of Porthcurno near Land’s End was a hub of the international communications system.

This lovely sandy beach once had fourteen major underwater telegraph cables landing on it and linking up to the telegraph station just inland. Telegraph was based on Morse code rather than voice or data. (Colin the Computer Networks and Security course leader can send and receive Morse, the rest of us are too digital).
There’s a little museum up from the beach which explains the history of the telegraph network. On the first display there is a fascinating fact:

The rest of the museum shows the increasing automation of the services. What started originally with hand-keyed Morse code was automated using paper tape as output using needles scratching a trace on paper tape.Input was automated using keyboards to cut punched tape – taking the creation of message from being a skilled task to a low-skill activity.
The first submarine cable route was not to the US as I imagined, but to India. I suppose I don’t think in terms of the priorities for the Empire. Messages could not go directly to India from the UK but went instead via a series of relays in the Azores, Egypt and Aden (Yemen). Initially the incoming messages were received at the relay station, transcribed and then transmitted onwards. As automation improved the REGEN process became fully automatic.

Submarine Cables

Submarine Cables


Paper Trace

Paper Trace


Telegraph Transmitter

Telegraph Transmitter


Keyboard Entry

Keyboard Entry


 

Telegraph Network Map


The map of the network shows the beginnings of worldwide communications over land and sea. Compare it to a modern map of the undersea fibre Internet and communications network and see many more connected countries and a lot more fibre across the Pacific.
Internet cable map.
There’s an interactive version of this map available at submarinecablemap.com. Very little Internet traffic goes via satellite. The latency of transmitting to a geostationary satellite and back again – even at the speed of light it too great.
It’s a lovely little museum, worth an hour of your time if you are down there.

Drinking the Kool-Aid

tub of grape flavour kool-aidOur American friends have a lovely expression: “Drinking the Kool-Aid”. If you’re not American (and most of us aren’t) this isn’t always easy to understand. Kool-Aid is a relatively cheap powdered soft drink. The phrase refers to the 1978 Jonestown deaths of followers of the People’s Temple in a murder/suicide where the drink was mixed with poison.
Drinking the Kool-Aid is taken to mean an act of faith of a true believer. Typically this also means going along with a dangerous or doomed course of action. This is a bit grim, what has this got to do with Computing at Bolton?
Our new Computer Networks and Security course has a greater emphasis on the Linux operating system that the earlier course of the same name. Along with the Cloud Computing courses we have linked up with Red Hat – a leading version of the Linux operating system. We will be the first UK university to integrate the Red Hat Academy curriculum into our degree programmes. Students will be able to gain Red Hat certifications as part of their studies (as well as the Cisco Academy certifications we already offered).
Over the summer we are transitioning one of our labs to be Linux only. In an effort to be a true believer, I’m going to develop my course material for the Cld4002 module using Linux.
Of the Linux web pages I visited, only Debian had the Terry Pratchett header present on their site.
Which Linux though? As you know there are squillions of different Linux distributions out there. One of the strengths of the open source movement is the idea that anyone can take the source code of an existing project and use it as the starting point for a new project (known as a fork). There are loads of articles suggesting which Linux to choose. There are two main families: Debian and Red Hat. Popular distros like ubuntu are derived from Debian. Fedora and Centos are based on Red Hat. As we are following the Red Hat academy, I’ve gone for Centos at home. (Interestingly only the Debian site has the GNU-Terry-Pratchett header present).
The install was pretty easy, but then I’m not a beginner. If you have never done it before you might find it daunting. The main choice I had to make was the type of initial system I wanted. Normally I would opt for a server system to run web and/or database; this time I need a desktop system instead to develop teaching material. On Bren’s advice I went for the Gnome Desktop option. I left the computer chuntering away to itself and went to watch TV. (My broadband is slow at home and this was a network install).
Once the install was done it was time to do the usual routine:

  • Install a browser
  • Install office Libre Office is already installed. Not a 10 day evaluation, a full package.
  • Add Google Drive
  • Add my printer

Although Firefox was already installed, I prefer Chrome so after finding some instructions I was able to install it fairly quickly. A totally free Office package was already there. I’ll write more about the office tools in a future post.
Adding Google Drive was a bit more effort. I found a clear enough set of instructions, but it was a fairly complex setup which might be a problem for a newbie. I came unstuck with my printer though. The printer is an old HP Laserjet which I picked up for £30 on eBay a few years ago. It is rock-solid reliable and I would much rather shell out £25 for a toner cartridge once a year than the monthly grind of inkjet cartridges. The printer hangs off my Mac using CUPS and my Linux system should be able to use it. I was able to find the link and add the printer to my Linux host. So far, so good until I tried to print. Nothing happened, and when I looked at the error log I got a message about a filter problem.
Right: time to google the error message and solve the problem. I held off though because I know what kind of rabbit hole this problem can descend into. It could be a Mac problem, a cups problem, a Linux problem or an issue with the printer driver. The chances are that this could take a couple of frustrating hours to fix, and as I didn’t need to print anything now I left it for another day.
After an hour’s fiddling about, I was able to get down to work and write something. Now what on earth do I want to write?

GNU Terry Pratchett

Sir Terry Pratchett

Sir Terry Pratchett


Like many people we were saddened to learn of the death of Sir Terry Pratchett back in 2015.
His novel Going Postal includes the quote “A man is not dead while his name is still spoken”. To that end the Internet is paying its own tribute to the late Sir Terry by including a special HTTP header:

X-Clacks-Overhead "GNU Terry Pratchett"

If configured, a web server will send this header as part of every page served to visitors. To configure your web server you can find instructions at www.gnuterrypratchett.com. What effect does this have? Unless you go looking for them, HTTP headers are not shown to users. This means that other than an extra 40 characters of overhead, this header has no effect.
No practical effect that is, there is a metaphysical effect: A man is not dead while his name is still spoken. There is a chrome extension called Clacks Overhead which displays a lit lantern when the header is present. Give it a try, more sites support this than you would think.
Spread the word, add the extension to your browser and if you can, add the header to your web presence.

Voice… The Final Frontier?

Talking to the computer
Do you feel awkward talking to the computer? How about in front of other people? Voice control is in its infancy really. Speech recognition is getting better. By utilising cloud-based services the big players are able to parse speech and recognise what is being said very well. Certainly your mobile can understand phrases like “navigate to work” or “call Aunt Jemima“. Well it can if you use Google Voice or Siri; Samsung’s Bixby assistant still can’t understand English.

Skills and vocabulary

What we say to dogs - the Far Side

Far Side Cartoon (c) Gary Larson


Sadly your digital assistant does not really understand you! It has a limited instruction set which you learn how to use. Your device has a vocabulary of keywords such as “call” and “install”, if you go beyond that limited range there’s no understanding. Sure the designers are clever, with the cute Easter eggs built into their systems. Try asking Siri “what’s your favourite colour?” or “what are you wearing?” and you get a clever canned response. The key word is canned, the system does not understand speech.
This shortcoming is the next step that the companies need to fix. The key is to recruit external developers. There are parallels with the iPhone. When it launched in 2007 you could only run the applications Apple shipped. The App Store was announced the following year and now hosts millions of apps.
Amazon are following a similar path with Alexa. Third party developers can create their own ‘skills’ for Alexa. As this Wired article states: they recently reached the milestone of 10,000 skills. This is an increase from 135 skills in 2015.
Skills are the element which can propel voice control from the limited state we have today to something truly useful. Accurate speech recognition plus the utility of skills will give us something that is a real breakthrough technology.

The Wired article quotes Amazon “We had this inspiration of the Star Trek computer,” says Steve Rabuchin, who heads up Alexa voice services and skills at Amazon. “What would it be like if we could create a voice assistant out of the cloud that you could just talk to naturally, that could control things around you, that could do things for you, that could get you information?”

Maybe Star Trek is the future after all.

© 2023 UoB Computing

Theme by Anders NorenUp ↑