Tuesday, April 22, 2003


Source: Objective; 4/22/2003; 9:37:02 AM

Source. Code..

I try to be a particularly expressive programmer.  I like to think that my code mirrors my though proccesses as closely as possible;  I enjoy programming languages and practices that let my express my conceptual framework of an application as closely as possible.  Giving away code is hard, because giving away code is really giving away a big part of my though process; exposing it for critique, duplication, theft, or misuse.

Harvester started as an experiment.  I hadn't done much winforms programming yet.  My professional programming career started with client-server applications written in VB 4.0;  it had been a long time since I wrote a distributable EXE.  I wondered how easily I could produce an attractive, fast, full featured application that would obtain a reasonable level of public attention.  The answer was, about 2 weeks.  Not bad. 

Within days of releasing harvester, the .NET based aggregator "market" was pretty much turned on its ear; I doubt that harvester was directly related to that, but it was certainly influenced by it.  I have alot of interesting ideas for harvester.  My vision for harvester is to create, essentially, an aggregation platform.  I really like the extensibility concepts that have been bouncing around, but I had something a bit different in mind, and I don't know quite how to describe it yet.  I want a single place where blogs, email, instant messaging, people, news, and other services co-exist, in deep, rich ways. 

I don't want to write it all.

I like the idea of large scale, collaborative development, but I don't think that large scale, collaborative source code sharing is the best mechanism for achieving it.  I think that the best way to build the platform I have in mind is by developing loosely coupled, coarse grained interfaces, and encouraging a dynamic plug-in architecture that works either locally (as in, deployed DLL's) or remotely (web services). 

I'm releasing the source code for harvester.  People are more than welcome to do with it as they wish;  use it as a learning platform, develop your own applications based on it, extend it.  I don't see myself adding much to that code base;  I don't see myself supporting it much... but I will answer questions about it, and participate in general discussions about it. 

Like most code I write, its mostly pattern centric.  It was written with some degree of agility;  There wasn't really much upfront design, and I let whatever design there was evolve naturally.  The basic solution leans pretty heavily on MVC (model, view, controller);  the controller is essentially a mediator, and the views communicate using the eventing infrastructure (basically, the observer pattern).  Factories weigh in pretty heavily.  My entity model is based on strong typed datasets.

I'm going to watch the extensibility discussions very closely, support whatever comes out of them, and contribute whatever I can.  By the time summer rolls around, I hope to be rambling on about Harvester 2.0.

By chrisca208@msn.com. [Objective]
10:34:40 AM    trackback []     Articulate [] 

Source: Hivelogic; 4/22/2003; 9:36:16 AM

Status.

You spend most of each day talking to recruiters, potential employers, going on interviews, reading and posting to the job-boards, tweaking your resume, or performing the work which generates the money you need to pay bills.

You have a single thought: find a good job or project as soon as possible.

You have a single desire: find a good job or project as soon as possible.

When you drink coffee in the morning, you do so because this will heighten your response time, making you a more desirable candidate or project member and taking you one step closer to finding a good job or project as soon as possible.

When you consume food, you do so not to enjoy it, but rather because your physical body requires it to create the energy you need to talk to recruiters, potential employers, go on interviews, read and post to the job-boards, or perform the work which generates the money you need to pay bills.

There is no rest, no breaks, no cigars, no enjoyment, no hanging-out, no weekend, there is only this: find a good job or project as soon as possible.

Occasionally, when feeling a reckless need for distraction, you tune the small TV in the corner to a cable news station. This creates background noise which partially masks the constant sound of your neighbor's home renovation project.

Sometimes, late at night, when you're really focused and working hard, you can hear the cat speaking to you in low tones. But when you look in his direction, he's just sitting there, staring at the back of your head, motionless.

By Dan Benjamin hivelogic@hotmail.com. [Hivelogic]
9:58:09 AM    trackback []     Articulate []