Covered topics: life in general, personal productivity, life hacks, organization, software development, technology, etc.

Combine Your YouTube Subscriptions into One Feed with Google Reader

Quick tip: Here's how I successfully created a combined feed from my YouTube subscriptions.

YouTube does not seem to offer a direct export of your subscription feeds as an OPML file that you could import somewhere else, but it does provide RSS feeds for tags and users. See YouTube's RSS feed information.

Here's how you can create a single feed out of multiple tag and user feeds:

  1. Add the tag/user feeds to Google Reader. Example:
    feed://www.youtube.com/rss/tag/yourtag.rss
    

    Note: In the above example, substitute your desired tag for "yourtag".

  2. Assign the feeds to a new folder, like "YouTube Channel".
  3. In your Google Reader account settings, under Folders and Tags, make the folder public.
  4. Click the View Public Page link.
  5. The public page will contain a link to the Atom feed that you can add to any aggregator.

Example

See my example YouTube Channel page to get a feel for what it looks like.

Feedback

If you like this tip or have ways to improve on it, leave a comment to let me know.

Give a Goat for Christmas?! - World Vision Gift Catalog

World Vision has a great way to give to others in need: their gift catalog. One of the most popular items is a goat!

According to World Vision, a goat can provide the following benefits:
World Vision Goat: World Vision Goat

A goat nourishes a family with protein-rich milk, cheese, and yogurt, and can offer a much-needed income boost by providing offspring and extra dairy products for sale at the market. It even provides fertilizer that can dramatically increase crop yields!

There are plenty of other items you can donate toward:

Exploring the Gift Catalog

The site is well-organized. You can browse donatable items by category or by cost.

Categories include:

Cost levels include:

Honor Someone with Your Gift

When you complete the donation process online, you can dedicate your gift in honor of someone. The person you choose can be notified of your gift in their honor:

During check out, you will have the option of sending them a beautiful card by mail, e-mail or print from home!

Some donatable items come with a gift, such as a plush toy goat, to give to someone as a reminder of the gift you made on their behalf.

Conclusion

This holiday season, consider the option of giving to others in a way that you might not normally imagine. World Vision and other organizations offer great opportunities to make a difference in someone's life!

Bust Merchants that Require Minimum Credit Card Purchases

Have you ever been told by a merchant, "Sorry, you have to spend at least $X in order to use a credit card?" If that angers you like it does me, there is something you can do about it. In fact, Visa and MasterCard both prohibit participating merchants from setting minimum purchase requirements as a condition for acceptance of payment.

Here are FAQs from both companies with their policy:

  • Visa's FAQ - look for the item labeled "Minimum Purchase."

Visa merchants are not permitted to establish minimum transaction amounts, even on sale items. They also are not permitted to charge you a fee when you want to use your Visa card.

Q: Can a merchant charge me a fee to use my MasterCard card? Can a merchant require a minimum purchase amount to use my MasterCard card?
A: The answer to the first question is almost never; the answer to the second question is not ever.

and...

Another MasterCard acceptance rule prohibits merchants that accept MasterCard cards from establishing any minimum amount below which the merchant won't accept payment via MasterCard card.

Fighting Back: File a Complaint

If a merchant tells you a minimum purchase is required, let them know that you are aware of Visa's & MasterCard's policy, and that you are willing to file a complaint if they insist on a minimum amount. If the merchant persists in their demand, you can file a complaint online with MasterCard or, if your card is from Visa, notify the bank that issued your Visa, and the bank will assist you in the complaint process.

MasterCard's online merchant complaint form actually includes four types of violations:

  1. "In order to make a MasterCard purchase, the merchant/retailer required a minimum or maximum amount."
  2. "The merchant/retailer is adding a charge for using your MasterCard card."
  3. "The merchant/retailer required identification."
  4. "A merchant/retailer displaying the MasterCard decal in their window refused to accept my MasterCard card."

I found the "identification requirement" violation to be puzzling. I need to research the reasoning behind that one. I've been asked for ID before, and it didn't bother me. Sometimes requiring ID can prevent unauthorized use of your card. That seems good.

My Plan of Attack

I plan to make a printed card (business card size) with a copy of Visa's & MasterCard's policy on it so I can carry a copy or two in my wallet as ammunition in the argument. I'll post it here for others to use when I'm done.

Be Firm But Nice

If you encounter a merchant who gets nasty when confronted (quite likely), try to be calm, and be willing to walk away from your purchase if they are uncooperative. I'll try to remember this advice myself too.

Feedback

Do you have any horror stories about this situation? Have you won any victories by countering the merchant's demands? Let me know what you think.

Earth911.com Search Offers Local Recycling & Disposal Options

I'm not on the extreme end of environmental activism, but I do feel guilty throwing useful stuff away, and I do want to dispose of hazardous materials responsibly.  So to all of you that already knew about Earth911.com, I'm late to the party.  But I'm sure I'm not alone, so I want to pass on the information.

Earth911.com logo

