|
|
|
Public Sources
All the sources below come with no warranty whatsoever. They are
provided for your entertainment, and did work for me at the time I wrote them.
Many of them are just quick hacks. I have not tested them anywhere else, and
what they do on your setup is something I cannot foresee, although I honestly
think they are harmless and useful. They are copyright © Marcel Waldvogel. Please let me know if you find any of them
useful. Please note that the contact information in the files included here is
outdated.
If you like this, consider spending some time visiting John Chambers' source tree.
Index
- MacOS X:
importenv,
MacStumbler Vendor.plist,
manuf2plist
- Unix:
eps2rb,
404,
count_mcast_senders,
cpfacl,
dpr,
dhcpcd-plex,
error,
f,
fullsleep,
icon2xbm,
memperf,
mlock,
mounted,
openURL,
pidwrap,
planter,
redir,
reiserfsdump,
sofix,
sumup,
tablist2html,
unman
- NeXTSTEP:
evs,
idled,
setautodimlevel,
pp
- Atari/m68k:
Guck,
image rotation
- Importing
environment variables from
~/.MacOSX/environment.plist
into shells:
Tools such as SSHAgent
allow you to manipulate the environment.plist file which
defines the environment that will be set on MacOS X console logins.
Besides the uses for SSHAgent, it is also helpful for embedded
svn clients, which require
LC_CTYPE to be set before they allow the handling of non-ASCII
filenames. To avoid having to also add (and maintain!) this information in
~/.cshrc, ~/.profile etc. files,
importenv allows you to set the
shell's environment according to environment.plist, even
when doing remote logins via e.g. ssh.
Instructions can be found inside the short script.
- More complete
MacStumbler
Vendor.plist file:
This is an autogenerated file using
manuf-txt-to-Vendor-plist.pl from
Ethereal's
/etc/manuf.
As such, it recognizes many more actual vendors of IEEE802.11 gear, especially
motivated by the lack of Airport Express recognition. To use this list, replace the existing
Vendor.plist in the
MacStumbler.app
wrapper directory, more specifically in
Contents/Resources/Vendor.plist. After the next launch, it
will recognize many more devices and vendors.
- manuf-txt-to-Vendor-plist.pl
is a small script to convert an
Ethereal
/etc/manuf
file into a MacOSX Property List, to be used by
MacStumbler.
Some weird tools and one debugging library that are probably only useful to a
select few:
- eps2rb.pl converts an EPS file created by
any of the Ghostscript converters (such as eps2eps, pdf2ps using PDFWriter)
to a Ruby script using the
Ruby PDF::Writer
library. Feel free to use it.
An alternate output format using PDF::Writer's polygon functions can
be found as eps2rb-polygon.pl.
- 404
(404.cgi) is an example CGI (in Perl) for handling HTTP
404 "Not Found" error messages. Its original purpose was to display a Google
search dialog which has useful search keywords already filled in, as determined
from the failed URL. It is localized for German and English, adding your own
localization language should be simple.
404 was later extended to augment the mod_speling Apache module to work
with content negotiation. mod_speling has support for content negotiation. But
it is off by default and requires recompilation to enable, breaking automatic
upgrade paths and making it a hassle for web hosters that want to serve
non-content-negotiated sites/pages as well. This script provides this and also
does not add extensions that were not provided (unlike mod_speling).
- error (tarball) is a versatile, completely configurable
logging library. Using compile time and run time options, the verbosity of the
output can be easily tuned using multiple parameters. At compile time, the
overhead associated with the debugging statements can also be controlled.
Error further provides a syslog()-compatible interface to run syslog() clients
at different debugging levels without the need to have root access to
/etc/syslogd.conf.
- mlock (C
source, tarball) makes physical memory
inaccessible to other applications in a running system (if you have the
appropriate permissions, usually "root"). You can use that to compare the
performance of applications under different amounts of available memory.
- fullsleep (C source, part of the mlock tarball) sleeps for the full specified amount of time.
Unlike regular "sleep", it does not terminate when receiving a suspend signal
(i.e., when the user would like to background it).
- memperf (C
source, tarball) is a weak attempt at
checking access speed to memory using sequential and random accesses.
- pidwrap (C
source, tarball) makes the process IDs wrap.
You can use that to give your process a neat, small process ID. Other uses
include verifying PID-based locking or interprocess communication (IPC)
mechanisms. Unfortunately, it doesn't spare resources.
- planter (Perl
script, tarball) "plants" a lot of menu trees
in your web pages. This is used to automatically generate the navigational bar
all my web pages have from a single config file. Unfolding and ollapsing of
the subtrees is done automagically.
- mounted (C
source) runs a given program while making sure the given list of
automounted directories remains mounted during the process. This is useful for
some activities (typically involving
find or tar):
Often you don't want to name the automounted directories themselves, when the
directory scan also involves higher-level directories (then, the directories
that would already "naturally" be mounted would be traversed and possibly
archived twice).
- unman (sed
script; same without comments (to impress your
friends and have them confess their cluelessness :-) )) post-processes
formatted manual pages into Rich Text Format (RTF). Without the comments, it might be suitable
for an "obfuscated sed scripting contest", if sed
scripts were not obfuscated by definition
:-).
- cpfacl (shell
script) copies the Sun-style NFS file access control lists (ACL) from one
file or directory tree to another.
- count_mcast_senders (shell script) counts the number of senders per
MBone multicast group. It requires access to a dump of mrouted's cache (named
mrouted.cache).
- f (shell script) simple
script converting from degrees Fahrenheit to degrees Centigrade (or, as we
Europeans say, Celsius), or vice versa.
- spr, dpr, tpr (shell scripts: spr, dpr, tpr) are wrappers
for
lpr, adding a simple PostScript header selecting single-sided
(spr), duplex (dpr), or tumble duplex printing (tpr, duplex for a long binding
edge). The only parameter they understand is "-P" (with the printer name
immediately following, no white space allowed).
- dhcpcd-plex (shell script) provides multiplexing for the dhcpcd DHCP
Client Daemon. Instead of only remembering the last address assigned to a
particular interface and reusing it later, it remembers the address per
network card (as determined by the Ethernet MAC address). This is useful
when you roam between multiple locations and would like to retain the previous
address (and use a network adapter per location, i.e. a wireless card at home
and an Ethernet card at work). It becomes necessary if one of the network's
DHCP server(s) are misconfigured in that none of them consider themselves
authoritative. When your DHCP client then tries to renew the lease on an
outside IP address, your client will have to wait indefinitely for an answer,
as none of the local servers refuses your address. By multiplexing multiple
"configurations" and multiple network cards with
dhcpcd-plex,
this problem can be avoided, in addition to your keeping an assigned (and
remembered and maybe even beloved) DHCP address for longer.
- icon2xbm (shell script) converts a Sun monochrome 64x64
.icon file into an .xbm file.
- openURL (aka open) (shell script) opens the file or (partial) URL in KDE, using
the correct application (kfm/konqueror, kedit, ...).
- sofix (shell
script) fixes slide directories generated by StarOffice to look nicer
(IMHO): All HTML files end in
.html, carriage returns are
removed, the table of contents are reformatted to look more compact, there are
no references to "index" files, but instead to the directory itself, an uplink
to the parent directory is generated. In addition, the image is annotated with
an automatically generated ALT tag containing the text from the
slide (the text is limited to what StarOffice outputs for the ASCII version of
the document). The same text also gets put into a META tag.
- sumup (shell
script) sums up all the values from stdin or the given file. The separator
between the numbers should be tabs, spaces, or linefeeds.
- tablist2html (shell script) converts a tab-separated list into an
HTML table (with a few features).
- redir (perl
script, tarball) provides a minimalistic ad
banner filter. For more documentation, see the README in the tarball.
- reiserfsdump (perl script, tarball, README) provides a
dump-style
interface to (GNU) tar. This is useful if you have file systems for which
there is no native dump for your file system, but your backup
administrator can/will only call dump on your machine. For file
systems with native dump capability, it forwards the call to the
real dump (which needs to be renamed to
/sbin/dump.bin. I used this to allow our backup operator to dump
ext2 and reiserfs partitions on a single machine with a
common interface. reiserfsdump only provides a crude parser for the
dump command line.
Here you find a few tools that are (or were?) useful on NeXTs:
The charset used is Atari-specific (IBM DOS charset with some modifications).
All the documentation (including comments in the sources) is in German. May Babelfish be with you :-). The
directly-referenced source files have been changed to ISOLatin1, the tarballs
are in their original format. If you would like to translate a file in the
tarball, use something along the lines of my dos2unix. There is much more, but this is only useful
to people that still own and use an Atari ST/TT (I doubt there is still a
large enough population out there).
|