Flying over a trampoline

Origin 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 reading

Mono Lake alkali flies in JavaScript

We 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 reading

Guess Poo: An application of nearly-orthogonal fractional factorial design

We 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 reading

Faint amusement from arrows

In 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 reading

Post-specific Javascript and CSS in WordPress

A 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 reading

Failure: playing video from audio cassette

The idea for this project came from a few different places: Curiosity about how cable modems actually transmit ones and zeros along the coax cable. This led to some reading about the various modulation methods used. Code I’d written to read the data on cassette tapes containing files from the Dragon 32 computer of my youth. (Including this one.) The modulation here is fairly simple, being one cycle of a certain tone for a ‘0’ and one cycle of a different tone for a ‘1’. Some fairly superficial reading about video codecs. I wondered what could be achieved with cable-modem-style modulation techniques in the way of putting data onto audio cassette tapes. In particular: could you read enough bits per second

Continue reading