Archive for the tag 'linux'

How theplanet.com adds a new hard drive to a server

I ordered a new server from theplanet.com (whom I really like, so don’t take this as a dis — I’ve been a customer for over 5 years, and plan to continue with them). So the new server is supposed to have 2 hard drives. Turns out the provisioned it with only one, and then told me, oops, we need to order the hardware. A few hours later (yes, really–I think they must have run out to Fry’s), they said it was in stock, and needed to take the machine down to install it. Fine, I said do it anytime. They actually did start about 30 minutes later (and this was the middle of the night), while I was online. While I was yum-installing packages. Sigh. Here’s from the lastlog (remember these are in reverse order, and some data removed for my protection :)

reboot system boot 2.6.xx Thu Mar 6 03:46 (00:01)
root pts/1 63.xx.xx.xx Thu Mar 6 03:37 - crash (00:09)
root pts/0 63.xx.xx.xx Thu Mar 6 03:29 - crash (00:17)
root pts/0 spyglass.dllstx4 Wed Mar 5 07:26 - 07:26 (00:00)
root pts/0 spyglass.dllstx4 Tue Mar 4 11:55 - 12:02 (00:07)

Hmm, if they could log into it the previous day, it really doesn’t take much longer to just log in and run ’shutdown’, huh? Apparently flipping the power switch is a lot easier. Alright, I can deal. Anyhow, they did install it, so I log in and happen to do ‘history’. Looks like the tech wasn’t too sure of him/herself:

1 fdisk -l
2 exit
3 ls
4 exit
5 fdisk -l
6 reboot
7 fdisk -
8 fdisk -l
9 reboot
10 fdisk -l
11 df
12 mke2fs ext3 /dev/hdb1
13 ls
14 mkdir /Backup_drive
15 mount -t ext3 /hdb /Backup_drive
16 fdisk -
17 fdisk -l
18 reboot
19 fdisk -l
20 mount -t ext3 /dev/hdb0 Backup_drive
21 mount -t ext3 /dev/hdb0 /Backup_drive
22 mount -t ext3 /dev/hdb1 /Backup_drive
23 df
24 reboot
25 fdisk -l
26 ls
27 cd ..
28 ls
29 fdisk -l
30 reboot
31 fdisk -l
32 cd ..
33 ls
34 mount -t ext3 /dev/hdb /Backup_drive
35 mount -t ext3 /dev/hdb1 /Backup_drive
36 fdisk -l
37 history

Wow, that’s a lot of fdisk’ing. And kind of a lot of tries to mount it, considering you just ran fdisk so much. And hey, you didn’t add anything to my fstab or similar… but you did create a silly directory in the root of my other drive. Feh.

Ah well, at least it’s installed and seems to be working fine, and the turnaround was really quite fast to get it done.

Spamassassin upgrade makes for a huge improvement

I run Spamassassin on my server where I have my primary email account (yes, I still run my own email server, I know, that’s so 1995). Anyhow, I haven’t upgraded Spamassassin, or its rulesets, in about 3 years, and the volume of spam that’s been slipping through is really getting insane. Sure, the clients can weed out a bunch of it, but their rules aren’t as sophisticated as everything that SA can do. I finally took the plunge and upgraded it, which actually was pretty painless considering I am running an ancient version of RH (really ancient, don’t ask) and was moving from an old RPM to a new source-build. I still had to upgrade probably a dozen or more CPAN modules, although that generally went smoothly. And of course now, I actually set up a cron job to update the rules, which should keep things working nicely.

The results? Instantly, I saw a massive improvement in terms of what SA was able to correctly flag as spam! I got my inbox back! I estimate it’s catching about 95% of the spams that were slipping through prior to the upgrade, now. There’s also a couple false positives I need to deal with (from Bacula, most concerningly), but that is the next mini-project.

As a nice bonus (ok, the real reason I was doing this), the mail on my iPhone is now much more hammy, which makes it infintely more useful as a mail-reader!

