|
|
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
Wireshark'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
Wireshark
/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).
|