Tuesday, September 2, 2008

BBEdit 9.0 -- First Impressions

After a little more than one working day using the newly released BBEdit 9.0, my impressions is positive.

First of all, I am glad to see that a trusted tool works largely as expected as it keeps pace. This is to me much more important than flashy new interfaces or features. The search interface is cleaner, which is nice, but over all I had no problem at all getting right back to work after the upgrade.

My favorite new feature is the variable auto-completion I noticed this evening while working on an approximately 400-line perl script with many, many variables. The auto-completion gave me great assurance without any split screens or searching that I had the spelling and capitalization of previously used variables correct.

Thanks, BareBones for the continued good work.

Saturday, August 2, 2008

Some links about current DNS attack


Is your ISP using a correctly patched DNS server
?

Or are you open to attack? Could the websites you see not really be what they appear to be?

Listen to a podcast with a very complete explanation of DNS and the attack.

Friday, August 1, 2008

Product Review: Tone 12 GB USB 2.0 Mini Hard Drive

Very cute, casing matches my MacBook Pro. Works reliably so far. Took formatting to Mac (Extended, case-insensitive, journaled) no problem. Slow as molasses, though. The speed really cuts into it's utility for my intended use in loading virtual machines.

Launch VMWare and open a suspended WinXP virtual machine:

* Over the network from G5 dual 1.8GHz PowerPC to MacBook Pro: 58 seconds
(54 seconds to suspend, saving state back to disk)

* Same virtual machine from Tone 12 GB attached to MacBook Pro directly: 1:02 minute. Saving state: 1:41 - 3:09 minutes.

* Same virtual machine loading directly from MacBook Pro HD: 17 seconds; suspend: 4.4 seconds

Saturday, July 5, 2008

Green Business Leadership

We'd heard that some rental car companies are renting hybrids. Calling around today, my wife was frustrated to learn that the options are few and far between in the Triangle area. Seems that just like the car manufactures, most rental companies are followers, looking behind, instead of business leaders looking forward.

Which gets me thinking—how can NacreData LLC do a better job of being a green business leader? Feel free to leave your suggestions in the comments.

Our transportation costs are largely non-existent — I work in a home office and everyone else currently doing NacreData work is also a home-based.

We're not a bulk hosting company, but I've read a few times (see http://blogs.business2.com/greenwombat/2007/02/photo_originall.html for instance) that server farms are power hogs. We're beginning to move more of the sites we manage onto virtual-machine based servers, where several server environments can share the resources of one physical machine.

Friday, December 28, 2007

Getting SpamAssassin's spamc to work with Qmail

One of the recommended ways of setting up SpamAssassin to work with Qmail is to move the binary "qmail-queue" to a different name, say qmail-queue.orig, then create a shell script named qmail-queue which passes the email through SpamAssassin then on to the original qmail-queue. 

One problem with that set up which I've been noticing is that it passes every email through the spam filter, even though the vast majority of email coming into the server is addressed to non-existent users. The time taken to scan all those emails was noticeably slowing down the system. 

So what I really wanted to do was call the spam filter from the .qmail files for real users. 

Qmail's default delivery mechanism, set to contain just "#" in .qmail-default, will then drop all emails sent to non-existent users without calling SpamAssassin. 

I wanted to use the spamc utility, written in C, as a filter to call the already running spamd deamon from the user's spamc with the "-c" switch so that non-spam messages will return 0 (zero)  and thus pass on to delivery. One small problem, though, is that the exit value for an email determined to be spam is 1. Qmail will interpret an exit value of 1 as a temporary failure and keep trying to deliver the message. This will create a backlog of undelivered messages and slow down the email server. 

To get around this, I changed the exit value for spam emails in spamc. First I downloaded the latest SpamAssassin and untarred the download file. In the "spamc" subfolder I found a file named "libspamc.h". On or around line 85 is the line:

#define EX_ISSPAM   1

I simply changed this to 

#define EX_ISSPAM   99

and then completed the installation steps:

perl Makefile.PL
make
sudo make install

which installed SpamAssasissin including spamc with the altered exit value.

Lastly, from my user .qmail files, I call spamc. For example for .qmail-devin:

|/usr/local/bin/spamc -c
./devin/Maildir/

and now SpamAssassin is run only for email coming to real users and all messages determined to be spam are silently dropped. The return value of 99 tells Qmail that the message has been completely processed and no further delivery steps need be taken. 


Thursday, August 9, 2007

MySQL: To Good to Be True

In the back of my mind for some time now I've planned to move all NacreData projects away from MySQL to a more truly open source solution (almost surely PostgreSQL), and today's news pretty much cinches it. 

Sunday, July 29, 2007

Painting myself into a corner and working back out...

Upon leaving my friend's place in Indiana recently (see previous post) I brought back home with me an old iMac, a "blueberry", one of the blue-and-white cute cpu-and-monitor triangle shaped deals. It has a G3 processor and had a broken installation of OS 9. I recovered the important data and transferred it to a couple other media at my friend's place, then started tinkering. 

Having noticed the PPC disk in the OpenBSD distributions I decided to give it a go. Being the last to RTFM, as they say, I blithely blew away the machine's partitions and installed the usual set I'm used to with OpenBSD. The install went fine, but the machine could not be booted off the new OS at all. 

So I read. Don't delete the Mac's boot partition it says. The Mac ROM needs to see a HFS boot partition or it won't go nowhere. Drat. The first many resources I found all describe how to set up the installation presuming you knew this and presuming you were intending to make a dual-boot machine with Mac on the other side. Finally I did find a couple links which provided the clues needed about how to rectify the situation. Use pdisk to create an HFS ("Apple_HFS") partition of at least 1MB size named "boot", along with the other partitions usually used (/, swap, /tmp, /var/, /usr, /home). Then re-do the install. Then mount the OpenBSD install CD and the HD's boot partition and copy the open firmware program "ofwboot" to the "boot" partition. Finally, remove all CD's and boot with Command-option-o-f and issue the command 
boot hd:,ofwboot /bsd

VoilĂ , it works and I'm off and running :-)