Pre-processing of TeX files for camera-ready submissions
This script, TexProcess.pl takes the
main.tex file and recursively pre-processes \input, \include,
\includeonly and \bibliography commands, and produces a single
.tex file containing all the actual text in your paper.
Gmail macros script
This greasemonkey script is a
slight modification ('z' does "delete forever") of the original kick-ass version found
here.
All credits go to these guys, of course.
Hack list
Things I am doing or would like to do sometime soon...
Implement a code re-writing, refactoring or analysis infrastructure for
C++. Parsing C++ is a major problem. Update: The Elsa/Elkhound parser
seems to have solved this problem. There's a whole bunch of parser links on
that page. OpenC++ is something worth investigating as well.
Implement a fuzzy parser for C/C++ -- this can be used by various editors
for supporting Intellisense. Semantic
does this for emacs, however I think it is very slow because it uses elisp
for everything. Argh! If anybody has good ideas (or know existing
infrastructure) for doing this thing, drop me a note!
Write a firefox extension which can convert the rendered HTML objects into
SVGs or some other vector format so Illustrator or Inkscape can read it. This
will allow better design tweaking, perhaps?
Implement conversation and tagging (like gmail) library for linux mail
clients? This would be a very small piece of code really, but I feel its need
so often now. I just moved all my email to GMail thereby circumventing
this problem. :P
Distributed programming is hard. I have always felt that one needs the
same code running in a simulator and a real TCP/IP stack to find out bugs.
Many times, it is very convenient to go back and forth between these, and use
the simulator finally to iron out the bug (since it becomes easily
reproducible)... However, writing code on top of such a layer is a mess,
because you really want the layer to be very expressive (I speak based on
experience), and you want to use all that the OS can, for flexibility and for
performance. So, can we take a piece of code and do something to it so that we
can automatically run it in one process context? I am not talking of
emulation here, note.
Gnuplot is nice and quite flexible. However, every once in a while you
feel that the output quality is not spiffy enough. You want to
produce very nice looking graphs which Excel/PPT "can" produce. Hack gnuplot,
use cairo, add anti-aliased primitives and output to PDF and X. Wouldn't it be
sweet? :)
gaim + voice? :) What's up with gnomemeeting? There are a bunch of linux
softphones. What do they do?
Hack gdb's stacktrace printing code to create a smaller library allowing
you to dynamically and quickly print stacktraces while the program is
running. Perhaps, one can use it to build other dynamic analysis routines, who
knows!
Read Dawson Engler's papers.
Contribute to GNU ld and add true incremental linking support. This would
be really useful; however, I should first read background material on the
topic.
The DJ interface is complete alright. But it is made up of a large number
of very small components. Perhaps, I should re-write most parts of it in C/C++
now that the design is clear and make it a robust release-able GPL'ed
software. I am thinking of re-writing it in Ruby-on-rails just to see what
the hoopla is all about.
Complete the DJ-interface to the
personal Moojic server.
Oh well, Quake III has been
GPLed now! Id software++. Decode the Quake III network protocol. The code is working (works as a
fully transparent proxy between the server and client and can understand the
complete conversation); want to integrate it into Ethereal.
Integration of libgaim within XEmacs like 'zephyr-mode'.
libasync
Grab libasync, version 0.8pre from here. This version is produced from
the SFS CVS repository on Apr 4, 18:25:03 EDT. The parent directory contains patches to the appropriate files in
the SFS CVS distribution -- these patches might be useful to create future
libasync distributions as the SFS repository keeps on getting updated.