Skip to content

Teach Free Software and programming

20171020 (2017 October 20 Friday)

We have been putting a lot of effort into teaching kids to program, over the last few years. This is a good thing, bit is it having the effect that we want?

OK I accept that there is intrinsic value in learning to code. In the same way that we should learn poetry. However what practical outcomes are we expecting?

Why are we doing it? Is it to train them to do programmer jobs? If so this is wasting the time of most of them. Is it because it has some intrinsic value? Yes this is true. Is it too free them, to become masters of their own devices? Yes this is true, BUT if we look at the table below, we see that we may not be achieving this.


We are still teaching the use of proprietary software. If we wish to make a change to proprietary software, then (programmer or not) we have only one choice, to beg.

Our options when we want a change made to some software
Beg owner Ask/pay someone Do in your self
Free Software Non programmer
Proprietary software
Non programmer
  • Using Free Software adds to our freedom.
  • Learning to program adds to our freedom.
  • But learning to program gives no freedom other other peoples programs, until those programs are Free Software.

Free Software is software that gives you freedoms, it is not about price.

A program is free software if the program’s users have the four essential freedoms:

  • The freedom to run the program as you wish, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbour (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

See also these other related posts on Free Software.


Credit cards

20171020 (2017 October 20 Friday)

I have been wondering about the security of credit cards, and other bank cards. I have this piece of plastic from the bank. It has some numbers on it. Whenever I buy something I give a copy to the shop.


I want to be able to shop on the internet, and be able to trust that no-one else will use my card.

What can I do? Is there a better way?

Some options, to improve security now

Please add a comment if, you know of any of these or current techniques, that are in current use (especially in England), and where I can get a card.

  • Send a text on every transaction. Then we can see if there are any unexpected transactions.
  • Pre-payment cards, to limit exposure to how much money can be stolen.
  • Book of single use cards.
  • Bank intermediary, I securely ask the bank to pay on my behalf.



There are attempts to make the shops/internet sites store the numbers securely, and to pass the numbers to internet sites using encryption, both of which are not yet satisfactory. If 99% of establishments store your numbers securely and don’t use them inappropriately, then 1% don’t.

Computing in school — comparison with water.

20170319 (2017 March 19 Sunday)

I teach computer science, not computer products. We need to stop pushing products.

Schools should be teaching computer science and IT, not products. At this time computers are set up as office tools, and many IT-support departments work in opposition to teaching computer science and IT. We look to the companies that sell software to teach us about software.

This is like asking Evian to help with pupils swimming classes, just because they make a lot of money selling water. Yes we can ask them to provide money, but often they, instead, send a crate of bottled water, and we get the pupils to try to swim in it.

There is nothing wrong with a bottled water company sponsoring a school. However we should not be using their water. It has been shown that bottled water costs about 1000 times more than tap water, in most places in the world the tap water is better than more than half of the bottled water, and in blind taste tests people can not tell the difference. The argument that it is provided for free to schools is irrelevant, this is a marketing ploy to create dependence (“first one’s free”). It is not about price, it is about education. Another thing these companies do is to move in to a region, and start pumping out water, so that there is none remaining for the local population. They then step in with a solution “buy our bottled water”. In parts of the world with a strong legal system there have been court cases (e.g. in the USA), but the companies have argued that it is not there fault “it was a bad year, it did not rain”. The fact that this was not devastating in the past, because there was not a big company extracting to much water, seems to be irrelevant. In other countries it does not even go to court.

This is exactly what is happening with computer software. We need to teach students to be responsibly empowered, to use computer in the way that will enhance there lives, and not be dependent on big corporations.

Therefore Microsoft, Apple, Oracle, Google, Facebook, … should have no place in the classroom. We should start this by not promoting them. We should then start removing them, so that pupils can learn, better, how computer work and how to use them.

This is what happens when I go to pay at the shops — despite carrying a large rucksack (bag).

20160906 (2016 September 06 Tuesday)


Would you like
to have a bag

I would not like it,
Mr shop.
I would not like
to have a bag.

Would you like it
Here or there?

I would not like it
here or there.
I would not like it
I would not like
to have a bag.
I would not like it,
Mr shop

Would you like it
in a house?
Would you like it
with a mouse?

What is a computer virus?

20160901 (2016 September 01 Thursday)
Let me answer what turns out to be a simpler question. What is a virus checker?

Let us imagine that your computer is a house, and it is under attack from criminals. Maybe a little, maybe a lot, just like a normal house.

You decide that you need to secure your house, so you by the most sophisticated intruder detection system. It will photograph, scan, fingerprint, anyone approaching the house. If it recognises a person, and that person is in the criminal records database, then it will not let them in. All other people are allowed in. If the person is wearing gloves and a mask then they are not recognised and are let in. If they have not get been caught, then they are let in.

Alternatively you get a lock, and issue keys to the few people that you want to access your house. You may get a cheap lock or a very good lock. Ever way you probably will not come home to find that your neighbours kid has wandered in, and is sitting watching your TV.
Therefore stop trying to detect viruses, and protect your computer properly.

Today I was asked “What changes would you make to the [IT] national curriculum [for the UK]”

20150826 (2015 August 26 Wednesday)

Today I was asked “What changes would you make to the IT national curriculum”. So here are my answers:

  • It says “use 2 or more programming languages, at least one of which is textual, to solve a variety of computational problems …”. I would add that the languages should be different, though I have not worked out how to define different, but C# and Java are too similar, C# and Visual Basic are too similar, C and C++ are too similar.
  • Next I would add “use 2 or more operating systems, at least one of which is textual, to solve a variety of computational problems …”

Web access not working, but internet is — on “3” ( mobile

20150217 (2015 February 17 Tuesday)

2015 early

My web access stopped working recently, although the rest of the internet services where working ok: ssh, imap, dns, etc. It was affecting all web browsers on the phone, and tethered computer.

So I phoned tech support at They sounded surprised when I told them “web access in broken, but the internet is working”. On the first call we tried many things, mostly to do with the web-client (browser). But then eventually we reset the APN (Access Point Name), this fixed it for a time, but not for long. I ended up having to reset the APN regularly, and often it did not work. The process was something like: power off, reset APN, pray, turn internet off and on again, test, and repeat.


Today I phoned again. After many wrong paths, we tried to delete the APN, but this saw not possible, so we added a new one. This is the configuration we set for the new APN: Name=3 WAP,

So far it is working.