VNC working again on Ubuntu 7.04

Well, I finally got VNC working again after it lost its mind during the 7.04 upgrade, although with a different binary. Still not sure what’s up with tightvnc, but at this point I guess I don’t care to solve the root cause. Based on this Ubuntu bug report thread, I tried the RealVNC server build, called vnc4server. A simple sudo apt-get install vnc4server and tweaks to my start/stop scripts, and I was in business again. Whew!

Even better, I got some added functionality that is really helpful! The vnc4server package includes a ‘vnc4config’ app that, while running, allows clipboard data to be passed back and forth between the host and client. It works, and it’s nifty. I was trying to figure out how to start that up in my xstartup (it ends with “exec gnome-session” so lots of luck there) but it turns out the gnome session itself, can help. You can specify startup programs at System -> Preferences -> Sessions. Seems reasonable. It’ll probably start up when I’m at console as well, but should be harmless, I’d expect (will test that next time I actually need to use the console.)

Getting bacula working

I spent probably 6 hours today trying to get Bacula working fully. I’d never tried it, but have been thinking about trying to implement a “real” backup system for some time. By “real”, I mean, something that can back up the most important bits of my two Macs, my remote webserver, and even bits of the RAID5 array that are “super critical”, to a separate harddrive, handle incrementals, and not involve lots of hackery on the clients. Bacula does seem to fit the bill, and I picked up a 400G eSATA drive to add to the server last week for about $100 to be the backup media (tapes? we don’t need no stinkin’ tapes!)
Read more »

I think my new UPS sucks.

So I bought a UPS at Fry’s the other night (ironically, at the same time the power was going out at my house!) for the RAID box in the garage. None of the sub-$100 UPSes seemed to have official support for Linux from a software standpoint, and obviously that’s a big deal since I want it to shutdown cleanly in the case of power failure. I also wanted line conditioning, as the outlet I’m plugged into is right next to the washer and dryer, and although it’s likely a different circuit (haven’t tested this yet though), I’m sure when the dryer kicks on it could cause voltage fluctuation nearby.

So anyhow, it seems $70 was about the cheapest for line conditioning, and I didn’t want to spend much more, because I don’t care about lots of sustained wattage–after all, this is just a mostly-idly headless Athlon XP, and that’s it; I don’t want a giant UPS just to keep it running long enough to safely power down in the really rare occasion we have an outage (so far we’ve only had one in the 15 months we’ve lived in this unit.) I ended up buying the Belkin F6C550-AVR with USB connectivity. It’s got a nice form factor, reasonable power capacity, and votage conditioning. I figured, there’s gotta be a opensource driver/daemon for the monitoring of this baby, right? Certainly there must be standard protocols these things speak, if not straight ASCII… wrong.

It turns out, the UPS landscape is a fractitious, highly proprietary place. Basically NO company makes one with a simple serial ASCII protocol, it’s all binary (well, OK I can understand that), unpublished (for shame), and inconsistent. There are some projects for opensource support of monitoring various devices, the best of which seems to be NUT (Network UPS Tools), partially funded by one of the enterprise UPS players (short tutorial on NUT with Fedora here.) But the Belkin support is pretty slim, and it doesn’t look like the one I bought even has much monitorability beyond “hey, the power’s about to go out” and “my battery’s dead”. This just won’t do. I was about to pack it up and head back to Fry’s, but decided I really could use another UPS for the Tivo etc., anyhow, and I don’t care about the monitoring aspect for that (ok, also the box is kind of heavy and I didn’t want to go through Fry’s Return Line of Hell–in other words, the tactic works–they’ve helped convince me to keep it to avoid the hassle of the return process. Damn you, Fry’s!)

This time I’m going to be smarter about it and do more research up front, like I usually do. I just didn’t think UPSes would be (could be!) that big a deal to get support for. The NUT folks have a compatibility chart, so I think I’ll try to pick something from the intersection of that list and upcoming / current deals on Techbargains. Feh!

