// Internet Duct Tape

People Are Computers Too – How Improving Applications Can Improve Your Life

Lifehacks and Productivity

This week I’ve been talking about code profiling and how if you want to analyze the performance of your application you need to work with large sets of data. Application efficiency isn’t free, it requires measurement, analysis and change. Unsurprisingly, performance analysis for a software application and performance analysis for aspects of your life have a lot in common.

Memory Management

When people ask me how to make their computers faster, my answer is always “more RAM”. The biggest reason why software applications run slowly is because they don’t have enough memory to operate efficiently. People work the same way. You can improve your memory by getting enough sleep at night and by mind-dumping.

Mind-dumping means write things down instead of trying to keep it in your head. Human memory works like computer RAM where it needs constant refreshes of remembering something to keep it from becoming forgotten. By writing down lists of what you have to do in the future you free up your mind and your attention to focus on the present.

Multitasking

Another reason why computer programs run slowly is because there are too many other things going on at the same time. When I’m trying to figure out why a Windows is so slow the first thing I do is look at the task manager or system tray to see what is running at the same time. Context switching between multiple programs adds additional overhead of saving and restoring state information, and if too many things are happening at the same time then nothing gets done.

Like how a computer program will run faster if it’s the only program running, you’ll be able to complete tasks faster if you are focused on only one at a time. Maintaining a list of what you want to accomplish means that when you’re done one task you’ll easily be able to check your list to find something else to work on. Having a list of everything you want to do also makes it easier to prioritize and focus on what’s most important to you.

Profiling and Measurement

It’s easy to read advice on what to improve, but unless you look at your own life and where your time goes you don’t have a clear idea of how your time is wasted. There are several ways to track how your time is used. David Seah’s Printable CEO has print templates that let you easily measure where you are spending your time. I like to use GTDWannabe’s version.

There are a few tools out there that will automatically monitor your computer usage and generate reports about how you spend your time on the computer: TimeSnapper and RescueTime. I’ve been a RescueTime beta tester for a month now and I have to say that I really like the service.

Rescue Time time management screenshot

You can see from my chart that I wasted about 2.5 hrs on personal tasks at work that week. There may be a correlation between working too much overtime and goofing off. Because I know where I’ve spent my time, I know what I can stop doing to free up more time.

Heavy Load

“If you want something done, give it to a busy person.” Nothing makes you more aware of how you are spending your time like when you have no free time at all. Testing your application in a worst case scenario where it has to deal with large sets of data will help you find performance problems. It works the same way with other aspects of your life.

Coming back from a vacation where you haven’t checked mail, email or RSS feeds for two weeks will help you identify the chaff. It’s a great opportunity to unsubscribe from newsletters and set up filters for the major time offenders. You can turn off email notifications when you get messages from Facebook. That relative who always emails you jokes can get their own special folder that you’ll never check. When you have to deal with handling a lot of data it forces you to get rid of the unimportant information.

Do Less

As you measure how your software application performs, you’ll find features that seemed like a good idea but drastically consume resources.  Quite often it is easier to cut those features out rather than spend time improving them. As you measure where you spend time in your life, you’ll find that at their are time consuming activities that seemed like a good idea at the time, but don’t contribute to any of your goals. Don’t spend time on activities with no benefit.

Idle Time

Efficiency for efficiencies’ sake is one of the worst trends of the 20th century. But efficiency in the tasks you have to do frees up time for the tasks you want to do. Every thing you spend time on has an opportunity cost for other things you could be doing with that time. Having idle time in your life frees up room for the unplanned and unexpected.

Programming Best Practices: Profiling

Posted in Firefox and Greasemonkey, Programming and Software Development, Technology by engtech on November 14, 2007

Programming Tips

My first task coming back from my work stress blogging hiatus is to finally fix problems with Akismet Auntie Spam that Lorelle reported over a month ago — if your Akismet spambox has over 10,000 spam comments then Auntie Spam is going to crash hard. Viewing that many comments at once will make Firefox use eight times more memory than normal web browsing, even without using Auntie Spam [1].
This means it’s time to do some code profiling [2]. In programming, profiling means to measure your code and find out which parts are using the most time and the most memory. Profiling gives you performance analysis measurements so that you can optimize your program for speed and/or memory.

“Don’t prematurely optimize” is a programming Best Practice, and it can be summed up in the words of my grandfather: “measure twice and cut once”. You can guess at what parts need fixing, but it is much more effective to measure how your program performs so that you can focus on the worst parts. They have the most room for improvement. Without profiling you could easily spend several hours optimizing a loop that executes in negligible time and ignore the three lines that copy huge chunks of memory for No Apparent Reason. Get it working, and then use your profiler to get it working fast.

Profiling is a Skill

I’ve been creating Greasemonkey scripts using javascript for a year now, and this is my first time firing up any kind of javascript profiler. It really struck me that I waited too long to do this. Don’t prematurely optimize, but also don’t waste any time learning how to run a profiler on your code and interpret the results. If you’ve never gone through the process of optimizing code in a language you regularly use, then you’ve been relying on all kinds of bad habits [3]. Learn how to integrate a profiler with your program as soon as possible so that performance analysis doesn’t become one of those “I’ll get around to it” tasks that never happens.

Another good rule is to always test with large data sets. Ideally you want a fast case for rapid prototyping of new features, and a worst case for stressful testing of that new feature. To often we use small sets of data for development and testing. We never realize how badly our code performs in real world conditions. Speed and responsiveness play a greater factor in whether or not someone becomes a regular user of your program than you might realize.

Footnotes

[1] One thing WordPress does wrong is it includes all of your comment spam in their WordPress export files. One friend saw his export file decrease from 83 MB to 8 MB once he deleted the comment spam.

[2] The best way to profile Javascript is with FireBug, but it doesn’t recognize Greasemonkey scripts unless you embed them in the page so FireBug can find them. Wikipedia has a list of profilers for popular languages.

[3] Some of the bad habits that were lurking in Auntie Spam:

  • I was using a custom getElementsByClassName instead of an XPATH call. XPATH can be so much faster that walking the DOM.
  • I had too many innerHTML assignments instead of leaving HTML as a string and then giving it to the web page to process as a final step
  • Inefficient regular expressions
  • Too many copies of the comments in memory

How to Profile Greasemonkey Scripts with Firebug

Posted in Firefox and Greasemonkey, Programming Tools, Technology by engtech on November 13, 2007

Programming Tips

Running performance analysis on Greasemonkey scripts can be a pain in the butt. They aren’t part of a webpage so standard tools for analyzing web sites don’t work… or do they?

The Goal

Profiling Greasemonkey scripts with Firebug

What You’ll Need

  1. Firefox
  2. Greasemonkey
  3. Firebug extension

The Trick

#1: You need to remove all of the Greasemonkey GM_* functions from the script you want to profile. This is easier than it sounds because all of the functions can be performed by plain ‘ole javascript (except for the open in new tab function and register menu command).

#2: You need to embed your Greasemonkey script inside of the running page so you can analyze it with Firebug’s profile tool. I have a function below that can embed a function inside the current web page.

#3: You’ll need to call the function either using unsafeWindow or by embedding a call to the function in the page.

#4: Litter your code with calls to Firebug’s console.profile() and console.time() functions.

Sample Code Template


