What's That Noise?! [Ian Kallen's Weblog]

« Previous page of month (Apr 2004) | Main | Next month (May 2004) »

20040405 Monday April 05, 2004

Building software could be like layering a cake, which could be good I did a little write up on Aspect Oriented Programming (AOP), titled "Aspect Oriented Programming: An Introduction," I'm more than just a tad stoked that it's the lead story currently on CMP/TechWeb's DeveloperPipeline (ya know, I'm just having a great day today, there's lots of good stuff happening).

Anyway, I believe we are entering an age of non-intrusive frameworks (unlike traditional J2EE) that serve as lightweight application servers, or lightweight containers, if you will. AOP isn't a piece of software or a container, it's a different and complementary approach to ye olde Object Oriented Programming. AOP is about layers. It's about being able to layer on supporting functionality and weave it into your core functionality. AFAIC, Sun is put on notice: your big overdone API's for J2EE aren't necessarily the best way to develop all of the components for a scalable OO architecture.

A lot of the things that J2EE provides (such as security and persistence) might be better served as application aspects, layered onto the core OO model. And technologies such as Hibernate are here to help as well.

Layers involve complexity, but that's not a bad thing. Why, there are even bits of wisdom on the matter to be found in everybody's favorite DreamWorks feature film:

SHREK: For your information, there's a lot more to ogres than people think.
DONKEY: Example?
SHREK: Example? Okay, um, ogres are like onions.
DONKEY: [Sniffs] They stink?
SHREK: Yes. No!
DONKEY: They make you cry?
DONKEY: You leave them out in the sun, they get all brown, start sprouting' little white hairs.
SHREK: No! Layers! Onions have layers! Ogres have layers! Onions have layers. You get it? We both have layers. [Sighs]
DONKEY: Oh, you both have layers. Oh. [Sniffs] You know, not everybody likes onions. Cake! Everybody loves cakes! Cakes have layers.
SHREK: I don't care... what everyone likes. Ogres are not like cakes.
Who can argue with that? ( Apr 05 2004, 08:55:55 PM PDT ) Permalink

Deadwood: a heavy metal western

I'm not a big TV watcher but I really dig HBO's new series, Deadwood, it's such a departure into the heavy metal underbelly of human tendencies and vices, I can't stop watching it.

The dialogue gets a little tiresome with the "f*ck'ing this" and "c#ck s*cker that" every other sentence. Don't get me wrong, I can cuss like a sailor, when inspired to (I have colleagues who can attest to this fact), it just gets a little old having it be such a dominant aspect of the script. I could complain that the ugly people are really damn ugly and the pretty/handsome ones are too much so but overall, I think it's a great show. The cinematic mise en scene of Deadwood is truly awesome: tough, gritty and grueling.

The next thing I'd like to see on Deadwood is a role for Ian Kilminster (AKA Lemmy), it'd be perfect!

( Apr 05 2004, 11:37:28 AM PDT ) Permalink

20040402 Friday April 02, 2004

Content Event Listeners Content publishing events should be like the ripples of a stone landing in a pond. Concentric circles of information modulation should eminate from the blessed event when new content is born.

Discovering that a stone has penetrated the surface of the water has traditional been discovered by scanning the bottom for new debris. What a waste of effort! Publication is an explicit, active event, why is it sufficient to discover its occurance after the fact, passively? These are the days of miracles and wonders indeed, we can tell those who have a registered interest in knowing that a publish even we should be concerned with has happened. Content event listeners will make it happen.

Metadata is your friend, my friend. It will be used to enrich us. ( Apr 02 2004, 05:49:22 PM PST ) Permalink
Comments [1]

20040401 Thursday April 01, 2004

Content Management Systems in the 21st Century Building a general purpose CMS isn't easy. My last effort at it was carried forth after my departure from Salon.com and eventually turned into Bricolage.

These days, there are so many open source content management systems, it's difficult to keep 'em all straight. When I'm evaluating these things, the first thing I look at is how close is the CMS to the content serving? If they're closely bound, then any efforts at scaling one function (say, serving content) has to be considered for it's impact on another (such as, inputting and managing the content). This is why I outright refuse to deal with products such as Vignette. And yet a lot of products seem to follow that same "the appserver is the content repository, serving engine and workflow manager" model that makes Vignette such an awful product.

I understand that Plone is similarly modeled, albeit on top of a Zope app server. A lot of the blogware (such as the one that I'm using now) that masquerade as CMS' also closely couple the data management with the serving of templatized content output.

I say: get with it. It's the 21st century already -- we know better than to mingle our high request rate content with our low request rate administrative interfaces, don't we? The talk I gave at the O'Reilly Open Source Conference in 2000 is posted online and there are loads of other resources out there. And yet people are still ponying up huge mega-buck deals for Interwoven and Vignette, they're rolling their own one-off solutions, they're making compromises by limited their content to blog-style articles and it's sad. The fact that crap that requires an application server closely bound to the CMS functions to deliver the content are still being developed and deployed tells me that the CMS problem is still a wide open issue. It's my opinion that the there's huge uptapped market there.

If someone wants to hire me to re-write Bricolage in Java so it can be more easily boxed up and sold, I'm available (insert evil grin here). ( Apr 01 2004, 03:23:33 PM PST ) Permalink