Open Source Projects
Memcache mover - migrate contents between clusters
This is a simple tool to help with copying the contents of a memcache cluster into a new one, helping with migrations.
Golang client library for Apache Kafka v.0.5 - 0.7.x.
Apache Kafka is a high-throughput distributed publish-subscribe messaging system written by the LinkedIn Data Team. I contributed a Golang client providing both a Producer and a Consumer for v.0.5 - 0.7.x.
Layered Dependency Solver
Layer-based scheduling algorithm for parallel tasks with dependencies. Determines which tasks can be executed in parallel, by evaluating dependencies. Given a list of entries (each with its own dependency list), it can sort them in layers of execution, where all entries in the same layer can be executed in parallel, and have no other dependency than the previous layer.
Task / worker pool manager in Go
* Start cli tasks automatically * Maintain the desired number of worker processes for each task * Handle automatic restarts when a worker dies or stalls The task manager is be able to start any cli (shell) script from the chosen directory. For tasks that are long-running and meant to be monitored continuously, each worker process should send regular keep-alive messages via a ZeroMQ PUB-SUB channel to communicate its health, and should handle SIGTERM messages when asked to terminate. If the worker doesn't respond to a SIGTERM signal, it will be killed with SIGKILL after a (configurable) grace period. The number of workers stalled/stopped since the task manager was started is reported in the task status.
Golang client library for Statsd
Golang client library for StatsD. Contains a direct and a buffered client. The buffered version will hold and aggregate values for the same key in memory before flushing them at the defined frequency.
PHP client library for Apache Kafka v0.5-0.7
Apache Kafka is a high-throughput distributed publish-subscribe messaging system written by the LinkedIn Data Team. I contributed a PHP client providing both a Producer and a Consumer for v.0.5 - 0.7.x.
Politecnico di Torino - Natural Language Processing
Developed several Automatic Text Classifiers (with focus on opinion mining and sentiment analysis) and an Information Extraction system for a R&D job with a fund granted by the Research Consortium of Turin Polytechnic. Field: machine learning. Languages: C, C++, Java.
Seagull PHP Framework
Seagull is a mature OOP framework/CMS for building web, command line and GUI applications.
WACT - Web Application Component Toolkit
The Web Application Component Toolkit is a PHP framework for creating web applications. WACT facilitates a modular approach where individual, independent or reusable components may be integrated into a larger web application. WACT assists in implementing the Model View Controller pattern and the related Domain Model, Template View, Front Controller and Application Controller patterns.
PEAR, PHP Extension and Application Repository
PEAR is a structured library of high quality open-source code for PHP users. PEAR's mission is to provide reusable components, lead innovation in PHP, provide best practices for PHP development and educate developers.