Furius Open Source
Open Source software packages. The way I use the computer almost always involves changing how the computer works, and rather than using the software that is already available, and I end up having to make a lot of the tools that I need myself. This is the power that programmers enjoy, the power to manipulate information efficiently. I value simple solutions that involve text files and few dependencies, and the tools I build reflect this. Orthogonality and the minimization of software dependencies are aspects I care much about.
Finance-related Tools and Libraries
- beancount: a double-entry accounting system that feeds from text files, heavily inspired by Ledger;
- oanpy: a Python interface to the OANDA FX broker. You can get market data and place trades all from within Python.
Web Applications Tools
Codes that I wrote in order to build a web application framework, and other related tools that somehow generate HTML.
- ranvier: a powerful resource mapping system for web applications, which works in two directions;
- nabu: a framework for remote publishing and extracting rich information from text files;
- indra: web application programming interfaces. This is more a documentation and analysis project than anything else;
- atocha: a flexible Python library for rendering and handling web forms;
- htmlout : a simple Python module for HTML output;
- curator : an image gallery generator with few dependencies;
Development Tools and Libraries
Tools used for supporting software development, system administration and configuration tasks, or writing programs.
- lang-cpp: C++ experiments, performance tests and code snippets;
- snakefood: dependency grapher for Python programs;
- antiorm: a Pythonic Helper for DBAPI-2.0 SQL Access;
- xxdiff: file comparison and merge tool;
- pubcode: miscellaneous scripts and libraries that I'm sharing with the world;
- optcomplete: automatic bash completion support for Python scripts using Python's optparse module;
- arnie: a simple system for making incremental backups to remote untrusted hosts (encrypted backups);
- projects: a description of my system of organization for working with multiple projects at the same time, and how to setup a portable, multi-site Unix configuration;
- pystd: General ISO standards (and others) for Python;
Other Applications
- tracktools: simple management tools for contractors (previously named contract-tools);
- xannotate: a small cool program that pops a transparent window over whatever is on-screen and allows you to scribble over it. This is useful for highlighting stuff on-screen during presentations and demos.
Music-Related Code
I spent way too much time fiddling and normalizing my digitalized music collection. These are codes that might help.
- pyofa: a Python wrapper around MusicDNS' libofa, which can be used to identify music tracks; libofa generates a fingerprint which can then be used to lookup music information via MusicDNS and MusicBrainz.
- arubomu: a Python library that can defines an XML schema for storing information about music albums and that can convert album info from some catalog websites (descarga, amazon);
- jukebox: a library with many tools to manage a hard-disk based jukebox of music;
Dead Projects
The following projects were once alive. They are now pronounced dead. I have stopped working and maintaining them, and do not foresee a day where I will revive them either. They are kept here for posterity.
