Programs and patches
My comments on coding and RPM packages
are seperate.
If you're looking for help with your code, you should really check out stackoverflow,
its a fantastic resource and I use it semi-regularly myself. You can post questions about your code or algorithms, answer
others' questions or just browse it for answers to questions you haven't even had yet.
Coder
I write a lot of random software. Most of it is scripting for the servers I administer; database backup programs,
DNS update scripts, rsync wrappers, ssh tunnel services, E-mail analysis, and all sorts of other little goodies. A lot
of what I write is written for clients and I can't share it here. When I can and I think its worthwhile though, I
post some tidbits here for Google to pick up and disseminate to those looking to do something similar. I hate having
to re-invent the wheel when someone else has done it already, so I hope I can help in the same way.
Random updates
- Published my Samba Makefile and script that I use for managing smb.conf updates.
- Added a quicky command-line I just wrote to list changed files between two directories.
- Finally decided to try my hand at Android development; beta for
SubnetCalc, an IPv4 subnet calculator is available for download.
- Added a Zope entry for related code
- Just wrote up an SNMP data collector in Python for
QoS/TC data on Linux as returned by
'tc qdisc show'. Apologies, it isn't efficient
or awesome, it just works. Anyone familiar with writing MIBs could please generate one.
- I use honeypot addresses for collecting spam on purpose.
- I also use qmail on my mail servers, and am using some patches that don't always apply cleanly
together so you can download my copy of netqmail 1.06 with the TLS
patches and virusscan patches
merged as one source here as per this
guide. I take no credit except for hosting the result. [ bz2 ]
- My first libcurl program, I whipped together a simple tool to use for piping command output
to fpaste.org for debugging purposes I called fpasteit. Please don't hammer their server
unnecessarily.
- Packaged openswan 2.6.15 for Fedora 9 since only 2.6.14 is available and removed the vendor patch
breaking %defaultroute support.
- Frustrated at existing options, I created a quick iptables
blocklist importer for use with P2P style IP blocklists like those at bluetack.co.uk.
- I wrote an interesting (to me) remote image loader extension for Python.
In combination with a script, it dynamically downloads remote images and caches them on your own site as
with the small site thumbnails on my links page.
- A small patch against publicfile-0.52's ftpd server to correct
parsing problems I've had with urllib based tools like Anaconda.
- RegistryDict recipe from the ASPN Python Cookbook, with fixes applied.
- Quick sed + dc script based on duff to calculate potential space savings by eliminating duplicate files in a tree.
- Iterator for MySQL results in Python using MySQL-Python
- MySQL code samples, examples, etc.
- svstat.c.diff - a patch to svstat.c from the stock daemontools-0.70 distribution to return non-zero values on error.
- dnscache-motion.sh - I run this on my dnscache gateway machines to report statistics by E-mail about how effective my current CACHESIZEs are. N.B. I've just reimplemented this in Python using my new pytai library below.
- dnscacheproc - This is my new Python-based dnscache log processor.
- dnscache-root-cron.sh - A shell script that is usable from cron (for example) to update your dnscache root server IPs, based on JDBP's root update commands.
- qmail-notify.c.diff - a patch against qmail-notify.c from qmail-notify 0.91 by Bruce Guenter to allow for MIME encapsulation of the original message.
- hextoip.pl.gz - a small PERL program based entirely on Faried Nawaz's dnscache log formatter that translates IP addresses and port numbers from Hex to Decimal. It is designed for use with DJB's dnscache, tinydns, qmail and any other program that uses similar output.
- dnscachedist.pl v0.92 - a PERL program to generate statistics from dnscache logs (Sample output).
- SPAMCheck.py v0.10 - a Python program that scans E-mail headers' Received: lines against RBL-style lists. It adds a configurable X-SPAM: header to notify the user of potential spam for client-side filtering. I am re-implementing this in C now, using adns for parallel lookups.
- Convert hexadecimal Unicode character values to UTF-8 with utf8conv 1.1.
- Get swap and disk paging stats for MRTG graphing with procstats.pl. Use with -h for help.
- A command-line to fetch all the missing signing keys on your GnuPG keyring:
gpg --list-sigs | grep User | sed 's/.\{11\}//' | awk '{print $1}' | sort | uniq | xargs -n1 gpg --recv-key
- Miscellaneous short scripts that all fit on one page of code and examples.
- readline 4.2 pre-patched with the jinput patch.
- apcupsd scripts for monitoring and graphing stats using RRDTool.
- My quick and dirty GUID Generator uses
/dev/urandom to generate unique IDs as hexadecimal values.
- A patch to RRDTool 1.0.33 to make upper and lower limits individually settable.
- pytai.py [ tar.gz | tar.bz2 ] is my new Python TAI class and library for use in any Python program needing to deal with TAI timestamps and values. Assistance welcome. Documentation (terse, pydoc2-generated) here. To be aprised of updates, subscribe on freshmeat.
- gpgscripts.txt some scripts I use with GPG
Page Copyright © 2011, Michael T. Babcock.
All Rights Reserved.
To contact me, send an E-mail to sawyoursite at this domain.
If you'd really like your mail server reported for spam,
send me some junk mail to junk-yum@mikebabcock.me or
devnull@mikebabcock.me.
This site powered by djbdns