Computer science in the UK: in the wrong direction?


Servers designed for Linux
Servers designed for Linux (Photo credit: Wikipedia)

Two big thoughts strike me as a result of the literature review I have just completed for my PhD:

  • Linux is not the centre of the universe, in fact it is a bit of an intellectual backwater;
  • The UK may have played as big a role in the invention of the electronic computer as the US, but these days it is hardly even in the game in many areas of computing research.

On the first point I am in danger of sounding like Andy “Linux is obsolete” Tanenbaum – but it is certainly the case that Linux is far from the cutting edge in operating system research. If massively parallel systems do break through to the desktop it is difficult to imagine they will be running Linux (or any monolithic operating system).

In fact the first generation may do – because nobody has anything else right now – but Linux will be a kludge in that case.

Doing my MSc which did focus on a Linux related problem, it seemed to me that we had come close to “the end of history” in  operating system research – ie the issue now was fine tuning the models we had settled on. The big issues had been dealt with in the late 60s, the 70s and the 80s.

Now I know different. Operating systems research is very vibrant and there are lots of new models competing for attention.

But along the way the UK dropped out of the picture. Read some papers on the development of virtual memory and it will not be long before you come across the seminal experiment conducted on EMAS – the Edinburgh University Multiple Access System – which was still in use when I was there in 1984. Now you will struggle to find any UK university – with the limited exceptions of Cambridge and York (for real-time) – making any impact (at least that’s how it seems to me).

It’s not that the Americans run the show either – German, Swiss and Italian universities are leading centres of research into systems software.

I am not sure how or why the UK slipped behind, but it feels like a mistake to me – especially as I think new hardware models are going to drive a lot of software innovation in the next decade (well, I would say that, wouldn’t I?)

Advertisements

Situation normal, all fscked up


Why, oh why, oh why? … Hopefully someone will now tell me the rant that follows is unnecessary.

But, here goes: an update of my Raspberry Pi failed about a week ago. As I then went to Paris with the family for a few days I only got round to trying to fix it this weekend.

I managed to get the thing booting again by copying some files from the distributed boot partition into the boot partition on my RasPi, but on booting the networking failed (possibly kernel modules needed were not available as a consequence of the failed update, not sure). Anyway, one of biggest weaknesses of the RasPi is the whole flakiness of the system when it comes to power and a small error there is likely to cause corruption on the SD card – and this happened to me.

But, why on why oh why does fsck.ext4 insist on a manual check? After an hour (with a figure of Robbie Burns on the enter key) I have only got a little way through this and had to give up.

I am a grown up. If I want to risk fsck corrupting my partition that should be up to me – I should have an automatic option.

Update: fsck -y is what I needed.

Do desktop computers have a future?


Sun box and Pentium 90 from 2005The market for desktop computers is in desperate trouble (and that for laptops not much healthier) – the latest sign being the decision to take Dell private.

The issue is not that we don’t need desktops and laptops anymore, but rather that we do not need new ones: while Moore’s Law continues to increase the number of transistors we can fit on silicon, we cannot drive those transistors at ever faster rates as we cannot dissipate the heat.

So instead of having an option of shelling out to buy a new desktop (or laptop) to match the speed of our rivals’ machines, we can soldier on with the old machines, get a smaller, low energy device (such as a tablet – Moore’s Law won’t deliver faster devices but will deliver smaller ones of equivalent computing power or lower power consumption) or maybe buy a multicore device (but these too have their limits – bus based designs start to eat up power as they get more processors and the speed increase from putting on an extra processor falls far off a linear increase).

We might, of course, just opt for a no more powerful machine but just one that looks better – something Apple has profited from.

In the end this means that the economics of desktop computers is likely to shift fundamentally and as the market consolidates prices may even start rising.

There are still technological advances that will drive performance improvements – faster storage is the obvious example. But the golden age of the PC is over – indeed it probably has been for a few years now.

