Yes, you can “touch” this

“touch” is a handy unix utility to udate the time stamp on a file. Recenly I ran into a case on my mac book pro that required me to update all of the files and sub-directories of a project with the current date.

In terminal, I could have gone one by one an used this command on each file

touch thisIsAFileName

But after a few moments of onterweb searching, I came across a perfect solution

find . -print0 | xargs -0 touch

This command will find all of the file in all sub-directories, even if they have spaces in their name, and set their last updated time to the current time.

Just a handy tip I thought I would share

timthumb.php returns a 404 Error in WordPress

timthumb is a great little php script that helps create thumbnail images (http://code.google.com/p/timthumb). I’ve used it before, but recently I purchased a wordpress theme that used it, and it wasn’t working.

I would get a 404 error when I tired to access the directly via a url like this:
theDomain.com/wp-content/themes/theTheme/scripts/timthumb.php?src=/wp-content/uploads/2010/05/moose1.jpg&h=207&w=237&zc=1&q=80

After some digging around in log files on my server I realized the error

SoftException in Application.cpp:610: Directory “/home/usernamehere/public_html/wp-content” is writable by others

My problem had to so with the directory permissions! “writable by others” means that the permission on the directory were set to “777”. I changed the permissions of the directory using chmod to 755, and everything started to work.

Lesson learned, if timthumb.php is not working at giving you 404 errors, check the permission of the directory that contains the php file.

Remove Unwanted Firefox Auto-Suggest Entries

Firefox 3 is awesome we all know that, but there are some things that that would just be nice to have. One of those things would be the ability to control what appears for the auto suggest when you type in the URL bar.

Most of the time FireFox does a very good job of figuring out what you want to do, but when it goes bad, it goes really bad and gets annoying fast.

The other day I accidentally typed in “google.com/a”, and from that moment time on, everytime I wanted to go to “google.com”, it would auto complete to “google.com/a”, and i would end up going there. Very annoying.

I searched the Firefox menus but couldn’t find anything to help. I didn’t want to wipe out all of the auto complete entries, I find most of them helpful. I did some research and realized that you can remove these entries manually, but you have to do it in an unconventional way.

How remove those unwanted auto suggest entries

1. The list appears as you type something.
2. Select an entry by pointing you mouse at the item in the list, it will highlight.
3. Press Shift + Delete from your keyboard to delete the entry.

That’s all! You can remove entries from the address bar.  This trick works on any Firefox auto complete list, including text fields and other dropdown suggestions.

This also works on windows, mac and linux machines

Controlling Twitter SMS notifications through code

twitter sms

It’s not secret my current favorite tech toys are my iPhone and Twitter.

I follow several hundred people of interest, and regularly use TwitterFon Pro, TweetDeck and Twitter.com to keep up with them all. For an elite group of people I follow on twitter I choose to have their updates pushed to me via SMS (text message) to my phone.

Sometimes I’m in area where I dont have reliable service to my phone (most of the meeting rooms at my work for some reason), and Twitter will try to send me an SMS message telling me that one of my good friends just made a tweet. If Twitter cant deliver that tweet for some reason, like the phone doesnt have service, Twitter simply stops sending message to your phone. There has been many times where i have thought to myself “damn Twitter is quiet today”, then I log onto Twitter.com and see a “is you device have trouble?” error. If i don’t go check the website, I have no idea that Twitter turned off SMS updates to my phone. Twitter is cool but they aren’t cool enough to send you an email saying “Hey your phone is screwed up, we are going to stop sending you SMS message until you fix it”. Atleast then the poor bastards like me who are addicted to twitter would know what we have to do.

Because I am such a Twitter addict, I have come up with a plan to end my frustrations with this problem. The solution? Use some evil “robots” to do my bidding. I have blogged about them before, I am talking about Cron and Curl. okokok, so they aren’t evil robots they are software running on my computer.

Twitter has an awesome API (Application Programming Interface) that allows you to do all sorts of sweet things using REST based http requests, including turning on and off SMS notifications to your phone.

cURL is an application that allows you to connect to web addresses from a command line.

cron is an application that allows you run application at scheduled intervals.

Can you guess where this is all going? Here is mathematical representation for you
((Twitter API + cURL) * cron(30 minutes)) = Happy Josh Highland

I have cron run the following command every 30 minutes (replace username and password with your own of course)

/usr/bin/curl -u user:password -d device=sms http://twitter.com/account/update_delivery_device.xml

I will never need to log onto twitter to turn on my SMS notifications ever again. In the event that Twitter disables notifications to my phone, every 30 minutes my evil robots enable MS messages to my phone. At most I will have 30 minutes of down time. I can live with that.

This is a perfect example of what one of my Computer Science professors told me… “If you have to do it more then 2 times write a script to do it for you”.