Programming Best Practices: Profiling

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
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 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:
- Boing Boing’s Mark Frauenfelder
- Wired’s Chris Anderson (author of the Long Tail)
- Lifehacker’s Gina Trapani
- TechDirt’s Mike Masnick
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.
Pick Up Your Copy
Amazon: Blogging Heroes: Interviews with 30 of the World’s Top Bloggers
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
- Password Recovery — The Achilles Heel of Your Online Security
- Why Posting Your Email Address in Plain Text is Never a Good Idea
- How to access Gmail when it is blocked at work or school
[1] And out of all those wrongly addressed emails there was only one mis-sent dirty letter.
Digest for October 2007

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.
- How to access Gmail when it is blocked at work or school
- Life in the Trenches – Getting Out Alive (by guest blogger AJ Valliant)
- Web Anonymity 101 – Digital Breadcrumbs
- Web Anonymity 103 – Online Privacy
- WordPress.com Domain Registration – From the User’s Point of View
- Is he a programmer or a terrorist?
Monthly Digest
Blogging Tips
- How I Use Google Reader
- Blog Action Day: Save Paper when Readers Print Your Blog
- Blog Tip: Create a Link Post in 3 Seconds
- Distraction Free GTD: 32 Todo List Web Applications
(mentioned on LifeHacker) - Password Recovery — The Achilles Heel of Your Online Security
Working for the Man
Geeking Out
- The Attention Age: Accelerando, Software Agents, Filters and Gatekeepers
- What I’m Playing: PC, Nintendo DS, Xbox 360
- Magazine Review: October 2007 Issue of Inc. Magazine
Best of Feeds
My weekly best of the net link round-up.
- Best of Feeds – 9 links – humor, microsoft, productivity, visualization, comics
- Best of Feeds – 30 links – programming, google, tips, agile, facebook
- Best of Feeds – 26 links – programming, webdesign, javascript, design, tips
- Best of Feeds – 34 links – programming, google, lifehacks, ruby, funny
Popular Posts
What’s hot this month.
- 7 Tips for Learning the Declutter Habit
- Distraction Free GTD: 32 Todo List Web Apps
- Coworkers Considered Harmful
- Overtime Considered Harmful
- How I Use Google Reader
IDT Labs Software Updates
IDT Labs is where I track free software I create.
- [WORDPRESS] Extract Comments or Trackbacks
- I’ve created two Yahoo Pipes for building filters of the comments feed on your WordPress blog so that you can see comments only or trackbacks only.
- [RSS] Tagosphere
- Tagosphere is an example of Yahoo Pipes I created for Jon Udell that builds an RSS feed around a specific tag using delicious, flickr, technorati, and wordpress.com.
- [DELICIOUS] Delicious Link Builder
- Build a list of links using your delicious account to bookmark them. Works great with my Yahoo Pipe Cleaner script.
- [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 in an RSS feed.
Password Recovery — The Achilles Heel of Your Online Security

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…

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.

Change your security question or your secondary 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
(or I’m Too Lazy to Think of a Better Title)

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
- Overtime Considered Harmful by Basil Vandegriend
- I’d Consider That Harmful Too by Jeff Atwood
- Evidence Based Scheduling by Joel Spolsky
Related Posts
Best of Feeds – 9 links – humor, microsoft, productivity, visualization, comics
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).
- [CHARTS] Charts And Graphs: Modern Solutions | Developer’s Toolbox |
- Hola charts batman.
- (smashingmagazine.com 1639 86 800)
- [COMICS] The Best Webcomics of 2004
- Links to multi-editor list of best of. Almost like a print anthology.
- (webcomicsreview.com 442 5)
- [CODE] Evidence Based Scheduling
- Joel on Estimation
- (joelonsoftware.com 387 64 3)
- [WRITING] How to turn off annoying MS Word Features
- I was going to write a guide like this, but I’m glad someone else beat me to it. THIS IS A MUST READ if you use MS Word for composing blog posts.
- (twoorthree.net 247 23 6)
- [FACEBOOK] Enemybook
- Facebook app for marking who ISN’T your friend. Includes reasons such as “hooked up with my ex”.
- (enemybook.info 46 67 4)
- [CODE] Visual Studio News Channel: Give Hanselman a Go!
- Visual Studio has an RSS aggregator with an audience of millions, but they only post items every few months… yet check hourly for updates.
- (secretgeek.net 3)
- [STARTUPS] There Are No Lifejackets On This Boat
- Startups need to fire employees who haven’t bought in to the idea with passion. No room to hide.
- (instigatorblog.com 2 6)
- [MICROPAYMENTS] Peter White – I have your forty bucks
- I want to pay for music I pirated on the Internet. How the hell do I do that?
- (ricksegal.typepad.com 2 2 20)
- [LIFEHACKS] The Pmarca Guide to Personal Productivity
- Very simple tips for freeing up your time for what you find is important.
- (blog.pmarca.com 100 22)
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: humor, microsoft, productivity
Best of Feeds – 30 links – programming, google, tips, agile, facebook
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).
- [MOVIES] Top 50 Dystopian Movies of All Time
- about 8 on there I haven’t seen yet
- (snarkerati.com 1227 100 2012)
- [CODE] The Future of Software Development
- Very fluffy discussion of waterfall vs agile with the hypothesis that small teams are the future.
- (readwriteweb.com 617 54 734)
- [DESIGN] Top 100 User-Centered Blogs
- centered around the user experience
- (virtualhosting.com 558 72 45)
- [HIRING] 100 Resources to Attract, Retain and Utilize Rock Star Programmers
- Great list of resources for hiring programmers
- (hrworld.com 343 16 109)
- [RUBY] 10 Reasons to Learn Ruby
- I’m drinking the koolaid.
- (cyberarmy.net 342 17 1028)
- [RAILS] Zero to Riding the Rails in Four Months
- Experience getting started with a Rails app.
- (hackd.wordpress.com 301 17 3)
- [BLOGGING] Top bloggers reveal how to build traffic off-blog without spending a dime
- Guest posting and building relationships are the top two ways.
- (jonathanfields.com 269 27 708)
- [SOCIAL] NOSO
- Online web app that is focused on getting people off of their computers and interacting in meatspace.
- (nosoproject.com 227 100 6)
- [GTD] Top 10 Distraction Stoppers
- They included my “distraction free gtd” web app pack
- (lifehacker.com 100 20 22)
- [GAMERS] I Played Through Episode Two Holding A Goddamn Gnome (Spoilers)
- From the article: ” Who watches the watchers? The gnome does. He watches everyone, unblinkingly.”
- (kfj.f2s.com 83 35 2946)
- [CODE] Free Programming Tips are Worth Every Penny.
- I think I’m developing a blog crush.
- (wilshipley.com 66 19 24)
- [DESIGN] What about research, interviews, and documentation?
- Throw it at the wall and see what sticks. Good advice.
- (37signals.com 33 3 5)
- [WORKHACKS] Remember, This Stuff Is Supposed To Be Fun
- Work should be something that you enjoy.
- (codinghorror.com 28 15 15)
- [SEO] What if Google had to design for Google?
- What the Google homepage would look like if they had to design for SEO.
- (meangene.com 24 28)
- [STARTUPS] ‘Un-sexy is good business,’ and other rules from Scott Rafer
- MyBlogLog founder on how to survive the market bust that’s coming in 5 months.
- (foundread.com 23 9)
- [HALLOWEEN] Animal Halloween Costumes
- Impressive number of Star Wars costumes.
- (nynerd.com 11 6 10)
- [BLOGGING] The First Month: Building Something From Nothing
- Skellie’s building traffic from nothing guide. Great tips in there, must read for beginner/intermediates.
- (skelliewag.org 8 3 3)
- [SMO] Targeting StumbleUpon Users
- How to build a stumbleupon community
- (dailyblogtips.com 7 7)
- [IPHONE] Video Game Ideas: iPhone SDK edition
- A ton of ideas for iPhone games. Really cool stuff.
- (wilshipley.com 7 8)
- [COMICS] Missing!
- The disappearance of Calvin and Hobbs
- (clevescene.com 5 4)
- [OCD] On Being Crazy
- From the article: ” Then I’ll have a week so dark that simply taking mail out of the mailbox seems like an epic struggle. And I remember, oh yes, right, you aren’t going away. Because you’re my brain. You’re my chemistry. You’re me.”
- (wilshipley.com 2 7)
- [STARTUPS] The Wheels on the Bus
- Why buying a bus ticket and hanging out with REAL PEOPLE might be the best thing for your startup idea. And it’s true — normal people don’t have nearly the same problems I try to fix in my own life.
- (ricksegal.typepad.com 2 2)
- [FACEBOOK] Inner Circle App
- Facebook application that lets you build custom groups of friends.
- (facebook.com 2)
- [GOOGLE] Ad Blindness? How About Ad Repulsion?
- Interesting.. make the real content look like AdSense and it becomes immediately repulsive.
- (franticindustries.com 2)
- [OPENID] Automattic,Gravatar, and the Elusive Unified Identity
- Automattic is making a move to providing single-sign-on using your wordpress.com IDs. Good business idea, but still scary considering I managed to lock myself out of sites using because of my wordpress.com openID.
- (neomeme.net)
- [FACEBOOK] Google scared of Facebook? Puh-leeze
- Matt skewers business 2.0 :)
- (mathewingram.com)
- [PATENTS] Amazon patent foiled by lone gunman
- That’s awesome.
- (mathewingram.com)
- [MICROSOFT] Ballmer to Web 2.0 Execs: You Have a Pulse? We’ll Give You At Least $50 Million For It.
- developers, developers, developers. Ballmer is such an idiot.
- (parislemon.com)
- [REDDIT] the reddit toolbar: taking social news one step closer
- Hidden setting on reddit that puts a toolbar on outgoing links… very useful for voting without using the bookmarklet.
- (muhammadsaleem.com)
- [GEEK] Star Trek Cast
- (blog.logtar.com)
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
- [WORDPRESS] Extract Comments or Trackbacks only from the Comments Feed
- I’ve created two Yahoo Pipes for building filters of the comments feed on your WordPress blog so that you can see comments only or trackbacks only.
- [RSS] Tagosphere
- Tagosphere is an example I created for Jon Udell that builds an RSS feed around a specific tag using delicious, flickr, technorati, and wordpress.com.
Tags: agile, blogging, career, facebook, funny, games, google, ideas, marketing, programming, rails, startups, tips, traffic, usability, webdesign
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 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.

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.

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

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

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

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

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

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
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).
- [JAVASCRIPT] Ext JS – JavaScript Library for Web Windows
- Interesting javascript library for doing web windows. Has a nice spreadsheet display.
- (extjs.com 3318 100 6)
- [JAVASCRIPT] Welcome to Tablecloth
- Javascript code for doing quick table highlighting
- (cssglobe.com 1767 100 1247)
- [WEBDESIGN] 30 Usability Issues To Be Aware Of
- common tips, good for beginners
- (smashingmagazine.com 1705 100 781)
- [SQL] A Visual Explanation of SQL Joins
- Jeff, where were you in 1997 when I needed this!?
- (codinghorror.com 1069 67 9)
- [DESIGN] 10 Usability Nightmares You Should Be Aware Of
- (smashingmagazine.com 874 100 253)
- [DESIGN] So you want to create WordPress themes huh?
- 16 how-tos on building a wordpress theme
- (wpdesigner.com 585 100 21)
- [SLEEPHACKS] Top 10 Ways to Sleep Smarter and Better
- LifeHacker has the goods on beating insomnia
- (lifehacker.com 546 68 1489)
- [JAVASCRIPT] Help! I Don’t Know JavaScript!
- Collection of intros to javascript
- (blog.mootools.net 470 10 27)
- [GAMES] Science Museum – Launchpad Online – Launchball
- Very cool little physics simulator game.
- (sciencemuseum.org.uk 392 100 947)
- [GIFTS] 30 Frugal Gift Ideas to Show You Appreciate Someone
- Holidays are coming up…
- (zenhabits.net 326 25 669)
- [CODE] 10 Things Every Programmer Should Know For Their First Job
- General, but true.
- (applematters.com 172 19 4)
- [RUBY] Mr. Neighborly’s Humble Little Ruby Book
- Another free Ruby ebook
- (infoq.com 53 33)
- [WEIGHTLOSS] Geek Diet and Exercise Programs
- All familiar links and photos to me, but still a good roundup.
- (codinghorror.com 44 35 46)
- [INTERNET] The Life and Death of Jesse James
- The scariest people in the world are the lonely people, and this true story strikes it home for me with full force. This is essential reading for anyone who spends a lot of time in internet culture.
- (laweekly.com 40 18)
- [RAILS] Two months with Ruby on Rails
- Two months checkin with what he doesn’t like about Rails
- (t-a-w.blogspot.com 39 10)
- [BOOKS] Hard Work, No Pay: What’s the Point?
- Petzold on being an author of programming books. Response to Jeff Atwood post.
- (charlespetzold.com 30 12)
- [TWITTER] Twitter is Paying My Rent
- Why Twitter is a great tool for a first class tech blogger.
- (marshallk.com 25 7 20)
- [BOOKS] Expert Advice: Websites for the Book Lover
- Quite a few sites I hadn’t heard of.
- (makeuseof.com 24 4 20)
- [DELICIOUS] Readeroo
- Simple browser extension for marking items “to be read” later and then marking them as read when you’re done.
- (monsur.com 21 5)
- [WEB2.0] Q&A: Foul-Mouthed Blogger Ted Dziuba Tells Why Most Startups Fail
- Uncov in wired! What.the.fuck!
- (wired.com 19 31 4)
- [WEB2.0] Tim O’Reilly – Graphing Social Patterns
- Liveblogging notes from Tim O’Reilly’s presentation.
- (allfacebook.com 9)
- [BOOKS] When Completing a Book Depends on Someone Else
- Blogging Heroes should be in print soon. I was interviewed for the book, not sure if I made it into the final cut.
- (mikebanks.blogspot.com)
- [COPYRIGHT] Happiness In Slavery No More: Nine Inch Nails Goes Record Label Free
- Fans and artists are learning to bypass the recording industry.
- (parislemon.com)
- [FICTION] The ride home
- From the article: ” People with happy lives don’t go on quests, they lead their happy lives.”
- (beatsentropy.com 3)
- [CODE] Getting rid of the use global contstants file
- Another post from my old friend who used to bring me subway cookies at raves.
- (dlowe-wfh.blogspot.com)
- [MARKETING] The Smart Way to Get Traffic and Links: Creating a Prospect List for Bloggers
- This is the proper way to promote yourself with other bloggers. Get on their radar before you ever approach them about anything.
- (doshdosh.com 3)
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
- [WORDPRESS] Extract Comments or Trackbacks only from the Comments Feed
- I’ve created two Yahoo Pipes for building filters of the comments feed on your WordPress blog so that you can see comments only or trackbacks only. WordPress Comment Extractor WordPress Trackback Extractor
- [RSS] Tagosphere
- Tagosphere is an example I created for Jon Udell that builds an RSS feed around a specific tag using delicious, flickr, technorati, and wordpress.com.
- [GTD] Distraction Free GTD UpdateNow with 36 applications + fixes some problems with apps that don’t support https .
Tags: blogging, design, fun, javascript, lifehacks, programming, rails, tips, usability, web2.0, webdesign, writing
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 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
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).
- [LIFEHACKS] The Printable CEO
- Collection of PDFs for task/hour tracking.
- (davidseah.com 949 100 7)
- [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 having an archive of the delicious popular list.
- (toread.cc 938 100 440)
- [RUBY] The Little Book Of Ruby
- 85 page guide to the ruby language syntax, free ebook
- (sapphiresteel.com 492 38 28)
- [CODE] Software Is Hard
- *Excellent* article about software estimation and Rosenberg’s Dreaming in Code
- (gamearchitect.net 449 68 15)
- [STARTUPS] The Future of Web Startups
- Paul Graham on how web startups will start to be standardized and easy to do… which will change everything.
- (paulgraham.com 443 100 671)
- [LIFEHACKS] Top 100 Productivity Blogs
- I’m not on the list, but many there’s a lot of great finds on here.
- (whitepapers.org 440 44 53)
- [RUBY] Ferret – full text search engine
- I’m wondering if this could be a replacement for intranet text search?
- (ferret.davebalmain.com 429)
- [JAVASCRIPT] The Elements of JavaScript Style
- Everything you need to know about writing good javacsript.
- (javascript.crockford.com 336 30)
- [ESTIMATION] Web Worker 101: Estimating Basics
- Nothing new, but good round-up for people who have trouble estimating.
- (webworkerdaily.com 296 36 6)
- [JAVASCRIPT] Learning JavaScript resources
- Good collection of tutorials and links about Javascript
- (juixe.com 289 4 6)
- [CODE] Software Branching and Parallel Universes
- One of the best explanations of software branching in revision control that I’ve ever read.
- (codinghorror.com 274 34 3)
- [GEEK] Flo Control Cat Door
- Image recognition to prevent cat from coming inside with a mouse. Why do I enjoy every link Coding Horror sends me so much?
- (quantumpicture.com 228 80 )
- [RAILS] Rails Rumble: 92 Web Apps Created in 48 Hours
- Winners from the 48 hours Rails Rumble
- (readwriteweb.com 169 28 681)
- [FIREFOX] A Visual Guide to the Firefox Web Browser – Learn Firefox
- via: rooster
- (learnfirefox.cybernetnews.com 167 100 17)
- [RAILS] Build Your Own Ruby on Rails Web Applications
- Free e-book for next 60 days. Probably not as good as Agile Web Development.
- (sitepoint.com 151 100 6)
- [VIRUS] Gathering ‘Storm’ Superworm Poses Grave Threat to PC Nets
- Your antivirus software is completely useless. This is scary.
- (schneier.com 104 62 14)
- [CODE] Inheritance is evil, and must be destroyed: part 1
- Using the strategy pattern vs inheritance with dark jedi examples.
- (berniecode.com 76 9)
- [IPHONE] If wishes were iPhones, then beggars would call
- If you want to hack your phone (dvd player, etc) then buy a phone that lets you hack. Don’t complain about Apple’s lockin when everything they do revolves around lockin.
- (diveintomark.org 60 61 9)
- [LIFEHACKS] 6 Rules for Dealing With Habits vs. Tasks
- Good ideas about how to build habits
- (zenhabits.net 54 8 58)
- [BLOGGING] Blogging is Dumb, Stupid and Successful
- Rant against blogging about blogging and ‘quick tip’ type posts.
- (cornwallseo.com 38 25 716)
- [CODE] What I Learned From X That Made Me A Better Programmer In Y
- From the article: ” We go with Bob’s plan because Bob successfully asserted his dominance over Fred. If we’re lucky, Bob is good at making plans as well as asserting dominance, but if he’s bad at making plans but good at asserting dominance, his plan is still the plan”
- (gilesbowkett.blogspot.com 37 3 2)
- [HUMOR] Microsoft Search
- Microsoft Press releases shows that Microsoft Live Search will finally read the state Yahoo/Google was in 7 years ago.
- (wdr1.com 25 11)
- [LIFEHACKS] shoutingmat.ch (lifehack)
- Interesting agreggator for posts about lifehacks.
- (lifehack.shoutingmat.ch 22 10)
- [SEO] SEOS : The Card Counters of the Internet
- From the article: ” “Google is a casino, and you are a visitor.””
- (johnon.com 19 24 19)
- [HUMOR] Crackbook
- Facebook parody site.
- (theinternetnowinhandybookform.com 16 17)
- [BLOGGING] The 7 Habits of Highly Defective Bloggers
- 7 habits inverted with a view on blogging — what not to do
- (lifetrainingonline.com 12 6 13)
- [PRESENTATIONS] Keynote (The Software) Considered Harmful
- Do presentations and demos with nothing but a whiteboard. Much more interactive.
- (gilesbowkett.blogspot.com 9)
- [SEO] How I reversed my Google ranking penalty
- More on how asking for links with specific anchor text can get your blog blacklisted by google. Contest bloggers be aware.
- (davidairey.com 6 15 14)
- [HUMOR] 300: The Board Game
- I still enjoy the meme :)
- (defectiveyeti.com 5 4)
- [GUESTBLOGGING] Get Your Guest-Posts Here
- Guestblogger for hire, Chris G.
- (chrisg.com 3 18)
- [COPYRIGHT] Has And Belongs To Many: The Problem With Trademarking Rails
- From the article: ” Trademark rights are destructive to the cooperation and trust necessary for successful open source projects.”
- (gilesbowkett.blogspot.com 2)
- [RUBY] When does ( ?? == 63 ) ?
- True dat. Successfully scared me away from Ruby :)
- (sob.apotheon.org)
- [SEO] A Google Allegory at Hamlet Batista dot Com
- Asking for links with specific anchor text can get your blog blacklisted by google. Contest bloggers be aware.
- (hamletbatista.com 8)
- [COMMUNITY] Poisonous People
- OSCON PDF slides from the SubVersion guys. Read the poisonous people one!
- (red-bean.com 5)
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: blogging, estimation, free, funny, google, gtd, javascript, lifehacks, productivity, programming, rails, ruby, rubyonrails, search, seo, tips














2 comments