The legacy of the BBC Micro computer is all around us… literally everywhere

If you were interested in computers in the 1980s in the UK, then you were aware and maybe even owned a BBC Micro computer. Outside of the UK, the BBC Micro never saw wide success, but in the UK it was widely used for computer science education in schools and was also popular as a home computer. Originally the BBC Micro was developed as part of the BBC’s Computer Literacy Project, and was showcased on the BBC TV show ‘The Computer Programme’, used as the demo hardware to teach viewers of the show how to use a home computer and program in BASIC.

After the BBC Micro, Acorn, the company behind the BBC Micro, went on to design a RISC based CPU architecture that was used in the Acorn Archimedes computer. This machine was the first home computer based on a RISC architecture, and was the first computer based on Acorn RISC Machines (ARM) CPU architecture. The Archimedes was first sold in 1987. ARM Holdings, conceived by and spun off from Acorn was born.

Fast forward to the present day, devices containing ARM based processors are literally everywhere, thanks especially to the success of the Apple iPhone, iPad, and iPod – all the most recent devices all are based around an ARM CPU. Prior to the Apple device success, ARM CPUs have been used in many mobile phones, tablets, PDAs, as well as being used in many other electronic devices.

The Apple A4 CPU was introduced in the original iPad, and then later reused in the iPhone 4, the 4th gen iPod Touch, and second gen Apple TV. The A4 is based on the ARM Cortext A8 CPU. Later generations of Apple devices have also been based on ARM CPUs. The Apple A5 CPU is based on the ARM Cortex A9, and powers the iPad2, iPhone 4S, iPad (3rd gen) and the iPod Touch (5th gen).

Most recent Apple devices are powered by the Apple A6 and A6x, based on ARMv7 dual core CPU.

In case you’re thinking the widespread success of ARM powered devices is limited to Apple devices, ARM CPUs also form the basis of Nvidida Tegra chipsets – the Tegra 2 System-on-a-Chip is based on ARM Cortext A9 (yes, also the basis of the Apple A4 CPU) and is used in many highend Android devices (Motorola Atrix, Droid X2 and Photon phones, Xoom tablets, Acer Iconia tablets to name a few).  The more recent Tegra 3 chipset, also based on ARM Cortex A9 but in quad-core configuration is used in the latest Android tablets, for example ASUS Transformer range and the Nexus 7, to name just a couple.

While it’s true to say much has obviously changed since the original days of the BBC Micro and the first ARM CPUs, I find it incredibly fascinating to realize that the heritage of today’s widely used consumer electronics devices can be traced back to origins in 1980s home and educational computing.

Gates shares reactions to Microsoft Surface tablet

Pre-orders for Microsoft’s Surface tablet are apparently now on back-order of up to 3 weeks, so there seems to be initial demand for the new tablet running Windows 8. Some stores will have the devices on the shelf on Oct 26th, the same day that Windows 8 launches.

Bill Gates is very positive about the new device and Windows 8 combination, although his excitement seems to be more about the form factor of the device itself, rather than Windows 8 “… just the beauty of the device… it is absolutely incredible”

Latest Mac OS X patch for Java removes browser applet support

Following the recent press attention various security vulnerabilities in Java’s browser applet plugin have had in recent weeks (here and here), the latest Java patch from Apple removes the applet plugin from your browsers:

This update uninstalls the Apple-provided Java applet plug-in from all web browsers. To use applets on a web page, click on the region labeled “Missing plug-in” to go download the latest version of the Java applet plug-in from Oracle.

Since Oracle now maintain the official version of Java for Mac OS X, this is a smart move for Apple to remove the older/prior versions that end users may have of the applet plugin that shipped with older JREs previously supplied by Apple.

More details here.

Ensuring all traffic goes over an OpenVPN connection

By default, the setup guide described here if you follow the simple server and simple client setup instructions will get you a connection to your VPN server that allows you to tunnel connections through to your VPN server itself, but without any additional settings, you won’t be able to route all your traffic through the VPN.

There’s a number of other steps described in the Advanced section, but from trial and error I’ve found these are the minimum you need.

First, on your Ubuntu server, you need to enable ip_forwarding:

echo 1 > /proc/sys/net/ipv4/ip_forward

Next, you need to enable a forwarding rule for your iptables firewall so that traffic on your 10.8.0.0 network used (by default) on your VPN connection gets routed through from the tun0 interface to the eth0 interface:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Lastly, add this command to your /etc/openvpn/server.conf file to force all traffic from the client to get directed to the VPN server:

push "redirect-gateway def1 bypass-dhcp"

Restart your OpenVPN service:

/etc/init.d/openvpn restart

Now you should be good. You can test where your traffic is going by doing a traceroute to a server (www.google.com for example) before and after starting your OpenVPN connection and you should be able to see your traffic going via two different routes.