Microsoft’s desperation to get Windows 8 out the door and across all the possible platforms is one of the reactions to this: but right now I have to wonder if Redmond’s finest will still be with us in ten years. Win8 seems to be something of a turkey and is not making any headway in the smartphone/tablet world and if we do not buy new machines every 24 months, why should we shell out for a new copy of “Office”? And, of course, Linux is still nibbling away.

In the longer term new hardware designs – such as thousands of CPUs on a “network on a chip” could turn things upside down again (I should be researching this now and not writing this blog) – but to fully exploit the power of such systems we are going to need to rethink most of our software and programming models. And it’s still not clear to me if those sorts of machines will ever get to the desktop (as opposed to powering an ever more powerful internet of things through embedded computers).

Windows 8: the verdict is in


My eldest daughter got a laptop for Christmas and, of course, it came with Windows 8 pre-installed.

This evening she asked me to replace that with Linux.

Having used Windows 8 on her machine I am left wondering what is the problem with Windows 7 that it is trying to fix? Maybe all those tiles work on a touchscreen but on a bigger computing device they just get in the way.

A GUI for Metapost?


English: Three examples of metapost output
English: Three examples of metapost output (Photo credit: Wikipedia)

I have sort-of abandoned my Apple Air Book for serious work this last week – going back to a 2008/9 Toshiba laptop (another Morgan Computers purchase) running Linux.

The Apple is a lovely device to travel with and is beautiful, if extremely expensive, device with which to browse the web, but a decade of conditioning to Linux and its command-line power and orthogonal tool set means I am much happier even with a slower machine when it comes to doing things like drawing figures with Metapost.

But having extolled the power of the command line I am wondering whether I should build a GUI for Metapost – essentially an editor panel coupled with a EPS display panel.

Metapost users seem thin on the ground – though maybe that is because a GUI tool doesn’t exist – but anyone who does use it care to comment?

Help needed: what is making the wireless card on my Raspberry Pi crash


Here’s the syslog from my Raspberry Pi this morning:


Jan 8 06:25:15 raspberrypi /USR/SBIN/CRON[10042]: (CRON) info (No MTA installed, discarding output)
Jan 8 06:25:30 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 8 06:25:30 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 8 06:25:31 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 373 seconds.
Jan 8 06:31:43 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 8 06:31:43 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 8 06:31:43 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 405 seconds.
Jan 8 06:38:28 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 8 06:38:28 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 8 06:38:28 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 376 seconds.
Jan 8 06:44:44 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 8 06:44:44 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 8 06:44:44 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 415 seconds.
Jan 8 06:49:58 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c IEEE 802.11: authentication OK (open system)
Jan 8 06:49:58 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c MLME: MLME-AUTHENTICATE.indication(7c:61:93:ff:98:0c, OPEN_SYSTEM)
Jan 8 06:49:58 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c MLME: MLME-DELETEKEYS.request(7c:61:93:ff:98:0c)
Jan 8 06:49:58 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c IEEE 802.11: authenticated
Jan 8 06:49:58 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c IEEE 802.11: association OK (aid 1)
Jan 8 06:49:58 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c IEEE 802.11: associated (aid 1)
Jan 8 06:49:58 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c MLME: MLME-ASSOCIATE.indication(7c:61:93:ff:98:0c)
Jan 8 06:49:58 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c MLME: MLME-DELETEKEYS.request(7c:61:93:ff:98:0c)
Jan 8 06:51:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 06:51:39 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 8 06:51:39 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 8 06:51:40 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 373 seconds.
Jan 8 06:52:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 06:53:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 06:54:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 06:55:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 06:56:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 06:57:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 06:57:53 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 8 06:57:53 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 8 06:57:54 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 350 seconds.
Jan 8 06:58:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 06:59:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:00:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:01:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:02:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:03:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:03:44 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 8 07:03:44 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 8 07:03:44 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 419 seconds.
Jan 8 07:04:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:05:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:06:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:07:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:08:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:09:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:10:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:10:43 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 8 07:10:43 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 8 07:10:43 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 368 seconds.
Jan 8 07:11:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:12:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:13:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:14:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:15:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:16:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:16:51 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 8 07:16:51 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 8 07:16:52 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 385 seconds.
Jan 8 07:17:01 raspberrypi /USR/SBIN/CRON[10417]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 8 07:17:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:18:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:19:11 raspberrypi NetworkManager[2774]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 8 07:18:04 raspberrypi kernel: imklog 5.8.11, log source = /proc/kmsg started.

