home  >  notes  >  arsdigita

My weekend at ArsDigita boot camp

v1.0 18jul2000: First version

By Matt Webb.


My weekend at the ArsDigita two day boot camp. is over. A few thoughts:


ArsDigita bootcamp

...in which I spent a weekend doing ArsDigita's Problem Set 1, an introduction to AOLServer, TCL and Oracle. If I'd worked faster, I would have moved onto Problem Set 2, which deals with the ArsDigita Community System. But I didn't.

We were fed and watered incredibly well. Members from the Boston Office were on-hand to help -- all the more incredible since we were in London.

So why do ArsDigita lay this all on, for free? As far as I can make out:


TCL [TCL for Web Nerds]

I don't like it. Well, I like it a little better than Saturday night just before midnight when I would have killed for a decent way of making datastructures, but I learnt how to use ns_set (a key-value hash that you can actually - wonder of wonders - pass to procedures) on Sunday.


The ArsDigita Community System

...I didn't actually get to use, but as ArsDigita are at pains to emphasise (or at least, those bits of it I met were) the ACS conceptually is independent of TCL (it's being ported to Java) And in fact, even Oracle and even AOLServer -- although the Apache kludge is to emulatate AOLServer APIs in mod_aolserver. Oh dear. The alternative to Oracle is PostgreSQL via OpenACS. Postgres is free, but considerably slower for complex queries than Oracle, but otherwise comparable.

The ACS is ready to go almost as soon as you install and looks shit hot enough that I'll be downloading it for a play, since the main hurdle of knowing enough TCL to get by has been, um, hurded. The bootcamp has done its work.


Oracle [SQL for Web Nerds]

Now I understand! All those problems I had with Access and MySQL -- I should have just used Oracle. Oracle can do everything, up to and including solving world hunger. Next time Philip Greenspun is whiningly asked "But why not MySQL" he shouldn't bother with rationalisation: "Because Oracle is so much better."

I could download an Oracle development server, but I'm not going to because I'm very nearly addicted as it is. All I can say: Wow.


The Tao of ArsDigita

I was encouraged not to build SQL queries out of their constituent SELECTs and WHEREs, but have entire statements even when that involved much duplication. This is something I'd never usually do: What if the table structure changed? The database structure changing is something that never occurs in ArsDigitaland: They think ahead a long way. The program is merely something to hold together enormous immutable SQL statements. If the statements have to change, the program would have had to anyway. I like it this way, I think. It's a shift of emphasis from the-database-as-persistant-data-structure to the-database-IS-the-program. This is something only possible in Oracle, or something with equal power and flexibility. The confidence in the database lets you move as much of your program as possible into it, where there's a system optimised to cache calculation results, storage and so on. Admirable. This also leads to a system of small single-task scripts instead of monolithic apps; basically scripts as wrappers for SQL queries. Exposure to this idea will definitely change my programming style.

There's another philosophy at work in ArsDigita -- that of studentship. I'm only going to comment a little on this because it's different for everyone; I'm a little too recently out of university for this to appeal.


CEIL()

A good weekend. Exposure to different ideas is always good, and what I learned about Oracle, about moving logic into the database, about how I never want to see TCL again, and how to put Philip and Alex into practice is certainly worth money: I'm still amazed it was free.


home  >  notes  >  arsdigita