You're reading: Posts Tagged: programming

Doughnuts in the Sand

This is a guest post by semi-regular guest author, mathematician-turned-maths-teacher Andrew Stacey.

I like having something mathematical to think about for times when I’m, for example, waiting in a queue to get into the supermarket. Annie Perkin’s Math Art Challenge has been a good source of such of late. These are a series of mathematically-inspired artistic activities, ranging from designing celtic knots to constructing origami polyhedra and everything in between.

My eye was caught by one on sandpiles – I’ll explain exactly what they are in a moment. One feature that made it attractive was that it was quite simple to write a program to generate diagrams. I find that the maths that interests me usually comes from looking at variations, and for that I need to generate a lot of examples. Doing them by hand quickly becomes laborious. So I whipped up a program (which I later converted to an online version) and ran it a few times to see what happened.

HLF Blogs: Leslie Lamport Thinks Your Code Is Bad

This week, Katie and Paul are blogging from the Heidelberg Laureate Forum – a week-long maths conference where current young researchers in maths and computer science can meet and hear talks by top-level prize-winning researchers. For more information about the HLF, visit the Heidelberg Laureate Forum website.



Image: Heidelberg Laureate Forum Foundation / © Bernhard Kreutzer

At last year’s HLF, Turing Award Leslie Lamport gave us his (not wholly complimentary) thoughts on the state of proof-writing in mathematics. Since he has worked in both maths and computer science, members of the latter discipline may have felt they got off quite lightly. Perhaps to redress the balance, this year we found out what he thinks is wrong with most people’s code and algorithms, in a talk titled If You’re Not Writing a Program, Don’t Use a Programming Language.

Not Mentioned on the Aperiodical this month, 21 August

Here are three things we noticed this month which didn’t get a proper write-up, due to thesis/Edinburgh fringe/holidays: a big proof, a fun maths book club, and a ridiculous bit of pi-related madhattery.

Student placement with the Numerical Algorithms Group

Mathematical and statistical software specialists The Numerical Algorithms Group (NAG) are advertising a twelve month student placement in Oxford as a software engineer.

We are looking for somebody who has completed the equivalent of two years of a three-year degree course. A strong computing component in the course is important and some mathematical background or experience using software to solve scientific or engineering problems would be a big advantage. The ideal candidate should have experience of programming in a Windows, Unix or Linux environment. Some knowledge of C or Fortran would be useful, but is not essential.

The deadline is 31st January 2013.

Further details: Student Placement: Software Engineer.

via Mike Croucher on Twitter.

Ready: reaction-diffusion simulator

Google Code, one of now approximately a million different websites which start with the word Google, is a sharing platform for developers to exchange open-source programs and nifty things they have made.

One such nifty thing is this Reaction-Diffusion package, based on our old friend Alan Turing’s famous equation. The reaction-diffusion equation, originally given in Turing’s 1952 paper The Chemical Basis of Morphogenesis, provides a model for how a mixture of chemicals, reacting with each other while moving under the action of diffusion, might result in the kind of patterns we see in animal print and elsewhere in nature.

Screenshot of Ready 0.3, showing a simulation of a reaction-diffusion system on a lion's fur

Robot choreography and coupled oscillators

Nao robots are a programmable standard model of small scale humanoid robot by French firm Aldebaran Robotics, and they are used for, among other things, the RoboCup soccer tournament to provide a standard platform to compare programming skills. Anyone paying attention to robot/dancing-related news on the internet will be aware that Nao robots have been trained to do synchronised dance routines, although such routines are usually pre-programmed.

Patrick Bechon and Jean-Jacques Slotine, from MIT, have developed a means to link a group of robots, using coupled oscillators, so that a dance routine can be followed and synchronised – so a robot which gets disturbed during the piece can rejoin at the right point, as demonstrated beautifully in the video below. The robots use Network Time Protocol to synchronise their clocks, and while other co-operative programs have been seen before (not least, in the RoboCup where the team works together), this new work involves strong synchronisation, which means even if there’s a delay in loading the programme or transmitting between robots, or if a new robot is added during the choreography, they are still all in time with each other. Plus, they’re pretty cute.

[youtube url=]

Source: Robot Choreography on MetaSD

Paper: Synchronization and quorum sensing in a swarm of humanoid robots