I’ve been reading the book Advanced Rails by Brad Ediger. I first met Brad way back in 2006 when we were first trying to get our local Ruby user group going. He is a very smart fellow, and his newest book is definitely evidence of that. There’s a lot in there that’s over my head, but that’s nothing a few rereads can’t solve. :-)

The book has everything from optimization to deployment, from security to metaprogramming (my brain is still spinning from that one). Brad does an awesome job of including plenty of code and real-world examples.

If you use Ruby on Rails for fun or profit, this book is definitely a must-buy.

And, believe it or not, this something-other-than-perl-and-php book can be found in local bookstores (Brad V. found this one at the Tulsa 71st B&N):

2.jpg

OneBody now has a real, bona fide blog of its own. Thanks to WordPress.com, creating a new blog is waaaay too easy, evidenced by the fact that I now have 37 (just kidding).

Our little project continues to grow and improve. I’m still waiting on that influx of talented, eager volunteers to make it awesome, though :-) For now, it will continue to be Tim’s pet project, though I refuse to stop referring to the development “team” as “we” and “us.”

Just saw this in my referrer logs… You can search on Google for all occurrences except in a certain site.

Many know about adding “site:timmorgan.org” or similar to only search within a certain domain. Well, maybe it was obvious, but now I know you can do “-site:timmorgan.org” to search everywhere but that domain. Nice.

Long title, I know. Here’s how I did it…

sudo apt-get install fetchmail postfix
cd
nano -w .fetchmailrc

Add the following to the file (replacing everything in CAPS appropriately):

poll pop.gmail.com with proto POP3 and options no dns
user 'YOUR_GMAIL_ADDRESS' there with password 'YOUR_PASSWORD' is \
'YOUR_UBUNTU_USERNAME' here options ssl

Now:

chmod 710 .fetchmailrc
sudo nano -w /etc/crontab

Add the following to your crontab file:

10 7 * * 1 YOUR_UBUNTU_USERNAME fetchmail -k

This will run fetchmail every Sunday and grab your email. It seems either fetchmail or gmail limits each connect to something around 400-500 messages, so to get started, you can run “fetchmail -k” a few dozen times to download all your mail, then let crontab do the rest on a weekly basis.

Your mail is downloaded to a single mbox file in /var/spool/mail/YOUR_UBUNTU_USERNAME. Being a single file makes it nice for backing up, moving, etc. I hear Thunderbird can easily read the file, and I think Apple Mail.app can as well.

Just makes you feel good having all your mail backed up, now doesn’t it?

OneBody

Starting around mid- to late-2006, I started a little project for my church. The idea was to rewrite our existing online membership directory to make it more searchable and to take a stab at creating something somewhat social, where people can easily communicate with each other and also see their interests and such. Plus, I was dying to build something significant with Ruby on Rails, my new favorite web framework.

As the application got closer to completion, I started showing friends and family my creation and getting feedback. The application grew. And grew. At the time, I was heavy into using Facebook to meet up with old friends and new, and started to see the value in connecting people online in ways that just don’t happen offline. And the application grew. And grew.

The application went online the very first day of 2007, and it was a hit. The tech-savvy people in our church got it right away. While others took awhile.

For the past year, the site has been humming along, and we’ve made several big changes as we got feedback, complaints, etc. We worked with people, classes, and small groups in our church to teach them how to use the site and got more feedback.

I’m very proud of the product we have today, and I think it’s time to give it to the community. This week, I have worked to get OneBody out on the web and ready for use by other churches.

I’m praying for a strong, friendly community to grow around OneBody so it becomes the absolute best of its kind. Though I have to say, I still haven’t found anything quite like it, especially not free!

On my own list of presidential candidates, there is a lot of space between my #1 slot and the #2. But if my man Ron Paul weren’t running, I would probably vote for McCain. He doesn’t believe the U.S. should torture detainees, and he isn’t afraid to shake things up.

I used WordPress.com’s nifty domain mapping feature and moved my blog to its own domain. Now, after I write that killer blog post that gains me tons of Google juice, I can use my newfound popularity to redesign my blog with AdSense and make beaucoups of money. /dream

It seems the Gmail team has quietly slipped in a minor upgrade to the revolutionary and still yet after more than 3 years, best web email system I’ve ever seen. I have to use Outlook at work and yearn for the day that it will properly thread replies as Gmail does, but I digress…

Anyway, is it just me, or is the slightly “improved” Gmail actually dumber? Here are some pet peeves I’ve aquired in the last week of using the new Gmail:

  1. For one, the drop down menus (you know, for selecting an action on individual and/or selected email) are no longer real select lists; they’re instead some DHTML kind of thing that has a scroll bar that feels flimsy. When I use the scroll wheel on my mouse, the whole page scrolls. It’s just weird.
  2. It crashes Firefox. Every. Time.
  3. When navigating away from Gmail, it always asks me if I am sure because I may lose data. What? Just let me go already!
  4. Dangit, I don’t want chat mixed with my email client! Stop turning that thing back on. When I log in for two seconds to check my email, I don’t want some long lost friend [I've been avoiding] starting up a chat with me.
  5. This is sort of a meta-peeve. Since I dislike the new version so much, I clicked “Old Version” in the upper-right. But that setting isn’t saved from browser to browser from session to session. I keep having to click it to go back to the old version.

No doubt, Google will be removing the old version, but only if a majority of the users are happy with the new one. Let your hatred be known by switching to the old version with me.

On a upbeat note, I do like that my Gmail quota has doubled to nearly 5GB. Not that I will ever use that much — I just like knowing that I will never use more than like 15%. :-)

From my post on Snippets:

First, create a plain Word document with text to replace like this:

Here is some text of my document. This will be replaced with [name]. Today’s date is: [date].

Then, run the following code. The text in square brackets will be replaced with the values in the code, and the file will be saved as a new name.


require 'win32ole'

word = WIN32OLE.new('Word.Application')
#word.Visible = true # uncomment if you want to see it happen
doc = word.Documents.Open('c:\file_to_open.doc')
{
  'name' => 'Tim Morgan',
  'date' => Date.today.strftime('%B %d, %Y')
}.each do |key, value|
  word.Selection.HomeKey(unit=6) # start at beginning
  find = word.Selection.Find
  find.Text = "[#{key}]" # text must be in square brackets
  while word.Selection.Find.Execute
    word.Selection.TypeText(text=value)
  end
end

doc.SaveAs('c:\output_file.doc')
doc.Close

First. What a weird use of my image for a totally unrelated blog post.

Second. The license on the photo is “by attribution” — does the tooltip (the thing that pops up when you hover over something) count?

If you’re going to use someone’s photo, then by golly give them credit (and don’t hide it in the tooltip). If someone wanted to find the Tim Morgan that created that image or where the image came from, they couldn’t from this dude’s blog. I think that’s the point — you link to the place where it came from.

Argg.