Google Suggest Poetry

When I hacked Google Suggest, I was hoping someone would take what I’d done and do something powerful and worthwhile with it. I’m happy to say my dream has come true – check out the Google Suggest Poety Generator over at Brad Sucks 🙂


Dadhood Tip #2

I took the three rascals (Lauren 6, Luke 4, Claire 10 months) to breakfast at the local iHOP this morning to give mom a break. As we were driving in, I flashed back to a previous breakfast and how the kids handn’t thanked the waitress who brought our meals. Doh! Its my fault – not the kids. We don’t eat out that often, so the thank-the-waiter behavior hasn’t been reinforced much. But, I hadn’t reminded them that about my expectations.

I don’t remember where I read this, but its much more effective to discuss behavioral expectations with your kids BEFORE you expect them to do something rather than after. Talking about it after the fact may help a little, but when its something that they don’t do that often, its much more powerful (and fair to the kids) if you help remind them ahead of time. So – we talked about it in the car before going in, and I reminded them about 5 minutes before our meals came too. It worked! Loud thank you all around (almost all the way around, Claire just drooled). The kids are much more likely to remember to thank the waitress next time because they have already done it than if I had addressed the situation after they failed.

Dad Tip #2: Remind your kids what you expect them to do BEFORE you expect them to do it.

Response to Building a Better Browser

Scott Berkun, former Internet Explorer program manager, has written an interesting article: How to build a better web browser. A few friends have asked for my comments, so here goes.

For readers unfamiliar with my background, I’m the developer of the NetCaptor web browser. NetCaptor introduced "tabbed browsing" to the world back in 1998, long before Opera or Firefox.

Scott is right on in his opinion on intelligent bookmarks. A system that automatically builds a list of your most frequently visited sites, whether from the address bar, Links, Favorites, Aliases, or other means has been on my TODO list for years – I just need to pull the trigger one of these days.

Scott thinks Favorites should be searchable, and notes that Firefox has that feature. NetCaptor has had it also… for longer than most of my children have been alive. It would be slick to allow searching by other site metadata as well. NetCaptor just searches the actual Favorites files themselves (essentially little .ini files), and it wouldn’t be too hard to add the site metadata to that file when its created.

About sidebars. I think one of the reasons that IE’s sidebars never really caught on is that they are so hard to switch between. They are totally independent of one another. Want to switch from your Favorites to your History bar? If you click the History button, the Favorites bar goes away. Where’d it go? I think NetCaptor’s tabbed sidebar is a much better implementation.

The part of Scott’s article that really got me going was his discussion of Security and Stability.

Something is wrong if competition in any product line continually focuses on security and stability. These design attributes are basic requirements, not advanced features. You won’t see advertisements for toaster ovens that say "Now, it explodes less often!"

He’s right… there is something wrong – what’s wrong is that the market leader IE has made security features and usability an afterthought. How many clicks does it take to add a web site to your Trust Sites zone in Internet Explorer? About 9. Tools > Internet Options > Security Tab > Trust sites icon, sites button, type the site, hit OK twice, and then you’re done. And you have to type the site address correctly. In NetCaptor, its a two clicker with no typing: Security menu, Add to Trusted Sites zone. How many clicks does it take to disable javascript in IE? About 5. In NetCaptor, its 2 again. Does IE let you look at the cookies that a current site has stored on your system? Nope. Someday alternative browsers will move beyond the focus on security, but only when IE is so secure that improvements aren’t necessary.

One last gripe. Scott thinks browsers should store credit card numbers so users never have to type them twice.

[P]rovide a standard secure way for me to pay for things on the web, and don’t ever require me to type in that 16 digit # again.

No, no, no. Please don’t store credit card numbers locally. Why? There is no secure way to store them locally so that a spyware or trojan app can’t steal them. Even if you encrypt them on your local machine, you need to decrypt them on the local machine. Anything you do on your machine is crackable, so it would be fairly trivial to write a trojan to steal that data. IE puts its autocomplete data in "protected storage", but its trivial to get it out again. I’ve got an app I never released that goes through and shows you exactly what’s stored by autocomplete – sometimes its not pretty.

Hack Yourself

Found a great article, Hack Yourself, via 43 Folders today.

My favorite quote:

Think about the person you want to be and do what that person would do. Act the way that person would act.

Amazingly enough, once you start acting like that person, people will start treating you like that person.

And you’ll start to believe it. And then it will be true.

Hacking Google Suggest

Google’s Suggest feature is lighting up the blogosphere these days. It functions as like autocomplete for your search box, where Google attempts to determine what you are searching for and gives you suggestions. Web tinkerer that I am, I had to dig in a little and see how this works.

At its simplest, Google Suggest is javascript code that looks at what you are typing in the Google search box. When you press a key, GS phones home and passes the current contents of the search box. The server returns some suggestions are then displayed to the user. The javascript code is a little obfuscated, more to keep the size down than to obscure the contents. You can look at it here.

The script handles the onkeydown event of the search box. When that fires, it grabs the contents of the search box and sends the contents to a Google server for suggestions.

A request to the suggestion server looks like this:

In return, the suggestion server returns some results as javascript. Here are the results that get returned when I have typed "netcaptor" in the box:

sendRPCDone(frameElement, "netcaptor", new Array("netcaptor", "netcaptor 7.5.3 crack", "netcaptor download", "netcaptor 7.5.3", "netcaptor crack", "netcaptor pro", "netcaptor 7.5.2", "netcaptor 7.5.3 serial", "netcaptor v7.5.3", "netcaptor review"), new Array("141,000 results", "169 results", "68,300 results", "2,890 results", "8,360 results", "56,500 results", "2,390 results", "213 results", "281 results", "15,900 results"), new Array(""));

Cool, huh?

Hacked appropriately, this could be a cool tool for generating related searches to a given keyword. Here’s a quick, first attempt – I put together some sample code that grabs Google’s suggestion for a given keyword (or partial). GPL’ed PHP source code is included.

Oh yeah – you might be interested in my earlier post about hacking Adsense for Feeds.

Making Sure Your Visitors Can't Buy

Miniac I need another AC adaptor for my iPod mini. wants $49 for a replacement — which is highway robbery — so I looked around for an alternative. I found one that looks like it should work for only $8 – here’s the link. The problem? There is no way to buy the product. There is no add-to-cart button. There is no buy-me button. Does this mean they are out of stock? Why show me the product then? They lost me as a potential customer. I’m off to buy from someone else.