home
about
services
contact

Where am I?

Content Reprocessing in Bulk

May 21, 2007 at 02:03 PM | categories: MarkLogic

At last week's 2007 MarkLogic User Conference, I talked about bulk reprocessing of XML content. The problem is simple: you have 100 GB to 100 TB of XML, and you need to make a small change to each and every document. The problem is simple, but the solution is not.

As part of the talk, I demonstrated and released a tool for this, called Corb (or "CoRB", if you prefer). Hopefully this will save someone else from re-inventing the wheel.

Oh, and I talked about scalability, too. How many TB of XML would you like?

 

Her Name Here

May 02, 2007 at 08:12 PM | categories: home

I'm now accepting re-nominations for a new cat. I won't have her until the end of next week, but she's already a movie-star on this interweb thingy. I didn't have anything to do with that video, or these pictures - they're both from the shelter. But I did spend some time with her in that same room.

lynne1 lynne2 lynne3

She seems reasonably intelligent. I predict that she will be a mighty huntress.

However, her name is too short. I believe that cats should have names of around five syllables: this gives plenty of scope for short nicknames, while allowing for an easy change of nicknames as the cat's personality matures. For example, Kilimanjaro was known as Jar, Jaro, Killer, and Kilo (and probably less flattering things).

I'm toying with Carolynnetta. It has plenty of syllables, and also contains her shelter-name. Or I could name her after a song, but I'd need to stretch that out a bit.

Suggestions?

 

XQuery is complicated

April 29, 2007 at 09:31 PM | categories: XQuery

It's a rare week when I don't discover some new corner of the language that I didn't know about before. Did you know about per-variable typing?

let $a as xs:integer := 1
return $a + 2
=> 3

Sounds useless, doesn't it? But just like function-parameter typing, it could prevent errors. Think about this:

let $a as element(ArticleTitle) :=
  doc($ID)/MedlineCitation/Article/ArticleTitle
return $a
Now we have a guarantee that there will be exactly one ArticleTitle. Anything else will cause an error:
XDMP-AS: let $a as element(ArticleTitle) :=
  doc($ID)/child::MedlineCitation/child::Article/child::ArticleTitle
  return $a -- Invalid coercion: () as element(ArticleTitle)
Nice, isn't it?

 

Location... Location? Location!

April 26, 2007 at 08:36 PM | categories: travel, MarkLogic

Culture shock! I taught a developer class in NYC this week, near Wall St. This was my first trip since coming back from Thailand. Let's see... prices are about 100x higher, and I missed the upgrade on both legs. That's it - I'm goin' back to Thailand.

Oh wait - wasn't it 95-F and 100% humidity, there?

Anyway, I stayed around the Fulton Fish Market area. Too bad the market closed down about a year ago - but it still made a nice change from mid-town.

Brooklyn Bridge

 

The last of the snow

April 12, 2007 at 08:50 PM | categories: travel

I caught the last storm of the season, and went cross-country skiing.

Bear Valley