htmlize {Some of my favorite hacks (as of Dec '99... :-)} {
[P [IT Warning: this page is quite old -- I wrote it around December
'99, I think, and haven't updated it much ever since...]]
[HLIST1 {Some of my favorite hacks:}
[J [AL eev.el], of course\; see the [MYL eev-manifesto.html eev
manifesto], my [MYL emacs.html emacs page], and [MYL
eev-mails.html this page], thas some nice technical
descriptions.]
[J a [AL .gdbinit] to let eev.el [AL {eev.el gdb} support GDB].]
[J [AL {.zshrc Snarf} psne], [ES snarf snarf.e]: support for
downloading stuff from the net, in a way that preserves (well,
almost) the original url: http://foo/bar becomes
\$S/http/foo/bar, where [AL {.zshrc Snarf} \$S] is /snarf at my
home machine, ~/snarf elsewhere. A one-line [ES {slink
wget_patch} change in wget] to make it treat these urls better\;
a small [ES {lynx lynx_patch_turbo} patch to lynx] to suppress
most \"file://localhost/\"s.]
[J an [AL {.zshrc expect_isp} expect script] to connect to my ISP
using minicom\; it works even on computers with strange modems
and horrible Linux distibutions like Conectiva. When you type
[TT ~d][IT nn], where nn is between 00 and 19, it dials one of
the phone numbers from a list\; when you type [TT ~][IT [Q1
\[Enter\]]] it exits minicom and runs pppd.]
[J a [AL {.zshrc pdsc} shell function] to open the source of a
debian package on a standard place. I keep copies of the
standard debian cds on my hard disk, so using this function is a
snap.]
[J a [ES {kernel compile22} script to compile the kernel] that
uses a trick with timestamps to determine which source files
were really used, and runs glimpseindex and etags on them\; then
we can search them with [AL {.zshrc glimpse} k22glimpse] and
find-k22tag.]
[J [AL MTA/vtutil vtutil], [AL MTA/vtutilsh.c vtutilsh.c], and
their [AL MTA/Makefile makefile]: a way to change some
characters on the console font and to make the compose table
handle them\; these characters can be displayed by [MYL emacs.html
emacs], even [AL {.emacs glyphs512} with colors], and they can
be interpreted specially by TeX. Vtutil can also be set to take
a [MYL emacs.html screenshot] every time you press Alt-up ([ES
{page capture_screen} kbrequest]).]
[J My first \"real\" program in Tcl/Tk was an editor for
commutative diagrams\; it is in its [AL LATEX/diaglib.014 14th
incarnation], which is a major rewrite, and it should be
announced on [AL http://www.freshmeat.net/ freshmeat] soon. Take
a look at its [MYL diaglib.html blurb].]
[J This set of pages is prepared from a few \"source\" files (see
[MYL TH/ [TT TH/]] and the \"(src)\"s [MYL map.html here]) using
the Tcl scripts [AL TH/Generate Generate], [AL TH/Htmllib.tcl
Htmllib.tcl] and [AL TH/Files.tcl Files.tcl]\; they are called
from a [AL TH/Makefile Makefile], that generates and includes
another makefile... and these makefiles are called from [ES page
these e-scripts], that [ES {page upload_changes} upload the
files that have changed] and [ES {page twu_minimal_remake} do a
remote remake]. At my home machine I make the pages with
different parameters (running [AL {.zshrc makeL} [TT makeL
all]]), to make most links point to their local copies at [TT
/snarf].]
[J the script [AL TCL/attachgdb attachgdb] checks its parent
process, then its grandparent process, etc, etc, until finding
one with a given name, \"make\", say\; then it calls gnudoit to
make the current emacs session attach a gdb to its pid.]
[ES {emacs tcsh_export} an expect script to understand how to set
and export variables under tcsh.]
[ES {x auto-xf86config} an expect script to configure (or
reconfigure) X.]
[J Slink's xzoom doesn't respect gravity specs very well\; [ES {x
xzoom_hacking} here] are some notes on hunting this bug.]
[J a [MYL .mapleinit] and an [AL EXPECT/eeg Expect script] to add
eev support for the non-free computer algebra system Maple\;
ways to extract to text files the [ES {maple decode} Maple
source for some functions] and [ES {maple ohm} some help
pages].]
[J [ES {forth pforth-custom0} When I was trying to glue PForth to
Tcl] I had to understand how some C files were being
preprocessed\; I used [TT gcc -E] and then a filter written in
awk to strip off the parts that came from files from [TT
/usr/include].]
[J I'm working on something called (rather pretentiously) [MYL
forth.html Project Forth Everywhere]. The code is small and it
is a lot of fun, even at its current stage.]
[J A [ES {mini plin} modified Debian rescue disk] that lets me [ES
{hw-parport plip_from_angg} connect my main machine to a
linuxless 486] laptop using a plip cable (also called a
\"parallel laplink cable\").]
[J An [ES {expect split_the_expect_manual} e-script] that splits
the Expect manpage in one page for each Expect command.]
]
}
# (find-fline "linux.th")
# compile the kernel
# diaglib
# expectgdb