(function() {
  function embedFunction(s) {
document.body.appendChild(document.createElement('script')).innerHTML =
s.toString().replace(/([\s\S]*?return;){2}([\s\S]*)}/,'$2');
 }

  function myKickassGreasemonkeyScript() {
    console.profile();
    // Put everything you need for your Greasemonkey script in here
    // Don't use any of the GM_* functions!

function kickass() {
      console.time("Block1");
      // Block of code that might take a lot of time
      console.time("Block2");
      // another block of code
      console.timeEnd("Block2");

      console.timeEnd("Block1");

    }

// more cowbell

console.profileEnd();
  }

  embedFunction(myKickassGreasemonkeyScript);
  // Method 1: embed the function call into the current page
  document.body.appendChild(document.createElement('script')).innerHTML = "myKickassGreasemonkeyScript();";
  // Method 2: directly call the function using unsafeWindow
//     window.addEventListener("load", function(e) {
//                   unsafeWindow.myKickassGreasemonkeyScript();
//                   this.removeEventListener('load',arguments.callee,false);
//                 }, false);

 })();

Firebug Tutorial

Michael Sync has a tutorial on using Firebug that describes the console.time() and console.profile() functions. The official website has a nice list of Firebug keyboard shortcuts and a brief description of all the console.* functions.

Related Posts

Best of Feeds – 19 links – blogging, tips, google, opensocial, community

Posted in Best of Feeds by engtech on November 11, 2007

RSS feeds are like cookies (that are good enough for me). Best of Feeds is a weekly collection of the best stuff I saw on the Internet this week. They’re saved on delicious and stumbleupon and cross-posted to Twitter and Tumblr as they happen and then collected together on Saturdays. I don’t blog on the weekend so read these links instead.Subscribe to //engtech to see this every week (or get it by email).

Legend

  • saves – number of people who bookmarked on http://del.icio.us
  • inbound links – number of blogs who linked to it (max 100)
  • diggs – number of people who dugg on http://digg.com

This Week at Internet Duct Tape

  • Internet Duct Tape featured in Blogging Heroes
    • When bloggers like Gina Trapani, Mark Frauenfelder, Chris Anderson, and Phillip Lennsen are honored to be collected in New York Times’ bestselling author Michael A. Banks’ new book, Blogging Heroes: Interviews with 30 of the World’s Top Bloggers I can’t even begin to describe how…
  • How to Subscribe to RSS Feeds with Google Reader and Internet Explorer
    • In August I was being the dutiful son and trying to get my father hooked on RSS feeds. (It’s like the Ring — if you get someone hooked on RSS you no longer have 700 unread items in Google Reader) I hit a snag: his browser of choice is Internet Explorer and there wasn’t a simple way to…
  • Avoid Prime Real Estate for Live.com Email Address Landrush
    • Microsoft’s live.com is offering email addresses, and the usual land grab rush is on to “secure” your identity on the service. What most people don’t realize is that securing a “prime real estate” email address is probably the LAST thing you want to do. An obvious email…
  • Digest for October 2007

This Week at IDT Labs

  • [YAHOO PIPES] Yahoo Pipe Cleaner v1.1
    • Yahoo Pipes changed their website on me and I’ve fixed Yahoo Pipe Cleaner so that it works with the new site. Now it also removes image thumbnails that were popping up. It might not run on all Yahoo Pipes because some pipes now have custom URLs — let me know if you are having any problems using…

Tags: , , , , ,

Comments Off on Best of Feeds – 19 links – blogging, tips, google, opensocial, community

Internet Duct Tape featured in Blogging Heroes

Posted in Becoming a Better Blogger, Book Reviews, Internet Duct Tape News, Technology by engtech on November 09, 2007

Blogging HeroesWhen bloggers like Gina Trapani, Mark Frauenfelder, Chris Anderson, and Phillip Lennsen are honored to be collected in New York Times’ bestselling author Michael A. Banks’ new book, Blogging Heroes: Interviews with 30 of the World’s Top Bloggers I can’t even begin to describe how exciting it is to be included in the list. “Someone must be making a mistake,” went through my head several times.

From the cover of the book you can see a list of a many of my blogging heroes: Frank Warren (PostSecret), Gina Trapani (LifeHacker), Merlin Mann (43folders), Peter Rojas (EnGadget), Chris Anderson (Wired), Michael Arrington (TechCrunch), Robert Scoble, Steve Rubel

Several other sites are posting previews from their chapters in the book, so I will as well: Blogging Heroes Preview Chapter – Internet Duct Tape

Preview the Book

Here’s a list of some of the other free chapters that are available online:

If you spot any other chapters in the wild, drop me a comment on this blog post and I’ll add them to the list.

On Writing Blogging Heroes

Michael Banks is talking about the experience of writing Blogging Heroes.

  1. Getting Started
  2. Contacting the Interviewees

Pick Up Your Copy

Amazon: Blogging Heroes: Interviews with 30 of the World’s Top Bloggers

How to Subscribe to RSS Feeds with Google Reader and Internet Explorer

Posted in Google Calendar and Gmail, RSS Syndication, Technology by engtech on November 08, 2007

Mastering the Google

In August I was being the dutiful son and trying to get my father hooked on RSS feeds. (It’s like the Ring — if you get someone hooked on RSS you no longer have 700 unread items in Google Reader)

I hit a snag: his browser of choice is Internet Explorer and there wasn’t a simple way to “one-click subscribe” like there is in Firefox. I couldn’t come up with a quick solution while I was there, but I did bitch about it afterwards which lead to one of my readers coming up with a solution using Google Toolbar. Thanks!

To Install

Step 1: Install Google Toolbar (if you don’t already have it)

Step 2: Install the Add to Google Reader button for the toolbar

To Use

Step 1: Click on an RSS feed link

Subscribe to feed
Click to subscribe using RSS

Step 2: Click on the RSS icon in the Google Toolbar

subscribe with Google Reader and Internet Explorer

Step 3: Choose the Subscribe with Google Reader option

one click subscribe with google reader

The only gotcha is that you have to click on the feed URL before clicking on the Add to Google Reader button. This is because the Google Toolbar Button API doesn’t support RSS feed autodiscovery (something they’ll hopefully rectify). It’s still not as simple as subscribing to a feed with Firefox, but it’s a step in the right direction.

Thanks for helping me with this Eric, this is a great example of the lazyweb in action.

For the geeks in the audience, building a custom button is quite easy. I’m going to have to give it a try some time.


<?xml version="1.0"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
  <button>
    <title>Add to Google Reader</title>
    <description>Add to Google Reader</description>
    <site>http://fusion.google.com/ig/add?feedurl={url.noescape}</site>
    <search>http://fusion.google.com/ig/add?feedurl={query}</search>
    <icon>...snip...</icon>
    <update>http://www.zouric.com/geek/addtogooglereader.xml</update>
  </button>
</custombuttons>

Avoid Prime Real Estate for Live.com Email Address Landrush

Microsoft’s live.com is offering email addresses, and the usual land grab rush is on to “secure” your identity on the service. What most people don’t realize is that securing a “prime real estate” email address is probably the LAST thing you want to do.

An obvious email address suffers from an insidious kind of spam you’ll never be able to properly filter or get rid of: I’m talking about wrongly addressed email.

(photo by planeta)

