Hoopla!

now with extra whiz-bang!

Hoopla!

AOL's enormous mistake

August 06, 2006 · 0 comments

reports today that AOL has decided to publicly release the combined search data of thousands of it’s users. This is quite possibly the dumbest thing AOL has done in years.

They’re offering a free download of the statistics for research purposes here. It’s their research department that’s releasing this in an attempt at goodwill – but it’s certain to backfire.

There’s no telling how long the file will be offered for download but I’m 28% of the way to a full file transfer and I’m already building a front-end so folks can seaerch the results.

Come visit aol.6brand.com in a few hours and you’ll be able to search through this “research data” on your own.

→ 0 comments Tags:

Automatically checking for php parse errors

July 27, 2006 · 0 comments

I’ve been running into a problem on one of my multi-developer sites where we’ve been unable to break the habit of occasionally allowing parse errors to show up on one of our php sites. We mean well, we try to avoid it, but sometimes a quick fix is necessary and we don’t always have time to do testing (it should be noted that we don’t have a testing harness of any kind for this site).

Just last weekend I was horrified to find that I’d left a parse error in a small, seldom-visited part of our site for several days. No users encountered it but it prevented some automated tasks from working as they’re supposed to.

It’s become clear that we need more than just to try harder – we need technology to watch our backs. Do accomplish this I’ve developed a bash script that takes directories as arguments and has php parse the contents of every php script in that folder’s structure.

The Code: -
#!/bin/bash

check_dir() {
  for file in $*/*.php
   do
    if [ -d $file ]; then
      echo "going into $file" 
      check_dir $file
    else
      if [ "`php -l $file`" = "No syntax errors detected in $file" ]; then
        echo "valid in $file" 
      else
        echo "$file invalid" 
      fi
    fi
  done
}

for dir in $*
 do
  check_dir $dir
done

It’s very simple – but it’s all that’s required to get started. From here I’m going to replace the echo’ed output with tasks. Specifically, a php file will be run when files are found to be invalid and both an email and an SMS will be sent to the developer’s phones.

We’re setting this script to run every 5 minutes, hopefully no weekends will pass from now on without being error- (at least parse error-) free.

→ 0 comments Tags:

Krugle - code searching

June 09, 2006 · 0 comments

Google lets you see your search history and a day-by-day total of how many searches you do. I’m pretty much always over 40 searches/day thanks to looking for code and trying to solve various development problems.

Enter Krugle. I forget how I got signed up for their beta but I just got the invite and checked it out. At first I thought “search engine for developers. cool.” That quickly turned into “holy shit. this changes everything.” They’ve clearly caught on to the fact that developers have different search needs than the regular consumer.

First off, Krugle lets you choose what language you want to search. THIS IS HUGE. When I’m working with Ruby I don’t care that Java has an implementation of “GoWild.new” – it can’t possibly help. The default is to search with a broad scope, but narrowing down by language is a sure way to get to a solution faster.

Secondly, they’ve parsed all the code they’re searching through and have divided information up based on whether it appeared in a comment, in a class definition, a function call or some other part of the code.

But the thing that really knocked me senseless was their wise use of AJAX. Its not clunky and it allows the whole search process to run that much faster.

Add all that together with a beautiful design, a good community, and a dedication to help developers find answers – and you’ve got a winner.

You can see a demo of their operation on their website

Following is a screenshot of a search I did on Krugle:

→ 0 comments Tags: