The seeds for the Relics of Technology project started when I found a brick cell phone at a thrift store in rural Oregon. Since finding it, similar bits and pieces of old technology and media kept grabbing my attention. The fascination was equal parts nostalgia for the forms, and curiosity as to what had become of them. One thing led to another and I was on the hunt for groups of media and key pieces of technology, most of which have now been downsized to fit in the palm of our hand. These photos are reminders that progress has a price and our efforts have an expiration date.
Over the history of cloud, a unit of computing power price is reduced by 50% approximately every three years.
The cost of cloud computing should naturally track Moore’s law (as the cost of computing is related to the cost of hardware); however, the cost of utilities such as electricity clearly do not follow the same demand curve. Nevertheless, with Amazon Elastic Compute Cloud, Google Compute Engine and Microsoft Azure increasingly competitive on pricing, cloud, as opposed to building or maintaining a data centre, would appear to be a much better economic delivery approach for many companies.
US telecoms research firm TeleGeography has published its annual Submarine Cable Map, giving an excellent overview of international connectivity. Over 99% of international communications are delivered by undersea cables; while satellites are used for broadcasting, and are useful for rural communities and very remote places, satellite capacity is limited and expensive.
As you can see below, there is significant connectivity between the major hubs of the world, for both resilience and performance: different paths are used to avoid undersea fault zones, to land in different countries and to avoid certain countries. We have wired the ends of the Earth, almost; what’s left are generally remote island communities. In Europe, the US and Asia, people don’t have to think about what happens if the Internet goes down and they can’t send an important email.
Undersea cables are actually more vulnerable than you might think; during the 2011 tsunami in Japan about half of their cables had outages, but the operators were able to reroute capacity to other routes. Last spring, there was damage in Mediterranean cables that linked East Africa to Europe, but it has been many years since there was a complete blackout.
Looking at previous versions of the map (see 2013 and 2012), you can see the developments: in the past year, numerous cables were built to the east coast of Africa, where it was previously all satellite; a new cable linking the US with Mexico and other Latin American countries should be ready this year; another connecting India and Malaysia; with one recently announced connecting the UK and Japan set for the first quarter of 2016.
From a UK backbone perspective, take a look at JANET (which celebrates its 30th birthday today!) and the JANET6 network infrastructure, as well as how it connects into GÉANT, the pan-European research and education network.
On Thursday 20th March I will be giving the 2014 IET South Wales Annual Lecture at Swansea University:
Computing: Enabling a Digital Wales
Digital technology (and thus computation) is an indispensable and crucial component of our lives, society and environment. In a world increasingly dominated by technology, we now need to be more than just digitally literate. Across science and engineering, computing has moved on from assisting researchers in doing science, to transforming both how science is done and what science is done. In the context of (Welsh and UK) Government science, technology and innovation policy, computer scientists (of all flavours) have a significant role to play. Tom will ground this hypothesis by describing his research interests at the hardware/software interface, his broader work in education and science policy, and then finishing by presenting a vision for a “Digital Wales” underpinned by science and technology innovation.
This talk is free, with registration online.
This old 24-pin dot matrix printer has been converted into a MIDI compatible sound generator using an ATmega8 and a Xilinx FPGA. Up to 21 notes can be played simultaneously (16 MIDI channels with individual volume and pitch). The original printing frequency was approximately 1kHz with a pulse width of 300μs — pins hit the paper at a maximum of 1000 times per second during printing. The MIDI electronics increases this from a few Hz up to 2kHz. When the pulse width is reduced the sound gets quieter because the pin hits the paper with less force; see the full technical details.
Encrypt the web: Install HTTPS Everywhere today.
(HTTPS Everywhere is a collaboration between The Tor Project and the Electronic Frontier Foundation; information about how to access the project’s Git repository and get involved in development is here)
(N.B. due to the privacy settings for this Vimeo clip, you will have to view the video on their website)
Yesterday I was interviewed on Newsweek Wales, ITV Wales’ weekly news summary programme, on the perceived dangers of children playing computer games. This was in response to an ITV Wales News story from a few days before, in which a headteacher from a primary school near Caerphilly had felt he had identified a possible link between violent video games and aggressive behaviour; this story was further contextualised by a nine year old boy from Neath who had written to Prime Minister about his concerns over the availability of age-appropriate computer games.
This rather anecdotal declaration of a causal link between playing computer games (an activity enjoyed by the majority of the population) and increased aggression and violence is frustrating; furthermore, this type of story appears to pop every so often, but is not backed by the evidence base: see here and here, with summaries here and here. As I mentioned in the interview, the demographics of people who play computer games can be surprising, especially average age (over 30) and the gender split (55% male/45% female). While I take the point from the Neath pupil about the availability (and attraction) of age-appropriate computer games, it is interesting to list the top five best-selling computer games of all time (across all platforms):
|Ranking||Title||Release Year||Systems||Copies Sold|
|1.||Wii Sports||2006||Wii||82 million|
|2.||Super Mario Bros.||1985||NES||40 million|
|4.||Mario Kart Wii||2008||Wii||35 million|
|5.||Tetris||2008||GameBoy/GameBoy Color||35 million|
In summary: let’s stick to the evidence and not confuse societal or educational issues as technology problems. Minecraft is a great example of how powerful computer games can be: not only is it incredibly popular, it is also a great resource for education, developing digital literacies, communication skills and basic programming (aside: Ordnance Survey recently released a 22 billion block Minecraft map of the UK as an open data resource).
I’ve always had a soft spot for Superman III (1983), the third film in the original franchise starring Christopher Reeve as Superman. While it’s generally regarded as being below the standard of the first two films, it has some great moments e.g. the scene where evil Superman fights Clark Kent.
In Superman III, Richard Pryor plays Gus Gorman, a man with no known computing skills whatsoever, who — when his social security is stopped — turns to programming out of desperation.
After completing a programming course (presumably in BASIC or COBOL), Gus soon lands a job at Webscoe Industries, unaware that he’s working for Evil Robert Vaughn. He stays back after work one night, to hack into the work computers and award himself a few extra expenses. But what possible lines of programming genius will it require? What would you need to type in to override all the ruthless security of the Webscoe Payroll Division?
Err…it’s a good job he did that course.
After receiving a cheque for $85,789.90 and turning up to work in a new Ferrari, it all goes rather downhill: Evil Robert Vaughn coerces him into hacking the Vulcan weather satellite, as well as manipulating the global financial system, damaging the world’s oil supplies by moving every tanker into roughly the same place and replicating kryptonite by tracking down unknown elements in outer space. With the programming educational element of the film done by this point, Gus proposes building a “supercomputer”, eventually leading to the creation of a Robocop prototype.
Read the full Den of Geek analysis of Superman III‘s contribution to the teaching of programming; and remember: all of this computer mayhem came from a man who answered an advert on the back of a book of matches.
I don’t enjoy living in dull and grey cities. Do you? Have you noticed that toys for kids are generally very shiny and colorful? I wonder why that is, given that they are to be brought up to live in mostly dull and gray cities as adults. Since I lived in many of such cities, I am seeking to improve the appearance of public spaces in different ways, in terms of what I consider improvement. Dispatchwork aims to seal fissures in broken walls worldwide, completing the material compilation in urban constructing and adding color to the urban greyscales, by inserting a very basic construction-material: Plastic Construction Bricks (PCBs).
See more examples on the project website.
FuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not. Some code has an error? Fuck it.
FuckIt.py uses a combination of dynamic compilation, Abstract Syntax Tree rewriting, live call stack modification and love to get rid of all those pesky errors that makes programming so hard. All functionality is provided through the fuckit module: add import fuckit to the top of your script, then you can use fuckit in a number of ways e.g. as a replacement for import when a module has errors — just change import some_shitty_module to fuckit('some_shitty_module'):
import fuckit #import some_shitty_module fuckit('some_shitty_module') some_shitty_module.some_function()
Still getting errors? Chain fuckit calls. This module is like violence: if it doesn’t work, you just need more of it:
from fuckit import fuckit fuckit(fuckit('some_shitty_module')) # This is definitely going to run now. some_shitty_module.some_function()
The Royal Institution Christmas Lectures, started by Michael Faraday in 1825, are one of the highlights of science communication specifically aimed at young people to be broadcast on national television. I distinctly remember watching the Christmas Lectures when I was young, in particular Richard Dawkins in 1991 and Frank Close in 1993. The 2013 Christmas Lectures — Life Fantastic — have Alison Woollard from the University of Oxford exploring the frontiers of developmental biology and uncovering the remarkable transformation of a single cell into a complex organism.
Unsurprisingly, I am always reminded of the single instance in 2008 of a computer scientist presenting the Christmas Lectures: Hi-tech Trek with Chris Bishop, a Distinguished Scientist at Microsoft Research Cambridge, where he leads the Machine Learning and Perception group:
From the origin of the microprocessor to the development of the internet, the field of computer science has literally changed the way in which we live our lives.
But the world of computers is vast and complicated, ranging from the architecture of microchips to use of quantum mechanics for data encryption – it’s not always easy to know what exactly is going on inside the box. So how do computers work? How is so much information stored within a single hard-drive and how do computers communicate with each other over the internet?
Across five lectures, Professor Chris Bishop sheds light on some of these questions by tracing the evolution of the modern computer. Along the way he explores the many technologies which have developed as a result of the computer revolution; including the interconnected world of the internet, the use of software to control hardware and the challenges involved in creating artificial intelligence.
The BCS Young Professionals Group (YPG) is the largest membership group within BCS, the Chartered Institute for IT, with over 20,000 members across the UK and internationally. Is it dedicated to representing, supporting and developing those in the foundation years of their technology and computing career, with the aim of developing the future leaders of the IT profession. It is a passionate and motivated group of volunteers who work collectively on a variety of initiatives across the UK, such as talks, workshops, education and networking events — all of which aim to develop and connect the wider IT community. I have been Chair of YPG since November 2011 and have represented the YPG constituency across a number of boards and committees, as well as more recently as a Council-elected Trustee of the BCS.
The 2013 BCS Young Professionals Group Annual General Meeting will take place on Wednesday 9th October 2013 at BCS London. To continue the success of the past couple of years, BCS YPG is looking for nominations from highly motivated individuals to join its Executive Committee to help the BCS best represent and engage with the student and young professional community in the UK and internationally. Further information on available positions and how to stand can be found on the AGM announcement, or on the BCS Volunteer Portal. I would urge you to stand (or to get involved with YPG activities in your region through your local BCS branch) — it is a fantastic opportunity to shape the wider student and young professional agenda within the BCS, as well as engaging with your peers from across the IT profession.
I am standing for a full three-year term as Chair of YPG: please see my nomination statement. As your Chair I would like to drive forward the student and young professional agenda within the BCS, as well as ensuring that the BCS are representative as a leading modern chartered society for IT and computing professionals, both in the UK and internationally. Please feel free to contact me!
A useless machine is a device that performs a mostly useless task, such as switching itself off, performing no other practical function. In its modern form, the useless machine appears to have been invented by AI pioneer Marvin Minsky at Bell Labs in the 1950s, which he named the “ultimate machine” (Minsky also invented a “gravity machine” that would ring a bell if the gravitational constant were to change, a theoretical possibility that is not expected to occur in the foreseeable future). The device has also been called the “Leave Me Alone Box“.
Minsky’s mentor at Bell Labs, information theory pioneer Claude Shannon, made his own versions of the machine (similar to this one). He kept one on his desk, where science fiction author Arthur C. Clarke saw it, later writing:
There is something unspeakably sinister about a machine that does nothing — absolutely nothing — except switch itself off.
(see also: the Trammel of Archimedes a.k.a. the “do-nothing grinder”)
There are plenty of ARM-powered development boards out there, so it’s sometimes hard to see what a new one can bring to the table. But the open hardware MC HCK (pronounced “McHack”) is meant for quickly building projects on a small budget. The motivation for the project is on being a small, cheap and versatile microcontroller platform that supports USB for easy programming, and can be built at home for $5. It is not a product designed to make money — the MC HCK is a quick hack toy from geeks, for geeks.
As per the quick spec, the board is based on a Freescale ARM Cortex-M4 microcontroller (which includes DSP, but no FPU) and can be plugged directly into a computer via USB. As a Direct Firmware Update (DFU) bootloader is present on the microcontroller, there is no need for external programming equipment. The board also has unpopulated footprints (as long as you are not afraid of soldering the odd component onto a board…) that allow users to add other functionality: for example, a Real Time Clock (RTC), a Lithium Polymer (LiPo) charger IC or a SPI flash IC for external storage. Or add a $2 2.4GHz RF module, and you have the first node of a sensor network.
“MC” is short for microcontroller, but it also makes it sound like a Scottish surname, and Scots are stereotypically cheap. We like cheap. And “HCK” stands for “hacking”, “hackers”, “hackspaces”, but shorter, smaller. Like the MC HCK board itself. And MC/HCK is a pun on TCP’s SYN/ACK, meaning “ready to go”, even a step ahead.
We know that Google has all kinds of clever search commands (as well as a rich set of developer features, for example Google Charts), but here’s another useful one: you can set a countdown by typing “set timer X min” into Google, with an alarm when it expires.
(if a countdown doesn’t do it for you, then you can also use the command “set timer X time“)
Next week I will be speaking at Digital 2013, a headline Welsh Government event highlighting the importance of the ICT sector in Wales. In preparation for the event, I was interviewed to discuss the “Digital 2013 Opportunity“, especially with the ongoing ICT review in Wales, as well as broader science, technology and innovation policy:
What is a NANDputer? It’s obviously a computer built entirely out of NAND gates. NAND logic (along with NOR) is functionally complete, so it is possible to construct all other logic gates using just NAND gates. But why? Well, like any good hardware hack: to see if it could be done.
Taking Kevin Horton nearly two months to design and make, every part of the build apart from the peripheral board is based on NAND gates (hence why the point-to-point wiring is…crazy). The basic architecture of the computer is fairly conventional, with an accumulator, a full ALU, 8 bit registers, separate RAM/ROM areas (Harvard architecture), instruction skipping for decision making, bit set/clearing, a three-level stack and even an interrupt.
It takes 96 clock cycles to run a single instruction, giving just over 100kIPS (thousands of instructions per second) with the clock running at 10MHz. Not great (roughly 2-3x slower than a Commodore 64 at 250-300kIPS), but not bad considering the hardware engineering. For example, it’s faster than a TMS1000!
(N.B. If you’re still curious about how a NAND-based computer works, then try this online course.)