Earth911.com offers great information on recycling, safe disposal, and environmental responsibility, but that's not its most compelling feature in my book.  It has a search by material type and location to pinpoint recycling agencies and companies in you local area!  It is very well done, and even includes some interactive map features.

Here is a list of categories that Earth911.com handles:

  • Paper
  • Metal
  • Hazardous
  • Plastic
  • Glass
  • Electronics
  • Automotive
  • Household
  • Garden
  • Construction

I found this site while looking up more information on the 1 (800) CLEANUP phone number.  It turns out that Earth911.com has taken over for the former 1800cleanup.org site.

Keep in mind that some recycling agencies only serve residents of their covered areas, but it's absolutely worth investigating to see if there are recycling options in your area.  Plus, the wealth of information and articles about responsible consumption and recycling is worth the visit.

SafeGet() extension method for C#

Nulls Are Like Evil Trolls

I hate all of the extra code you have to write to protect your code from Null Reference exceptions, but it's totally necessary at some level. The question is, "How often do you need to write the same code over and over?"

I included this code in a project today (it seemed useful):

    internal static class Utility
    {
        public static TResult SafeGet<T, TResult>(this T instance, Func<T, TResult> nonNullFunction, Func<TResult> nullFunction) where T : class
        {
            if (instance != null && nonNullFunction != null)
                return nonNullFunction(instance);
            else if (instance == null && nullFunction != null)
                return nullFunction();
                // in all other cases, return the default for the type of TResult

            return default(TResult);
        }
        public static TResult SafeGet<T, TResult>(this T instance, Func<T, TResult> nonNullFunction) where T : class
        {
            if (instance != null && nonNullFunction != null)
                return nonNullFunction(instance);
                // in all other cases, return the default for the type of TResult
            return default(TResult);
        }
    }

It changes code like this:

int x = (myObjThatMightBeNull != null) ? myObjThatMightBeNull.PropertyINeed : 5; // 5 is default when myObjectThatMightBeNull actuall *IS* null
            
            

To code like this:

int x = myObjThatMightBeNull.SafeGet(o => o.PropertyINeed, () => 5); // 5 is default when myObjectThatMightBeNull actuall *IS* null
            

Or code like this:

int x = myObjThatMightBeNull.SafeGet(o => o.PropertyINeed); // takes default for int (0)

After some discussion with my colleague, Johannes Setiabudi, it was debatable as to the relative value of the new extension method compared to the old technique. I'm still forming my opinion. On the one hand, the "SafeGet" communicates the intent of the code. On the other hand, the lambda syntax may be less understandable to those unfamiliar with it.

Thoughts?

Leave your comments if you have ideas that might work or ways to improve the code.

A case of "Facebook App-jacking"

The publisher/developer of the "Have You Ever..." and "Would You Rather..." Facebook application just sent me a message informing me that the name (and purpose) of the applications has been changed--to "SpeedDate (Formerly Have You Ever...)" and "SpeedDate (Formerly Would You Rather...)", respectively.

SpeedDate?? What?? That's not what I signed up for. No thanks--your app has been removed from my profile!

That's the result when you "hijack" a Facebook app. See ya later!

Life Hack Experiment: Build a public To Watch video list

I'm going to try a life hack experiment. I've found some interesting videos on MSDN Channel 9 that I would like to watch, like this one about Windows PowerShell. But, I don't have the time to watch them all right now. So I'm going to post them by using the Silverlight embedding feature of the Silverlight video player they use to batch them up and review later. And, as an added benefit, anyone that is interested can check out the collection too.

This technique can apply to more than just Microsoft videos. Certainly, YouTube or UStream.TV could benefit from this approach.

I'll be sure to tag the post with an appropriate topic-oriented tag, but I may also include a media-oriented tag like "Video" or "Video to Watch" so I can navigate them using my Drupal blog's taxonomy features.

So, without further ado, here is the embedded video about PowerShell:

Enjoy!

Introducing Knowtons - Particles of Knowledge

Evidently, Google has recently released a new service called Knols. It defines a "knol" as a unit of knowledge. The Knols service has similarities to a wiki, but some significant differences, too.

I prefer a term of my own creation: "knowton" (rhymes with "proton"). You can think of it as a particle (or yes, unit) of knowledge, or something knowable.

What is the essence of a knowton?

  • It is something describable or expressible.
  • It is usually something nameable or identifiable.

What are some characteristics of knowtons?

  • They can be related to other knowtons
  • They can often be broken down into other knowtons

Examples of knowtons:

  • words
  • people
  • places
  • things
  • concepts

A knowton is something you could ask a question about:

  • "What is 'that'?"
  • "Who is 'that'?"
  • "Where is 'that'?"
  • "What does 'that' mean?"

Information devices that contain knowtons include (but are certainly not limited to):

  • glossaries or dictionaries
  • indexes
  • newspapers
  • encyclopedias
  • wiki pages
  • credits in a movie
  • books
  • high school yearbooks (people)
  • phonebooks (people and businesses)
  • web pages
  • radio and television programs
  • or basically, any source of information with identifiable units of "askability"

