Take me HOME
Keeping Focus
Wednesday, January 11, 2012 08:19 PM

Sometimes it is tough to stay focused.  Especially when it gets down to getting caught-up in the minutia, the little details that turn out to take just as long (or longer) than the entire rest of the project.

Last week I was working on an idea for COMET.  The basis was long-poll Ajax requests which discovered events from a database event log.  This particular log is one used by my "CS Web App Libs" project (web application libraries).  There's a class/library that covers logging things to a database, along with some (mediocre, mostly untested) retrieval code.

Okay, so I did all the Ajax stuff, got the PHP script on the backend to go into a loop that could get down to loops that were just 100ms (that's how long it waited between polls; I didn't check to see how long the query took).  The query would ensure results were greater than the last retrieved log ID (a unique, always-incrementing number) to ensure that no results were duplicated...

That's when I realized that this database logger (cs_webdblogger) couldn't limit results like that.  It seemed like it was because there was a list of fields to filter by, and the "log_id" wasn't one... so I added it.

Uh-oh.  I then found that the code that builds the SQL string (to poll the database) purposely would not allow special characters (such as ">"), so I couldn't do a query which had "log_id > 12345"...

So I started looking at that code.  I realized it was only built to built a string out of an array.  There were "patches" done to make it work for SQL, but they were kinda shoddy.  So then I started thinking of building something similar, but specifically for SQL.

This will be the, what... 3rd step back? Fourth? So I started working out how to change that code so that it would do the ENTIRE SQL STATEMENT (instead of just segments).  Including the table joining and what-not.

That's when I stopped.  Four steps back, maybe five... But I decided to circumvent the "string from array" code and add an argument to a method, add the " log_id > 12345" part, and move on.

And you wonder why I have problems staying focused?

AND THEN... I post a blog about it.  And realize that, because of the length of my new blog, it's tough to see if there are other new blogs by other people... so I start thinking about how to have an "expand" option, and how to stylize it... ugh.

And, once again, I've lost focus.