Saturday, 27 June 2009
Principle of Biggest Surprise
I've written an article about weird things in Python. You can find it here. Please leave your comments under this post or write an email.
Sunday, 21 June 2009
Braid
This blog isn't really meant to be about games, but this time it has to be.
I recently (on Friday) purchased the indie-game Braid on Steam. I am really excited by it, and have finished it by now. It features really clever gameplay, beautiful music and, in its own way, beautiful graphics. If you care about the storyline of a game, Braid has a very good, but also confusing story. The major downside it has is that it is incredibly short, I had finished it after about 8 hours. But well, I still have the speed-runs to do, and they will not be easy.
It was very well worth the 13 euros.
I recently (on Friday) purchased the indie-game Braid on Steam. I am really excited by it, and have finished it by now. It features really clever gameplay, beautiful music and, in its own way, beautiful graphics. If you care about the storyline of a game, Braid has a very good, but also confusing story. The major downside it has is that it is incredibly short, I had finished it after about 8 hours. But well, I still have the speed-runs to do, and they will not be easy.
It was very well worth the 13 euros.
Wednesday, 10 June 2009
Parallel computing with Python
I've been writing a library that streamlines the process of parallelization. It is inspired by Cilk and thus has a really simple design. The name isn't yet decided, but I think I will call it pylk. I'm also trying to write a cluster-library, and once that is finished I will try to add a backend that executes the functions that were spawned on the cluster.
Below is some (commented) example code.
Below is some (commented) example code.
# Use multiprocessing backend.
backend = MPBackend()
# Start the thread that listens for I/O from the processes.
backend.iohandler.start()
# Do some calculations.
a = backend.spawn(reduce, operator.mul, xrange(1, 50000))
b = backend.spawn(reduce, operator.mul, xrange(1, 50000))
# When you need the results, sync them.
a, b = sync(a, b)
# When done, shut down the I/O thread so the application can exit.
backend.iohandler.stop()
Subscribe to:
Posts (Atom)