(see full petition)
For fundamental contributions to the theory and practice of distributed and concurrent systems, notably the invention of concepts such as causality and logical clocks, safety and liveness, replicated state machines, and sequential consistency.
Lamport has not only advanced the reliability and consistency of computing systems that work as intended (for example, temporal logic of actions (TLA) and Byzantine fault tolerance), but also created LaTeX!
Read the full award citation.
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.
There has been much discussion online of yesterday’s CiF article by Simon Jenkins (For Britain’s pupils, maths is even more pointless than Latin). Click-bait aside, he has been here before; ignoring the derivation of the now-pervasive “x is the new Latin” meme, as well as overlooking the majority of the straw men and other logic fallacies, the main thrust of the article presents a false dichotomy. It appears to reiterate an antiquated Two Cultures-type of divide between mathematics and “creativity and social and emotional capacities” (which also frequently crops up in discussions on programming and computer science education). Furthermore, it implies the drive to reform mathematics education in the UK is ultimately misguided, with few jobs requiring advanced mathematical skills (STEM agenda? No thank you!), and we would be better served by focusing on numeracy as well as encouraging “key industries”:
If British schools are to be slaves to Gove’s economic dogma, they should be turning out accountants, lawyers, administrators and salespeople. That is where the money is. Britain needs literate and presentable young people, sensitive to culture and the world around them, skilled in health, entertainment, finance, the law and citizenship. The truth is that Gove, like most of Cameron’s ministers, is an old socialist planner at heart.
Now, this is not to say that there are no issues with mathematics education in the UK; ACME has been arguing for a mathematics curriculum fit for the 21st century, supported by Ofsted and reports highlighting the importance of mathematics in the other sciences. Conrad Wolfram has long maintained we have the wrong focus in how we teach mathematics — in a similar way for computer science, contexts and problems must come first. I have long maintained it is socially acceptable to be bad at mathematics — it is rare for people to publicly admit they are unable to read or write, but happily proclaim a lifelong inability to perform basic calculations.
Jenkins has thus thrown together a ragbag of prejudices (a love of the arts, a dislike of international education markers, a sympathy for progressive education) with personal anecdote and concocted an argument completely detached from reality. As epitomised by this quote:
I learned maths. I found it tough and enjoyable. Algebra, trigonometry, differential calculus, logarithms and primes held no mystery, but they were even more pointless than Latin and Greek. Only a handful of my contemporaries went on to use maths afterwards.
…which reminds me of this xkcd comic:
Earlier today I tweeted the above image of five handwritten top tips from a seven year old female who had been learning programming; these were extremely astute observations and were a delight to read.
After digging a bit deeper, I found the original blog post, describing in more detail the poignant observations of @fjsteele‘s daughter after spending an hour using Hopscotch, a visual programming language for the iPad. In the blog post, he explains that this was his daughter’s first programming lesson and he asked her to write down instructions on how to draw a square, and then use Hopscotch to make one; after that, they tried a triangle:
It was fun to see the `lightbulb’ come on as she tried different blocks, failed, tried something else. It was really fun to watch her discover debugging. She quickly learned not to do too much work before testing it out.
Not a bad summary from an hour of programming! What else would you add to this list?
From an article by Edward Frenkel in today’s New York Times:
Many mathematicians, when pressed, admit to being Platonists. The great logician Kurt Gödel argued that mathematical concepts and ideas “form an objective reality of their own, which we cannot create or change, but only perceive and describe”. But if this is true, how do humans manage to access this hidden reality?
We don’t know. But one fanciful possibility is that we live in a computer simulation based on the laws of mathematics — not in what we commonly take to be the real world. According to this theory, some highly advanced computer programmer of the future has devised this simulation, and we are unknowingly part of it. Thus when we discover a mathematical truth, we are simply discovering aspects of the code that the programmer used.
This hypothesis is by no means new; in Are you living in a computer simulation, Nick Bostrum argues that one of the following propositions is true:
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).
Chess is a mere amusement of a very inferior character, which robs the mind of valuable time that might be devoted to nobler acquirements, while it affords no benefit whatever to the body. Chess has acquired a high reputation as being a means to discipline the mind, but persons engaged in sedentary occupations should never practice this cheerless game; they require out-door exercises — not this sort of mental gladiatorship.
Scientific American, July 1859
Ken Skates AM, the Welsh Government’s Deputy Minister for Skills, has today unveiled a Policy Statement on Skills — a ten year plan “to help Wales evolve into a highly-skilled nation and create the conditions that businesses need to grow and flourish”, setting out the steps that need to be taken “to develop a resilient, responsive and sustainable post-19 skills system”.
The statement covers four priority areas for the Welsh Government:
From my perspective, digital skills should be front and centre in this new policy, both to ensure we have safe and confident digital citizens (see Delivering a Digital Wales), as well as to encourage the development of high-level skills for the Welsh Government’s priority sectors over the next ten years. This also links back last October’s review of the ICT curriculum in Wales, as well as the work of the UK Digital Skills Taskforce.
It will be interesting to see how this develops over the coming months; download the full policy statement [PDF].
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()
Over the past two years, we have seen wholesale reform of computing (and more specifically, computer science) education in the UK. In England from September 2014, a new national curriculum subject Computing, with a challenging and aspirational programme of study (“A high-quality computing education equips pupils to use computational thinking and creativity to understand and change the world.”) will replace ICT; in Scotland, we see Computing Science forming part of their Curriculum for Excellence; in Wales, September’s review of the ICT curriculum is shaping the ongoing Curriculum for Wales review; along with burgeoning activity in Northern Ireland.
While there is a large corpus of computing education research, along with national and international policy reports, such as the ACM/CSTA’s Running on Empty (2010), the Royal Society’s Shut down or restart? report (2012) and ACM Europe’s informatics education report (2013), there still remain a number of critical questions in computer science education. The recent announcement of the UK Forum for Computing Education provides an opportunity to support this important research agenda. Further to a group discussion led by members of the CSTA at a recent ACM Education Council meeting, the following list of questions cover a breadth of issues and reflect the deep need for further research-grounded solutions to the issues we face.
Which of these do you think is most important? And what is missing? (the questions are listed in no particular order and have been labelled alphabetical for easy referencing in the comments)
A fine example of the problems of grammatically vague statements:
In reproducing the obscure wording of treaty obligations in the Oil in Navigable Waters Act 1955, s 1 of the Act said that if oil were unlawfully discharged from a British ship ‘the owner or master’ of the ship would be guilty of an offence. In Federal Steam Navigation Co v Department of Trade and Industry  1 WLR 505, both the owner and the master of a ship were convicted. In dismissing their appeals, the House of Lords split three to two.
This interpretation of inclusive disjunction is an example of the golden rule, a form of statutory construction traditionally applied by courts in England and Wales; as per Grey v Pearson (1857) 6 HLC 61: “In construing statutes, and all written instruments, the grammatical and ordinary sense of the words is to be adhered to, unless that would lead to some absurdity or inconsistency with the rest of the instrument, in which case the grammatical and ordinary sense of the words may be modified, so as to avoid that absurdity or inconsistency, but not farther.”.
(thanks to James Davenport)