(The last line is the first output of the rebooted machine – when, at about 7.19am I got up and found it wasn’t working – not sure why the clock goes backwards but it does.)

And here is yesterday’s log at the same time…


Jan 7 06:25:14 raspberrypi /USR/SBIN/CRON[8350]: (CRON) info (No MTA installed, discarding output)
Jan 7 06:26:05 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 06:26:05 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 06:26:07 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 399 seconds.
Jan 7 06:32:46 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 06:32:46 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 06:32:47 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 361 seconds.
Jan 7 06:38:48 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 06:38:48 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 06:38:49 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 420 seconds.
Jan 7 06:41:27 raspberrypi kernel: [63555.391671] usb 1-1.3.1: reset high-speed USB device number 6 using dwc_otg
Jan 7 06:45:50 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 06:45:50 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 06:45:50 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 354 seconds.
Jan 7 06:49:59 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c IEEE 802.11: authentication OK (open system)
Jan 7 06:49:59 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c MLME: MLME-AUTHENTICATE.indication(7c:61:93:ff:98:0c, OPEN_SYSTEM)
Jan 7 06:49:59 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c MLME: MLME-DELETEKEYS.request(7c:61:93:ff:98:0c)
Jan 7 06:49:59 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c IEEE 802.11: authenticated
Jan 7 06:49:59 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c IEEE 802.11: association OK (aid 1)
Jan 7 06:49:59 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c IEEE 802.11: associated (aid 1)
Jan 7 06:49:59 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c MLME: MLME-ASSOCIATE.indication(7c:61:93:ff:98:0c)
Jan 7 06:49:59 raspberrypi hostapd: wlan0: STA 7c:61:93:ff:98:0c MLME: MLME-DELETEKEYS.request(7c:61:93:ff:98:0c)
Jan 7 06:51:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 06:51:45 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 06:51:45 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 06:51:45 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 359 seconds.
Jan 7 06:52:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 06:53:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 06:54:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 06:55:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 06:56:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 06:57:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 06:57:45 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 06:57:45 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 06:57:45 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 369 seconds.
Jan 7 06:58:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 06:59:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:00:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:01:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:02:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:03:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:03:54 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 07:03:54 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 07:03:54 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 366 seconds.
Jan 7 07:04:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:05:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:06:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:07:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:08:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:09:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:10:00 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 07:10:00 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 07:10:00 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 397 seconds.
Jan 7 07:10:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:11:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:12:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:13:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:14:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:15:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:16:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:16:37 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 07:16:37 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 07:16:38 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 435 seconds.
Jan 7 07:17:01 raspberrypi /USR/SBIN/CRON[8725]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 7 07:17:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:18:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:19:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:20:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:21:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:22:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:23:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Jan 7 07:23:53 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 07:23:53 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 07:23:54 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 389 seconds.
Jan 7 07:24:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:25:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:26:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:27:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:28:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:29:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:30:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:30:23 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 07:30:23 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 07:30:23 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 382 seconds.
Jan 7 07:31:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:32:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:33:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:34:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:35:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:36:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:36:45 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 07:36:45 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 07:36:46 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 375 seconds.
Jan 7 07:37:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:38:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:39:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:40:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:41:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:42:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:43:02 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 07:43:02 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 07:43:02 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 439 seconds.
Jan 7 07:43:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:44:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:45:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:46:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:47:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:48:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:49:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:50:21 raspberrypi dhclient: DHCPREQUEST on br0 to 192.168.62.1 port 67
Jan 7 07:50:21 raspberrypi dhclient: DHCPACK from 192.168.62.1
Jan 7 07:50:22 raspberrypi dhclient: bound to 192.168.62.104 -- renewal in 418 seconds.
Jan 7 07:50:23 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:51:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:52:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:53:22 raspberrypi NetworkManager[2763]: <warn> Could not get scan request result: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 7 07:17:55 raspberrypi kernel: imklog 5.8.11, log source = /proc/kmsg started.