As a gmail beta tester I was lucky enough to grab several firstname@gmail.com accounts and a couple of firstinitiallastname@gmail.com accounts. It was fine for the first year, but it has rapidly gone downhill as Gmail has risen in popularity. Now when I check my primary email account I’m lucky if one in four emails were intended for me.

I’ll get university class mailing lists, church lists, hotel bookings, and account signups by the handful. [1] It’s the digital equivalent to rifling through the magazine rack for subscription cards to sign up your ex. Except there’s no malice behind it; only ignorance and carelessness.

Good

Bad

jqpublic@live.com john@live.com
jpublic77@live.com jpublic@live.com
johnqpublic@live.com johnpublic@live.com
  gilesb@live.com

Possible email address for John Q Public

What makes it doubly-worse is that with many email programs automatically collecting any correspondence to your address book means that telling someone they have the wrong address might be enough to get you added to their address book forever. If you choose an email address with your last name, chances are that the people emailing you might have the same last name — automatic address collection means that you’ll be on the receiving end of each other’s Christmas newsletters for who knows how long.

I know I sound ridiculous, but you really can’t appreciate the number of similar email accounts on services like @gmail, @hotmail, @yahoo and now @live until you get a popular email address and start seeing the effect of several people who give out the wrong account name — yours.

Related Posts

[1] And out of all those wrongly addressed emails there was only one mis-sent dirty letter.

Digest for October 2007

Posted in Monthly Digest, Technology by engtech on November 07, 2007

Monthly Digest

Every month I publish a digest post collecting the best of Internet Duct Tape. You can also see the Digest for September 2007. This month marked a big milestone for IDT — hitting the 2 million page view mark.

One Year Ago

Here are some articles that are still timeless.

Monthly Digest

Blogging Tips

Working for the Man

Geeking Out

Best of Feeds

My weekly best of the net link round-up.

Popular Posts

What’s hot this month.

IDT Labs Software Updates

IDT Labs is where I track free software I create.

Digest for September 2007

Password Recovery — The Achilles Heel of Your Online Security

Posted in Google Calendar and Gmail, Technology by engtech on October 31, 2007

Software

I had a fun surprise when I woke up this morning: I was locked out of my Gmail account. I sometimes play in bad neighbourhoods on the internet, and this immediately brought up worries of that I might have a keylogger Trojan, but a system scan revealed nothing. The actual truth of what happened was much stranger…

password recovery - locked out of my gmail account

Like most people who grew up in the last quarter of the 20th century I have been inundated with information technology since a very young age. I had one email address in high school, two others during university, and new email addresses with each job and change of internet service providers. For the last few years I’ve been stabilized on Gmail, but I still switch between four different accounts (real name, nickname, gaming, blog). Schizophrenic? Yes.

Email aside, I use around twelve different online user accounts over the course of a week, and many more irregularly. When it comes to those dusty accounts I often have to use the password recovery feature to retrieve my login information over email. Despite my distaste for OpenID, I have to admit that I see the appeal. Password recovery works fine only if you can remember which email account you used to sign up with and you still have access to it. Jobs change, ISPs’ switch, and that free web-based email account you got in 1999 eventually goes down.

It was that last scenario that blindsided me. Like any other web account, Gmail’s recover password feature will send a verification message to your secondary email address on file. In my case that secondary email address was a free account I used infrequently in the hazy years following the turn of the century. Because I used it so infrequently I had no idea that it had been sold and was under new ownership. And I would have remained ignorant for much longer if I hadn’t been using a common name for my gmail account.

Being a Gmail beta tester had it’s perks, one of which was being able to grab the good names before anyone else could. But as Gmail became more popular, that perk changed into a disadvantage: the world is full of idiots who don’t know what their email address is and put down your email address instead. The amount of spam I receive is almost equal to the amount of misdirected email I get because Erica T. put down the wrong email address when the professor was handing the sheet around the classroom. Often these savants trigger the Gmail password recovery cycle as they try to log in to “their” account.

I ignore these password recovery emails the same way as I ignore the misdirected emails. Unfortunately, the good Samaritan who bought the domain my password recovery email was pointing to wasn’t as laissé-faire. Things were eventually sorted out, but not before I had a heart palpitation when he tried to do me a favour by changing my Gmail password and trying to find an alternate means of contacting me. Don’t let this happen to you, and make sure you know what email address the password recovery feature is going to use for your most important accounts.

How to Change Your Secondary Email Address and Your Security Question With Gmail

Click on the Google Accounts Settings link. (It’s hidden in Gmail under Settings >> Accounts).

Click on the Change Security Question link.

gmail change your security question

Change your security question or your secondary email.

gmail change your password recovery email

The Moral of the Story Is…

Well, I’m not quite sure what the moral of the story is, to be honest. Obviously, there is something to be said for having one email address and keeping it for as long as you can. There is something else to be said for using an email provider who requires voice confirmation with personal identifying information before changing your password. Don’t get me started on the benefits of having an account name that other people are unlikely to use.

I know that I’ve got a long boring task ahead of me over the upcoming weeks. I have to assume that any other accounts that were linked to that email address could have been compromised in the 12 hours I lost control of my account. Searches of the trash and sent folders showed no tampering, but that means nothing since a smart person would have just downloaded all of the mail and started data mining with a copy. Can I safely assume because the guy went out of his way to contact me to restore access to my account that nothing bad happened to it? Would you?

Overtime Considered Harmful

Posted in Getting to Done, Technology, Workhacks and High Tech Life by engtech on October 29, 2007

(or I’m Too Lazy to Think of a Better Title)

Time Management

In the past month I’ve worked over 100 hours of overtime to ensure that a project deadline was met when unforeseen issues put the entire project at risk. When you’re a high tech worker then this can happen often enough that it feels like a way of life. What I find strange is that I’ve caught myself bragging about the hours I’ve spent tied to my job. In what sick world should living off of food from Styrofoam containers and an intravenous espresso drip be considered an admirable accomplishment?

If anything it’s a sign of monumental failure in project scheduling, design, delegation or personal time management. Spending two thirds of my waking hours at work isn’t a sign of dedication, it’s a sign of screwed up priorities where I’m willing to push everything else in my life to the side to satisfy the SNAFU I find myself in. The sensible decision would be to get my resume in order and find a way out of this mess.

But like bad movies and bad relationships there’s a sickening desire to stick it out until the end. The sunk cost of time invested seems more valuable than the future cost of staying in this downward spiral. Despite having a university education with a strong background in numbers I can’t do the math and see that the grindstone of a doomed project damages my health and completely destroys my ability to respond to new opportunities. If I’m going to spend a significant portion of my life on work, shouldn’t it be something where that time has a chance at being rewarded?

If the project success depends on a Hail Mary pass to the end zone then chances are slim that things will turn out well for the project in the end. There is no room for heroes on large multi-team projects. For large projects success comes from putting in consistent effort over time and crossing your T’s and dotting your I’s. One last hard push to get it out the door isn’t a valid project management strategy. There is no doctor waiting in the sidelines with a chemical cocktail to induce labour.

I’m lucky that I don’t have children, because this isn’t a life blueprint I’d want to pass on to them. Success that comes from time stolen from the other aspects of your life isn’t success at all.

Interesting Links

Related Posts

Best of Feeds – 9 links – humor, microsoft, productivity, visualization, comics

Posted in Best of Feeds by engtech on October 28, 2007

