In Python, dealing directly with the OpenSSL library (through PyElliptic) easily becomes a hassle with the use of C pointers and string buffers.
To make things easier, I decided to make a wrapper for PyElliptic to make the manipulation of elliptic curves and points more Pythonic. The result is called Py-EC, is available on GitHub, and licensed under the MIT license (except for the part from PyElliptic, which is licensed under GPLv3).
Especially point addition and multiplication is way easier, as you can see in the examples on GitHub.
One of the nice features of developing a project with Django's development server, is the server's ability to restart/reload the project if its source has been modified.
I wanted to accomplish the same thing for an arbitrary Python program, and thus wrote a script,
SourceChangeMonitor, to monitor a Python program for changes in the source code, and restart it when a change is detected.
Download: SourceChangeMonitor.py, a Python source code monitor
Several times before, especially while developing applications for Android, I have found myself (re)implementing TCP clients and servers in different programming languages, most notably Java for Android clients and Python serverside. Everytime a new message or parameter had to be implemented, this would mean writing (or at least copying) a lot of boilerplate code... twice - once for each language.
In order to make things a easier for me, and honor the DRY (Don't Repeat Yourself) principle, I came up with the idea for a way to define network communication between clients and a server regardless of the programming language(s) in which the client and server would be implemented.
Therefore I am proud to annouce the Network Protocol Specification Language (or NPSL), currently in version 0.1. This early version is capable of outputting both a client and a server in Python (of course, more languages will come later - I am currently working on Java), who are perfectly able to communicate through the defined network protocol.