As you can see, I didn’t reboot it yesterday until a bit later (I was puzzled as to why I could still ping the bridge but not log in to the box – but this morning I had seen it al before.)

As the logs up to time 6.49am show no sign of a problem I am guessing this is a cron related issue.

But I can see nothing in the various cron.daily scripts that should hit the wireless card.

Any ideas as to what this is about?

Plan9 on the Raspberry Pi


Glenda, the Plan 9 Bunny
Glenda, the Plan 9 Bunny (Photo credit: Wikipedia)

Plan 9 from Bell Labs” was meant to be the successor system to Unix and like the original was designed and built by AT&Ts engineers at Bell Labs(the title is, of course, a skit on what is supposedly the best worst-ever film – “Plan 9 from Outer Space”).

Plan 9 never really made it. Linux came along and gave us Unix for the masses on cheap hardware for free and the world moved on. (Though some of the ideas in Plan 9 were retro-fitted into Linux and other Unix-like systems.)

The increased speed of commodity computers – latterly sustained via SMP – meant that computing power that once seemed only available to the elite could be found on the High Street and easy to use and install clustering software meant scientists and others could build super-computers using cheap hardware and free software. The multi-computer idea at the heart of Plan 9 seemed to have been passed-by as we screamed along the Moore’s Law Highway.

But now Moore’s Law is breaking down – or rather we are discovering that while the Law continues to apply – in other words we can still double the number of transistors on silicon every 18 – 24 months – other factors (heat dissipation essentially) mean we cannot translate a doubling of transistors into a computer that runs twice as fast. And so the multi-computer idea is of interest once more.

Plan 9 is not likely to be the operating system of the future. But as an actually existing multi-computer operating system it could still have a lot to teach us.

Now it has been ported to run on the Raspberry Pi single board computer I have decided to order another three of these things (I already have one running as a proxy server) and use them as Plan 9 nodes. The boards should be here in about three weeks (I hope), meaning I will have them as a Christmas present to myself.

Missing coding


English: Programmer
English: Programmer (Photo credit: Wikipedia)

Ever been engaged in an intellectual activity where the hours whizz by much faster than you think, as you puzzle over and round the issues while feeling an intense pleasure that makes the rest of the world seem less important?  This what is called “flow” and, generally, it is what I feel when I am coding.

I am not the world’s greatest coder, to be honest I am little better than average (though doing the MSc at Birkbeck made me so much better than I used to be). The pleasure doesn’t come from having a natural skill that means I can write hundreds of lines at a single sitting: like a typical programmer, if I got 20 fully debugged lines out a day, every day, I would count that as decent performance.

But lately I haven’t done any coding at all (apart from a few lines of scripting in the office to ensure SMB mounts are automatic and such like). Instead I have read a lot of computer science papers and spent a lot of time working on a presentation I need to make and a literature review that will come after.

But I miss the coding, and I am missing it more every day.

Now, coding is also very more-ish. If you code to scratch an itch then chances are you make yourself itchy by coding. So earlier this year I wrote a Groovy/Java hex editor – Hexxed – after I wrote a Linux filesystem where I could not find a hex editor that did what I wanted to do, and so on.

So, even as I puzzle about whether I should write some code just for the sake of a mental stretch, I also wonder what I would write.

Uses for a Raspberry Pi


Raspberry Pi
Raspberry Pi (Photo credit: CesarCardoso)

