My projects

From time to time I write some software that I release open source. Here are the list of most notable software I’ve built over the years.

Git journal

Project page Source code

When you grasp core git concepts you start using it for everything you can. This happened to me and I’ve created «Git Journal».

When you developing some large project it’s often useful to keep «Lab journal» to track your progress, thought process and things to care. But most of the tools force you to linear thinking, while humans’ (at least me) thought are more like a graph. And here is where wild git appears.

Git is essentially a directed acyclic graph with handy, though terse, interface. You can quickly make it to help you track your work as a series of commits with all the git features — branches, merging, rebasing and so on. And it will be saved, consistend and neat. Check it out!

Block hasher

Project page Source code

Simple utility to read block device in multiple threads,calculate I/O throughput and compute hash sum for each thread. Thus, it allows you to check performance and integrity of I/O device.

I wrote this utility to test my SSD cache solution for data corruptions and bottlenecks when I was working at Raidix.

Anatolik

Project page Source code

Funny static blog engine that is made as simple as possible but not simpler. It’s written in Python 3 with Mako templates. I’ve built it because Pelican was too heavy for me and Jekyll feels alien because of Ruby.

This blog is generated with Anatolik (of course).

Vim Log Syntax

Project page Source code

I write system software and usually such software doesn’t have any good facility to debug and inspect code except logs. Large amount of logs.

All that logs I read in my primary editor — Vim. To help detect problems in logs I’ve created syntax file for Vim to highlight Error and Warning messages, dates, strings and hex numbers.

Compare with how you see it usual:

Vim Log Syntax screenshot

Vim Log Syntax screenshot

Believe me, it’s REALLY helpful!

Keymon

Project page Source code

Keymon is a Linux kernel module that receives keyboard presses and send it to the userspace daemon via netlink socket. Daemon collects raw keyboard notifications to BerkeleyDB that you can analyze later with python script.

It’s a great example of using generic netlink sockets both in kernel and in userspace.

FeedParser

Project page Source code

FeedParser is a PHP library that provides unified interface for parsing all kinds of RSS/Atom feeds.