RSS feeds are like cookies (that are good enough for me). Best of Feeds is a weekly collection of the best stuff I saw on the Internet this week. They’re saved on delicious and stumbleupon and cross-posted to Twitter and Tumblr as they happen and then collected together on Saturdays. I don’t blog on the weekend so read these links instead.

Subscribe to //engtech to see this every week (or get it by email).

Legend

  • saves – number of people who bookmarked on http://del.icio.us
  • inbound links – number of blogs who linked to it (max 100)
  • diggs – number of people who dugg on http://digg.com

This Week at Internet Duct Tape

too busy to blog
Tags: , ,

Tagged with: , ,

Best of Feeds – 30 links – programming, google, tips, agile, facebook

Posted in Best of Feeds by engtech on October 20, 2007

RSS feeds are like cookies (that are good enough for me). Best of Feeds is a weekly collection of the best stuff I saw on the Internet this week. They’re saved on delicious and stumbleupon and cross-posted to Twitter and Tumblr as they happen and then collected together on Saturdays. I don’t blog on the weekend so read these links instead.Subscribe to //engtech to see this every week (or get it by email).

Legend

  • saves – number of people who bookmarked on http://del.icio.us
  • inbound links – number of blogs who linked to it (max 100)
  • diggs – number of people who dugg on http://digg.com

This Week at Internet Duct Tape

  • How I Use Google Reader
    • “How I Use” is a new series I’m starting about the software I use on a day-to-day basis. I want share tips and tricks and to learn tips and tricks from readers sharing with me in the comments. Google Reader is a web-based RSS reader. Because it’s web-based I can access my Google…
  • The Attention Age: Accelerando, Software Agents, Filters and Gatekeepers
    • Last night I finished reading Accelerando by Charles Stross. Like many of the books I read these days, I heard about it from another blogger. It feels like a spiritual sequel to Alvin Toffler’s Future Shock, John Brunner’s the Shockwave Rider and Warren Ellis’ Transmetropolitan. It is…
  • Blog Action Day: Save Paper when Readers Print Your Blog
    • Today is Blog Action Day with a focus on the environment and I’m going to teach a quick CSS trick for how to save paper by reducing what gets printed when someone prints an article from your blog.
  • Coworkers Considered Harmful
    • I hit a realization this weekend that I’ve hit many times before. There’s an inordinate number of times when I’m in the office late not because of my own time management failures but because of the people I work with.
  • Best of Feeds – 26 links – programming, webdesign, javascript, design, tips
    • Tags: blogging, design, fun, javascript, lifehacks, programming, rails, tips, usability, web2.0, webdesign, writing

This Week at IDT Labs

Tags: , , , , , , , , , , , , , , ,

How I Use Google Reader

Posted in Google Calendar and Gmail, How I Use, Software by engtech on October 18, 2007

Software

“How I Use” is a new series I’m starting about the software I use on a day-to-day basis. I want share tips and tricks and to learn tips and tricks from readers sharing with me in the comments.

Google Reader is a web-based RSS reader. Because it’s web-based I can access my Google Reader from multiple places (home PC, home laptop, work PC, visiting family, etc) and all of my information is stored and updated in one place. I use the Firefox web-browser with the Greasemonkey extension.

Google Reader is an RSS reader

RSS can be best described as a stream of news. Instead of visiting different websites at a time, you subscribe to them and you get all of the updates from the websites you follow in one place. For me that one place is Google Reader. This video will describe RSS and why you would want to subscribe to an RSS feed.

Subscribing to a Feed

I subscribe to feeds either by clicking on the feed link directly or by using the autodiscovery feed option in Firefox.

rss feed auto-discovery

The first time you subscribe to a feed, Firefox will display the feed in a nice, human readable way, with a yellow box asking you what you want to use to subscribe to this feed. Choose the Google option and chose the option to always use Google to subscribe to feeds.

always use google reader to subscribe to rss

Unfortunately, Google isn’t smart enough to remember your preference between Google Reader and Google Homepage — so you have to always chose the red pill or the blue pill. There is a handy Greasemonkey script to fix that though: always subscribe to Google Reader.

Accessing Google Reader

I access Google Reader by typing reader.google.com into my address bar or by clicking on the Google Reader icon in the Google Toolbar.

  1. Install Google Toolbar
  2. Install Google Reader button for Google Toolbar

Setting Up My View

Google Reader lets you save your view settings which ever way you like them. I like to view all items at a time instead of sorting them by tags (I’ll switch to tag view if I don’t have time to read all my feeds and I want to focus on a specific subject).

google reader all items

I click on the Expanded view tab in the top right hand so that I can see titles and the body of each item.

google reader expanded view

I turn off the left sidebar by clicking the left margin or pressing ‘u’ on the keyboard.

google reader remove sidebar

Then I click on the View Settings drop-down and choose sort by newest and set as start page.

google reader save settings

Now Google Reader will remember these settings every time I log in.

Navigating Feeds

I read feeds by

  • using the middle mouse wheel to scroll down the page with my right hand
  • my left hand hovers over the ‘j’ and ‘k’ keys on my keyboard
  • ‘j’ jumps past a post that I don’t find interesting enough to read completely
  • ‘k’ jumps back to the previous post if I decide that I do want to read it

I find quickly scanning through full posts like this lets me read many more feeds than if I have to click on the titles I find interesting.

Opening Links

I open links I want to read by

  • clicking on the link with my middle mouse button to open it in a background tab

When I get around 10 links I take a break from reading feeds and go through all of those open tabs, closing them as I’m done with them.

Read a Post Later

If I come across a blog post that’s too dense to read at the moment I’ll use the Readeroo extension to save it to delicious with the toread tag. Readroo will let me fetch it later, and mark it as read.

Leaving a Blog Comment

When I find a blog post I want to comment on

  • I hit the ‘v’ key to jump to the post on the blog
  • hit the ‘end’ key on my keyboard to go the bottom of the post
  • press ‘alt+c’ to fill in my name / email address / blog url thanks to the handy prefill comments Greasemonkey script
  • write my comment and click send
  • press ‘ctrl+w’ to close the tab and return to my Google Reader tab

Bookmarking a Blog Post

When I find a blog post I want to save for my ‘Best of Feeds’ series

  • I hit the ‘v’ key to jump to the post on the blog
  • click on the ‘TAG’ button in my toolbar to save it to delicious

Google Reader has it’s own mechanism for sharing and bookmarking posts but I don’t find it nearly as useful or as fast as delicious. That might change with time.

I’ve seen a Greasemonkey script that lets you bookmark the post from within Google Reader, but I prefer using the official delicious extension to bookmark posts because of other enhancements I’ve made to it.

How Do You Use Google Reader?

The reason for writing a post like this isn’t only because I want to share how I do something, but because I also want to learn tricks I might not know about. Got a trick I’m missing out on? Please leave it in the comments, or write your own blog post about it and send a trackback.

The Attention Age: Accelerando, Software Agents, Filters and Gatekeepers

Posted in Book Reviews, Digital Culture, RSS Syndication, Software, Technology by engtech on October 17, 2007

Last night I finished reading Accelerando by Charles Stross. Like many of the books I read these days, I heard about it from another blogger. It feels like a spiritual sequel to Alvin Toffler’s Future Shock, John Brunner’s the Shockwave Rider and Warren Ellis’ Transmetropolitan. It is about information overload to the nth degree and too much change in too short of a time.accelerando charles stross

