Josh (the blog)

I’ve delivered simple, clear and easy-to-use services for 20 years, for startups, scaleups and government. I write about the nerdy bits here.


@joahua

RI revisited, Web standards, AJAX, LDAP and architecture

I visited Raw Ideas today and was really quite excited by what I saw. They’re about to move office again so I was popping in to return the keys (I still had them even though I haven’t worked there for several months now) and generally catch up. Tino was working on a tape library application for archiving DVCPro and Mini DV and HD(V, mostly) footage in a really searchable and generally more-manageable-than-shelves-full-of-labels kind of way, and he was pretty keen to show it off. Freakin’ awesome stuff. Aside from some DHTML gimmicks (fading rollovers, etc., stuff that you think is cool when you’re developing it but does nothing but irritate you once you have to sit down and finally use the application for five minutes!) it was great to see he’s using Scriptaculous for some genuinely useful AJAX-based functionality.

Because it’s a library, it’s basically one big search engine. Which means that autocomplete is a really handy thing to have, and being able to click on a piece of information and edit it straight away (so, taking plain text and converting it into a textarea or input field for editing immediately, without a separate admin view) is absolutely priceless for moving through a library quickly. This is so the way content editing should be heading — I’m hoping we all get there in the end.

But even more exciting than Javascript usability gimmicks was to see that he’s still using CSS, now more extensively and without assistance, and with kick-arse semantics. I looked at the source of his page quickly and the only complaint I had was his use of a span for a header instead of an Hx… totally wonderful to see a few months after the resident standards nazi (that would be me) has taken off!

So we threw around ideas about that (including ripping timecode off DV tape and trying to set marker points, importing EDL’s for use inside the library, automating transcoding processes and exporting H.264 or FLV for previews, and a couple of other equally fun things), then eventually started chatting about what I’m doing over here at Youthworks these days.

I think I made him kind of jealous. I’ve seriously got one of the best jobs in the web development world right now. I get to come up with stuff that’s genuinely useful for users (and productive for the Gospel, yada yada — that’s the implicit goal of all of this), entirely in response to their needs, without being burdened in particular by history, or legacy systems that need to integrate, or any major competitors — it’s wonderful. So we started talking about platforms and whatever and I said I was considering Django (and got a big tick accordingly, which was nice) with an RDBMS (i.e. MySQL, just because that’s pretty much all I have experience with insofar as DBs go) but then outlined a bit more about the project and he recommended an LDAP system pretty strongly.

LDAP is a directory-based database which is strongly heirarchical and finely granulated in nature. Which is bloody useful when you’ve got a user structure five layers deep:

Simple CYIADA universe

But, of course, moderators do not “contain” leaders any more than leaders “contain” youth. All of these tiers exist independently of one another. They are internally defined by their extrinsic relations, even though their user experience of the website will vary depending on their heirarchical position. The latter makes LDAP seem entirely sensible, but the former definition of personal identity (that is, what constitutes a “self” or independent user entity — a Distinguished Name, in LDAP-speak) seems to rile against that directory concept.

“Moderator” is, in fact, a property of “Leader”. That is, it is a quality belonging to the user, who belongs to the group “leader”. Users should be unique and belong to an Organisational Unit (again, in LDAP speak) that reflects their role within the system. Thus, moderatorship generally will necessitate belonging to two OUs: one does not cease to lead within their own group context if they are appointed as a sitewide moderator — likewise, moderators may be appointed who do not have any formal role as a leader of a youth group. (This problem may be circumvented by creating such users at a CYIADA Global administration level, instead — for example, I do not lead a youth group in the target demographic, and I volunteer to edit content occasionally: I am not the webmaster administrator (hypothetically), but require moderation powers without being a leader associated with any group).

CYIADA universe with groups

Groups, of course pose their own set of stupid difficulties. They appear to have no heirarchy at all: indeed, even where they could (for example, a Katoomba Convention branch with KYCK, KYLC, KEC, etc. sub-branches, or a CMS branch with Summer School, MMM, etc. sub-branches) this isn’t particularly useful (and, consequently, not desirable).

They don’t constitute OUs, because OUs have already been used to assign roles (probably a bastardisation of standard X.520 practice, but so much of this will be I don’t particularly care). The only way I could see it working would be by defining multiple Organi[s/z]ation components, but even then…

I don’t know. My head has been in relational database space for so long I want everyone to have a numeric identifier linking them to another table chock full of organisation records. It makes me comfortable. But then, LDAP would manage authentication and roles, if not association, and appears to generally have potential to make life a lot easier. So perhaps there’s some way to connect directory and RDBMS happily?

