le blog

9Dec/090

Grain of sand: 0, Canon SD800 IS: 1

Our trusty Canon PowerShot SD800 IS locked up the other day in the lens open position and whenever it powered up a "Lens error, restart camera" error message appeared on the LCD screen and the camera would then shut off.

Ends up that there was a single grain of sand that was stuck in between the gears that open/retract the lens. The cover is secured by a few tiny screws so it's actually pretty easy to open up. Once I got the little bugger out from in between the gears (simply by manually turning the gears by hand), I fired up the camera again and the lens started working again!

Here are some disassembly pics, with the gears that control the opening/retracting of the lens circled in yellow.

7Dec/090

Swapping out the hard drive in your DirecTV DVR with a larger one, and copying your content over

We have DirecTV's HD DVR service at home but we were beginning to outgrow the stock 320GB drive in our HR21-700 receiver as it is chronically under 10% free capacity. I decided to pick up a Western Digital 1TB Green drive (model WD10EADS) to replace it.

This forum post on DBSTalk.com contains a pretty detailed walk though with photos detailing the removal procedure. Although the photos are of a slightly earlier version of the HR2* series receivers, the steps are pretty much the same.

You can simply swap the drives without copying your existing shows to the new drive, but I decided to copy over my old shows. The directions posted on using GParted worked like a charm. Be prepared for the data to copy from drive to drive though...it took about 2 hours and 15 minutes for me.

Tagged as: , No Comments
1Dec/090

Updating Wordpress via SSH instead of FTP

I've shut off FTP access to my server a while back, since FTP passwords are passed in plaintext over the net which is A Bad Thing™. For the occasions that I would need to update Wordpress via its web interface, I would start up the FTP daemon so that I could use Wordpress' auto-update feature, and then shut it back down after I was done. Not that big of a hassle, but it required me to login into my server before doing anything from the web interface which was one step too many.

I discovered that Wordpress has built-in support for updating via SSH2 if PHP has the PECL SSH2 library installed. Following is a quick summary of how to get it running.

The PECL ssh2 library requires libssh2 which I downloaded and then compiled painlessly with a

$ ./configure
$ make
$ make install

Once libssh2 was compiled and installed, I installed the PECL ssh2 library via

$ pecl install -f ssh2

The -f flag is to force the install since ssh2 is still in beta & you'd otherwise get a warning like

Failed to download pecl/ssh2 within preferred state "stable", latest release is version 0.11.0, stability "beta", use "channel://pecl.php.net/ssh2-0.11.0" to install

After installing ssh2 via pecl, i edited the php.ini file (located at /etc/php.ini for me) to tell PHP to load this extension

extension=ssh2.so

and then restart apache afterwards (via apachctl, service httpd restart, or whatever is appropriate for your system) so that the library would be available to PHP.

After apache comes back up, you should see a new option (SSH) in the wordpress upgrade page (which applies to plugins as well).

BTW, if you're on a Red Hat Fedora system and/or use yum, you might be able to just pull the libssh2 rpm from yum instead of compiling it:

$ yum install libssh2
$ yum install libssh2-devel
$ yum install libssh2-docs
19Mar/090

“file too large” error message in /var/log/maillog

I run Postfix as the mail transfer agent (MTA) on my server and saw a bunch of "error writing message: File too large" errors in /var/log/maillog as well as senders getting this bounce message:

I'm sorry to have to inform you that your message could
not be delivered to one or more recipients. It's
attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

                   The mail system

<example@example.com>: cannot update mailbox
/var/mail/example for user example. error writing message:
File too large

Ends up that Postfix has a mailbox_size_limit setting & since I didn't have that set, it was set to the default 50MB. The user's mailbox was near that limit so I up'd the default to 150MB in /etc/postfix/main.cf:

mailbox_size_limit = 157286400

then reloaded postfix:

service postfix reload

and all was good again.

16Mar/090

Debugging JavaScript in Adobe AIR apps

Several months back I switched from using Notepad++ to Eclipse-based Aptana Studio to develop an Adobe AIR desktop client for work & have been pretty happy with Aptana other than for the huge amount of memory it gobbles up. Late last week the Adobe AIR Development Plug-In for Aptana came out of beta & is great news for anyone developing HTML/JavaScript-based AIR apps (as opposed to Flash/Flex-based).

One of the drawbacks in developing HTML/JavaScript-based Adobe AIR applications is the lack of debugging tools. It doesn't help that AIR's error exception will often output an "undefined at undefined" error message in the system console when a JS error occurs, without any stack trace, leaving you to guess where it actually occurred. This is fine for a small application, but when you have tens of thousands of lines of JavaScript code you'll often be left banging your head on the desk trying to trace down the error in the code.

This screencast from Aptana better illustrates the new features. Be sure to check it out if you're using Aptana Studio and/or were looking to give it a try!