Accelerando is broken into 9 fragmented stories with decades passing in between them. This is too bad because it was the initial segment, only a few years in the future, that I found most interesting. Our protagonist is hooked up to a portable computing network of software agents that he uses to continually data mine and plug-in to a “river of news”. As he communicates with other people he spawns off parts of his “distributed brain” to research more information and get back to him.

The greatest inventions usually come from seeing the possible connection between two separate things (eg: peanut butter and chocolate). Like in the Shockwave Rider, our protagonist is successful because of his ability to gather and process information is so far beyond an average person’s. Being immersed in the information stream he sees the connections and trends that other’s can’t see.

These connections lead to so many successful ideas, that he can’t possibly execute on them himself – because the time it takes to implement them would take away from the information processing that is his true talent. He makes a career of giving away his ideas and surviving off of the reputation gain and support of his sponsors he’s made so successful. Very much like Doctorow’s concept of whuffie – reputation as currency.

The book progresses to talking about the post-human experience after digitization has reached the point that we can successfully digitally encode human personalities. Post-death society, heads in jars and living bodiless on the internet. There’s a really good bit on how the next major species will be intelligent corporations and artificial spam intelligence. But what really interested me was the initial chapters so close to the beginning 21st century: how do we use technology to deal with information overload?

(You can get a copy of Accelerando for free online – which is very useful because the copy I borrowed from the library was missing the last page – now that’s frustrating)

It’s Getting Harder to Find Information

We’re in the middle of a great revolution where anyone can become a self-publisher. But that’s the crux of the problem, isn’t it? Anyone can become a self-publisher. The low barrier to entry makes the competition for attention fierce. At some level we’re all on par with the lowliest spammers, trying to compete for other people’s attention. There is so much new content being created all the time at the only way old content stays in the public record is if the Great Google God returns it in a search result.

This is only going to get worse because Google has created a new caste of blogging serfdom. People create content and splash Google ads on it with the hope of that it will do well in Google search results so they can get paid.

There’s many a “business model” that relies completely on Google-Google Search for traffic and Google AdSense for revenue. And there’s an even larger amount of so-called business models that rely almost completely on Google for traffic, even if the money comes in via other means.

I think you know what happens to the money when the traffic stops.

I use the term “business model” above loosely, because a model that is entirely dependent on an outside company, for either traffic or revenue or both, is not really sound. You’re not in charge and you have very little control, because if Google decides to change the rules, you’re out of luck. Based on that, I would argue that relying on Google is not a business at all.

I’d say you work for Google.

From the Teaching Sells e-book

Where are the Smart Filtering Agents?

One of the things I remember clearly about the idea of intelligent agents in the early 90s was how it was going to revolutionize how we consume information. Instead of having to *gasp* pick up a newspaper, autonomous software agents would search the net finding tidbits of information what we were interested in and adapting and learning from how we interact with the results. Sci-fi books like John Varley’s Steel Beach dealt with the relationships between humans and these evolving artificial intelligences.

Take a moment to glance at the Wikipedia page on software agents; it’s quite good.

The 90s hope for intelligent agents has congealed. RSS has gotten us part of the way; now we can pick voices out of the chaos that we allow to push information to us. We can subscribe to alerts on search subjects that interest us. But aside from custom recommendation engines like Netflix and Last.FM there isn’t really a bot out there for finding information for us.

The Future: RSS Filtering

I see the fledgling baby steps of software agents delivering news. There are several sites competing for being able to filter through a list of RSS feeds and recommend the best news items to you.

There’s also the “build your own” filtering agent approach.

And let’s not forget the ability to monitor search terms.

One of the more enlightened concepts I’ve come across is FaveBot that wants to bring you the custom information you want about your favorite actors, authors and musicians.

Is the Answer Better Gatekeepers?

Is having an intelligent software agent the right approach or is it better to let humans do the filtering? The past year has seen an incredible rising in using crowdsourcing to decide what is the best information available. This is how digg, reddit, stumbleupon and the delicious popular page find interesting information by using the wisdom of mobs. Unfortunately when the user-base grows too large it becomes watered down to only common denominators.

The other approach is to find human editors to act as your gatekeeper. I’m not talking about hiring your man in Mumbai, but rather niche news sites like Slashdot, BoingBoing and Fark, and to a greater extent using the network of blogs you enjoy to act as your information gate keepers.

The last.FM music service is an amazing tool for finding new music to listen to. What makes it even stronger is its ability to find your “neighbours” – people you don’t know who have similar musical tastes. Listening to your neighbourhood radio is like having a friend who’s a DJ and always pushing new and interesting songs at you.

last.fm music neighbourhood

I don’t know any of these people, but I like their musical tastes.

Maybe instead of software agents we need software that connects us to other people who have similar interests? I read LifeHacker because I know the editors have very similar sensibilities to what I find interesting. Jon Udell shares my same love for information organization and manipulation. Jeff Atwood has perhaps one of the most engaging blogs for general geekery and love of programming, and his twitterstream is always full of interesting links.

The only downside to filtering information is that restricting your input to the people you already agree with creates a reinforcing feedback loop and destroys your patience and your ability to be around people with differing outlooks.

Related Posts

Blog Action Day: Save Paper when Readers Print Your Blog

Posted in CSS and Web Design, Technology by engtech on October 15, 2007

Bloggin Tips and Tricks

Today is Blog Action Day with a focus on the environment and I’m going to teach a quick CSS trick for how to save paper by reducing what gets printed when someone prints an article from your blog.

It’s dead simple to do, and I’m always surprised that more blogs don’t do it.

@media print {
/* If printing the page, get rid of the sidebar and comments */
.somethingclass { display: none; }
}

The @media print style is only applied to your blog when someone is printing it out. Use it to apply display:none; to your header, your sidebar, your footer and maybe even your comments. Here’s a sample of a print style sheet for the Sandbox WordPress blog theme:

@media print {
/* If printing the page, get rid of the sidebar and comments */
div#wrapper { width: 100%; }
div#wrapper * { width: auto; }
div#header { margin: 0; padding: 0; display:none !important; }
div#footer { margin: 0; padding: 0; display:none !important; }
div.sidebar { margin: 0; padding: 0; display:none !important; }
div.container { margin: 0; padding: 0; }
.navigation { display: none; }
#blog-title { display: none; }
.comments { display: none; }
}

Blog Page Without Print Stylesheet

Blog Page With Print Stylesheet

My Print Stylesheet

My print stylesheet is customized for my blog and settings (and let’s face it, my CSS is a mess).

@media print {
#wrapper {
width:100%;
}

#wrapper * {
width:auto;
}

iframe,#wpcombar,#footer,#globalnav,
#menu,.sidebar,.navigation,.comments,
#respond,.entry-meta,#blog-title,
#blog-description,#header,
.idt-menu,.idt-header {
display:none !important;
margin:0;
padding:0;
}

.container {
margin:0;
padding:0;
}

body.loggedin #wrapper {
border-top:0 !important;
}
}
  • making the content take up the entire width of the page
  • turning off iframes so the “digg this” button doesn’t show
  • turning off the “logged into wordpress.com” bar at the top of the page
  • remove header, footer, sidebar, and misc elements like the category image I use
  • remove comments

