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