last book
[homepage.git] / hacking / software.mdwn
1 [[!img img/applications-development.png link="no" class="flow" alt="development"]]
2
3 Below you can find a list of the software projects I've been involved with
4 (sometimes as the main author, sometimes as a contributor, ...).
5
6 [[!toc ]]
7
8 # active software projects
9
10 * **Debsources** - index and publish on the Web all
11   [Debian](http://www.debian.org) source code
12   [[homepage](http://sources.debian.net/)]
13 * **Matita** - an interactive proof assistant
14 [[homepage](http://matita.cs.unibo.it), [debian
15 package](http://packages.qa.debian.org/matita)]
16 * [OCaml](http://caml.inria.fr) hacks:
17   * OCaml **Batteries Included** - *consistent*, *documented*, and
18   *comprehensive* OCaml development platform [[homepage](http://batteries.forge.ocamlcore.org)]
19   * **CamlBZ2** - OCaml bindings for [`bzip2`](http://www.bzip.org) [[homepage](http://camlbz2.forge.ocamlcore.org)]
20   * **ocaml-autoconf** - [autoconf](http://www.gnu.org/software/autoconf/) macros for OCaml projects
21   [[homepage](http://ocaml-autoconf.forge.ocamlcore.org)]
22   * **LablGtkSourceView** (now a part of *[LablGTK](http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html)*) -
23   OCaml bindings for [GtkSourceView](http://gtksourceview.sourceforge.net/)
24   [[homepage](http://helm.cs.unibo.it/software/lablgtksourceview/),
25   [debian package](http://packages.qa.debian.org/lablgtk2)]
26   * **LablGtkMathView** - OCaml bindings for [GtkMathView](http://helm.cs.unibo.it/mml-widget/)
27   [[homepage](http://helm.cs.unibo.it/mml-widget/), [debian package](http://packages.qa.debian.org/lablgtkmathview)]
28   * **OCaml-HTTP** (no longer maintained by me) - OCaml library for writing
29   simple HTTP servers [[[homepage|ocaml-http]],
30   [debian package](http://packages.qa.debian.org/ocaml-http)]
31 * **CDuce** - an XML-oriented, strongly-typed, functional programming language
32 [[homepage](http://www.cduce.org), [debian
33 package](http://packages.qa.debian.org/cduce)]
34 * [Vim](http://www.vim.org) hacks:
35   * **lbdbq** - interactive queries to [lbdb](http://www.spinnaker.de/lbdb/)
36   (e.g. for expanding recipient names in email headers, looking up in the
37   [evolution](http://www.gnome.org/projects/evolution/) address book)
38   [[homepage](http://www.vim.org/scripts/script.php?script_id=1757), [debian
39   package](http://packages.qa.debian.org/vim-scripts)]
40   * **OCaml support** - support for editing OCaml code (highlighting, indentation,
41   type information query, ...), now part of the Vim runtime
42   [[homepage](http://www.ocaml.info/home/ocaml_sources.html#toc25)]
43   * **Debian support** - support for editing
44   [Debian](http://www.debian.org)-related files (folding, bts completion, ...),
45   part of the Vim runtime or of the Vim debian package [[debian
46   package](http://packages.qa.debian.org/vim)]
47 * [Debian](http://www.debian.org) hacks:
48   * **Vim addon manager** - manager of addons for the [Vim
49   editor](http://www.vim.org) [[[manpage|vim-addons.1.html]], [debian
50   package](http://packages.qa.debian.org/vim-addon-manager)]
51   * **debcheckout** (now part of
52   *[devscripts](http://alioth.debian.org/projects/devscripts/)*) - checkout
53   Debian packages from their version control systems
54   [[[1st|blog/posts/2007/08/debcheckout]] and [[all|tags/debcheckout]] blog
55   posts, [debian package](http://packages.debian.org/unstable/devscripts)]
56   * **debfile** (now part of *[python-debian](http://alioth.debian.org/projects/pkg-python-debian)*) -
57   access .deb and .ar files from [Python](http://www.python.org)
58   [[[1st_blog_post|blog/posts/2007/07/python_debfile]],
59   [debian package](http://packages.debian.org/unstable/python-debian)]
60
61 # dormant software projects
62
63 * **Carbon** - a strict, strongly-typed, functional programming language
64 [[homepage](http://home.gna.org/carbon)]
65 * ([components](http://helm.cs.unibo.it/software/) of) **HELM** - a digital
66 library of formalized mathematics [[homepage](http://helm.cs.unibo.it)]:
67   * **UWOBO** - a XSLT processor with a web service interface
68   [[homepage](http://helm.cs.unibo.it/software/uwobo/)]
69   * **GDome2-XSLT** - glue to apply XSLT transformations to
70   [GDome2](http://gdome2.cs.unibo.it/) documents
71   [[homepage](http://helm.cs.unibo.it/software/gdome_xslt/), [debian
72   package](http://packages.qa.debian.org/gdome2-xslt)]
73   * **HTTP Getter** - access mediator to the HELM library
74   [[homepage](http://helm.cs.unibo.it/software/getter/)]
75 * **GMetaDom** - a collection of bindings for
76 [GDome2](http://gdome2.cs.unibo.it/), automatically generated from the DOM
77 recommendation [[homepage](http://gmetadom.sourceforge.net/), [debian
78 package](http://packages.qa.debian.org/gmetadom)]
79 * **WOWcamldebug** - integration between the [Vim editor](http://www.vim.org)
80 and the [OCaml
81 debugger](http://caml.inria.fr/pub/docs/manual-ocaml/manual030.html)
82 [[[homepage|wowcamldebug]]]
83
84 # fire-and-forget hacks
85
86 * **integration of Mutt with Notmuch**, for blazing fast mail indexing, query,
87   and thread reconstruction
88   [[[blog post|blog/posts/2011/01/how_to_use_Notmuch_with_Mutt]],
89   [git](http://git.notmuchmail.org/git/notmuch/tree/HEAD:/contrib/notmuch-mutt) ]
90 * **[[!wikipedia tickler file]] implementation for maildirs**, to "snooze" your
91   INBOX and have messages reappear days later
92   [[[blog post|blog/posts/2010/05/tickler_file_for_maildir]],
93   [git](http://git.upsilon.cc/?p=utils/rotate-tickler.git) ]
94 * **integration of Mutt with Org-mode**, to implement your GTD work flow
95   [[[blog post|blog/posts/2010/02/integrating_Mutt_with_Org-mode]],
96   [git](http://git.upsilon.cc/?p=utils/org-mutt.git;a=summary) ]
97 * **pam-hooks** - PAM module that support execution of login/logout hooks
98   [[[homepage|pam-hooks]]]
99 * **flickr download** - batch downloader for [flickr](http://flickr.com) photos
100   [[[1st_blog_post|blog/posts/2006/11/flickr_download]]]
101 * **ls2rss** - RSS feed out of a directory listing
102   [[[1st_blog_post|blog/posts/2006/12/ls2rss]]]
103
104 ... these and others hacks of mine are described in the
105 [["hacks"_section_of_my_blog|tags/hack]]
106
107 # obsolete software projects and hacks
108
109 * **[[GNOME Awesome applet|gnome-awesome-applet]]** - monitor and control the
110   [Awesome window manager](http://awesome.naquadah.org/) from the
111   [GNOME](http://www.gnome.org) panel with a handy applet<br />
112   *(GNOME 2.x only)*
113 * **CamlP4 Hashtbl syntax extensions** [[[.ml|hashtbl_ext.ml]]]<br />
114   *(for 2003 OCaml, will not compile with camlp4 >= 3.10)*
115 * **Vim GnuPG support** - transparent encryption/decryption of
116   [GnuPG](http://www.gnupg.org)-encoded files within [Vim](http://www.vim.org)
117   [[[.vim|gpg.vim]]]<br />
118   *(this
119   [gnupg script](http://vim.sourceforge.net/scripts/script.php?script_id=661)
120   on Vim.org is way better)*
121 * **VimCU** - comment/uncomment lines of code in whatever language
122   [[homepage](http://www.vim.org/scripts/script.php?script_id=1208)]<br />
123   *(there are better alternatives now, such as
124   [The NERD Commenter](http://www.vim.org/scripts/script.php?script_id=1218))*
125 * **talKZ** - [talk](http://man.cx/talk) implementation with SSL support,
126   written in [Python](http://www.python.org) [[[.tar.gz|talkz-0.5.tar.gz]],
127   [[doc|talkz.ps.gz]] (gzipped PostScript, Italian only)]<br />
128   *(student project)*
129 * **ziff** - an offline [biff](http://man.cx/biff) replacement [[[.pl|ziff]]]