1 import fibraNow I need to reinstate the networking layer... and think about adding multi-core features via the new (in 2.6) multiprocessing module. It would be nice to have events magically transferred across process boundaries. FibraNet used to do this, but I haven't found a clean way of adding this to fibra, yet.
2
3
4 def task_a():
5 for i in xrange(10):
6 yield fibra.Send('AN_EVENT')
7
8 def task_b():
9 while True:
10 msg = yield fibra.Recv('AN_EVENT')
11 print 'Received:', msg
12
13 def test():
14 s = fibra.schedule()
15 s.install(task_a())
16 s.install(task_b())
17 s.run()
18
19 if __name__ == "__main__":
20 test()
Tuesday, November 18, 2008
Fibra grows events.
Fibra has grown an event handling plugin.
Wednesday, November 12, 2008
Due to popular demand...
...another gamejam has been scheduled for November 14-30. Short notice I know. Apologies.
I had hoped to deploy a new version of the gamejam.org interface, but I simply don't have the time. Next year, perhaps.
The previous gamejam was quite successful, so if you feel inclined, feel free to join in.
I had hoped to deploy a new version of the gamejam.org interface, but I simply don't have the time. Next year, perhaps.
The previous gamejam was quite successful, so if you feel inclined, feel free to join in.
Monday, November 10, 2008
The Attraction of Dynamic Languages.
Today, a friend asked me, "Why are you attracted to dynamic languages?".
I didn't have a ready answer. After thinking about it for a while, I can list some good reasons why I prefer to work in Python, which is a dynamic language. Lately I have been writing a lot of code in C and C# (directly re-implementing Python algorithms), so I think I am in a good place to pass comment.
Have I missed anything?
I didn't have a ready answer. After thinking about it for a while, I can list some good reasons why I prefer to work in Python, which is a dynamic language. Lately I have been writing a lot of code in C and C# (directly re-implementing Python algorithms), so I think I am in a good place to pass comment.
- Python code is ~10% the size of my equivalent C# code. This means less typing, faster prototypes and less room for bugs.
- Dynamic languages really do promote loose coupling. There is no dependence on types. This helps the programmer write re-usable code, and actually re-use it, rather than hide it away in some dusty, forgotten SVN repository...
- Python works rather well with C. It's a piece of cake to convert a Python function into C code, then call them using ctypes. This fits perfectly with an incremental development method, where a prototype can slowly be converted into C code as needed.
- Late binding lets you do some really clever stuff, and makes things like state machines very compact and easy to code and understand.
- A standard, OS independent socket implementation.
- ...hmm not much else.
Have I missed anything?
Tuesday, November 04, 2008
Burning out...
Too many projects. Too many people asking for things.
No time for the things I really want to do.
How do _you_ prevent burn out?
No time for the things I really want to do.
How do _you_ prevent burn out?
Subscribe to:
Posts (Atom)
Popular Posts
-
I've just seen and used a brilliant ssh option. The command: sudo ssh -D localport user@externalhost will set up a local SOCKS proxy l...
-
Working with multiple threads is often a necessary evil. This is how I do it safely inside a Unity3D component. There are only certain time...
-
Update: This is another planet shader, with more physical fidelity. Shader "Planet" { Properties { _MainTex ("Di...
-
When you start working with threads in your Unity3D project, you will discover that many things need to be done in the main loop. For exampl...
-
Space is awesome. Especially when it is generated using Perlin noise, and some cool shaders. You can try it out over here.
-
Possibly slightly more correct lighting. The rim light is now only applied in the direction of the sun, rather than being purely based on v...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
Summary: NodeJS wins. Test Program ab -n 10000 -c 5 http://localhost/ Gevent Code from gevent import wsgi class WebServer(object): ...
-
It is not an official port, but a very good replica. This is one of my favorite games, and I don't have many. It's deep, difficult, ...
-
Thank to Adrian Boeing I was inspired this morning to hack together a ripple shader for Unity3D. Thanks for the math Adrian. You can see t...