What's In Chris' Brain - Blog Experiment Version

I had a few drinks last night with my fellow Milton-area PHP developer and we got to talking about a lot of different topics. I will summarize a few of them here:

Concurrency is still drawing significant interest from me

I recommended my friend check out Tim Bray's Concur.next series (yes, I know I'm whipping this topic like a dead hors). We discussed how when you've done so much work in the stateless environment of the web, made slightly more state-full by hacks like sessions and Ajax, how hard it is to wrap your mind around the idea of concurrency and event-driven models of programming. Much like Mr. Bray I believe that somewhere out there is what will become the popular toolkit for creating concurrent programs, both on the server and on web sites.

What about data stores when coupled with concurrent code

Say I were to create a stripped-down version of the XML-feed reading program that we sell at work. Say I write it in, oh, Twisted Python and then have the documents it grabbed get tossed into the XML data store I'm using at work. I imagine that I would grab my list of files to retrieve and then spin off a thread/agent/worker/whatever to grab each one, do the necessary processing and then insert that document into the database.

So, I guess it comes down to the ability of the datastore itself to handle concurrent requests? I mean, if I was talking to a RDBMS like MySQL or Postgresql, can I count on them to handle concurrent inserts or updates? That is a question worth doing some research about.

There is an opportunity to become a domain expert in the NoSQL field

If you were a freelancer who wants to live on the cutting edge, I would seriously invest time in learning one of CouchDB / Cassandra / MongoDB and figure out scenarios where these can be used. Next step? Profit!!