I am currently working on several projects on my free time. Most of them are oriented to the Unix-Work-Alike platforms available on the Internet, such as BSD systems and Linux Systems. I like to study operating systems, distributed computing, parallel computing, concurrent programming and functional programming. My projects are made on top of my research basis, as a personal initiative. I think that programming is a key element on computer science and software development. If you want hire me, just visit the services page.
My current published and active projects are:
This is a Wowza Media Server time shifter module. It can record and stream recorded transmissions with a configurable timeshift in minutes. This is a commercial product, you must pay for the license and here is a shareware version available. The shareware version only works for 45 to 90 minutes, then stops working.
A Python Object to XML serializer and deserializer, it is based on object model rather than custom XML elements. Pyxser stands for Python xml serialization and validates each serialized object against the pyxser 1.0 XML Schema. Pyxser is written entirely in C as a python extension. The current stable release is pyxser-1.5.2-r2 and supported Python version comes from 2.4 to 2.7. Pyxser status is released and published.
ApacheLogRev is an Apache Log Revision command line tool, which extracts statistics from Apache Access Logs. Its design is based on plugable state machines that allows the plotting and calculation of different statistics that can be extracted from the Apache Access Logs. It is a purely Haskell based project, so you must know Haskell to contribute. It uses the Haskell Charts hackage which uses the Data Accessors combinators to plot their charts. On the future it will have a plugable interface for custom statistics and custom charts plotting.
This is a pgrep(1), pkill(1) and pmap(1) all in one Win32 implementation. Procinfo-Win32 is a process auditing tool which can list processes and their loaded modules. You can also kill processes using Perl Compatible Regular Expressions to match process names or module names. You can also have some information about the per-proccess loaded modules, such as memory addressing in a custom format (KB, MB, GB). It implements some pmap(8), pkill(1) and pgrep(1) features. Development status: released and published.
This library, caffeine is a C language based framework which uses C99, POSIX and SUSv3 standards, and system specific system calls — Linux and FreeBSD for now — to support the development of daemons and services. The idea is to have predefined algorithms to help you in some tasks for building your own daemons, command line applications and complex tasks such as integrating plugin interfaces to your applications. The concrete goal of this project is to implement most common algorithms to develop service oriented applications. Development status: not released and published.
The jquery-validators script is a jQuery plug-in with some predefined validators, but extensible to allow you to create field validations on change and keyup events. The plug-in runs individually for each field, without referring a specific form in the HTML. Also you can define custom validation function and custom messages, currently it supports English and Spanish messages, but you can setup your own messages on it. If the field isn’t valid for the validator, it will block the form identified by the form selector (written as jQuery selector string).
The bugbuster.py script is a tiny Python script that wraps around two well known static analyzers, the splint static analyzer and the TenDRA compiler static checker. It has various options that will allow you to easily manage error message from the compile command under Emacs or VIM. You can participate on the development process on github.com on the following URL: bugbuster repository.