By setting up a special print stylesheet for your blog design you can save your readers 1-2 sheets of paper for every article they print out.

Coworkers Considered Harmful

Posted in Lifehacks, Technology, Workhacks and High Tech Life by engtech on October 15, 2007

Workhacks

I hit a realization this weekend that I’ve hit many times before. There’s an inordinate number of times when I’m in the office late not because of my own time management failures but because of the people I work with.

Common coworker induced workplace failures:

  • Checking in code that doesn’t work at all
  • Checking in code that introduces subtle bugs somewhere else in existing code
  • Trivial interruptions when I’m in a state of flow
  • Playing vacation snafu where they schedule a trip immediately after a deliverable
  • Playing priority snafu when a manager or team leader side swipes you with fixing someone else’s problems that really aren’t that urgent compared to what you’re already working on
  • Telling me something I’m responsible for is broken, when it’s really because of an error with the way they’re using it
  • Letting someone convince me of their interpretation of a spec because they are more experienced and more confident in their opinion
  • Following their implementation recipe (that doesn’t work — particularly from managers who aren’t in the trenches anymore)
  • Assuming their code does what the comments describes
  • Assuming that because a manager asked me for it directly it falls into the 20% of what’s important, not in the 80% of what can be ignored

One of the best lessons you can learn in life is that you can’t change anyone else, you can only change yourself. The minute you put the blame on someone else you’ve switch things from being a problem you can control to a problem outside of your control. Up until this point I’ve put the blame at their feet, but it’s really my fault because of how I interact with them. It all comes down to a case of trust, and with coworkers trust should be earned, not given (at least when it comes to their assumptions). Here are some things I can do differently to avoid those situations.

  • Always keep my manager informed of my current priorities and to-do list
  • Put on the headphones when I’m in flow and turn off phone/email
  • Never, ever check out coworker code when I’m in the middle of debugging my own code
  • Always check out a stable version of other coworker code that’s been show to be sane so I don’t spend my time fixing their problems
  • Read code, use comments as annotations
  • Always create interface assertions when integrating with other people’s code to easily flag when they’re not behaving the way they’re supposed to be
  • Regressable unit tests for my own code so that I’m confident that the problem isn’t on my end, and I’m confident I can introduce changes in my own code without have side effects
  • Don’t believe a bug exists without seeing it reproduced and seeing the error message
  • Don’t believe my interpretation of spec is wrong without digging into it for myself
  • Always be mindful, never follow instructions without thinking it through for myself

How have your coworkers unintentionally made your life hell lately?

(To make it clear — put your trust and faith into your coworkers, because your relationships with them will get you farther in life than putting your trust into your company ever will. But there’s a difference between trusting them and blindly trusting their assumptions.)

Best of Feeds – 26 links – programming, webdesign, javascript, design, tips

Posted in Best of Feeds by engtech on October 14, 2007

RSS feeds are like cookies (that are good enough for me). Best of Feeds is a weekly collection of the best stuff I saw on the Internet this week. They’re saved on delicious and stumbleupon and cross-posted to Twitter and Tumblr as they happen and then collected together on Saturdays. I don’t blog on the weekend so read these links instead.Subscribe to //engtech to see this every week (or get it by email).

Legend

  • saves – number of people who bookmarked on http://del.icio.us
  • inbound links – number of blogs who linked to it (max 100)
  • diggs – number of people who dugg on http://digg.com

This Week at Internet Duct Tape

  • What I’m Playing: PC, Nintendo DS, Xbox 360
    • I’m on day 10 of “one of those weeks” so I haven’t had time to fully develop the usual cornucopia of rainbow-coloured blog post ideas. All of my time has been spent on work and family with a smidgen of video game playing to decompress my brain. This isn’t one of those…
  • The Holiday Spread – Group Weight Loss Game
    • This past weekend was Thanksgiving (aka Turkey Day) in Canada, which means seeing your family and eating a lot of food together. One of the favourite pastimes at any holiday is pointing out who’s gained weight and who hasn’t. This got me thinking: one of the principals of successful dieting…
  • Best of Feeds – 34 links – programming, google, lifehacks, ruby, funny
    • Tags: blogging, estimation, free, funny, google, gtd, javascript, lifehacks, productivity, programming, rails, ruby, rubyonrails, search, seo, tips

This Week at IDT Labs

Tags: , , , , , , , , , , ,

What I’m Playing: PC, Nintendo DS, Xbox 360

Posted in Games, Technology by engtech on October 12, 2007

marv sin city

“These are the old days, the bad days, the all-or-nothing days; the sitting at your desk eating entire chocolate bars while trying to debug this bug from hell days.”

– Marv from Sin City

I’m on day 10 of “one of those weeks” so I haven’t had time to fully develop the usual cornucopia of rainbow-coloured blog post ideas. All of my time has been spent on work and family with a smidgen of video game playing to decompress my brain. This isn’t one of those “I’m sorry I haven’t been blogging!!” posts that means it’s time to hit ‘J’ in the feed reader – instead I’m going to talk a little bit about video games. Feel free to interject in the comments with what you’re playing. (It’s Halo 3, isn’t it?)

I currently have three game systems in my household: the PC, the Xbox 360 with the home theatre system and my handheld Nintendo DS. Surprisingly the Nintendo DS gets way more play and games bought for it because A) my girlfriend and I both have our own DS and B) no game company has realized that people might want to play Xbox 360 games sitting on a couch with another real human being. I don’t play online multiplayer games[1] as a rule of thumb because they’re too addictive, but I find it much easier to invite someone over to play a “couch multiplayer” game than to find free time to play with by myself.

This is probably for the best because it pushed me off my ass to get a new roleplaying campaign started with some good friends.

PC Games – Found Interesting

I don’t know what happened to me (oh wait, I’m 30 and have a career and a little bit of a social life) but I can never finish PC games anymore. I seem to always reach a halfway point where the game becomes too sluggish on my underperforming rig and I give up on it. This week marked the death of PC gaming for me when Electronic Arts (boo, hiss) bought out my favorite Canadian game company that I’ve always had a secret fetish for joining: BioWare.

The last two PC games I tried out were Thief 3 and Fallout: Tactics. Thief 3 was amazing to play in the middle of the night with all of the lights off, but kept crashing my computer. Fallout Tactics was a great return to my favorite post nuclear setting and made me realize how much I miss the Infinity game engine (from Baldur’s Gate series). I wish someone would do a Planescape Torment re-release using the latest version of the Infinity engine.

fallout tactics

Nintendo DS – My Favs

I’ve already written about Puzzle Quest before. It’s Bejewelled gem-matching meets 90s styled RPG and the game that got me to buy a Nintendo DS of my own. There were many enjoyable relaxing hours spent playing, until I learned an unbeatable combo of screen clearing spells. It’s out for Xbox Live Arcade now.

nintendo ds puzzle quest

The next win for hours spent playing was Age of Empires: Age of Kings. It was surprisingly challenging as it has the most replayability of all my DS games because of the random maps feature. A definite keeper.

age of kings ds

I’m currently schlocking my way through Rune Factory which is possibly the most accurate Japanese translation I’ve ever seen. I really feel like I’m a factory worker sometimes. The game captures all the nasty power-leveling aspects of roleplaying games: the crafting for no reason other than to see skill increases so you can craft better items, the fighting monsters in hopes of getting a rare drop, and almost literal gold farming with crops you have to maintain. It’s almost a perfect example of all the things I like least about RPGs.

