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
-
These are the robots I've been working on for the last 12 months. They each weigh about 11 tonnes and have a 17 meter reach. The control...
-
This hard-to-see screenshot is a Generic Node Graph Editing framework I'm building. I'm hoping it can be used for any kind of node...
-
After my last post, I decided to benchmark the scaling properties of Stackless, Kamaelia, Fibra using the same hackysack algorithm. Left axi...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
It is about 8 degrees C this morning. So cold, especially when last week we had high twenties. To help solve the problem, a friend suggeste...
-
Why would I ask that question? Python 3 has been available for some time now, yet uptake is slow. There aren't a whole lot of packages i...
-
At the last few GameJams, I've seen an increase in the use of RAD game tools, some of them even being developed by the participants them...
-
I've just read a newspaper article (courtesy of Kranzky ) from WA Business News documenting the malfeasance, gross negligence and misc...
-
I've just uploaded Fibra 2 to the cheeseshop. Fibra 2 includes the promised non-blocking plugin, which allows a generator based task to...
-
MiddleMan: A Pub/Sub and Request/Response server in Go. This is my first Go project. It is a rewrite of an existing Python server, based o...