November 3, 2009 – 6:47 am
Just found these at WiredCo. (No, I don’t work for them, I’m just a fan.) First off, this puppy will plug into a USB port and give you a SATA, or eSATA, connection… no need to cart around even a small enclosure when you need to get data off someone’s drive –

USB SATA bridge at WiredCo
But if anything this is even more nifty, for inside the case — it will plug into either a parallel IDE drive’s plug, or into the motherboard’s IDE plug… and give you a SATA connection either way. So you can plug a SATA drive into an IDE motherboard, or an IDE drive into a SATA-equipped motherboard:

Two more magic gadgets I’ll have in my bag of tricks…
November 3, 2009 – 6:22 am
If it’s not already installed, for php-mode you can simply:
# aptitude install php-elisp
October 23, 2009 – 12:49 pm
For example, I needed to add the group execute (list directory) bit to every subdirectory in the tree below the currrent directory. Most of the simple ways get tripped up by filename quoting, or embedded spaces in directory names.
Here’s the command to use:
find . -type d -exec chmod g+x "{}" \;
October 18, 2009 – 4:52 am
Free. Saturday, October 24, 2009… 10am to 4pm at the University of Advancing Technology in Phoenix (Baseline Rd. just west of I-10).
A full day of presentations and participation on free software.
More info: http://www.ableconf.com/
Update: A good time and a good place to meet like-minded folks and get up to speed on new technology, and even a few “Aha!” moments on how to do things better. See you next year!
October 9, 2009 – 11:01 am
If you like this, please consider donating to fund further development.
After years of frustration waiting for the Mozilla Thunderbird folks to add the ability to edit LDAP address-books, and years of frustration with the pigheadedness and brain-damagedness of LDAP server software, I decided to write my own little pseudo-LDAP server.
This is a proof of concept only and not meant for production use yet.
Here it is, in Perl: generic-ldap-0.1 It merely reads in
- a Thunderbird address book using a module from CPAN
- or an LDIF file, using another module from CPAN
- or anything else you care to write a plugin for (put it in the Plugins/ subdirectory)… there’s a start on a Wordpress module, or you could write one for OSCommerce, or… the sky’s the limit
and shares that out via the LDAP protocol, using the Net::LDAP::Server module. Writing this meant seeing what the various email clients (Thunderbird, Evolution, KMail) actually wanted to see.
The nastiest, most brain-damaged part of LDAP is the non-standard field (attribute) names. None of these programs agree on what to call “home street address” versus “work street address,” for example. What a nightmare. My little server tries to remedy this by copying what it can suss out, into every possible field that your email client might be looking for.
What needs to be done yet?
- Better (or any) support for Outlook and Outlook Express, both reading their address-books and talking what they want to hear in terms of LDAP
- Security. Right now there isn’t much, beyond plaintext password authentication for each resource. You probably want to run this behind a firewall until there is support for TLS or SSL or something else. Perhaps another set of Plugins.
- Support for reading IMAP address books, vCards, etc.
- Support for more complex queries. Right now it only understands “OR” queries. Again, possibly as another set of Plugins.
This is written as an extensible system with Plugins. At the moment it fills my internal needs — specifically, sharing a single Thunderbird address-book inside an office.
Please contact me if you would like help adding features or additional development.
William Lindley, wlindley.com, 480.947.6100
October 1, 2009 – 8:43 am
Here’s a little script you can add to your crontab, to periodically email the administrators of each mailman mailing list both the list of current members and the mailing-list’s full configuration. This gives you both an audit trail of membership and the ability to restore mailing lists from the backup files in case your webhost goes awry.
mailman-reminder (Perl script)
Edit root’s crontab with the command
# crontab -e
and add something like this:
0 3 1 * * perl /root/mailman-reminder.pl
Which will run the script at 03:00 on the first day of each month.
September 30, 2009 – 1:28 pm
Dear Mr. Ranellucci,
I am writing an LDAP server using this module and have found that Evolution — at least version 2.26.1 on Ubuntu — transmits an abandonRequest after each searchRequest. Because there is no defined return value for an abandonRequest, the Perl module closes the socket and Evolution fails thereafter to communicate with the server.
The following patch resolves the bug, by properly checking whether the *request* — NOT the *response type* — is defined, and only hanging up in the event of an undefined request. The patch also only sends a response for defined response types — of which abandonRequest has none.
With this patch, a server created with the Net::LDAP::Server module functions properly with Evolution.
I hope you will agree to incorporate this into the module and update CPAN accordingly.
Sincerely,
\\/
William Lindley
http://www.wlindley.com
+1 480.947.6100
Patch follows. On my system, the appropriate file is:
/usr/local/share/perl/5.10.0/Net/LDAP/Server.pm
—begin—
82,83c82,85
< my $respType = $respTypes{$reqType}
< or return 1; # if no response type is present hangup the connection
---
> if (!defined $reqType) {
> return 1; # unknown request type - hangup connection
> }
> my $respType = $respTypes{$reqType};
141,142c143,146
< # and now send the result to the client
< print $socket &_encode_result($mid, $respType, $result);
---
> # and now send the result, if any, to the client
> if (length($respType)) {
> print $socket &_encode_result($mid, $respType, $result);
> }
—end—
September 23, 2009 – 4:09 am
I just found the Scottsdale WordPress Meetup Group/ and am hoping to go to the next one… see you there…
September 19, 2009 – 5:47 pm
1) Add the backports repository by editing /etc/apt/sources.lst (must be root) and adding the following line:
deb http://www.backports.org/debian/ lenny-backports main contrib non-free
Run the following:
#aptitude update
#aptitude install debian-backports-keyring
(Ignore any warning that occur with the above 2 commands, the install will correct those)
If you run #aptitude update again the warnings should be gone
2) Install Adobe Flash
#aptitude install flashplugin-nonfree
3)You shouldn’t need this step, but just in case run
and make sure the correct one (/usr/lib/flashplugin-nonfree/libflashplayer.so) is selected. It should be the current default.
4) Start Iceweasel and go the location about:plugins and you should see the latest Flash.