Yet I can’t stop playing.

rune factory ds

Nintendo DS – Her Favs

My lady friend who has the eternal patience to put up with my geekery prefers the new Super Mario Brothers, Brain Age, and Animal Crossing. Brain Age has never appealed to me as I’d rather be doing sudoku with a pen and paper. Super Mario Bros looks like button-mashing fun and Animal Crossing looks like the exact same kind of pointless (yet addictive) time wasting as Rune Factory.

animal crossing ds

Xbox 360 Games

The only real winners for Xbox 360 couch multiplayer have been Small Arms, Marvel Ultimate Alliance, and Lego Star Wars 2 (honorable single player mentions for Amped 3, Gears of War and Crackdown). There’s been a few horrible buys as well because of bargain bin pricing (Kameo, Dead or Alive X2, Table Tennis) – enough that I’ve switched from buying Xbox 360 games to “rent only”.

Small Arms is a 2D death match style game that allows for four person couch multiplayer. It by far has the most hours racked of any game I’ve played on the 360. I wish they’d do an update with more characters and levels. There’s nothing quite like playing the bazaar with four chickens with flamethrowers.

Marvel Ultimate Alliance was a lot of fun because I got to show off my encyclopedic comic book knowledge to my girlfriend (which she finds dead sexy – at least that’s what I keep telling myself). The Xmen Legends game engine is really solid for couch multiplayer, and I’d love to see more games come out using it. Although there’s a strange bug where everyone who plays Wolverine has to steal all the power-ups…

Lego Star Wars 2 is the spiritual successor to the childhood fun I had with Star Wars that the Episodes I – III crapfest almost managed to ruin. It’s got some camera issues, but other than that it’s full of solidly fun gameplay. They’re releasing a combo pack of Lego Star Wars 1 & 2 in November.

Puzzle Fighter on Xbox Live Arcade will most likely be my next buy. I’ve already played the crap out of it using MAME and my laptop, but the Xbox Live version is much more convenient than hooking up the laptop.

Xbox 360 Demos

I think I’ve downloaded and played around two out of five of all of the demos available on the Xbox 360. I really love how the network/hard drive console environment has opened opportunities for try-before-you-buy and game demos are now freely available (and often easier to get running than PC game demos). It does amaze me sometimes that companies put crap demos up (Vampire Rain, Bladestorm). These demos are worth downloading:

  • Amped 3 – snowboarding sim with great wackiness, worth buying
  • Beautiful Katamari – Katamari for the Xbox! demo is too short
  • BioShock – steampunk fps
  • Burnout Revenge – driving smashup
  • Crackdown – convinced me to buy it
  • Conan – solid hack-n-slash action
  • Eternal Sonata – surprisingly engaging turn-based RPG
  • Lost Planet – sci-fi fps
  • Overlord – evil overlord rpg sim, great sense of humor
  • Shadowrun – this would be a strong buy if it was single player – very fun fps, I’ve probably put 40 hours into replaying the demo
  • The Darkness – interesting concept, but poor mechanics
  • Time Slip – fps with time manipulation

[1]: Other than blogging. Blogging truly is a MMORPG.

The Holiday Spread – Group Weight Loss Game

Posted in Lifehacks by engtech on October 10, 2007

Lifehacks and Productivity

This past weekend was Thanksgiving (aka Turkey Day) in Canada, which means seeing your family and eating a lot of food together. One of the favourite pastimes at any holiday is pointing out who’s gained weight and who hasn’t. This got me thinking: one of the principals of successful dieting is public accountability. Could we use these family get-togethers as a way to motivate each other to lose weight? So I’ve invented a game I like to call the Holiday Spread.

Family holidays are usually spaced two to three months apart, so that’s long enough to make a noticeable dent in the waistline without being so long that you’ll lose motivation to keep playing.

The Weight In – Holiday #1 (eg: Thanksgiving)

The reason why this has holidays as the start and end is that you can get everyone together in one spot and publicly weigh each other with the Official Scale. Since everyone will be weighed at the same time, in the same place, with the same scale then there will be no whining about variation. Write down the weights on two pieces of paper and have everyone sign or initial beside their weight. You’ll be repeating this process at the next holiday to determine your weight spread.

The Stakes

Have everyone put money into the pot as an incentive to keep playing. The real prize is the lost weight, but if that was motivator enough then there wouldn’t be any point in playing this game in the first place. You want to find the sweet spot where there’s enough of a buy-in that people will want to participate, but not so much that they’ll turn into sore losers if they don’t win. The overall pot should be high enough that the players can visualize something special they want to buy if they win. You’re aiming for a significant amount of cash for motivation and to engage the competitive spirit, but not so much that it can cause hardship and stress. Make sure the game coordinator gets the buy-in as close as possible to the initial weigh-in. This is family we’re talking about, so chances are people will opt-out if you wait too long and they don’t think they can win.

2 ppl 3 ppl 4 ppl 5 ppl 6 ppl 7 ppl
$20 $40 $60 $80 $100 $120 $140
$25 $50 $75 $100 $125 $150 $175
$50 $100 $150 $200 $250 $300 $350
$75 $150 $225 $300 $375 $450 $525
$100 $200 $300 $400 $500 $600 $700
$125 $250 $375 $500 $625 $750 $875
$150 $300 $450 $600 $750 $900 $1,050
$200 $400 $600 $800 $1,000 $1,200 $1,400

Individual Buy-in versus Number of Players gives Size of Pot

Rule Variation – Weight Loss for Christmas

I’m not a big fan of Christmas, so you can try to convince everyone to put the money they would have spent on Christmas gifts into the pot instead. Good luck with that.

Rule Variation – Multiple Winners

If the pot is big enough then you can have 1st and 2nd place winners to increase the chance of winning something.

The Scoring – Holiday #2 (eg: Christmas)

At the next holiday you repeat the same process of weighing each other. You’re again weighing everyone at the same time, in the same place, with the same scale so that should accounts for all variation. There are a couple of different ways you can score it.

Scoring Method #1 – Pounds Lost

This has the advantage of being dead simple: take what the scale said in October and subtract it from what the scale said in December. That’s your spread. It gives a slight advantage to the more obese (but you could also argue that they’re the ones who need to lose the weight most so any incentive helps).

If you’re 6’0″ and go from 190 lbs to 180 lbs that gives a score of 10.0 (tie)

If you’re 5’10” and go from 220 lbs to 210 lbs that gives a score of 10.0 (tie)

If you’re 5’6″ and go from 180 lbs to 170 lbs that gives a score of 10.0 (tie)

Scoring Method #2 – Percentage Body Weight Lost

One way to try and make things more “fair” is to use the percentage of body weight lost instead of the absolute number of pounds. This gives a big disadvantage to the more heavy set.

  • SCORE = 100 * (INITIAL_WEIGHT – FINAL_WEIGHT) / INITIAL_WEIGHT