Upgrade fun

I really wanted to try out this WordPress plugin called ImageHeadlines that created images of your title headlines from any TrueType font. It’s a neat idea, and you can make your headlines really look cool with dropshadows, etc. One not-so-minor problem: my PHP install doesn’t have a working FreeType installation. “Well, time to fix that,” I figured. Read more »

Biting the bullet and upgrading to PHP5.1 on prince.org

Due to some other work I’ve been doing in PHP5, and wanting to host on the prince.org server, I finally decided to bite the bullet and upgrade the server’s PHP (for the sites). I had been dreading it, because I knew the eAccelerator wouldn’t work properly with the PHP 5.1 code, and I have my misgivings about APC, (even though we use it in production at Yahoo everywhere) but I desperately need the cache. Plus, the legacy “org” code was written in the PHP4.0 days, so you know there’s going to be issues… like all that wonderful “you really can’t return a reference here… now that’s an error, we used to ignore it (and sometimes segfault)” thing.

I did recompile it though and slam it up, along with building the APC (”pear install apc”, whoo hoo… except for the gotcha in the docs, if you can even find them… it’s an “extension” now not a “zend_extension”). I also built in both the mysql and mysqli stuff (old code uses my own large mysql wrapper class, new code uses ADODB with mysqli underneath for cursors, etc.) All went pretty
smoothly, once I hunted down and killed a rogue line in my php.ini.

I did have a couple places where I had to change the return values of functions to not be references, and now I’m getting a lot more undefined variable warnings (my code sets error_reporting(E_ALL), and apparently it’s stricter now), but basically all went pretty well. And so far, I think I actually like APC better than eAccelerator. I definitely like that some of the Yahoo extensions (for loading constants and storing arbitrary values in the cache) are now exposed. Yay Open Source, yay Yahoo.

So far, so good. Only thing left is to get a weird older version of the Pear class NNTP_Realtime working again (it went missing, after the PEAR install on PHP5, oddly). I need this for some of the Usenet interfacing code. But hey, that shouldn’t be too bad. Way to go PHP5!

Real servers = real loud

I bought a server last night from a guy off Craigslist. Great deal, but there’s one thing I forgot about… “real” servers are “real” loud. It’s been a while since I had a 2U box cranking all its fans in a home setting, and it’s making me wonder about the viability of this solution as a “throw it in the closet” server. Hmm.

Oh, the machine specs are dual-P3 550, Intel LX440 motherboard, 1G RAM, SCSI (9G and 36G disks installed). I’m planning to toss a 250G IDE or two in there as well and make it the superduper LAN mp3/file/cvs server/linux development box/mysql slave (backup) to prince.org’s dataset.

The guy who had it previously tested it with NT, and that lasted on it about one hour at my place. Which is about 45 minutes longer than it would have been, had I been able to find a floppy disk (ANY floppy disk) to turn into a Fedora boot floppy. I needed that because I only have Fedora on DVD, and this server of course just has a CD-ROM drive (that may change in the future…) Anyway, I finally just burned a CD with the boot.iso image off the dvd, pointed the localhost config on Apache on my windoze box at the Fedora DVD, and booted into a HTTP install on the new server. Took a while (for kicks I said “Everything”… so now I even have Russian support for KDE, etc.), but worked fine.

A little disappointed that the Bogomips for each processor is just over 1000 (according to /proc/cpuinfo) and on my rented prince.org server the single CPU is around 4000 (P4 2Ghz). I’ll have to experiment with a sequence of mysql and apache operations though, and see how they compare under “real” situations, or a vaguely reasonable fascimile. Probably the performance of this thing, properly configured (utilizing 3+ spindles, instead of the 1 IDE device on the real server now) will still kick the rented box’s ass. I’d love to be able to buy a few more cheap boxes like this and throw ‘em in a local colo, so at least I could control my own servers, instead of relying on folks 1000 miles away… and even then, not being able to throw a bigger harddrive in, etc.

