You're reading: Posts Tagged: programming

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

Internet Problem Solving Contest

The Internet Problem Solving Contest has just started.

The Internet Problem Solving Contest (IPSC) is an online contest for teams consisting of up to three people. Several problems will be published at the beginning of the competition. Each problem consists of a problem description and two input data sets. To solve a problem you will have to compute correct output data for the given input data sets. Usually this means that you will write a program that solves the problem, but you may produce the output by hand or in any other way.

So it’s very computer-sciencey, in the vein of Project Euler, but there’s some maths required; for example, the “matrix nightmare” problem involves a pretty hefty bit of linear algebra.

Information: Internet Problem Solving Contest

Source: God Plays Dice