Current projects:
event notification system:
rel
Application developers have grown increasingly reliant on
pyevent, which in turn depends on certain C modules. rel emulates pyevent using the fastest methods available, and works completely cross-platform without making Python programmers install a C compiler.
The project initially was intended for prototyping and rapid application deployment on an arbitrary system. Since then, rel has corrected certain problems with pyevent 0.3, including the deadly trap presented by recursive dispatching. Significantly, rel provides full GIL integration, without which pyevent is virtually impossible to use with WSGI, and with threaded applications in general.
fast asynchronous network stack:
dez
An asynchronous architecture is essential for any scalable application. The dez stack supports several levels of HTTP request handling, uniquely providing enough control to run Comet applications.
The dez library includes an asynchronous server benchmarking toolset; advanced,
inotify-based static caching; XML and JSON stream parsing; Stomp, OP, HTTP, and WebSocket servers; and WebSocketProxy, which enables web application deployment on existing, unmodified TCP servers without straying from the HTML5 spec. In addition, dez offers a highly sophisticated API for implementing custom protocols, as well as a controller class that simplifies the creation of applications that require multiple servers to run in the same process.
socket protocols for the web:
js.io
js.io is the only javascript library of its kind. It provides the developer with APIs for common open protocols, as well as tools for protocol implementation.
Uniquely, js.io supports the HTML5 WebSocket. Used in conjunction with dez.network.WebSocketDaemon, it enables a new generation of applications.
lightweight javascript toolkit:
rafina
In the next few years, we'll see a massive shift from the AJAX web programming model to internet applications that utilize a socket. The rafina project addresses the concerns of this new mode of development with minimal overhead.
Version 0.1.3 features raw stream parsing into delimiter-separated text, XML frames, and JSON objects; dynamic table sorting and tab completion; flexible text processing; and shell-style text field input memory.
A library of tools for writing chess AI's, as well as servers, clients, and any other software that requires a chess engine. Speaks proper FEN, SAN, and long algebraic notation. Handles move validation and checkmate/ stalemate/ repetition/ 50-move-rule checking. Features server-side timekeeping with optional latency compensation.
The compact minimax AI framework utilizes alpha-beta pruning and transposition tables under the hood. This enables the developer to produce a modern custom bot by simply overriding AI.evaluate. Additionally, chesstools.book provides an intuitive interface for building opening book databases for use in conjunction with an ai.
I am a
core developer of the
Orbited project, the leader in Comet technology, a scalable solution that provides developers with an in-browser socket, as well as simple application framework integration.