I think I have found a permanent use for my Raspberry Pi – replacing what was once my utility (squid proxy, web, email, ntp, smb, dns) server.

This was a commodity desktop box, first built in 2005, running Ubuntu desktop server (I built it before the server version was available). Earlier this year it suffered some sort of hardware failure and became very ill and I finally switched off about a month ago. By then all the other users in the house had stopped using the proxy, which was the main benefit, as it was so unreliable.

So far I have only implemented the proxy (though ntp comes ‘for free’ via the raspbian distribution) and it seems fine. I have a 1TB USB disk attached to it so have plenty of space to get the other stuff done too.

 

The year of Linux on the desktop?


KDE 4 Current version: 4.7 Older versions: 4.0...
KDE 4 Current version: 4.7 Older versions: 4.0 beta 2, 4.0 beta 3, 4.0 beta 4, 4.0 RC2, 4.0 final, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 (see file history) (Photo credit: Wikipedia)

For many who work or research in the industry, desktop computers have an “end of history” feel about them.

The improvements in technology that allow chip makers to double the number of transistors in a given area of silicon every 18 – 24 months are still there but “Moore’s Law” as we understand it – ie., that computers will get twice as fast every 18 – 24 months – has broken down. We simply cannot power the chips (or rather keep them cool while supplying them with the power they need) and while parallelisation (ie “manycore”) means manufacturers can lower power demands and, to some extent, keep the speed of machines rising, it too is hitting a fundamental barrier – the inability of commodity hardware to supply instructions and data from memory fast enough to serve many more than 4 – 8 cores.

All this suggests that we might be close to “peak desktop” or to put it another way, the desktop computer you have now is not much slower than the one you will have in ten years time (unless, that is, you shell out quite a lot more for some fancy memory architecture or some other technological advance changes the rules.)

But what I think is clear is that you will have a desktop computer in a decade’s time, though it may look a bit more like today’s laptops: smaller, lighter, devices are going to be easier to deliver than faster ones. Tablets and other small form factor devices are useful for browsing the internet or writing a 140 character message, but who they are not the ideal devices for writing a 5, 10 or 100 page document on.

But if we are only going to buy one or at most two new desktop devices in the next decade then the business model of Microsoft – which still utterly dominates this space – is broken. No new desktops means no new sales of Office, the big money spinner for Microsoft.  Their response has been to compete for tablet and phone sales with Apple, though they start from a long way behind and, now, to lever their near-monopoly on general-use operating systems to seize control of all of the software on desktop.

Their plan to demand complete control over the desktop may yet fall foul of the regulators – it is difficult to see the European Commission nodding this one through, for instance. But there are other responses available.

Microsoft got clobbered in two ways when they previously tried to lock up one aspect of the software ecosystem – the browser. For sure, regulators put the squeeze on, but long before then users developed a far more effective way of breaking free – they switched to Mozilla Firefox.

Now the battle is much bigger. Microsoft are not just trying to control your browser, but all the other software on your machine. They will say they will still let others manufacture software and they are just supplying quality control – but would you really agree to the only books being available for sale those that were approved by Amazon (sadly, the evidence from the ebook market suggests that many of you would!)?

And what if Windows 9 removes all support for non-approved software (no doubt in the name of virus suppression or trojan elimination?) The behaviour of Apple fanatics shows there are plenty willing to welcome their new all-controlling overlords. But there is an alternative – whisper it – Linux on the desktop.

Now that very phrase – “Linux on the desktop” – has an internet meme-like jokey feel to it. It’s the gallows humour phrase of the free software world. If Linus Torvalds were ever to be led to the scaffold for crimes against intellectual property robber barons his last words would no doubt be “this is the year of Linux on the desktop” – but maybe the moment has come to find a generation of “second adopters” who are willing to break out of Microsoft’s jail?

The pace of development of the Linux kernel has not slowed, but there is a less excited feel to it all these days: Thermidor came to this revolution some time ago, but that is also a sign of its maturity.

After all, there is still no stopping an idea whose time has come.