APOLLO Deployed on Solaris

I just finished an initial test deployment of APOLLO, including all frameworks and a sample searching application, on a Solaris server for use by the folks in BC. The install of our stuff was really quite simple – just copy some stuff into the right directories and add a new WebObjects application. Done.

APOLLO: Phobos on Solaris

There were only 2 small snags:

  • Frameworks need to be installed into $ NEXT_ROOT/Local/Library/Frameworks/ – I had been putting them into the MacOSX-ish $ NEXT_ROOT/Library/Frameworks/. Once I figured out the problem, it took all of 5 seconds to fix.
  • The shell in Solaris handles the backspace key differently than on MacOSX – so if I messed up while entering a command (like copying a directory or something), I’d have to control+c and start that one over again. King just suggested setting the “Delete Key Sends Backspace” preference in Terminal.app – that works perfectly. If only I’d have realized that an hour or two earlier… 😉

It’s good to know that the APOLLO stuff really is portable. It wasn’t too difficult to install on a platform that had never seen APOLLO before, and that’s comforting 🙂

Comments temporarily disabled due to spam

Some casino spambot pigsucker decided to spam the hell out of my weblog again tonight. Instead of entering into a battle of wits with the script kiddie moron, I’ve cleaned their crap from my home, and temporarily turned off accepting new comments. Casino spambot script kiddie, if you’re reading this: PFO!

I’ll try to tighten commenting up a bit to prevent scum like that from trashing things. Until then, please email me if you have any comments/questions/whatever.

UPDATE: I’ve implemented a couple things that might lock down the scum sucking spamroaches a bit more. Comments are now available both via email and the web interface, depending on your tastes…

– D’Arcy

Extending Safari: Stand

John Hicks just posted a link to Stand – an InputManager that extends Safari in new and wonderful ways.

The coolest thing it does is give you a new way to quickly access bookmarks – hit F4 and a search widget pops up. Hit some keys, and your bookmarks are filtered on the fly. Very cool. You can even configure it to close the floating widget after opening a bookmark.

It somehow modifies the View Source window, so that source code for a page is properly syntax highlighted (and you can set any font you like as well).

It also does some other useful things, like optionally forcing all links targeted at “_blank” to open in a new tab rather than new windows. It also provides better searching/filtering of browser history (that’s how I quickly found the URL for John’s post – I last saw it this morning and just hit the history search to pull it up quickly).

Stand probably does a bajillion other things. The website looks like it is in Japanese, so I can’t read the official description or changelog, but it works GREAT!

A True Tale of an XServe Install

Joel Rennich at AFP548 (a MacOSX Server oriented site) has published a detailed description of the process he went through when installing a new XServe at his colocation facility.

He’s apparently got a much more complicated setup, since there are several steps that we didn’t have/want to do, and his time estimates for others are longer than I’d have guessed. Regardless, it’s good to see another report of just how easy it is to fully configure and deploy these bad boys.

Also of note are his recommendations for backup strategies. I currently use rsync to backup important stuff to another drive on our commons webserver – but the data has gotten so big there isn’t a safe place for it off that machine. This will get better once we have the XRAID hooked up, but still…

New iPod Store in Market Mall!

I went to Market Mall tonight to kill some time with Evan – they have an excellent play area, and Jugo Juice nearby…

