Here are a few of the software projects I worked on in the early 2000s:
mailpie 0.1: full-text search of large e-mail archives
mailpie is a suite of programs for commandline full-text search of large e-mail archives.
l2h: A new converter from LyX to HTML (updated)
The internet is littered with abandonded converters from Latex or LyX to HTML, so why not add one more?
Skencil output converter for emc2
I've written a g-code output filter for the Python vector drawing program Skencil, formerly known as "Sketch".
Onscreen Crosshairs in tcl/tk
I was staring too long at a screenshot of a graph on some web page, wishing I could tell if two things lined up. Well, inspiration struck, and this program was born. Two windows—one that is one pixel wide, and another that is one pixel tall—are created, and they follow the mouse around every 1/10 second or so. They're displaced by one pixel so that clicking will hit the underlying window, not the crosshair.
I apologize for the changing colors, since xor isn't available with this simple method of drawing the lines, it's the only way to be sure to get contrast. I considered making the color depend on e.g., whether SHIFT is pressed, but if Tk provides this information to a window that doesn't have focus, I overlooked it in the manpages.
Aether: getting rid of the extra URL component
Aether likes to have its own directory component, which I called "index.cgi" on all the sites I've set up. Finally, I have changed my webserver configuration to get rid of this need, while keeping the old site layout working (I think).
pam_ssh

A console login mediated by pam_ssh
The only snag I ran into on FC2 was that the script in /etc/X11/xdm/Xsession unconditionally started a fresh ssh-agent, even if $SSH_AGENT_PID was already set. I changed the SSHAGENT= line to read [ -x /usr/bin/ssh-agent && -z "$SSH_AGENT_PID" ] && SSHAGENT="/usr/bin/ssh-agent" and then everything worked. I'm now using it for console and gdm logins on one of my machines.
On FC2 I built the rpm from the tarball. It looks like FC4 has one available via yum.
Update 2006/01/09: I was having trouble with pam_ssh not leaving an ssh-agent running the next time I logged in after a crash (dead battery). I discovered that the problem was that leftover ~/.ssh/agent-* files would trick pam_ssh into thinking that an appropriate ssh-agent was already running. I now remove these files in /etc/rc.local when booting.
Reverse Engineering the Samsung ML-2010 laser printer
Ingrid recently bought a Samsung ML-2010 laser printer. The price was attractive, and it seems to be a good printer. However, there is either the choice of a an open-source driver for a different printer model, one which doesn't support the 1200x600DPI mode, or a closed-source driver which comes on the included CDROM.
I'm going to try to reverse engineer the new format, which is called "SPL II" in the GUI and "QPDL" in the generated file (@PJL ENTER LANGUAGE = QPDL). My approach is to print a postscript file using the binary driver, saving the result to a local file. At no time do I plan to disassemble the binary software provided by Samsung.
Netflix to Aether converter
I use the code below to create the netflix sidebar on the front page of my blog. I offered it to Michael, so I suppose I'd better post it here.
It features elementtree-based parsing, timestamp-based caching of the rss file (not the parsing result), and output into aether markup.
Files currently attached to this page:
| nfq.py | 1.3kB |
Decyphering an assertion
A few weeks ago, I posted a humdinger of an assertion.
A little investigation shows that this is actually the very legible
assert (strncmp (repository, current_parsed_root->directory,
strlen (current_parsed_root->directory)) == 0);
Read on for the sordid details
of glibc's internal "optimizations".Stippler 1.0 source release
I finally got around to writing my own dithering algorithm, so now all parts of stippler are under a clear GPL license.
Stippler is software for turning greyscale images into "stippled" images. I have have discussed it before on my blog.
Stippler is based on the reasearch of Adrian Secord, but the implementation is my own.
Files currently attached to this page:
| stippler-1.0.tar.bz2 | 7.9kB |
The best assertion ever
Hershey Vector Fonts
glif: generate client-side gif files from javascript
Fuse-python 0.9 rereleased under LGPL
Timestamp-based caching for filesystem-based dynamic websites
Aethertool 0.6 Released
New version of aethertool (formerly called commandline tools for Æther)
Controlling EMC with a joystick
Wikipedia-like floating thumbnails for Æther
Inter-entry links for Æther
Comments for Æther
Swishing revisited
Aether commandline tools v2
Commandline tools for Æther
vgaxy -- create XY scope displays with your VGA card
Vector patches for xmame 0.94
Setting the NET_WM_ICON for Tkinter application windows
mail2page.py for vmobl.com [updated 2005-04-21]
- Stippler: Turning photos into dots
- AXIS: A modern user interface for EMC
- nf: A screen builder for Tk
bullet novelwriting: A program for generating texts based on a grammar (like the dada engine). I used it to implement my parody of freshmeat.net which is now defunct.
Website Copyright © 2004-2024 Jeff Epler