(Some of) Colossus on an FPGA
An implementation, on an FPGA, of the parts of the Colossus code-breaking computer needed to replicate the Chi-wheel-setting worked example of the previous post.
Continue readingCovering various topics, usually of a vaguely nerdy nature.
An implementation, on an FPGA, of the parts of the Colossus code-breaking computer needed to replicate the Chi-wheel-setting worked example of the previous post.
Continue readingA worked example of one part of the cryptanalysis performed by the Colossus computer at Bletchley Park during World War II.
Continue readingJust over a year ago, my son (then 6) wanted to create a computer game where you drive a bike round a world. I helped him with this, and we’ve worked intermittently but fairly often on it since then. There were quite a few details to get right, but he worked through them a bit at a time, and I think the result is pretty cool. We’ve finally clicked ‘share’ on it, so it’s public: Bike Game on Scratch Here’s a video of a play-through: (There are minor changes between the version in the video compared to the released version; see below.) Game features The game takes place in a large world (7½ screens wide and 10 screens high) which
Continue readingOrigin of idea A couple of months ago, Sally (5) was bouncing around on the trampoline at my in-laws’ house, and said something very close to: ‘Dad, you should take lots of pictures of me jumping in the air, and put them together into a video, then it will look like I’m flying’. I thought this was a cool idea, so we did it. Source video Instead of lots of individual stills, though, I thought I’d take some video footage and pull the frames out of that. With a digital camera kindly lent to me by my in-laws, I took about 1′20″ of Sally leaping around aimlessly. This is just over 2000 frames, at 25fps. Locate her head in each
Continue readingWe recently went on a fantastic family camping trip to California, travelling round various National and State Parks. One of the places we saw was Mono Lake. There are lots of interesting aspects to Mono Lake, but this post concentrates on one of them: the vast numbers of alkali flies which live on the waterline. This video (by YouTube user Jeff Lowe) gives a good impression of their behaviour, and of the beautiful scenery which they inhabit: Walking along, your feet set off ‘waves’ of jumping flies, interrupting the flies’ normal meandering. I wondered whether it would be possible to create a simulation of the flies which captured some of this behaviour. In a modern browser, there should be a
Continue readingWe have the game ‘Guess Who’, which comes with a selection of sheets to play variants of the original game. In a flash of comedy inspiration, my eldest, Meg, and I thought it would be excellent if there was a game called ‘Guess Poo‘. In Guess Poo, instead of trying to identify faces, you have to identify faeces. We therefore set about designing drop-in sheets for our game. (‘Guess Who’ is probably a trademark of Hasbro or Milton Bradley, and I would be very surprised indeed if either of them endorsed this post.) Choice of characteristics In the original, the faces have different values for various characteristics, such as hair colour, whether they wear glasses, gender, and so on. It
Continue readingIn logic, we talk about propositions, giving them names, say p or q. For example, p might be the proposition ‘it is raining’, and q the proposition ‘I will get wet’. Then to represent the proposition ‘if it is raining then I will get wet’, we can say ‘p IMPLIES q‘, which is often written with a double-arrow: p ⇒ q. In ASCII, this can be approximated by ‘p => q‘. In full, this operator has the following truth table: p q p => q T T T T F F F T T F F T (This appears slightly strange, but the only way we can disprove the claim ‘p implies q‘ is if p happens but q doesn’t.) In many programming languages,
Continue readingI saw an interesting number-based game at the 2015 Young Scientist show. This post derives, using brute force, a winning strategy for the game and implements it as a ‘human vs computer’ setting.
Continue readingA couple of recent posts here — An oscillator from a jam-jar lid The value of a second opinion — required some post-specific Javascript and CSS styling. It took me a little while to figure out how to achieve this, given my limited exposure to PHP in general and WordPress programming in particular. This is how I went about it; there may well be better ways. Start writing post At this point your draft is assigned a post-ID. This is the value at the end of the post’s URL. For example, this post has URL https://redfrontdoor.org/blog/?p=970 and its post-ID is 970. Write post-specific Javascript Make a self-contained Javascript file, wrapping the logic in jQuery(document).ready(function($) { // [… code goes here
Continue readingYou feel ill and go to a doctor. She does a test and says ‘you have a 70% chance of having the Lurgy’. You go to a different doctor, who does a different test, but also says ‘you have a 70% chance of having the Lurgy’. Given these two test results, what are your chances of having the Lurgy?
Continue reading