We came in through the Toys R Us entrance to avoid construction, and as we were walking through the mall, I noticed a kiosk with a G4 iMac as a POS terminal. Took a closer look, and the kiosk was a new “iPod Store” – provided by local Mac dealer My Mac Dealer. They had EVERYTHING there – iPods (20GB 3G for $100 less than I paid 3 months ago…), several iPod Mini in stock (or at least the boxes), and all kinds of accessories. It was pretty cool to see this stuff kept in stock (as opposed to the traditional gamble-if-it’s-in-or-place-a-6-week-order-and-wait process.

As we walked by, about half a dozen groups were fawning over the iPods and accessories. I even wound up talking with a nice family about the differences between the iPod and Mini, since the staff were swamped already. Man, we need an Apple Store in Calgary!

UPDATE: It’s still there, just moved into the fancy new section of the mall. They really should have put up a sign saying they moved… My first thought was "oh, crap – it’s closed down!" It looks like they’re doing quite well in the new location (at the far end of the new section – keep walking around, you’ll find it).

Update 2: Nope. It’s gone. Disappeared before Christmas 2004. No idea why. Such a shame.

APOLLO Javadocs

I’ve just published updated Javadocs for the APOLLO frameworks (and the Pitchboard application that drives Fusion).

It’s a start – we’ll be fleshing out the documentation as we move along (that’s one of the things on my plate, so I’ll be spending some quality time working on documentation over the coming months).

The classes will be updated/cleaned/trimmed over the next little while, but this will give a starting point for grokking the guts of APOLLO.

This version of the javadocs includes:

  • ca.ucalgary.apollo.foundation (handles low-level data stuff)
  • ca.ucalgary.apollo.appkit (handles high-level application stuff – UI, etc…)
  • ca.ucalgary.apollo.workflow (handles creation and execution of step-based workflows)
  • ca.ucalgary.apollo.pitchboard (drives Fusion)
  • ca.ucalgary.apollo.vocabulary (provides interface for describing vocabularies)
  • ca.ucalgary.apollo.vocabulary.vdex (implements the standard VDEX vocab. specification)

XML in Flash

This is an old Builder.com article (from May 2003), but goes into the guts of how to use XML in Flash. Might come in handy for Pachyderm…

On a side note, wtf is up with builder.com? They have a redundant .com in their address (builder.com.com – I assume that means they’re part of CNet, famous for “news.com.com”), and the URL scheme they use is a huge PITA to type in (I had it open on one machine, and needed to get it to the other… Took way too long, and some apparent numerical dyslexia kept getting in my way. Doh.

JavaEOXMLSupport 0.2 on Sourceforge.net

I just uploaded new source files for the JavaEOXMLSupport framework on the woxmlsupport project on Sourceforge.net.

It’s got support for accessing and editing XML data in documents via KeyValueCoding (although I’ve found a bug – it doesn’t like creating elements that don’t exist, so it’s literally an editor at the moment).

I also uploaded source for a test application (xmldbTester), which uses both JavaEOXMLSupport and JavaXStreamDBAdaptor frameworks. You’ll need your own XStreamDB database at the moment (free for educational users), but it works fine.

W3C HTML Validator on MacOSX

I just installed a local copy of the W3C HTML Validator tool on my laptop, thanks to the instructions provided by Apple. That was one heck of a process. Time in CVS checking stuff out, time in CPAN, time compiling stuff, finking stuff. All told, it took about an hour and a half (partially due to my slow internet connection at home at the moment).

Really appreciating the checkbox simplicity of the stuff that ships with MacOSX 😉 – I wonder if they’ll ship the validator on Tiger Server?

JavaEOXMLSupport Progress

Just made a major breakthrough in enabling editing of XML via the JavaEOXMLSupport framework. Turns out I was outsmarting myself again – trying to do too much work, instead of just letting go and letting WebObjects do what it does best. Once I did that, it was a 5 line addition of code (after skipping comments) to enable this. I’ll need to do some more testing, but it’s looking good. When it’s actually working, I’ll publish the changes to the SourceForge site.

Once I’m comfortable with the editing (and of course creating) of records, I’ll work on the JavaXStreamDBAdaptor to enable it to store the changes. (adding support for EOF saveChanges() will do – just remember to NOT DO TOO MUCH 😉 )

UPDATE:YES! It’s working perfectly! I just modified the xmldbTester.woa application to have a component that provides a form to edit a subset of the LOM (title, description, location, keywords, format). Works great! Sweet. Next up, I’ll package the new version of JavaEOXMLSupport.framework as version 0.2 and publish it to the Sourceforge website. Then, I’ll get to work on JavaXStreamDBAdaptor to enable saving the record there.

The coolest part of the whole editing form component is that it doesn’t even know it’s a front end for editing XML! It just knows that it’s getting/setting stuff at a keyValuePath. I bind the value of a text input component to “lom.general.title.string.content” and it Just Works. Behind the scenes, it’s modifying the DOM representing the XML document, and providing the naiive editing component with what appears to be regular plain old EOs.

New site design

I’m playing around with the CSS for this weblog, trying to make it a little easier to read, and less retina-wretching. I’ve taken design cues from HappyCog and others, but will be tweaking/changing at will for a while…

Haven’t implemented the new design site-wide yet (writeback pages still use the old icky design), but I like it better than the old one, so I’ll probably make the full switch.

I also dumped the sidebar. It was just a lot of superfluous info crap that wasn’t needed. I moved the meat of the sidebar into separate pages, accessible by the nav links at the top of each page. Search is available in the top banner on all pages as well.

If you notice your browser barfing badly on the new design, please let me know. I’ll see what I can do…

ECMAScript for XML (E4X)

Saw a link to E4X yesterday, but nobody seemed to know what E4X really was, only that they had a very PR-ish PR.

Sean Corfield, over at An Architect’s View, has provided some more info. Basically E4X provides a more complete DOM, with methods to read, create, and query an XML document (including an XQuery implementation).

Also, it appears that E4X has grown from BEA’s scripting extensions, so it’s not a brand new thing – that’s good, in that it’s been in the wild for a while, rather than being restricted to the lab.

Bookmarking this, in case it comes in handy for the Pachyderm flash templates…

var over27inEng = empdoc..employee.(department.@id == 500 && age > 27);

This will return all employee nodes (like //employee in XPath) which have:

  • a department child with an id attribute equal to 500 and
  • an age child with a value greater than 27

Cory Doctorow’s Novels on the iPod

Holy crap. I was just looking for something completely unrelated to this, but a random neuron got fired, and led me to this page, featuring 8 of Cory Doctorow’s books in iPod Notes format.

That’s too freaking cool! I’ve downloaded them, and will start reading through them (starting with Down and Out in the Magic Kingdom) during the daily commute…

UPDATE: Well, ok… that’s kinda interesting. After the iPod loaded all 500-odd pages of Notes for the books I downloaded to it, I’m really seeing the limitations of the iPod for this kind of thing. I’ll have to go in an rename some of the books so I can read the titles in the menu. And, after scrolling through the first 5 pages of Down and Out, I finally got the the end of the quotes, FAQ, and Creative Commons license… Doh. Might have to add a “Start the book already” link on page 1 of each book. Also, looks like there’s no way to bookmark where you are… Or, to quickly get back to the menu without going back through all of the pages you’ve read. oy.