jmiller's blog

Hacking Google Calendar Using jQuery

I did a pretty cool hack using jQuery yesterday. It took me a couple of hours, but I finally figured out how to make it work.

CompanionLink Task Synchronization Gone Awry

I use a product from CompanionLink Software to synchonrize my Outlook 2007 calendar with Google Calendar. I recently upgraded my version of CompanionLink for Google Calendar to CompanionLink for Google, which includes new synchronization features for Outlook Contacts and Tasks, as well as support for Google Apps.

The Outlook Task synchronization "feature" caused me a lot of grief by uploading all of my tasks (including completed ones for the past several years) into my calendar as events. In addition, any tasks that did not have a due date were added as events on the day that I first tried the sync feature. In other words, I had hundreds of tasks loaded as events for April 13th, 2008.

I was not happy. Needless to say, I immediately deactivated the task synchronization portion of the application and stuck with calendar only. Unfortunately, I was left with the task of cleaning the "task events" out of my Google Calendar. The problem is that there's no quick way to do this in Google Calendar's interface. Keeps the Landfills Not-So-Full

Call it a personal flaw, but...

I Hate Throwing Usable Items Away!

My wife recently asked me to throw away a lamp. The lamp is missing a shade, but apart from that its only fault is not having a place in our current décor. I couldn't bring myself to toss out a perfectly good item. However, because I try to keep the amount of unwanted junk from accumulating, I don't often have enough critical mass of stuff to hold a meaningful yard sale. So what do you do with unwanted stuff without throwing it away or selling it on eBay or in a garage sale?

