Random Productions Present

May 9th, 2010

Random small implementations I did recently. Featuring web clock synchronisation checker, and rocket simulator, (and if I recall anything more I'll put it here. ;p)

  • Javascript/PHP program which measures system time error with respect to the server it's being run on. You can see if your clock is synchronised as thera is a stratum 2 synchronised server. Tests on two computers with correct clocks and average ping of 65ms shows offset of 0.012s so its accuracy reaches 1-2 digits after decimal separator at most. Known to work with FF and Opera.
  • Simple line-based UDP communicator written in Python. What's really FUN about this program is that it implements whole UDP/IP stack by itself. One thing it doesn't do is ARP protocol and routing. Therefore you have to pass it a MAC address of your gateway. You can try broadcast (FF:FF:FF:FF:FF:FF, but I doubt it will work. Use 'arp' command to get MAC of gateway. In case of tests in local network you need to pass MAC address of destination IP, not the gateway). Source/Destination ports should either be equal or swapped in two instances. Example call:
    ./con.py 192.168.0.2 80 91.92.93.94 999 eth0 00:0a:5e:5e:5e:5e 0
    Sends packets from 192.168.0.2:80 to 91.92.93.94:999 using given MAC for "the next hop".
  • 3D depth reconstruction using single camera and optical flow tracking. But it doesn't work so well and requires accurate movement of camera.
  • OCaml simulator of light amateur-build rockets. Implements a model of atmosphere, gravity and a variable rocket weight (because of the burned fuel). I used it to prove that the same rocket launched on the ground level, which would reach about 25km altitude, can be launched on a higher platform (a meteorological baloon, 30km over the sea level) and be able to reach the outerspace (> 100km) effectively enabling amateur modelers to do something genuine. ;-) I've totally invented the engine parameters — I'm sure it wouldn't be easy to build, especially that it must carry oxygen with itself and be extremely light. There are more problems to be solved with stabilisation and communication... but the idea is fun!

Add a comment [+] Hide the comment form [-]

I'm a bot, please ignore this comment.

I'm not a bot. Tick this box.

This is a mail of my good friend who loves rubbish email. Send him some if you want to land on my not-so-welcome lists: John Sparrow john@thera.be john(at)thera.be