htmlize {Some of my favorite hacks} {
[HLIST1 {Some of my favorite hacks:}
[J [AL eev.el.html eev.el], of course\; see the [L
eev-manifesto.html eev manifesto] and my [L emacs.html emacs
page].]
[J a [AL .gdbinit] to let eev.el 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 [ES {.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 [L 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 [L 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\; I still use it a lot. It consists of [AL
LATEX/diaglib.013] and [AL LATEX/basiclib.013], that are called
by the chunks at [AL LATEX/desenhos.013] when I use [AL {.emacs
diags} these ugly emacs functions]. [AL LATEX/diaglib.014 Here]
is a prototype of a cleaner substitute for diaglib.013 and
basiclib.013.]
[J This set of pages is prepared from a few \"source\" files (see
[AL s/ [TT a/s/]] and the \"(src)\"s [L map.html here]) using
the Tcl scripts [AL s/Generate Generate], [AL s/Htmllib.tcl
Htmllib.tcl] and [AL s/Files.tcl Files.tcl]\; they are called
from a [AL s/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 [AL .mapleinit] and an [AL EXPECT/emaple 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 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.]
]
}
# (find-fline "linux.th")
# compile the kernel
# diaglib
# expectgdb