Here's an option that you might find useful... Helps Match You With "Takers" For Your Stuff (as in "free"+"recycle") is a great movement that helps people give usable items away instead of sending them to a landfill. is organized around local groups of people whose common interest is finding a good home for useful items instead of throwing them away. In short, if you're looking to get rid of an item that someone might want, but you just don't know how to find the right person--who would want a lamp without a shade?? can help. logo
Just post an item to an email list for your geographic area and wait. If it catches someone's eye, they will post a response, and the two of you can make arrangements to meet and transfer the item. There's one main rule: the item must be absolutely free. No selling is allowed. (There are some other rules about allowable items and proper group etiquette, but it's basically very simple.)

Plus, if you're looking for an item, you can always post a request, and someone else in the group might just have what you're looking for and be willing to part with it--you never know, you might just find it!

To learn more and find a group in your area, check out their website:

Nothing New on Under The Sun

Well, I was cleaning out my Google Reader account, looking to eliminate feeds that are not being updated or are no longer relevant to my "sphere of concern." During the process, I reviewed the Under The Sun feed. Under The Sun's title is based on the scripture in Ecclesiastes that states (paraphrasing), "There is nothing new under the sun." Well, guess what? Nothing new has been posted at Under the Sun since last year (2007). Oh, the irony!

Needless to say, I'm removing the feed, but I am sad to see it go, just because it represents part of my blogging past that has, well, passed.

So, if you're reading this post, just try to appreciate the humor rather than looking for some deeper meaning. I promise I'll post more meaningful content in the future. No, really, I promise.

Evolution in personal organization

Over the course of my academic and professional careers, I have been forced, out of the pain of disorganization, to get "organized."

The Amateur Academic Years

In high school and college, this usually meant a trip to the office supply store and a set of new folders or a binder or both. I would resolve to keep better track of my assignments by writing them down in a consistent way, and I would stay on top of them by reviewing it often. But it never stuck.

Paper Goes Prime Time

Shortly after I started my professional career, I learned of the Franklin Planner (now the Franklin Covey Planner) from a colleague. Its impact on my organization habits was compelling. I now had a central place for tracking just about anything, and a method for taking notes and indexing them. The prescribed daily period of "Planning & Solitude" both forced me and enabled me to stay on top of the tasks and notes I had entered into the system. What's more, the consistent form factor (5.5"x8.5" 7-ring paper) allowed me to collect a long-running archive that I could reference at any time. Not that I did it that often, but occasionally, it proved critical in finding contact information or directions I had long since purged from my active set that I carried with me.

Still, it was strictly paper-based, so it had its disadvantages. It had no backup and it required being with you all the time so nothing would slip through the cracks. (Franklin Covey did, however, offer a small notepad version called the Satellite that was about the size of a checkbook and could be carried with you. The paper was punched to fit a classic binder just like the full-size paper, so it easily integrated back into the system.)

The Digital Transition

Eventually I acquired a Palm III and Franklin Covey planner binder that would accommodate both the Palm and the classic paper. I still use this binder today, although I currently fill its PDA slot with a Palm Zire 72s.
I won't bore you with all of the phases in between other than to say that I tried an iPAQ for a while, I have struggled to keep Outlook in sync with whatever PDA I was currently operating, and now things like
Google Calendar have entered the picture.

More Change on the Horizon

All of this has been to say that, yet again, I feel as though my habits, techniques, and tools for organization is about to change. Along with my more recent adoption of GTD (Getting Things Done) as my planning method, I've been contemplating using Remember The Milk as my primary task manager. (Its lack of Outlook synchronization--until now--has made it a non-starter for me. I must have desktop/PDA synchronization to make it work.)

None of these changes have happened in a vacuum, nor could they. I've even learned some things about the difference between tools and techniques (what you do with or without your tools).

Should I take the Smart Phone Plunge?

In the face of an impending phone upgrade, I'm forced to consider another possible change--do I retire my Palm and go for an advanced phone/PDA with a data plan? I hate the idea of having my PDA be tied to a particular wireless carrier, but having an increased level of integration for my personal information is compelling.

Just as Merlin Mann of proposed in his post about choosing a new phone, I think I should prepare for the phone (and PDA?) upgrade by making a list of all of the features that it must have to support even my current organization methods. I'll probably post more on that later.


Do you have any thoughts on the ups and downs of digital organization? Tell me what you think.

Google Reader bookmarklets (using jQuery)

I've always been annoyed that Google Reader chops off the names of my RSS feed folders in the left-hand navigation pane. At the very least, they should give you a horizontal scrollbar. And all of these titles with "..." in them to save space are also annoying.

Here's what I did to fix that (requires running the jQuery bookmarklet first):

  • Prerequisite: Append jQuery to current page
  • <a href='javascript:void(function(){$("#sub-tree").css("overflow", "auto");$("#sub-tree-item-0-main").css("width","500px");}());'>GReader Tree Scroll - adds a horizontal scrollbar to the list of folders/feeds.



Both bookmarklets above use jQuery to make the magic happen, so you'll need to run the "Append jQuery to current page" bookmarklet before you run either of the above bookmarklets.

Tell me what you think!

Homestar Runner and Strong Bad Email make for lots of laughs

One of my favorite online sources for laughs is the Homestar Runner site. Homestar Runner is the central character for whom the site is named, but my personal favorite is the wrestling-mask-wearing Strong Bad. Strong Bad has a running gag where he answers email from "users."

Here are a couple of my most-liked episodes:

Homestar and friends have been around for several years, but some of my friends had never heard of Homestar Runner and Strong Bad, so I thought I would introduce them to the fun via this blog post and my Twitter account.

If you're interested, there's even a Homestar Runner Wiki with a page devoted to Strong Bad Email. Or check out the characters page. Great stuff!

Add jQuery to any web page by using a bookmarklet!

I had an inspiration today: I can create a bookmarklet to append a reference to the jQuery library to any page! And, by using Firebug, I can execute custom jQuery code against a page in the console tab.

Here's the bookmarklet code: Append jQuery to current page

Simply right-click the hyperlink above and add it as a Favorite (IE) or a Bookmark (Firefox, Mozilla). Make sure you add it to your Favorites-->Links folder in IE, or your Bookmarks Toolbar in Firefox. This way you can click the toolbar to execute the bookmarklet's code.

Here's what the code looks like (in long form):

    // create a new script element in the DOM
    var jQscript=document.createElement('script');
    // use the latest version of the jQuery core library
    // append the new script element to the DOM

The latest version of jQuery (core) can be found at:


Once you have appended the latest version of the jQuery library, you can use "$" syntax to access elements of the current page's DOM. You can use all of the selection, filtering, CSS modification, attribute modification, and other features that jQuery allows! It helps to have a "console" interface for executing custom Javascript, like the console in Firebug.

Note: To use some advanced UI features of jQuery, you'll also need to "attach" some optional jQuery add-on libraries (like sorting and drag-and-drop). You can experiment with the best way to do that.

Possible uses

Using this technique, you can...

  • change the the styling of elements
  • show or hide elements
  • use your imagination! (I'll probably invent and post more uses for this technique later.)


What do you think? Do you have any ideas for using this technique?

Night of Tears, Years of Joy by Samuel Miller

My father's second book, Night of Tears, Years of Joy, has just been released by Xulon Press. You can buy it online through, Barnes & Noble, Borders, and Target. Or you can order it directly from Xulon through their website, or by calling 1 (866) 909-BOOK.

The book is a revision and expansion of his original book, Night of Tears, published in 1978. Night of Tears told the story of his life-changing automobile accident in 1969 when he was 18 years old. Samuel wrote about his incredible testimony of God's keeping power during the ordeal and the subsequent recovery.

Now, nearly four decades later, the story still holds great value and inspiration for those facing difficult times. Beyond the original account, the new book includes "the rest of the story"--what has happened in his life since the first book was written, including miraculous manifestations of God's healing and His guiding hand in the orchestration of events.

Buy it on

Staples takes old UPS batteries?

According to a friend of mine, Staples will take used batteries from rechargeable devices such as cell phones for recycling, as well as other categories of "e-waste." I was able to confirm with a phone call that they also will take old UPSes. I'm not totally convinced that the person on the phone knew what I was talking about, but I'm taking it at face value.

Update: The "Staples Soul" program will take large computer items for recycling (for a $10 fee per item). Small items like keyboards, mice, and speakers are accepted at no charge.

I also called CyberPower, the manufacturer. They said I could either ship it to them at my own expense or try something like Batteries Plus. Bingo!

A call to Batteries Plus confirmed that they will take them. They will even take the battery component out of the UPS for you!

That's my current plan. We'll see how it goes.

Syndicate content