When expressed in electronic systems, a knowton can have attributes:

  • identifiers
    • numbers or codes
    • names
    • aliases
    • URIs
  • description
  • location
    • Example: geocoding (latitude and longitude)
    • URLs (similar to URIs)

Challenge: Spread the Meme!

What do you think? Do you like the term "knowton?"

If you think the term "knowton" is cool, usable, or meaningful, try using it in a conversation today, and see what kind of questions or reactions you get.

Life Hack: Subscribe to Your Own Twitter Favorites to Consolidate an Inbox

Twitter's "Real" Value?

A lot of the value I get out of Twitter is the "microblogging" aspect in which people post a quick link to a useful or meaningful or funny web page. Sure, Twitter can help you stay up to date on those you "follow," but it's also a great data mining tool. In the same way blogs allow you to plug into the brains of interesting people, Twitter allows you a micro version of this technique. In some ways, Twitter has some advantages over blog reading/writing:

  • Twitter limits your post to 140 characters, so you have to be concise. This might (not guaranteed) cause you to keep your message to just the bare essentials--there's no room for fluff!
  • Twitter forces the writer to be concise, so reading a Twitter "micro blog" post is quick and easy.

Time to Consolidate Those Inboxes!

As GTD creator David Allen recommends, I'm constantly striving to consolidate my inboxes (having as many as I need and as few as I can get away with). Rather than subscribe to a ton of email newsletters and clutter that inbox, I prefer to let Google Reader take care of the information I want to keep up with.

Twitter, in effect, is just one more inbox to deal with. It's yet another stream of incoming data that you must process. As with any inbox, an honest evaluation of its value and how it might be consolidated should be made.

The Problem: I Can't Read That Right Now...

If you follow very many people on Twitter, the amount of traffic that streams by your consciousness is mind-boggling. There's not enough time to read all of the "tweets," let alone all of the pages they point to.

The Answer: ...But I Can Save It For Later

As pointed out in a comment by Morten Skogly, you can access the favorites of any user as an RSS feed. This can be useful for really tapping into someone's brain. Instead of hearing all of the noise they put out, you can use them as a filter by monitoring what they value.

Just use the following pattern for an RSS feed of a Twitter user's favorites:
http://www.twitter.com/favorites/username.rss

Substitute the actual name of the user for "username" in the link above.

Taken a step further, you can subscribe to your own favorites using the same technique. This allows you to quickly tag something in Twitter as a favorite, while using Google Reader (or other news aggregator) as your "command center" for all things RSS! So tag your favorite tweets using the star, and it will show up for your later review in Google Reader.

Here Are My Favorites

My Twitter favorites RSS feed can be found here:
http://www.twitter.com/favorites/xagronaut.rss

You can follow my Twitter postings here:
http://www.twitter.com/xagronaut

Feedback

Do you have any life hacks using RSS and Twitter? Let me know! Just leave a comment!

McD's Coffee Sabotage!

McD's Coffee Sabotage!McDonald's coffee cup shows evidence of tampering! My pants show evidence of stains!

Useful Software Tools

Here are some (mostly great) tools I use. I'm happy to recommend them here. Some are free and others cost money, but in general, even the non-free tools are worth it--otherwise they would not be listed here.

Instant Messaging

Text Editors

My favorite text editor for Windows:

  • UltraEdit (costs ~$40, but definitely worth it!)

A free alternative (but not as good) to UltraEdit when you can't afford/acquire a license for it:

File Tools

  • WinMerge -- compare folder trees and individual files. I love this tool! It has saved me lots of time when comparing book manuscript files (plain text, not binary) and source code. It's great for reconciling two different folder structures or simply understanding the differences.
  • Junction -- create symbolic links to other folders in Windows NTFS-formatted disks

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.

Freecycle.org 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...

Freecycle.org Helps Match You With "Takers" For Your Stuff

Freecycle.org (as in "free"+"recycle") is a great movement that helps people give usable items away instead of sending them to a landfill. Freecycle.org 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??--Freecycle.org can help.
Freecycle.org 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 Freecycle.org group in your area, check out their website:
http://www.freecycle.org/

DeVry alumni pig roast

DeVry alumni pig roast

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 43Folders.com 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.

Feedback

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):

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!

Whiteboarding the future

Whiteboarding the future

Chris Slee, the founder of the company that I work for, Allen, Williams and Hughes Company (AWH), is shown whiteboarding tasks for the project we're both working on.

The project will use the Microsoft .NET 3.5 Framework and CSLA.NET 3.5. We're also making use of CodeSmith to do code generation.

AWH is a 12-year old company that specializes in consulting using Microsoft technologies. We also produce and market an enterprise-class content management system, called GeoDocs.

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):

javascript:void(function(){
    // create a new script element in the DOM
    var jQscript=document.createElement('script');
    // use the latest version of the jQuery core library
    jQscript.src='http://code.jquery.com/jquery-latest.js';
    // append the new script element to the DOM
    document.documentElement.appendChild(jQscript);
}());

The latest version of jQuery (core) can be found at: http://code.jquery.com/jquery-latest.js

Implications

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.)

Feedback

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

Syndicate content