iTunes for ‘doze rocks

iTunes on the mac was pretty cool. iTunes on windows is even cooler. Why? Because I use a PC way more than I get to use Val’s mac :-)

I guess I didn’t think the sharing would work, right off the bat, but it sure does, to Mac iTunes users, no matter. This is good news–at home, my PC is the one with all the CDs ripped to it–my wife’s PowerBook only has a few CDs; now she can stream them off my harddrive if I leave iTunes on, and she can use my PC to play stuff if she wants it loud (it’s connected to the big Logitech Z680’s in the livingroom).

Second point–I installed it at work on my T30 notebook, and realized that the mac users upstairs in the graphics department have weird taste in music, but cool. Interesting to check it all out.

Of course, this is standard out-of-the box stuff. Nothing mind-blowing. What we really need is to be able to stream stuff off the linux box sitting next to me. Someone must have done that. Yes, they have. A little compiling and tweaking later, I’ve got it working for me. Shweet. Thanks to this story at macoshints.com for the juicy bits). Basically, follow that article… I was doing this on RH9, no big deal, only thing that wasn’t clear from the article is that you do the build (make os=linux) in the mDNSPosix dir of the Rendezvous download from apple, and then the binaries are in build/. (I did sudo cp build/* /usr/local/bin/). Also, you’ll need to add /usr/local/lib to /etc/ld.so.conf if not already there (and then run ldconfig as root.) Make sure you get daapd going (requires building a couple smaller libraries first, and make install’ing them.). Copy the daapd-example.conf to /etc/daapd.conf, and configure. Then, here’s the (cheesy, and not perfect, I know) init script I made (/etc/init.d/itunes): This will obviously require some editing before it’ll work for you!

#!/bin/sh
#
# Startup script for mDNSProxyResponderPosix and daap, ie. iTunes server
#
# chkconfig: 2345 95 05
# description: set up this machine for Rendezvous and DAAP protocol (iTunes sharing)
#

# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/networking/devices/ifcfg-eth0

PATH=/usr/local/bin:$PATH

prog=”mDNSProxyResponderPosix”
prog2=”daapd”

[ -f /usr/local/bin/$prog ] || exit 0
[ -f /usr/local/bin/$prog2 ] || exit 0

start() {
echo $”Starting $prog: ”
CMD=”mDNSProxyResponderPosix 172.20.31.170 dotnet ‘Ben RedHat9′ _daap._tcp. 3689″
#echo “Running: $CMD”
$CMD &
RETVAL=$?
touch /var/lock/subsys/$prog

echo $”Starting $prog2: ”
CMD=$prog2
$CMD &
RETVAL=$?
touch /var/lock/subsys/$prog2
return $RETVAL
}

stop() {
echo -n $”Stopping $prog: ”
killproc $prog
echo
rm -f /var/lock/subsys/$prog
echo -n $”Stopping $prog: ”
killproc $prog2
echo
rm -f /var/lock/subsys/$prog2
return $RETVAL
}

case “$1″ in
start)
start
;;

stop)
stop
;;

status)
status $prog
status $prog2
;;
restart)
stop
start
;;
condrestart)
if test “x`pidof $prog`” != x; then
stop
start
fi
;;

*)
echo $”Usage: $0 {start|stop|restart|condrestart|status}”
exit 1

esac

exit 0

By the way, Eclipse rocks too. I’ve kinda given up on Komodo, and am just using Emacs again for PHP. Sigh.

Everyday tool roundup

I thought a good, non-personal-info-divulging post I could make would be about various tools I use, this way I can vent, and maybe someone can suggest improvements to my workflow, etc. I won’t get into the things I deploy on servers for apps, mostly because this tends to depend on the project more than any personal bias (I hope). In this post I’m just going to share the applications I use daily for my tasks, not the things I deploy. Maybe in the future I’ll do one for libraries I use a lot…

Email
Corporate: Outlook. It’s just the best windows-based reader, and I need the Exchange integration, so options are limited. I like it and am used to it, anyhow.
Personal: Yahoo business webmail. Yeah, it’s a little clunky, and the spam filters aren’t perfect, but it’s pretty damn good webmail, that works everywhere, it fairly light, and “reasonably” priced. Aside from a few weeks 1 year ago when they kept screwing up my mailbox, it’s been flawless from a reliability/stability standpoint. It’s my browser’s homepage.

Word processing, Spreadsheets
Microsoft Word & Excel: I give in, I’ve just been using them too damn long to use anything else. If I could convince my CEO to switch the whole company to openoffice, I’m sure I could live with OOWriter etc… but I sort of know where everything is in the MS apps, I have my little style-macros set up, blah blah. Anytime I use Word to write something longer than a few pages I run into the various ugly spots (list numbering, outline vs. normal text authoring, master document bugs, etc.) but I generally know the workarounds. I seem to remember loving AmiPro in a previous life, but M$ has the corporate world beholden at the moment. And Excel, well, it’s possibly the most polished app Microsoft makes, I think. An assload of features that actually work, and eminently useful for light- to medium-weight analysis. I’m going to ditch my pirated copy of office at home (well, technically I think I am covered by our corporate license somehow) one of these days, and really try StarOffice or OOO. Certainly on the Mac at home, I’ll give it a go–I have a no-pirate policy on the wife’s computer (whoo hoo licensed Adobe products!)

OS
To put it simply: If I want a desktop, I run Windows. If I want a server, I run Linux/FreeBSD/Solaris, depending on the purpose and pocketbook.

Coding
Ah, now we’re on to the serious stuff!
Editing/IDE
On unix-ish machines: Emacs, with my php-model.el and some other goodies. vi only when absolutely necessary. On windows, we get into a world of pain. Yes, I know I can get emacs for windows, but I just… well… hate it for some reason. It feels kludgy, and if I can drop files on a window to open them, I like to.
I’ve been trying out a few different editors. For C# of C++, no argument, I use work’s copy of VisualStudio… the Intellisense, and GUI builder integration, is so tight, I think it’s insanity to use anything else. But mostly I don’t do that kind of stuff these days. (Strangely enough I always got away without a “smart” IDE for Java when I did a lot of that… I typically just used Emacs. Probably these days I’d go for IDEA or Eclipse, though.)
Anyhow, I have purchased EditPlus in the past–it’s super small, light, fast, and basically pretty nice, but isn’t really IDE-ish–but a very strong text editor, and fits nicely on a floppy. I am glad I bought it, but only use it for lightweight stuff now.
Most of what I write these days is PHP and Perl, so I have been looking into IDEs that support that. I like the freeware-ish PHPEdit, but their release management is horrid, and each version seems to have different, but significant bugs, than the last. I was using a year-old version for quite a while, and it was 95% right. I don’t trust them to be able to support it in the future though. Editors are tough, for open source.
I also just bought the personal edition of ActiveState Komodo, and in the first 10 minutes of using it I found 2 bugs. Over the next few days, I’ve hit two distinct, important bugs–one is a crash, the other is a weird some-keys-no-longer-work thing. Also, it’s still pretty slow–faster than the previous releases, but 2.5 is still a bit of a dog. I don’t know if that NSPR library is really the right choice, but it would be comfortable to have it on both Linux and Windows. Right now I’m really just interested in Windows. The quality so far is making me wonder if anyone at ActiveState actually uses Komodo for coding tasks…! I’m hoping to get some use out of the Perl, XSLT and Python dev modes though, they look promising.

Revision control
For now, I’m a cvs man. I’m playing with Subversion for a new mini-project, I love the atomic aggregate commits (you know them as ‘changesets’), but the tool still seems a little rough around the edges, and the biggest thing is how happy I’ve become on TortoiseCVS. I still use cvs command-line on linux a ton, but more and more of my coding is done in windows, and Tortoise just kicks ass. I think they should start charging for it :-) It’s a shell extension that provides interface to CVS, and it’s really slick. Excellent piece of software, and they’ve just about got all the bugs worked out of it (for a long time it was in the “promising, but crashes explorer” phase). If they make a version of Tortoise that supports Subversion, I think I’m sold, that’s it, I’m done, source code control is a solved problem for me. (If you ever feel the need for entertainment, buy me a beer and I’ll tell you about my previous employer’s experiences with BitKeeper!)
I also use ViewCVS, and can’t live without CVSSpam (it’s in Ruby!).

Instant messaging
Trillian Pro. It rocks, especially now that it supports Jabber (which I honestly haven’t gotten working with it yet, but they claim it works.) Pro 2.0 adds nice polish. Seamlessly supports MSN, AOL, ICQ, Yahoo, and looks good doing it. That reminds me, I really need to start looking more seriously at the Jabber protocol/specs…

Password management
OK, I think there may be better (or cheaper) tools out there, but I use Eldos Keylord. It’s some shareware I bought for doing pw repository tasks. I keep the repository (apparently blowfish-encrypted based on the pw you enter every time you open or save), on my removable flashdisk key-thingamabob, so I always have it with me. It’s pretty small, and has some intelligent features, plus a pocketPC and palm version, if you’re into the PDA thing. A nice touch is that if you buy all 3 versions (it’s pretty cheap), you get the source… so you can audit it for security if you’re paranoid about that kind of thing. I love the “lock on minimize” and “timed minimize” features, just in case I forget to lock my notebook (ctrl-alt-del, enter) when I walk away.

Shell/misc
Gotta have Cygwin on windows–I can’t live without tail, grep, wget, rsync, etc. etc. from the command line. Also I bought PowerArchiver, a really nice windows zip tool. It’s not perfect, but really close, and understands .tgz .bz better than Winzip, it seems.

Web browser
Firebird all the way. I still use IE for final site testing and corporate Exchange webmail, but that’s about it. Firebird is just the cat’s meow. Must-have extensions: the Live HTTP Headers, Venkman JS debugger (amazing), and the Web Developer toolbar. These extensions, plus Firebird, make my life so much easier it’s ridiculous. I can’t honestly think of doing web development (especially the front-side stuff) without them.

RSS Aggregator
I used to be a big fan of Dare Obasanjo’s RSS Bandit, but now I’m leaning towards the web-based Bloglines. More on this as I get used to Bloglines… it’s just a huge hassle to only have one place with my feeds. The web is the obvious location for this kind of app, though, IMO. When they start charging for it (inevitable) I’m sure lots of imitators, probably even sourceforge projects, will pop up to duplicate it–it’s pretty simple. But a good idea.

Bug tracking
Bugzilla. I know it’s old, creaky, and the code isn’t great. But it works, and has a zillion features, and is free. You can’t beat that. Fairly easy to integrate into CVS with a little scripting, or do anything else you want with it… and scales to large projects and teams pretty nicely.

Remote access
ssh on windows: Well, I advocate other folks use PuTTY, because it’s free and good (and the key agent can be utilized for TortoiseCVS, which is sweet), but I usually use SecureCRT. Partially because I’ve paid for it, but also because I’m so comfortable with it, it’s copy-and-paste semantics, etc. It’s pretty solid, and pricey for a single home user compared to PuTTY, but I like it.
scp on windows: WinSCP, it rocks. And faster than the cygwin tools…
FTP on windows: I don’t do much of this. When I do, I use SecureFX (because I bought a license along with my SecureCRT one), but I don’t really like it. When I’ve been forced to do a bunch of ftp from windows, I’ve used LeechFTP, but it’s not being maintained and has some weird bugs that can corrupt transfers, it seems.
Xwindows on windows: I am a big fan of XWin32, although honestly I don’t have a legit license for it, and have stopped using it. I find it’s not really necessary, just nice to have. The cygwin xfree32 stuff will sort of do the job too, but it’s really painful–XWin32 is much nicer. But not nice enough to justify the cost, for me personally. If I can get an employer to pick up the tab, I’ll run it.

Database & other design stuff
Of course for SQL server, I use their tools; mostly Query Analyzer, less so Enterprise Manager (can do a lot of the DBA stuff from QA by calling stored procs, anyhow.) For Oracle work (I don’t do much of it…) I use an ancient copy of FreeTOAD. For mysql, I have tried a ton of GUI tools, and decided actually, I like phpMyAdmin (web-based) the best! They just continue to pile on the features for it, and it actually is really fast to use once you’re used to it, and it’s running on a box on the LAN.
For DB design, I like DeZign, although I’ve never bought enough copies for all the people that should really have it.
I’ve played with Rational Rose and a couple other UML tools, Visio was my favorite of the bunch, but basically all of them were too expensive/too formal/too restrictive for me. I am not a huge UML guy at the moment. We need the depth of thinking that is enforced by these tools, but I’m not convinced the notation itself is necessary to actually get most things done, or even the best way to communicate it, although a shared nomenclature for expressing functionality and interactions is a good goal. Most of the apps I’ve devloped didn’t require that level of “interaction management” if you will, though. <soapbox>We were usually successful with: Get a bunch of smart people together; hash it out on the whiteboard; everyone break for a few hours or days to have a good think, and while the project architect drafts up a proposal (and thinks about/creates a small prototypes); return to the discussion with proposal and clear heads, and repeat steps as necessary. At the end of that, document the decisions. You’ll almost certainly have a good solution, if you have quality people. </soapbox>

Project management and related
I’m forced to use MS Project, but I really don’t like it. It was a bastard stepchild for the longest time, with no updates from Project 98, and now the new version is bloated and heavy. I’ve actually started just using Excel and a few small macros for sorting, etc. I’m in search of a good web-based on, the most promising seems to be dotProject, but I’m not convinced about it either, yet. I’ve found a bunch of bugs, and the dev team seems a little on the green side. But, they are making progress, so I hope it becomes really usable soon… I’m unlikely to advise any org I work for to fork out the bucks required to run Project with ProjectServer, etc…!
PDF Generation: I’m actually using the free PDFCreator at work, due to lack of enough Acrobat licenses. It’s good enough for translating stuff to PDF; no editing, etc. For handing off specs, or excel files with data I don’t want messed with, it’s nice. Again, can’t beat the price.
Group documentation: TWiki. I don’t love it, but it works. I wish it worked properly with JGraph, which rocks.

Sysadmin/IT type stuff
I won’t get into all the junk we have installed, but here’s the ones that I actually “use” every day:
Performance monitoring: Cacti is the way to go for me. Small, free, decent, in PHP (hackable). Scales reasonably well…
System monitoring: Nagios with a bunch of custom plugins for application monitoring. Everything you need, but not much more. Scales well and the config language is worlds better than BigBrother.

Miscellaneous/Trivialities/Home-use stuff
Souds: Winamp lately, and when I’m entertaining, run MilkDrop on the projector for the Ibiza-club-in-your-livingroom vibe :-) I even have a MusicMatch license, and use Winamp, so whatever that says…
CDR: Nero. It came with my drive, and I’ve been happy with it, it just works.
Graphics: I’m no pro–but my wife has legit copies of Illustrator, Photoshop and InDesign–so on the rare occasion I need to toy with that kind of thing, I use this stuff on her PowerBook. Whee.
DVDs: WinDVD. The only thing that seems to work properly with my SP/DIF soundcard and both my LCD monitor and projector.
Remote control: uICE. It rocks with the remote that came with my soundcard (ATI remote wonder thingy)

Hmm, that’s about it I guess. Anyone have suggestions? Comments? Pointers to other useful tools I might need? I accomplish all the types of tasks I need to do, with the stuff above.