While developing software, I've created a set of small libraries that make life convinient. With the permission of my employer I'll try to provide at least some of those below.
Evtid library Interface to poll, timers
One project is "my baby". For a while now I'm trying to implement an interpreter for embedding in other programs. Similar to Lua or even Perl. Well, only similar. The key difference would be to provide the control over parsing the code to the developer. In all interpreters for embedding that I know, the developer may provide "extensions" Those are functions that will be called but only at execution time. Now, suppose this extension must be called with 2 arguments, but the user has provided in the script only 1. If I as developer had control over parsing, I could issue syntax error and abort parsing. But at run-time it's usually too late. Another example would be the use of while or goto to create endless loops. Usually I don't need such constructs in the embedded language, but they are provided in general language and now the user of my program can harm it by entering endless loop.
So far I've created stand-alone server that is managed in Vandalix. All security is done in Vandalix using RSA signing of blocks of code. Vandalix allows creation of new user interfaces, sockets for accepting connections, reports internal status and does many other things. There are handlers for various events written in Vandalix. Pretty powerfull and flexible system. The server is written in C.
Questions are welcome at
In free time I'm playing with translations into Russian language. For example here's translation to Guide to Japanese Grammar. Obviously I'm trying to learn Japanese language. So far the contractions bring the most pain. So, I've started to collect them here. Finally, my BLOG in English and in Russian :)
Some fotos made in Munich Zoo.
More photos are available at my home site
Here's an attempt to build family tree