Persistent searches and watches

After some heated discussions with Jack Krupansky about how to search for data, and how to find information that we may not necessarily be looking for, but will find interesting, I’ve been thinking a lot about searching and filtering on the internet.

What I realized I have a need for, is a way to do persistent searches, and places watches for certain data. For instance, I did a search a while back for a network driver for my 12″ apple powerbook’s apple extreme wifi card that would allo wme to set the card in promiscuous mode. There currently doesn’t seem to be such a thing. But there might be in the future. And I would love to be notified of such a thing in the future.

Chris alerted me to the existance of Feedster, which allows you to do basically exactly what I want, though it only searches blogs. Basically, you can run searches on blogs, and then get an rss feed of the search results, which update realtime. Pretty slick, though it’d be a lot better if it wasn’t restricted to just blogs.

I’ve also been toying with the thought of resurrecting my “html diff” tool, which allowed for watching a page for “significant” updates (defined as changes in the page content that weren’t randomized per page load, such as ads or quotes or such). It would be a cool way to place “watches” on certain pages that may not be updated very often. Hmm… I think I could probably even do an rss feed of it pretty easily.

An example use would be to place a watch on a page that described a software version number, to be notified when the software was updated. I’m sure there are tons of uses I’m not thinking of.

EntConnect

I spent the better part of the weekend at EntConnect, a conference for entrepeneurs down in Denver. It was small (probably 30-40 people max), but interesting, as people came from all walks of life, from play publishers, to elderly private detectives, to PIC chip development tool programmers.

Going into it, I thought it would be very technical,a bunch of geeks, well, being geeks. It wasn’t. By and far, the focus was on the business side of being an entrepeneur. Which isn’t to say there weren’t a lot of geeks there, doing geeky things. But, somewhat by nature of the diversity of the group, the focus of the talks,a nd much of the focus of the adhoc discussions inbetween centered around the business issues involved with owning and running a business.

While not all of the talks proved valuable to me (I don’t really sell a product, so discussions such as how to claim R&D time as tax credits aren’t immediately relevant), I did find some really valuable tidbits:

  • Am I trying to build a lifestyle company, or a wealth company? One interesting measure of this is: company value - me >= 0. In my case, no I don’t think it is, not right now anyway. But maybe I’m ok with that.
  • I need to put together a clean, standard consulting contract. I head too many ugly stories of lawsuits and people not getting paid.
  • Once a month, bug someone more successful than you breakfast, lunch, or dinner, their choice. This is an interesting way of having mentors, without choosing just one.

I think that’s all for now. I’m off to the components lab now, to attempt to exist in the other part of my life now.

Electing with clicks

Last night I managed to drag Alex up the hill to NCAR to go to the bimonthly RMIUG talk - Electing with Clicks: The impact of the Internet on Politics today. It was quite interesting. The two men that spoke, Matt Statman of Motive Design+Interactive(the design company that did the DeanForAmerica.org website) and Bobby Clark, a recent alumnus of Dean for America, talked about the process of creating Dean’s online presence.

The talk focused largely on their “branding strategy”, and how they focused on creating an online presence for Dean in a similar manner to one created for a product or company. I think for me, the most interesting part was the discussion about how they dealt with two way communication - people posting comments to the blog, creating fan websites, contributing software, etc. They’re policy, pretty much from day one, was to embrace it. They weren’t worried about linking to pro-Dean blogs that might post something controversial, or deleting comments to the blog that were intentionally inflamatory. Instead, they focused on building on the momentum, even if it meant a few glitches along the way.

This building on momentum carried over to the content they created as well. Rather than constantly focusing on getting each little piece perfect, they looked more at the big picture, and just kept on moving.

I think the most amusing part of the talk, though, was the screenshots they showed of the initial website proposal that Motive did. Since Motive, nor the campaign at the time, had any pictures of Dean to work with, they instead used images of Martin Sheen taken from West Wing for the website mockup. Very clever, and hilarious.

Read on for the rest of the notes I jotted down during the talk.
(more…)

Thinking about abstraction in websites

I ran across Experiences of Using PHP in Large Websites on del.icio.us(you can find my feed at http://del.icio.us/scotty). To be honest, I haven’t actually made it all the way through it yet, though I plan to when I have some more time (maybe tonight).

However, the following passage struck a chord with me:

Divide every PHP page up into two parts: the former performs database queries and does whatever else is needed to calculate the content for the page, before storing the calculated content into a series of variables which - and this is crucial - contain no markup. Then the latter part of the page can simply embed variable values into HTML markup, using loops where appropriate to traverse potentially-complex data structures containing the actual content.

This is particularly timely as I’m in the process of doing some coding for Boulder High School, building a web database in php and mysql to help them match tutors with students who want tutoring. This is particularlly enjoyable, as I haven’t really done any ground up development in months, and forgot how much fun it is.

Anyway, the project has me thinking lots about structure and framework. I’ve been shamelessly ripping off some framework ideas from a software package I’ve been making extensive modifications to for a client, in which every page has a hidden variable called “page”, which designates the next page to be loaded, and a hidden variable “action”, which designates a function to be run before the next page is loaded. All pages are loaded and functions are called out of a central index page, where pages are stored in individual .php files, and all functions are stored in a large library file which is included in the index page.

This provides some nice seperation between program logic and presentation, but I still find myself writing functions called things like “show_student_table”, which prints out a table with a list of students, with all html markup.

Instead, what I take from the passage above, is that I should be writing things like “get_student_list()” which returns an array of the information I want to display, and then loop across the array in the presentation page itself.

I do think there is still some place for functions that create presentation elements that are reused often, such as dropdowns. But again, it’s importatnt to focus on seperating out the data retrieval and manipulation tasks from the presentation.

More education means less respect?

It seems ever since I’ve gone back to school to finish my degree, I get less respect professionally from people. It’s as though people think to themselves, “Oh, he’s just a student, he must not be competent, or must know less. After all, why would he be a student?”.

My goal in going back to school was to become more competent than I already am in my field, and expand my areas of competency. But somehow being back in school makes people have the opposite perception of me. Now all of a sudden I have people quizzing me on my knowledge, double checking simple work, and generally not trusting my abilities - all things I’d never encountered when I was working full time. It’s particularlly frustrating as it seems it often comes from people of lesser or equal technical ability.

In related news, I ended up withdrawing from the software engineering course I was in, and picking up a computer graphics course instead (CSCI4229). It’s not riveting, but it’s keeping me challenged and entertained.