|
Things ive written and will, hopefully, one day finish and release. sorry, not release.
"leash upon the public in a wave of death and horror." or something similar.
- Qmail alias redoer: I got sick ( really completely sick ) of having a
bazillion .qmail- files cluttering up /var/qmail/alias so i
haxed up qmail to look in a directory for non-dot files. for instance,
for isthereanybodyoutthere.org's email ( i own a lot of domains. i dont know why.
its a sickness )services, i have /var/qmail/alias/isthereanybodyoutthere/. underneath that
i have, say, 'postmaster', 'webmaster', 'info', 'idiots', etc. these would
correspond to .qmail-isthereanybodyoutthere-info and the like. but doing an ls
is sane now. woo. go me.
- more qmail hacks: because i own isdead.com, and because
there are a whole slew of FUCKING IDIOTS out there using isdead.com emails,
i get a lot of bounce notices. i hate getting bounce notices. even more
than i hate getting spam, which i really dont like at all. so im testing
a little mod to qmail to make sure an account ( or alias or virtualdomain alias ) exists before accepting the mail.
if it doesnt exist, the envelope sender will be added to badmailfrom and the
address added to badrcptto, thusly eliminating any further emails from
the sender and to this user, thereby ridding me of mailer-daemon messages.
- nameservice in XML: due to the company i work ( presently, as of 2001-07-02 ) for buying
tons and tons of domains ( .com, .net, .org, and now .biz and .info because
network solutions aka verisign sucks my fucking anus ), i had to come up with
some easy way to handle nameservice. at first it was a simple sh script
that pulled a sed on a template file, changing @DOMAIN@ and @IP@ to arguments
passed in. but thats kinda cheesy and it didnt allow me to flex my XML muscles
enough. the whole point of XML is to have things in one format then be able to
send them off to different apps, right ? so anyway, this became a bit more than
just nameservice in XML -- qmail configs, nameservice, vpopmail users, rev nameservice ( if you're an admin that doesnt have
reverse nameservice set up, you're on my shit list. i fucking hate when people dont
have rev ns. go do your reverse zone file so i dont fucking hurt you ), and
probably more things, like inventory of a machine, etc. all in a nice EZ to use
web frontend. nameservice is now done by applying an XSL stylesheet
to the 'master' XML file ( which is growing quite large now ). i could easily
move this off to a database, but then you 'lose' most of the benefits of XML.
- logfile grabber and parser and mucker-upper: did i mention my office
has a 300G raid5 system? heh. we put all of our access logs on this
raid since, well, its fucking huge. so the goal here is to get an access log,
run it through analog + reportthingy ( i forgot the url already. shit. ) and
generate a report based on the logfile, then move the report around and
move the log into a holding pattern somewhere. auto-gzip files, gracefully
handle errors ( our isp who originally set this up as a sh script fucked up
majorly on it ). all in all this really isnt all that much of a bfd, but
im relatively certain newbie admins with no clue will eat it up and email
me bug reports thus causing me to kill the whole thing. because thats the
fun of 'open source'. you know, one could make up the SGPL in which you, the programmer,
state that the user's next born child must be named Fucknut Idiot and
99% of the stupid fucking users wouldnt have a clue and merrily use the program.
because nobody pays attention to licenses. i do. i hate the GPL. despise
it. everything it touches, due to RMS' arrogance, has to become 'free' software.
fuck you, stallman. i have bills to pay. writing free software isnt
going to pay those bills. "but why not write the s/w for free and sell your services?" do i look like a fucking hooker?
- BSD SYSV init scripts: because SYSV init 0wnz. flame me about it
and all, but its nice. /etc/init.d/someservice restart. /etc/init.d/someservice start. /etc/init.d/someservice stop. cmon now.
thats just nice. and FreeBSD and OpenBSD both lack it. so i wrote scripts
to handle it. which is a Good Thing(tm). because its nice.
- qmail-queue.pl: because some people just cant write portable software.
look, people, ( not DJB, since he writes surprisingly decent code ) -- you CANNOT
compare an int to a pointer. ok ? sure, it may work Just Fine on 32bit
platforms, but not EVERYONE HAS A 32BIT PLATFORM. some of us are using 64bit
platforms, ala Alpha and Sun UltraSPARC. and on the Alpha/USparc, a pointer is
8 bits. an int is 4 bits. this poses a problem. ok ? and dont go redeclaring
fork() to return an int. IT DOESNT RETURN AN INT. IT RETURNS A pid_t.
there may not be a difference -- pid_t may be #typedef'ed to an int. THEN AGAIN,
IT MAY BE #typedef'ed TO A long. and a long on 64bit boxes isnt 4 bits. its 8 bits.
so cmon, dont piss people off. write good code. especially so i wont have to
spend a week rewriting qmail-queue in perl just to get filtering happenning.
because somebody ( and i wont mention any names ) kept redeclaring things and
making them not compile under Solaris and making my boss dare me to rewrite it
which, of course, i did because it was a dare and i have to follow through on dares.
- i need to write something that'll do my laundry for me. it'll
probably be in perl.
if i do get around to putting anything on this page, it'll fall under the DBM License. aka the Don't Bother Me license. in other words, if it breaks, you get to keep both pieces. and if you tell me it broke, i get to rape your goldfish or something equally amusing.
thus ends this page.
|