“How can I put these keen new riders off the club, I thought to myself? How about taking them down the muddiest lane in Hertfordshire?” |
A review of Greg Egan’s novel Zendegi. “An entertaining but rather slight novel that places Egan’s usual concerns—transhumanism, uploading of minds, the morality of artificial intelligence—in a democratic Iran in the early and mid twenty-first century.” |
A review of Stephen Baxter’s novels Space (2000) and Origin (2001), the second and third books in the Manifold trilogy. “If you’re looking for serene contemplation of disaster and suffering, Baxter’s your man.” |
“... we were glad to make an extra stop at Clare for ice cream...” |
“It was a tough ride on my own in the heat...” |
“The selection of destinations made route-setting quite a challenge.” |
“After tea our luck ran out and we were caught in one last thunderstorm.” |
The translator of Notre-Dame de Paris gives the impression of not having read his own book. |
Girls, interrupted: Listener crossword 4080. |
Symphonic Movement: Listener crossword 4079. |
Sixteen choices: Listener crossword 4078. |
Clashing lines: CAM 59 crossword. |
Several ways in: Listener crossword 4077. |
Out on a limb: Listener crossword 4076. |
A 207 km audax ride from Haslingfield to Stowmarket, Sudbury and back, 2010-03-21. |
Left and right: Listener crossword 4075. |
A temporary marking slug: Listener crossword 4074. |
Ancient wisdom: Listener crossword 4073. |
A self-descriptive puzzle: Listener crossword 4072. |
Sense, reason, and intellect: Listener crossword 4071. |
Chercher la femme: Listener crossword 4070. |
A knockout puzzle provides a tough fight: Listener crossword 4069. |
A carte blanche with modified entries and a numeric code: Listener crossword 4068. |
In how many ways can you pack 54 “S” tetracubes into a 6×6×6 cube? |
Tricky manipulation required: Listener crossword 4066. |
A review of Charles Stross’s 2009 science fiction novel Saturn’s Children, with analyses of the problems with the narrative voice and some of the flaws in the world-building. |
Can you pack 54 “T” tetracubes into a 6×6×6 cube? Solutions, discussion, and generalizations. |
A review of the 2003 novel Absolute Friends, in which John le Carré contrasts the Cold War and the War on Terror through the viewpoints of the two spies of the title. |
How anti-cycling propagandist Edmund King of the AA promotes negative stereotypes of cyclists in order to blame them for their own deaths and injuries. |
“It was a day of attrition...” |
Eight reasons why FaceBook sucks for serious discussions. |
An appeal for the Royal Mail’s Postcode Address File to be freely licensed to individuals and not-for-profit organizations. |
Python code for translating relative URLs in HTML source into absolute URLs suitable for syndication. |
A criticism of Robin Lustig’s absurd and offensive explanation for Japan’s low fertility. |
A walk from Ingleton to Ingleborough, Chapel-le-Dale, and Whernside. |
Emacs 23.1 was released on 2009-07-29. In this review, I describe some interesting and useful features of this release, and give some historical background to multilingual support in Emacs. |
The BBC programme Coast bravely tackled the fractal nature of coastlines but missed the historical origins of the subject in Lewis Fry Richardson’s statistical study of warfare. |
While taking part in this study (run by the MRC Epidemiology Unit at the Institute of Metabolic Science) I amused myself thinking about possible sources of bias. |
A brief history of the Advanced Photo System and some photos I took using it. |
“After tea we split up...” |
A cycle tour from Cambridge to Warsash and Staines and back again, with photos and some discussion about how I planned it. |
An e-mail exchange I had a few years ago with “Dr. Phill Edwards” of the British National Party. |
A ride with the Cambridge Cycling Club suffers a visit from the puncture fairy. |
Some comments on the sabotage of the Étape Caledonia and the lorry driver who nearly killed Boris Johnson. |
“We were a few minutes late setting off, which was my fault because I rather incompetently tightened some loose spokes in my back wheel...” |
A look at the National Audit Office report Improving road safety for pedestrians and cyclists in Great Britain. “You can see that the normalized figures are not nearly so flattering to the UK. Is this just plain incompetence, or a deliberate attempt to mislead?” |
A review of Stephen Baxter’s 2000 novel Manifold: Time. “Baxter completely lacks control over his material in this novel. He has potentially powerful themes and ideas, but handles them so inconsistently that they lose all their power.” |
A commentary on Adam Roberts’ review of Greg Egan’s novel Incandescence in Strange Horizons. |
Several approaches to implementing a system of colliding balls, ranging from quick-and-rough to painstaking-and-slow. |
The cost of and responsibility for snow preparedness: “it’s not just a matter we can leave to government, we all have things to do.” |
A program to allow you to run your XHTML document through the W3C validator and step through the errors and warnings conveniently in Emacs, and a brief discussion of why someone might want to do this. |
A serious crash in the Apple Mail application, with some analysis and a possible remedy. “It’s a bit worrying that the entire world can make my mail application crash just by sending me some junk mail.” |
Implementing a match-making user interface for an ad-hoc wireless networked video game shows us that a user interface needs to be able to run asynchronously with respect to the implementation. |
A review of the 2007 Nintendo Wii game Super Paper Mario by Intelligent Systems, directed by Ryota Kawade. “Super Paper Mario has two significant innovations. One is graphically and conceptually spectacular, and was hyped in the game's advertising, and is somewhat of a failure. The other is subtle, little commented on, and a big success.” |
If you have a debt and some surplus income, under what circumstances should you pay down the debt and under what circumstances should you invest in an Individual Savings Account (ISA)? |
A review of the BBC/HBO television drama, with particular attention to the accuracy of the depiction of the science. “If these stars on this photographic plate of the eclipse overlap with the comparison plate, Einstein’s theory is wrong and Newton’s theory holds. If there is a gap between the two images, then the sun’s gravitational field has shifted the stars’ position, and we have a new theory of gravity.” |
A look at house prices in November 2008. “The first figure attempts to suggest where the bottom of the current crash might be by comparison with the bottom of the last crash.” |
How a harmless piece of advice to the staff of Bournemouth Borough Council was inflated by The Telegraph into a nationwide cultural crisis. |
Some bullshitting by a Cambridge City councillor prompts the question of whether any of the cycle lanes in Cambridge meets the official recommended width anywhere along its length? |
OpenStreetMap has better coverage of Cambridge than Google Maps. Google Maps combines mapping data from many sources. Why doesn’t it make use of OpenStreetMap? |
Like every other fool with a blog, I’m trying to understand what caused the financial crisis. I start by looking at the collapse of Northern Rock in some detail and trying to work backwards from there. What happened to this bank? |
A letter to David Howarth MP, asking him to work to defeat Home Secretary Jacqui Smith’s proposal to create a government database of telephone calls and e-mails. |
A review of the novel Incandescence by Greg Egan. “In a genre dominated by fantasy dressed in a spacesuit instead of a wizard’s robe, Greg Egan stubbornly sticks to extrapolations from the physics we know. He rules out from his fiction faster-than-light travel or communication, or spaceships that couldn’t possibly be fueled by any form of energy we know. This self-denying ordinance deprives him of the props and conventions of the genre: no galaxy-spanning empires or interstellar wars for Egan.” |
I demolish an absurd article about cycle commuting from the BBC. |
Counting and graphing e-mails. With a digression on non-standards-conformant mail user agents and how to use Perl to parse their non-conformant Date headers. |
Discussion of video game build pipelines and the development difficulties that they entail. |
The const type qualifier in the C programming language, and the consequent impossibility of implementing some common operations in a type-safe way. |
The trouble with the build tool make is that because it uses file modification dates to determine whether a dependency has changed, it often rebuilds targets unnecessarily. |
The 2008 Royston audax: a short ride (as audaxes go), of 107 km, from Royston to Longstanton via Chrishall and back via Gamlingay. |
An account of a walk I did back in 2002, from Little Town in the Newlands valley in the Lake District, to Buttermere, and back. (In the form of a map with mouseover text.) |
Three cases in which a motorist hit a cyclist, there was CCTV or eyewitness evidence, and yet the police took no action. “The message that cyclists are getting loud and clear is that the police are not interested in protecting them from assault by motorists.” |
There are many thousands of mortgage calculators on the web that compute the monthly payments based on the capital sum, interest rate, and duration. But this one lets you compute any of these four values based on the other three. |
A merciless nitpicking of the 2006 Edexcel GCSE Science: Physics P1b exam paper. “This paper covers waves, electromagnetic radiation, astronomy, cosmology, and seismology, and features some really, truly, horribly poor questions.” |
A review of the novel Matter by Iain Banks, the seventh of the “Culture” novels. “The book initially appears to be about the political and military conflict between two humanoid civilizations. But a kind of pull-back reveals that this conflict is a small event taking place in a corner of a much vaster canvas, like two colonies of ants fighting over a mound of earth in a city park.” |
A review of the 2000 Nintendo 64 game Paper Mario by Intelligent Systems, directed by Ryota Kawade. “Paper Mario is deliberately designed to be an RPG for beginners, and after playing it I can glimpse what people see in proper RPGs.” |
A look at house prices in December 2007. “I’ve been wondering about what the UK housing market crash is going to look like, and how far prices might fall.” |
A detailed look at the encoding of bitmap images in the PNG file format, leading up to the discovery of the smallest possible transparent PNG, only 67 bytes long. |
Smart quotes mode, a minor mode for Emacs 22 that makes it convenient to type ‘smart’ “quotes”. |
A publishing scam using misleading bibliographical data to fool Amazon customers into thinking that a study guide might be good substitute for a real textbook. |
Why rules can’t tell us how to make good video games; we need understanding of their purpose and effects as well. With an extended digression on neoclassicism and John Dryden. |
A tongue-in-cheek look at the metaphors in A. E. Housman’s poem starting “Stars, I have seen them fall...” and whether they really make sense. |
An analysis of the dispute between the Bishop of Manchester and the video game developer Insomniac over the use of Manchester Cathedral as a setting in the game Resistance: Fall of Man. |
The technical challenges involved in implementing a sudoku puzzle generation algorithm on a handheld video game console, and how the developers at Zoonami solved them in the production of Zendoku for the Nintendo DS and Sony PSP. |
Tactics and tips for winning at Quest Mode in Zoonami’s Zendoku, a video game for the Nintendo DS and Sony PSP. With lots of diagrams. |
The Python Challenge is a website of puzzles compiled by Nadav Samet. The puzzles are a mixture of riddles, codes, and programming challenges, with the Python language being a recommended tool. Here are some of my notes and solutions. |
A C programming language technique for embedding relations (tables of data) into programs in a way which is easy to check, safe to update, and requires no tools other than the C preprocessor. |
Bram Cohen poses a programming question for job applicants: it’s easy to solve by searching but how can you be confident that you’ve searched far enough? Trying to answer this question leads to interesting mathematical analysis. |
Why video games on the Sony PlayStation Portable take so long to load, and what game developers can do to reduce loading times. |
Why are so many games based on movies no good? The answer lies in the time and effort required to perfect each game mechanic. |
Commentary on an extract from the television series Miracle Planet II, portraying a collision between a small planetoid and Earth, of similar scale to ones which occurred during the “late heavy bombardment” of the Hadean era (about 4 billion years ago). |
It’s common and convenient to represent relational databases in the form of spreadsheets, especially using Microsoft Excel. But it’s surpisingly hard to carry out relatively simple database operations on such spreadsheets. This article explains how to implement simple selects and joins as Excel formulae. |
The structure of the puzzles in the Nintendo 64 video game The Legend of Zelda: Ocarina of Time. With diagrams and maps. |
A sketch of a type system for the typeless programming language Python. The system would allow a limited form of type inference that would detect some type errors at compile time. |
A study of the errors found and fixed during the development, testing and release history of the adventure Christminster, together with a suggested categorization of defects in adventure games. |
A tool to support statement coverage testing for Python. It accumulates coverage data over many runs, generates coverage reports, and annotates Python source showing which statements have been covered. |
Lists the requirements for a statement coverage tool for Python, describes some issues in design and implementation, and compares coverage.py with other statement coverage implementations. |
How to use Perforce to efficiently measure the quality of a product in a software development environment where there are many branches, customers, and product versions. Presented at the Perforce User Conference 2001. |
Software that integrates Perforce software configuration management with defect trackers Bugzilla and TeamTrack so that issues appear in Perforce, can be edited and transitioned from Perforce, and can be linked to changes to the source code. An open commercial project: all the requirements, designs, documents and source code are online. Includes a kit for developing new integrations. |
A text adventure game set in the ancient university town of Christminster. A telegram from your brother Malcolm, a teacher at Biblioll College, draws you in to investigate the mystery of his disappearance, the history of the college, and the ambitions of the scheming Doctor Jarboe and Professor Bungay... |
A text adventure game on the theme of toys and puzzles. Looking for a birthday present for your niece Isabelle, you wander down a dim Victorian arcade and come across an old toyshop, with a peeling rocking-horse behind a grimy window... |