Category Archives: Web Dev

Rubber Duck Problem Solving: “Ask the Duck” is a very powerful problem solving technique

I explained Rubber Duck Programming to some coworkers and loved Jeff Atwood’s article on the subject

 

Jeff Atwood of Coding Horror writes:

I love this particular story because it makes it crystal clear how the critical part of rubber duck problem solving is to totally commit to asking a thorough, detailed question of this imaginary person or inanimate object. Yes, even if you end up throwing the question away because you eventually realize that you made some dumb mistake. The effort of walking an imaginary someone through your problem, step by step and in some detail, is what will often lead you to your answer. If you aren’t willing to put the effort into fully explaining the problem and how you’ve attacked it, you can’t reap the benefits of thinking deeply about your own problem before you ask others to.

Read more from the source: blog.codinghorror.com

Tagging content effectively

It seems like most people don’t understand tags very well. I’m not the best at tagging content effectively, but below¬†are some great principles.

  • The goals of effective content tagging:
    • Allow users to see the subject matter of the post before reading the body (Right Intel doesn’t facilitate this)
    • Allow users and editors to browse and search for content (In Right Intel you can search on the intel tab, email edit screen and story edit screen)
    • Allow search engines to properly index content (Not applicable in Right Intel)
    • Function like an index in the back of a book
  • Some principles of effective tagging
    • A tag should be specific yet likely to be used again
    • A good tag should be short, usually a word or two
    • Use between 2 and 4 tags per article
    • Consider that a tag may be a word that does not appear in the content
    • Use plurals only when appropriate
    • Use only letters, numbers, and spaces
    • Think about what text people might search for
    • Revise and merge your tags periodically
    • Codify tagging guidelines for all editors

Sources: The Next Web, Zemanta, NPR

And ironically, this post is not a great example of tagging because the subject matter is unusual for my blog. :)

Coding Horror: The God Login

A must read: Jeff Atwood researches and explains how to make your sign in and register process a smooth user experience

 

Jeff Atwood of Coding Horror writes:

And one of the coolest things my college professor Mr. Pausch ever taught me was to ask this question:

What’s the God algorithm for this?

Well, when sorting a list, obviously God wouldn’t bother with a stupid Bubble Sort or Quick Sort or Shell Sort like us mere mortals, God would just immediately place the items in the correct order. Bam. One step. The ultimate lower bound on computation, O(1). Not just fixed time, either, but literally one instantaneous step, because you’re freakin’ God.

This kind of blew my mind at the time.

So when we set out to build a login dialog for Discourse, I went back to what I learned in my Algorithms class and asked myself:

How would God build this login dialog?

Read more from the source: blog.codinghorror.com

Conference Proposals that Don’t Suck

Get picked: Russ Unger’s tips for better conference proposals

 

Conference proposals seem simple enough: throw your thoughts into a text form on a website, keep them within the suggested word limit, and hit send with high hopes of winning over organizers. But there’s much more to a successful conference proposal than meets the eye, and Russ Unger is here to walk through the steps involved with getting your germ of an idea into a polished state that will impress any committee.

Read more from the source: alistapart.com

Git Bisect and Why it is Amazing

If you need to pinpoint a certain change among many git commits, try the git bisect command

 

Had a client email me recently, mildly concerned, as an update to WP eCommerce broken his search layout. I told him that I couldn’t think of anything between the latest version and the prior version that would have caused any such thing, but I’d be more than happy to check it out.

I dug in and in fact, we had broken it. I didn’t recall any changes in the 913 commits between the two changes.

With nothing obvious, and 913 commits between release – what was a developer to do? Enter, git bisect.

Read more from the source: Zao