Programming

Here my programming projects or those I’m contributing to. My projects are hosted on http://hg.kaworu.ch. Most of my projects are licensed under a 3-clause BSD license.

Lua

mpd.lua - http://hg.kaworu.ch/lua-mpd

mpd.lua is a small interface to MPD in lua, using lua-socket. I wrote it because at the time I only founded versions that used netcat. It’s a really basic interface which doesn’t handle all the MPD’s protocol but allow you to send any type of request.

sysctl.lua - http://hg.kaworu.ch/lua-sysctl

sysctl.lua is a partial interface for lua of FreeBSD’s sysctl(3). It allows you to get and set simple sysctl(3) data such as numbers and string (structures like struct proc etc. are not supported atm). I wrote it and it’s mainly used to create system widget for the awesome windows manager. You can find it in the port tree under devel/lua-sysctl.

Ruby

Libastag - http://hg.kaworu.ch/ruby-libastag

Libastag is a full featured library for the Nabastag API (see http://api.nabaztag.com/docs/home.html). It provide also a minimal fake HTTP Violet Server based on WEBrick for testing purpose. It allow you to create complex API request like Choregraphy easily with a nice DSL. Several layers of abstraction are available. It’s a fully documented and tested project.

RMOAR - http://hg.kaworu.ch/ruby-rmoar

RMOAR is a simple CLI ruby script which use RMagick to generate motivator images.

huongviet.ch - http://www.huongviet.ch

huongviet.ch is a Ruby On Rails website I developed in summer 2006 for the huongviet association. It use RoR 1.2, and feature a forum, photo gallery, video gallery etc.

C

crt - http://hg.kaworu.ch/crt

crt is a rewrite of crtbegin/crtend files based on NetBSD’s implementation under a BSD license. It’s has been written to inclusion into clangBSD and compiler-rt.

stop - http://hg.kaworu.ch/stop

stop is a fork of htop http://htop.sourceforge.net/ which use FreeBSD’s sysctl to get system information. It doesn’t need linprocfs to be mounted on /proc, and has several FreeBSD specific improvements, like a column to display the Jail ID of each process. stop is licensed under the GPLv2.

t3champion - http://hg.kaworu.ch/t3champion

t3champion is a easy to read, simple implementation of Wikipedia’s “perfect” algorithm (see http://en.wikipedia.org/wiki/Tic-tac-toe#Strategy) which (almost) never loose.

tagutil - http://hg.kaworu.ch/tagutil

tagutil is a powerful command line tool to display / edit music files tag. The main goal is to have a tool to manage easily vorbis tags (which can handle almost an arbitrary number of tag, which can have the same key).It has many feature and use YAML for editing/displaying. Several backends (TagLib, libFLAC, libvorbis) are available. tagutil is still a work in progress, help / test / patch are welcome :)

Projects I like

FreeBSD - http://FreeBSD.org

My current Operating System. I report bugs and try to help the clangBSD project.

awesome - http://awesome.naquadah.org/

My Windows Manager. It’s a WM Framework you script in lua, which take a long time to configure (and break compatibility more than I would like but eh, that’s life) but very powerful.