Welcome to the Bradford GNU/Linux site; we are a self-help group for GNU/Linux, Open Source and Free Software users in and around the Bradford District, West Yorkshire
Why not come along to a meeting.
John H announced that David C was moving back to the area after his wife had obtained a job in Leeds.
John showed his Intel Compute Stick; unfortunately, we did not have a female HDMI connector to enable it to be demonstrated.
Darren described the on-going saga of trying to get Slackware 14.2 running with LVM where he had made progress but not found a complete solution.
Website: as we need to upgrade the website and move it to its own dedicated server, John said it was hoped to get together a group who could work on the upgrade and move. Dave C had indicated his interest and David S confessed to having had his arm twisted to contribute.
There was general agreement that we should move from Wordpress to a purely static website as the dynamic aspects of Wordpress have hardly ever been used.
One option would be to use Github which does not charge for public repositories.
|Alice demonstrated the Sky Betting and Gaming Engineering blog which is written in Jekyll and hosted on [Github](https://github.com/skybet/skybet.github.io||). Jekyll uses Markdown, among others, to create the HTML code; layouts are the equivalent of themes in Wordpress. You can import Wordpress sites with the following code and add Disqus for comments.|
Linux Presentation Day: we discussed the possibility of putting something on to coincide with Linux Presentation Day on Saturday, 22 October 2016 but decided that, on balance, we could struggle to find a suitable venue or generate enough interest in the event and that we would do better piggy-backing such an event onto another local event such as Wuthering Bytes.
David S then demonstrated the workflow of Slackbuilds dot org, the community repositories for Slackware, which uses shell scripts to automate the build process. You need a shell script, a README file and the metadata in order to build the binaries from source. David is a moderator for submissions to Slackbuilds.
Stephane then demonstrated his new website which is based on presentation slides animated via the CSS file by reveal.js. Like Jekyll, is has Markdown support. There is a master presentation which whose style sets the style for all the other slides and it is well documented.
[When Stephane illustrated the HTML showing how each slide is designated by an
id= attribute, John H commented that the line
<meta name="viewport" content="width=device-width, ... in the <head> element is recommended by Google to deal with problems in some smartphones but actually ruins the display in other smartphones. As he has yet to receive any reports of problems from not using it, he does not use it.]
Stephane then described his search for secure messaging. The most common messaging protocol is XMPP, as implemented in, for example, Jabber servers, but it is not secure by default. So he looked at security options testing with the Openfire server which has an excellent user interface this time with OTR client side to secure the messages but the setup is a bit complicated as you each have to ask a question that you know the other person knows the answer to in order to validate the secure connection. Also XMPP clients with different OTR libraries might not allow encryption for incompatibility reasons.
There is also OMEMO which is mostly used on mobile ’phones but he was not able to obtain enough information on its crypto-security. Another option for smartphones is ChatSecure which builds on OTRv3. A German company is involved in ChatSecure. He has sent in some patches and can compile it.
The problem is that not everything works on mobile but the combination of OTR and GPG appears to be the way to go.
Brian suggested he have a look at Ring which is only in beta but uses X.509 certificates for security.
John H shared a video he had made of a student presentation on prototyping in 1987; students had been divided into groups of four to research a topic and his group had decided to present their results by way of a series of sketches. At the time development mostly involved COBOL and programming only started after the requirements had been fully specified which normally meant that, by the time the program was delivered, things had moved on and the program no longer met the needs of the organisation. The proposed solution was prototyping of a model of the program to get user feedback before embarking on the programming or building the entire application by prototyping through a series of iterations in much the same way as free and open source software is now developed.
John shared a couple of the figures that had been in the original report, one showing how the cost of hardware — which placed a premium on efficient code — had fallen below the cost of people in the 1970s, meaning that organisations would have to take more care of their people in the future, and the other showing that over half of the bugs in applications related back to the requirements stage and required 82% of the effort to rectify them.
While there was plenty of discussion in academia and computing journals of the advantages of prototyping and various examples from the US, the only example they had found in the UK had been at Boots.
The project had taken place one year before the first open source project initiated by Intel and it was striking how prototyping had come to underpin the whole free and open source software movement with Greg Kroah-Hartman recently stressing the importance of making a series of small changes when programming. John had also been struck by the similarity between some of the discussions in the 1980s and current discussions around the role of DevOps.
David asked him about the conversion of the 1980s video and John said the conversion to MPEG2 had been done using Windows [specifically the Honestech VHS to DVD converter and the MPEG2 file converted to mp4 using Kdenlive which offers a set of standard conversion options which are passed to FFmpeg to do the actual conversion. For old videos he uses the PAL 4:3 option. The Windows software comes with options to adjust the RGB channels thereby compensating for any deterioration in the video though this required some practice to get right.
Brian then mentioned that IF This Then That, demonstrated by David C on Monday, 15 December 2014, had been upsetting users by insisting on them using a new API and password. He had found Huginn which has lots of documentation but no introduction; so we watched the Introduction to Huginn on Vimeo, noting that you can extend its features using Ruby. Alice commented that it did similar things to Apache NiFi but appeared to have more features.
Darren asked for some advice on booting LVM in Slackware and it was suggested, after some discussion, that he follow the Slackware LVM instructions.
David S then asked for some advice on replacing UPS batteries which, with a number of caveats about using the correct batteries, was considered feasible.
He had used the Raspberry Pi 2 because it does 52 Mb/sec whereas the Raspberry Pi 1 only does 36; however, Scott said that the Raspberry Pi 1 can be configured for higher speeds.
Stephane announced that he has lost his job following the takeover of the financial software company he used to work for and has set up a limited company; he welcomes advice and contacts regarding possible work. His background is as a Linux sysadmin but he plans to take various courses to broaden his skillset.
Kriss and Shi introduced the latest version of Swanky Paint, a pixel editor inspired by Deluxe Paint on the Amiga, which they have just released on Steam. Written in Lua and running OpenGLES2, it runs on everything including Native Client. Among its features are:
it can take on the characteristics of older machines,
it can accept bae files from Blender
png format because this allows the saving of metadata as
json files within the
it exports to true colour
you can get rid of the GUI to speed up processes.
You can create texture maps in it and export them to Blender; these consist of a texture and a colour which are combined in the output.
Lua is a very simple interpreted language; they use LuaJIT (Lua just in time) which is almost a compiler.
It can run on a Raspberry Pi 1.
Stephane then announced that he has passed his first level Amateur Radio licence which led into a discussion of how you can take out the carrier from an AM broadcast, transmit it and then reinsert the carrier at the other end.
The next stage is to get the licence to build his own transmitter. Stephane noted that a lot of the early work on Linux was done by radio hams. The important thing is to avoid interference in the equipment. He is particularly interested in software defined radio and the CI-V protocol.
Brian recommended Linux in the Ham Shack and the conversation went on the talk about pirate radio stations, designing antennae, bouncing signals off the ionosphere and wavelengths.
John H talked about the background to and the work of Claude Shannon, the centenary of whose birth fell on 30 April 2016. As he was growing up ideas like ‘emergence’ (Charles Broad, 1925), the idea that things can have properties which cannot be deduced from full knowledge of their constituents, ‘uncertainty’ (Walter Heisenberg, 1925), ‘homoeostasis’ (Walter Cannon, 1932), ‘ecosystem’ (Arthur Tansley, 1939), ‘feedback’ (Norbert Wiener, 1943) and ‘network’ (Warren McCullough and Warren Pitts, 1943) were being defined for the first time, even though several had been described before then.
However, his 1937 Master’s thesis in which he proposed the application of Boolean algebra to digital circuits was later to be described as ‘possibly the most important … master’s thesis of the century’ (Gardner, Howard (1987) The mind’s new science: a history of the cognitive revolution, Basic Books, p. 144 ISBN 0-465-04635-5).
His 1940 PhD thesis was on applying mathematics to Mendelian genetics after which he became a National Research Fellow at the Institute for Advanced Study in Princeton, where he was in contact with Hermann Weyl, John von Neumann, Albert Einstein and Kurt Gödel.
After the US entered the war, he worked as a cryptographer at Bell Labs and various papers relating to this work including his ideas about ‘redundancy’ and ‘information entropy’ were published in The mathematical theory of communication (Shannon, Claude and Weaver, Warren (1949) University of Illinois Press).
Fritjof Capra and Pier Luigi Luisi (2014) The systems view of life: a unifying vision Cambridge University Press p. 93 ISBN 978-1-107-01136-6 summarise his work as follows:
> > Shannon realized that, in order to develop an effective mathematical theory of information, communication signals must be treated independently of the meaning of the message. Thus, the term “information,” as used in information theory, has nothing to do with meaning. It is a measure of the order, or nonrandomness, of a signal; and the main concern of information theory is the problem of how to get a message, coded as a signal, through a noisy channel. > > > > To measure the order, and thus the information content, of a signal, Shannon borrowed the concept of entropy from thermodynamics, where it is deﬁned as a measure of disorder ... He used probability theory to express the accuracy of the transmission of a given amount of information under known conditions of noise and was able to derive a formula that shows how the capacity of a channel to carry signals depends on its bandwidth ’(i.e., its theoretical signal capacity) and its signal-to-noise ratio (the measure of interference). > > > > Shannon made the surprising discovery that, even in the presence of noise, signals can be transmitted effectively, and that the capacity of the channel can be increased signiﬁcantly by adopting various coding schemes. Thus information theory became an important theoretical framework for coding and data compression in communication theory and computer science. > >
John H mentioned apropos the discussion at an earlier meeting about indexes based on substrings within columns that his brother had suggested these could be created in SQL by creating a column containing substrings from other columns and then indexing that column and it was suggested he investigate composite primary keys [these, however, are indexes based on more than one column, not substrings of columns].
David S then made another attempt to demonstrate BASH on Ubuntu on Windows but was frustrated by the fact that, even though he had downloaded all the available downloads before the meeting, by the time he wanted to start the demonstration there were fresh Windows updates which were still not complete by the end of the meeting.
So, instead, he tried out a USB WiFi dongle he had acquired at a knockdown sale; first step to run
lsusb to find the Vendor ID and the Product ID which turned out to be 2357 and 0101 making it a TP-LINK Archer T4U. A search on https://wikidevi.com/wiki/TP-LINK_Archer_T4U revealed that there was an open source Linux driver available which could be downloaded with:
git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
Following the README and, after installing
dkms, David was able to make the driver and demonstrate it working as WLAN1 alongside the existing WLAN0.
David S had hoped to be able to demonstrate BASH for Windows though he had found that he had to sign away all his rights to register on the Windows Insider Program and, when he had done that, found that the relevant option had not being installed on his tablet. So all he could do was point to the BASH on Ubuntu on Windows site.
We then watched the TED interview with Linus Torvalds after which we discussed a wide range of topics which easily filled the remaining time, including:
SHA1 and why support for it is being discontinued (its hash is 40 digits long which is easy to crack and which was all the US would allow US companies in the 1990s which in turn led to all encryption work, e.g. PGP, SSH, moving to Europe);
how to start a program at boot, for example, an SSH session;
how starting a BASH command with a space causes it to be omitted from
.bash_history (true for openSUSE, not for Slackware);
the three alternative menus in KDE Plasma 5, namely, a Gnome style full desktop menu, the more recent KDE 4 default menu or the Plasma 5 default, a single menu displaying all the options available under one heading;
a brief discussion of SUSE/openSUSE covering topics previously covered on Monday,18th February 2013 but not including the acquisition of SUSE from Attachmate by Microfocus which, in the 1980s, was the leading COBOL software house! SUSE’s main business is large enterprise systems such as the London Stock Exchange and no sales figures have been issued for it since it ceased to be a separate company. However, it donates a percentage of its profits every year to openSUSE and this amount has been increasing over recent years indicating that SUSE is making more profits.
Gnome style KDE menu
Default Plasma 5 menu
**John H **picked up on a discussion at the previous meeting to give a presentation on dBASE II. He had never upgraded to dBASE III because it was not backwards compatible with dBASE II (other programs of that era like WordStar and Supercalc had maintained backwards compatibility; so it was possible to use them on both CP/M and DOS machines) and because dBASE II had an operator similar to
LIKE "%<substring>%" in SQL which had not been implemented in dBASE III. As he had made extensive use of this operator in his programs, an upgrade to dBASE III would have involved an extensive rewrite of all his programs.
When it came to migrating to SQL all he had to do was to write a dBASE program that converted all the dates to SQL format before importing the data; because dBASE used a fixed field size format, when he migrated several MB of data from dBASE to SQL he ended up with only around 1MB of data in SQL because it had lost all the blank spaces in the dBASE tables!
The main thing he missed in SQL was being able to create an index on substrings from several fields so that, for example, you could index books on year, author and title.
Stephane wondered why he had not used Lotus 1-2-3 and he said he had not used Lotus or Supercalc because, though they had database functions, the maximum field width was around 112 characters which was not enough for some of the organisation names that he wished to store in his address databases.
Matt asked about the recommendation to read data in and then close the file, manipulate the data and then reopen the file to save the data and John said this had come about because dBASE took advantage of the random access features of disks to write directly to the disk; so any error would be written directly to disk and, with no options for rollback, it could be difficult if not impossible to correct some errors. So, in his programs he had implemented an entry screen followed by a view screen showing what was to be entered in the dBASE table which the user had to confirm was correct before it was written to disk.
then went on to talk about how he used Inkscape and Scribus to produce newsletters. To create banners from logos he used Inkscape’s Trace Bitmap option to create an SVG image of the bitmap logo he had obtained and then removed any unwanted text and replaced it with the desired text. Where he had put a date in the banner, he could then simply edit that for the next edition.
He later added that, when using bitmap images as a source, he would double click on the main colour to bring up a dialogue showing its CMYK values and then use those values for other coloured elements in the newsletter.
The opening dialogue in Scribus allows you to determine the size of the document, for example, A0 for a poster, and the layout, for example, whether folded once or twice or more, as well as the unit of measurement.
The first thing to do after opening the first document is to press F3 and create some paragraph styles; you can set the font attributes, leading and whether automatic or fixed spacing is to be used.
Then you can begin to organise the layout using different types of frame, for example, text for text, image for images and render for displaying material from an external source like some maths from LaTeX or some music from Lilypond. Text frames can be linked so that text flows from one to the other; text is normally best imported using Edit text which allows you to apply the paragraph styles to each paragraph of text. The main constraint is that you cannot have bold or italic in the middle of some ordinary text. Get image loads an image into the frame; normally you then have to Adjust image to frame followed by Adjust frame to image to get the image the right size within the frame.
You can also add a range of shapes and lines and all can be edited using the Properties menu which floats over the document; this, for example, enables line widths to be changed or very precise positioning of frames so that text in adjacent frames is at the same level.
For output, Scribus offers Print which produces colour separations in Postscript format or PDF. Among other things, separations can have registration marks and bleeds while there is a choice of PDF output formats.
Stephane commented that a lot of this is like Adobe InDesign and John said that Scribus, Adobe InDesign and Quark Express are all frame based programs. However, he would not use Scribus for a long document unless he could use the same template for each page because it was time-consuming to lay out each separate page.
Stephane then explained why he would not be buying a Raspberry Pi 3. He began by commenting that single board computers (SBCs) had attracted the interest of those interested in micro-controllers and those interested in servers who wanted to do things differently. The Raspberry Pi, built in the UK using a Broadcom chip, has just celebrated its fourth anniversary.
While the Arduino is more US oriented, the Raspberry Pi is more Europe focused with HDMI, USB, composite video and GPIO connections with the aim of teaching people to code. However, comparing the three versions of the Raspberry Pi, the first one that has been around for four years can run all day; the second one which came with a quad core chip heats up too much; the third one requires a 2.5 amp 5 volt input compared with 2 amps for the earlier ones because it has to support the wi-fi and the 1GB memory. So it can heat up to 100°C as demonstrated by Lady Ada — though some people have got different results — and he does not think that this is a good thing for something which is to be used by children.
Instead, he is thinking about getting the rather more expensive Odroid C2 which comes with a 64bit processor, a big heat sink, 2GB memory and DDR3; though the Raspberry Pi 3 has a 64bit chip, it only runs 32bit programs, there are questions about its GPU and you have to buy codecs for some features. The Odroid will run either Android or Linux and comes with an eMMC module for booting.
**Alice **started us off with Optimising Impala Queries, or a ‘Distributed Lego Community’, a demonstration of the principles behind Parquet, a columnar storage format, and Impala, an analytic database, for the Hadoop ecosystem. Columnar storage formats overcome the burden of reading every row of a table based database such as SQL.
After a container of different coloured Lego bricks had been emptied on the table participants were invited to execute the equivalent of:
SELECT * FROM round_bricks WHERE COLOUR = 'yellow';
It took some time for those around the table to pick out the relevant bricks. So participants were invited to create columns of different coloured bricks and to create the metadata indicating the number of bricks in each column. Not only did this make it easier to locate all the bricks of one colour, when there was a change in the number of bricks in a column, this could be recorded in the metadata obviating the need for a further count. The metadata also made it easy to collect statistics on the contents of the database.
John H asked about the use of indexes which are, in effect, columnar data. He noted, for example, that SQL does not have the flexibility of indexing on different parts of a column which dBASE had. So, for example, he used to store dates as DD/MM/YYYY in dBASE but index them on YYYY+MM+DD so that records appeared in date order.
Alice said that MongoDB, for example, has indexes but suggested that, with so much more computing power, this way of doing things was no longer needed, adding that there are plenty of blogs on related subjects at Sky Betting and Gaming Engineering.
Stephane gave us a demonstration of the uses of
iwlist, which gives rather more information than
ifconfig, before going on to demonstrate Linuxone, the IBM 390 mainframe running Linux. After finding out the cost of paying for access, he discovered that IBM is offering 90 day free access which he demonstrated by connecting to his VM on which he had installed RedHat 7 (with a rather old kernel!), Htop and GlassFish. (See also Stephane’s blog.)
David S first drew our attention to the replace-debian-with_arch.txt, which might be adapted to any two distributions, and then to GCHQ’s MIKEY-SAKKE ’phone encryption software which has a massive backdoor leading Dr Steven J Murdoch, the researcher who revealed this to describe it as ‘Insecure by design.’ He then drew attention to the document authored by Karen Byfield in March 2010 entitled What’s the worst that could happen?, noting that everything in it happened with the Snowden revelations and that, while the PDF version had the GCHQ contact details redacted, they were visible in the browsable version.
Finally, John H put up an example of a dBASE program he had written 25 years ago as part of an IT course.
We lamented the death of Ian Murdock [see Ian Murdock if this link goes down] noting that the Debian distribution he created continues to support the widest range of architectures. [Gabriella Coleman summarises his importance for free and open source software in Ian Murdock In His Own Words.]
Stephane mentioned his interest in software defined radio as he is currently studying for a radio operator’s licence. This led into two related discussions, one about FPGAs and the other about the Open Base Station Architecture Initiative which describes what is needed to set up a mobile base station.
Duncan spoke about Field Programmable Gate Arrays (FPGAS), some of which have the analog-to-digital converters (ADCs) and digital-to-analog converters (DACs) useful in software defined radio. IBM has recently acquired Altera which, along with Xilinx, is one of the main providers of FPGAs. Xilinx produces the MicroBlaze, support for which was merged into the Linux kernel and GCC in 2009.
For learning about FPGAs, he suggested the Arty Artix or Basys boards which come with the Vivado toolkit. Unlike microprocessors which operate on a sequence of instructions, FPGAs are concurrent state machines.
Finally, in response to another comment, he noted that the OpenSPARC T2 had had many features which were later introduced on Intel chips.
From which operating system did Linus Torvalds draw inspiration for Linux? Minix
Which was the first recognisable Linux Distribution? Softlanding Linux System [the Manchester distribution is an alternative answer]
For which chip did Linus Torvalds write a port which prompted him to rewrite many aspects of the kernel so that it became chip agnostic? DEC Alpha
What is the origin of My in mysql and Maria in mariadb? They are both daughters of Monty Widenius, a lead developer of both programs
What links Matthias Ettrich and Miguel de Icaza? They both started desktop programs for Linux (KDE and GNOME respectively)
What does GIMP stand for? GNU Image Manipulation Program
What is the meaning of the Bantu term Ubuntu? humanity, human kindness, human connectness
Which desktop environment was developed specially for the Linux Mint distribution? Cinnamon
Which companies collaborated to produce the version of HTML released in 2011 and often called HTML5? Apple, Mozilla and Opera
After which historical figure is e Bluetooth communication protocol named? Harald Bluetooth, King of Denmark, c. 1,000 AD
What do the initials TOR stand for? The Onion Router
Android uses a Linux kernel but does not use the GNU utilities. In what language are the Android utilities written? Java
What general term is used to describe databases such as CouchDB and MongoDB? NoSQL
Linus Torvalds has created three programs: the Linux kernel, GIT and which other program? Subsurface
What is the name of the program being developed as an alternative to X Windows? Wayland
What was the original reason for developing the Raspberry Pi? To enable schoolchildren to become proficient in coding before they applied for university computing courses.
Which Japanese company has manufactured most of the Raspberry Pis? Sony
Which is the world’s most widely used database program? SQLite
Brian introduced us to the Pine 64, an expandable single board computer starting at $15 for 512MB. Though a 2GB version was advertised, it appeared that only the 512MB and 1GB versions are currently available.
Stephane then recommended the Charbax videos and in particular the interview with Bernhard Rosenkränzer on the Android team at Linaro and Rob Clark of Red Hat who works on the open source GPU driver called Freedreno for Qualcomm’s ARM processors’ Adreno GPU. He noted that ARM GPUs are all bound to specific implementations of the GPU which makes producing common code very difficult.
Matt commented that you really have to write the ARM GPU drivers. This led into a discussion of whether future implementations of ARM GPUs would be in silica or as add-ons.
Brian then shared his experience of attending Linux Malaga where he saw a demonstration of the Cassandra distributed database. For the demo, each person was logged on as a node in a Cassandra database, each given the name of a city like, Paris, Madrid. Data was then replicated to nodes according to its importance.
It was noted that Cassandra needs to be coded in C but is superfast for certain applications whereas MongoDB accepts many languages. There was a suggestion that Cassandra is still too experimental but Brian commented that it had been easy to set up in the room and he had learned how to set up notes from the demo.
Stephane then picked up on a question from the previous meeting about coding the Raspberry Pi GPIO pins with a demonstration of how to do this. Essentially, there are two ways:
the easy way is to access the GPIO directly but then you cannot access all the hardware on the Raspberry Pi because some pins have a second function;
the other way is to use the Python drivers but this is not easily portable.
Note that the GPIO (gpInputOutput) is two way; it can be a transmitter and a receiver. Moreover, some secondary functions, for example, UART, are suitable for transmitting and receiving data.
Morse code requires three units of time between letters and seven units of time between words. So the first step is to define the unit of time (line 7); then the program defines the characters before coming to the routines to print a letter, a word and a sentence.
The program is written in Java and can be used with other devices that have GPIOs.
Stephane then shared another project to access GPG keys. There is a Java library to interact with GPG keys but the code is five to ten years old — something he mentioned to the GPG developers. So he had written his own Java routine based on the more recent GPME library which he compiled from the source of the Guardian Project.
Rename Stephane’s files to give them a
.java file ending as Wordpress would not allow files with this file ending to be uploaded.
John H finished the meeting with his Christmas Quiz:
From which operating system did Linus Torvalds draw inspiration for Linux?
Which was the first recognisable Linux Distribution?
For which chip did Linus Torvalds write a port which prompted him to rewrite many aspects of the kernel so that it became chip agnostic?
What is the origin of My in mysql and Maria in mariadb?
What links Matthias Ettrich and Miguel de Icaza?
What does GIMP stand for?
What is the meaning of the Bantu term Ubuntu?
Which desktop environment was developed specially for the Linux Mint distribution?
Which companies collaborated to produce the version of HTML released in 2011 and often called HTML5?
After which historical figure is the Bluetooth communication protocol named?
What do the initials TOR stand for?
Android uses a Linux kernel but does not use the GNU utilities. In what language are the Android utilities written?
What general term is used to describe databases such as CouchDB and MongoDB?
Linus Torvalds has created three programs: the Linux kernel, GIT and which other program?
What is the name of the program being developed as an alternative to X Windows?
What was the original reason for developing the Raspberry Pi?
Which Japanese company has manufactured most of the Raspberry Pis?
Which is the world’s most widely used database program?
Answers after Christmas.