Feedback more than welcome. I’m not worried about platform specifics, just about the theoretical architecture of such a beast (and my conception of LDAP in general). If you’re reading this and know anything about OpenLDAP or AD or RHCS or any other platform, or just know about connecting to existing sources and extending them, please leave a comment and make me happy :-)

Nearly there…

Wow I can’t wait until this time tomorrow. So much stuff to get done now this whole uni gig is over. Incidentally, one whole year out of the way, eh?

This next couple of weeks will be fun… shooting a short film Saturday, Katy’s birthday that evening, somehow bidding in an eBay auction on Sunday morning whilst at TACKLES (might need to delegate that one!) to pick up some cheap lighting bars, continuing shoot Sunday afternoon, then I’ll be at work all week to catch up on the time I’ve been out of action because of exams/assessments, etc., and chase up all kinds of exciting things that have been on hold (including SMS stuff, yay!) for a conference in early December.

Then, next Saturday, there’s the FEVA Promoting the Word through Text and Image conference, which is plenty exciting and all the cool kids will be there, so get along to it if you can (it’s cheap for a media conference or about average for a Christian conference — worth it either way!)

Wednesday week there’s a performance on at Matthias by the drama kids (it’s a thing we do for networking with kids and parents in the local area more than anything, but it’s run by the kids ministry people at our church.) that shouldn’t be too high stress (at least for me) but I’ll be off work for a day for, then the next evening web-blast06 is being put on by the fine folks from WIPA (I’m going courtesy of hearing about it through WSG, not part of the elite that forms that organisation at present ;-)) at the Old Fitzroy, which is a fun little pub (and theatre) in Woolloomooloo. Which is all fun and games but weirdly suspended between high-priced real estate and the dodge-the-syringes bits of Sydney… shrug.

After that, I’ll hopefully cruise steadily towards the end of the year (December 14 for me, pretty much, coz I’m away til Christmas and it’s basically the New Year after that), finding a programmer and hammering out a bit more stuff for the early early parts of 2007 when development will (God willing) kick off in earnest. Last web thing for the year for me is going to be Webjam on December 12 at Hotel CBD (right down the road from where I used to work, actually) which should be a great deal of fun. I was tempted to try and present something but figure I’m in such a state of permanent verbosity I’d find it hard to do anything useful with three minutes. So I’ll be there heckling in the crowd :-) Should be great fun. If you’re keen to come along to either web thing drop a comment after you’ve RSVP’d (web-blast is full already, but Webjam appears to be open still) and we can arrange to meet up beforehand or something.

But I can’t get any work done until this exam is over because it makes me feel too guilty about not studying. Sigh. Incidentally, reading a great book on Tennyson and Madness (if only it were Madness and Modernism, but perhaps they’re occasionally synonymous!) by Ann Colley.

Colley, Ann C. Tennyson and Madness. The University of Georgia Press. 1983. if you’re interested — got some great stuff on his Maud monodrama which is the reason it got borrowed in the first place!

Ostensible incomprehensible

I have got to get a better domain name. Some poor guy just tried to send a quote to my email address @goah.com

This domain is definitely not designed for telephone communication.

Any ideas for another one (I’m not relinquishing this one yet) with greater respect for the phonetic sensibilities of our language? Various combinations of josh/joshua street/st are available at both gTLD and ccTLD levels, but they bore me somewhat. Open to all ideas, accepting of them only at my discretion. ;-)

That’s unpossible!

Went and got back my last assessment for English 1005 today. Predictably, nothing pleasant, but only shy 5% of a pass. (The exam can still make me pass). I pity anyone reading my uni transcript in the future, because I’m on track for a distinction (I need a meagre 59 in the exam) in the other English course I’m doing this semester, and aiming for an HD (I would need 92 in the exam) just to make the contrast all the more confusing.

And I think I’m finally starting to get this modernity thing, too. Way to pull it together in the last week, the course has been fun but completely thematically unsound up until earlier today! My only concern with the exam for that subject is that the first part requires close textual analysis (which I haven’t started yet) of a poem, and I’m afraid I’m going to try and go all functional grammar ninja and try to open up a can of experiential analysis on its ass, managing only to cut myself on the can as the poem runs away shouting war slogans.

Very modern.

So, hopefully I will avoid slightly more, err, exotic forms of analysis and just stick to the sensible stuff. Either way, it’s reassuring to know that at least in one of my English subjects this semester I could continue to do the don’t-write-anything-in-exam-and-still-pass dance. One of these days I’ll put in enough work to get good at all my subjects for that semester. One day.

Selo gets sauced

Direct from Kingsford Maccas.

It’s also on Google Video if you’re not Flash-friendly (they offer MP4 downloads as well as the in-site Flash and proprietary GVP (Google video player) rubbish).

Alluded to in the video, “myspace audience” are located at myspace.com/morbelli. Not up at time of writing.