Open Source Projects
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.
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.
* 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. 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.
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.
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.
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 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.