1 lb 2 lbs 3 lbs 5 lbs 7 lbs 10 lbs 15 lbs
100 lbs 1.00 2.00 3.00 5.00 7.00 10.00 15.00
110 lbs 0.91 1.82 2.73 4.55 6.36 9.09 13.64
120 lbs 0.83 1.67 2.50 4.17 5.83 8.33 12.50
130 lbs 0.77 1.54 2.31 3.85 5.38 7.69 11.54
140 lbs 0.71 1.43 2.14 3.57 5.00 7.14 10.71
150 lbs 0.67 1.33 2.00 3.33 4.67 6.67 10.00
160 lbs 0.63 1.25 1.88 3.13 4.38 6.25 9.38
170 lbs 0.59 1.18 1.76 2.94 4.12 5.88 8.82
180 lbs 0.56 1.11 1.67 2.78 3.89 5.56 8.33
190 lbs 0.53 1.05 1.58 2.63 3.68 5.26 7.89
200 lbs 0.50 1.00 1.50 2.50 3.50 5.00 7.50
210 lbs 0.48 0.95 1.43 2.38 3.33 4.76 7.14
220 lbs 0.45 0.91 1.36 2.27 3.18 4.55 6.82
230 lbs 0.43 0.87 1.30 2.17 3.04 4.35 6.52
240 lbs 0.42 0.83 1.25 2.08 2.92 4.17 6.25
250 lbs 0.40 0.80 1.20 2.00 2.80 4.00 6.00

Initial Weight versus Pounds Lost gives Percentage Loss

If you’re 6’0″ and go from 190 lbs to 180 lbs that gives a score of 5.26

If you’re 5’10” and go from 220 lbs to 210 lbs that gives a score of 4.55

If you’re 5’6″ and go from 180 lbs to 170 lbs that gives a score of 5.56 (winner)

Scoring Method #3 – Body Mass Index (BMI)

The fairest way to measure the weight loss that is still easily calculable without getting callipers and a health professional is to use height and weight by calculating your changing in body mass index (BMI).

  • BMI = ( Weight in Pounds / ( Height in inches ) x ( Height in inches ) ) x 703
  • SCORE = (703*(INITIAL_WEIGHT / HEIGHT^2)) – (703*(FINAL_WEIGHT / HEIGHT^2))
60 (5’0″) 62 (5’2″) 64 (5’4″) 66 (5’6″) 68 (5’8″) 70(5’10”) 72 (6’0″)
100 lbs 19.53 18.29 17.16 16.14 15.20 14.35 13.56
110 lbs 21.48 20.12 18.88 17.75 16.72 15.78 14.92
120 lbs 23.43 21.95 20.60 19.37 18.24 17.22 16.27
130 lbs 25.39 23.77 22.31 20.98 19.76 18.65 17.63
140 lbs 27.34 25.60 24.03 22.59 21.28 20.09 18.99
150 lbs 29.29 27.43 25.74 24.21 22.80 21.52 20.34
160 lbs 31.24 29.26 27.46 25.82 24.33 22.96 21.70
170 lbs 33.20 31.09 29.18 27.44 25.85 24.39 23.05
180 lbs 35.15 32.92 30.89 29.05 27.37 25.82 24.41
190 lbs 37.10 34.75 32.61 30.66 28.89 27.26 25.77
200 lbs 39.06 36.58 34.33 32.28 30.41 28.69 27.12
210 lbs 41.01 38.41 36.04 33.89 31.93 30.13 28.48
220 lbs 42.96 40.23 37.76 35.51 33.45 31.56 29.83
230 lbs 44.91 42.06 39.48 37.12 34.97 33.00 31.19
240 lbs 46.87 43.89 41.19 38.73 36.49 34.43 32.55
250 lbs 48.82 45.72 42.91 40.35 38.01 35.87 33.90

Weight versus Height gives BMI for that Weigh-in

If you’re 6’0″ and go from 190 lbs to 180 lbs that gives a score of 1.36

If you’re 5’10” and go from 220 lbs to 210 lbs that gives a score of 1.43

If you’re 5’6″ and go from 180 lbs to 170 lbs that gives a score of 1.61 (winner)

Rule Variation – Weekly Weigh-ins

One variation to the rules could be forcing a weekly weight check-in with the coordinator in order to keep being a contender for the pot of money. Another principal of successful dieting is weekly weigh-ins to keep on track, so this rule is there to promote that habit. It doesn’t have to be done publicly like the initial and final weigh-ins, it can be an email or a phone call to the coordinator. The goal is to keep people on the weight loss wagon, and if people do drop out then it increases the odds / motivation for the people who are still in the running. Successful weight loss is gradual over time, not a cottage cheese crash at the end.

The Holiday Spread

Put down a spread of money, and lose the spread of your belly by the next time you sit down for a huge spread of food.

Related Posts

Best of Feeds – 34 links – programming, google, lifehacks, ruby, funny

Posted in Best of Feeds by engtech on October 07, 2007

RSS feeds are like cookies (that are good enough for me). Best of Feeds is a weekly collection of the best stuff I saw on the Internet this week. They’re saved on delicious and stumbleupon and cross-posted to Twitter and Tumblr as they happen and then collected together on Saturdays. I don’t blog on the weekend so read these links instead.Subscribe to Internet Duct Tape to see this every week (or get it by email).

Legend

  • saves – number of people who bookmarked on http://del.icio.us
  • inbound links – number of blogs who linked to it (max 100)
  • diggs – number of people who dugg on http://digg.com

This Week at Internet Duct Tape

  • Distraction Free GTD: 32 Todo List Web Applications
    • Web Runner is a tiny site-specific web application that runs using less resources than Firefox or Internet Explorer. The whole idea behind a site specific web browser is that you want to access a web application without being tempted to access other sites. You want to access a site without being…
  • Magazine Review: October 2007 Issue of Inc. Magazine
    • I came to a rather startling discovery in the past month: magazines are just blogs with the added luxury of being able to read them while on the toilet or in the bathtub (but hopefully not both). I picked up the October issue of Inc. magazine because Joel Spolsky of Joel On Software has joined the…
  • Blog Tip: Create a Link Post in 3 Seconds
    • One question I’m frequently asked is “how do you build those Best of Feeds weekly links?” The way I do it is pretty complicated, but I’ve found a much simpler way that I want to share with you all.
  • Digest for September 2007
    • Every month I publish a digest post collecting the best of Internet Duct Tape.
  • Best of Feeds – 30 links – programming, productivity, code, socialsoftware, socialnetworking
    • Tags: adsense, advice, blogging, career, code, design, development, firefox, gtd, lifehacks, productivity, programming, ruby, rubyonrails, socialnetworking, socialsoftware, tips, web2.0, webdesign

This Week at IDT Labs

  • [AKISMET] Akismet Auntie Spam v2.04
    • Our favorite Auntie has a new version. 2007/10/04 version 2.04 – Fixed (some) memory problems with v2.03 – Still slow, I need to get it working with a profiler, none of the hacks for Greasemonkey + Firebug seem to work.
  • [DELICIOUS] Delicious Link Builder
    • Build a list of links using your delicious account to bookmark them. Works great with my Yahoo Pipe Cleaner script . Example : [BOOKMARKING] toread – an email-based bookmark service Simple service to use to track stuff ‘to read later’. They store the top 10 for each day. It’s like…
  • [RSS PIPE] Stupid Credit Builder
    • This is a clone of Stupid Feed Rewriter that backdates the entry to January 1st, 1970. Useful for adding a credit link at the end of a list.

Tags: , , , , , , , , , , , , , , ,