Jul 20 2013

Trip to PEI

Published by under Declan,Travel

I knew this would be a long day, getting to PEI was going to take 3 flights from San Diego, but I had NO idea…

The United hop from San Diego to SFO was nice, I got a security line with just a metal detector, so no opt-out and free molestation. ¬†I mistakenly took this as a good omen! ūüėČ

I had about a 3 hour layover until my Air Canada SFO to Toronto flight, so I got some early lunch and boarded on time. ¬†I was in my window seat next to a very friendly elderly lady with a neat accent who looooved to talk – but I’m a friendly guy and humored her while subtly trying to stick in my earbuds to get my zone of silence going. ¬†She wasn’t having any of that, so I chitchatted with her a bit, learning that the lady on the aisle, who was doing her best to NOT engage, was actually her daughter and that they’d been trying to get home for a couple of days because of airline problems. ¬†I tried telling her about my Montreal trip recently to relate, but she had plenty of talking pent up because her daughter was DONE with her ūüėČ

After a bit I noted that we’d been sitting quite a while. ¬†The door was closed, but we hadn’t backed out to taxi. ¬†The captain came on and said there had been an accident and that the runway was a mess and they were waiting on instructions… ¬†An accident? ¬†I broke the rules and fired up my phone. ¬†CNN had nothing, so I did a twitter search. ¬†I was confused and thought the accident was at our destination, Toronto, but as soon as I searched SFO I had tons of hits. ¬†Wow…

After about an hour or so total, they told us the airport was closed and we had to deplane, but to stick around because the flight wasn’t canceled. ¬†My seat mate needed a wheelchair assist, so I was the last person off the plane. ¬†Her daughter was NOT happy, but hey, at least we weren’t in a crash! ¬†They’d had a really hard week, so I felt bad for them.

We couldn’t see the crash from our plane, but as soon as we got out of the plane we could see it from the gate. ¬†I had my camera and long lens and got this:

SFO Plane crash

SFO Plane crash


SFO Crash zoom

SFO Crash zoom

I walked around a bit and shot people in the bar watching TV reports about the crash outside the window:


Meta - SFO Bar showing the crash that's also outside the winfo

Meta – SFO Bar showing the crash that’s also outside the window

We all hung around the gate, occasionally getting updates from the Air Canada gate folks. ¬†These mainly were “we have no idea what’s gonna happen, but don’t go too far.” ¬†This went on for a few hours until, and I swear I am not making this up, they said “your flight is canceled, your bags are on carousel 9, we are closing the gate, go home.” ¬†As one, the crowd angrily repeated “GO HOME?!?” ¬†Mind you, a lot of these people are Canadians. ¬†They don’t GET mad… ¬†It was getting ugly.

Eventually we got the message to get our bags and go to the ticket counter to rebook.  I did so and joined a growing group of folks at the Air Canada ticket counter and was stunned to see 8 agents all in a huddle behind the counter doing their best to make no eye contact with the growing crowd.

Air Canada ticket counter with 8 agents

Air Canada ticket counter with 8 agents


Eventually the herd of agents pushed forward one agent, named Augusta I believe, who addressed the crowd saying that they didn’t know anything, the airport was closed, everything was a mess, and they didn’t know how to help us. ¬†Also, all hotels are booked, so don’t even try to get one. ¬†She was very brave, and took a lot of abuse from the crowd, but she was just out of her depth – as was the whole airline for the next several hours.

I went to find an outlet so my phone didn’t die and called the Air Canada 888 number. ¬†It was totally swamped, but they had a neat feature to put in your number and they’d hold your place in line and call you back. ¬†I did that, was told it would be 30-40 minutes and hung up. ¬†I checked in with Elaine and she did some research on hotels, and I tweeted out that I might be looking for someplace to crash in SF that night. ¬†I know, bad choice of words… No pun intended, I assure you. ¬†I was getting pretty discouraged and depressed by this time, but all of a sudden I had nearly 8 offers of places to stay from a whole range of friends living around SF! ¬†This really bolstered my mood and I am very grateful to have such wonderful friends! ¬†Especially for the ones who also offered a lot of good beer. ¬†ūüėČ

Air Cananda called back as promised and a very cranky, overworked, and rather rude lady barely listened to my story and booked me on a series of flights that would get me to PEI on Monday at noon. WTF? ¬†I asked her to try again, and she came back saying that’s all they could do. ¬†It was still Saturday! ¬†No offer of a hotel, or hotels, and I was going to have to route through Vancouver, then Montreal to get to PEI. ¬†Wow… I took the booking because that’s all I could do.

I checked the Air Canada ticket line again, and they still seemed baffled. ¬†I saw my seat mate and her daughter by the kiosks looking unhappy and checked in. ¬†The daughter was furious. ¬†Not only did she have her mother in a wheelchair, but also their 5 bags now. ¬†“They are doing NOTHING for us! ¬†What if my mother has to go to the bathroom, or lie down? ¬†Who will watch our bags? ¬†Where can we go?” ¬†I offered to watch the bags for her, but she was afraid to leave the ticket counter in case anything changed. ¬†I checked in with her a few times until they disappeared at some point. ¬†What a stressful situation for them!

So now what? ¬†Well, I booked all of this through United originally, and I’m Premier Silver there, so let’s see what they can do… ¬†I find their ticket line and boggle at the number of people:

United line

United line


Daaaang… ¬†I find the Premier Silver line and shuffle forward slowly. ¬†For THREE HOURS! ¬†United agents were handing out slips of paper with the United 800 number to see if we could get through there before getting to the front of the line. ¬†BTW I didn’t, but I now twitch every time I hear their hold music. ¬†Over and over and over. ¬†Ok, so 3 hrs pass sloggingly, and I get to talk to a wonderful dude named Patrick who told me he couldn’t help because Air Canada had taken control of my tickets and he couldn’t pull them back. ¬†He was super nice about it, and gave me tons of info, but in the end he directed me back to Air Canada. ¬†Yay.

Air Canada’s line was only an hour long, so I did my time there and got to an agent who said she could get me on a redeye to Montreal tonight, assuming it was allowed to take off! ¬†SIGN ME UP! ¬†This was the same flight one of my colleagues was going to be on. ¬†It was also the flight a couple I met in line needed to take to then go to Vancouver. ¬†SFO to Montreal to Vancouver – what should be a 2 hour direct flight was going to be an 8 hour nightmare that they were desperate to take. ¬†The agent also booked me on an 8a flight from Montreal to PEI, but said the connection was tight and my checked bag would slow me down at customs, but there was a chance I’d make it. ¬†She booked me on the 2p as well, just in case.

I grabbed a late dinner and headed over to the gate for the redeye flight, meeting up with my colleague, Chris. ¬†As we sat and chatted waiting for the plane, the gate people were calling up individuals who would walk away seemingly angry. ¬†I think I even heard a Canadian say a bad word in anger, so I was worried that they’d over booked and I was gonna get nuked. ¬†Eventually we started boarding and as I was about to get on I saw the Vancouver bound couple being told they weren’t going to be on this flight. ¬†They were really upset. ¬†I did get on though and saw lots of open seats, so I figured they’d end up making it. ¬†But nope we taxied out, sat on the tarmac for a really long time, then eventually took off.

I talked to the attendant, asking why the other people didn’t get on when we had plenty of seats and she said that because the crash had taken the one long runway at SFO out of service, there were only 2 short ones. ¬†Our plane had to be weight restricted to work on that runway, so they bounced people off, and that long time sitting on the tarmac was to burn off enough fuel to let us be light enough to take off! ¬†I can’t imagine the math they must do to make all this work. ¬†I’m just glad I finally got out of SFO and could get to my conference!

I don’t sleep well on airplanes, so it was a looong ride, but we eventually got to Montreal and I sprinted through to try to make that early flight to PEI. ¬†This wasn’t going to happen:

Long Montreal airport corridor

Long Montreal airport corridor


Montreal airport has super long corridors and terrible signage.  So I missed the early flight and realized I was facing another 6 hours til the next flight.  I fleetingly considered grabbing the city bus and having lunch with my Montreal buddy Amy, but then I sat down for a moment and almost passed out from lack of sleep and food.  I punted and found the perfect Montreal food:


Montreal bagel and lox

Montreal bagel and lox


Then I found my gate and sleepily hung out until my blessedly uneventful flight to PEI!


Landing in PEI

Landing in PEI


I know a plane crash is a big deal, but how about some contingency planning, Air Canada?  Or calling up some reserve staff for handling the long lines and phone hold times, United?  (BTW, implement that call back feature Air Canada has working.)  How about opening the airline lounges for elderly people who need someplace to recover from the stress?

The mood at SFO wavered from relief that we weren’t in the crashed plane to panic that no one knew what we were supposed to do next. ¬†Just some messaging other that “go home” would have settled some expectations.

3 responses so far

Jul 19 2013

Fun with United

Published by under Uncategorized

On Sunday June 23rd, my daughter and I were due to fly home from Montreal, through Chicago, to San Diego.  Our flight was UA3466 at 6:31p from Montreal, and UA1061 at 8:45p from Chicago.

We arrived early, checked our bags for the flight, and got our baggage check numbers UA¬†5016676576¬†for mine (Declan) and UA 50155676839 for my daughter’s (Erin).
Due to weather in Chicago, we were hearing that our flight would be delayed until 8p, making our connection in Chicago impossible, so I called the United 800 number and asked what I could do. ¬†There was an earlier flight leaving Montreal so, the United agent moved us to this flight and said we’d need to go see the counter agent to get boarding passes. ¬†I thanked her, hung up, and stood in the gate line for that flight for about 30 minutes, only to be told by the agent there that there were no seats available on that flight.
I asked if my old boarding passes were still good, he said probably and to check at that gate. ¬†So we went over there, waited for an agent to appear, got in another 30 minute line, and was told by that agent that we were ok for this flight, but due to all the delays we’d probably miss the Chicago to San Diego flight – but there was a chance we’d make it because everything at Chicago was delayed too. ¬†So we were pretty much where were at before I’d tried the earlier flight, and we eventually flew to Chicago at 8p.
We arrived in Chicago just in time to watch our San Diego flight leave the gate while we were taxi-ing up to ours, just a little after 9p. ¬†I understand that United doesn’t control bad weather, but they knew we were close and maybe could have held that flight a few more minutes. ¬†United certainly didn’t mind delaying our flight earlier that week to Montreal from Newark for 3 hours for an incoming plane’s delay!
We deplaned, and I immediately called the United 800 number to see what our options were. ¬†The only workable plan was to wait until the next morning and take UA1408 at 9:56a to San Diego. ¬†We’d need to find a place to stay the night and the phone agent said we’d need to talk to someone in Chicago about that. ¬†So we got into another long line for about 40 minutes, with little movement (there were a lot of people stuck in Chicago).
It occurred to me that I didn’t know the state of my bags now… ¬†So as I waited in line to talk to a person, I called the 800 number again, and was told (rather rudely) that there was nothing they could tell me, I have to talk to someone in Chicago. ¬†So I stood in line for another 30 mins, again barely moving, when a roving United person by the line let us know that United doesn’t help people who are looking for rooms because of weather problems. ¬†She had a flier with some a number I could call for a 50% off room. ¬†I asked her about my bag and she said there was a bag office by baggage claim where I could ask more. ¬†I took the flier, left the line, and found the office.
A lady at that desk said that our bags were probably in the system somewhere and would show up at our final destination eventually. ¬†I was good with that, but asked if they were here if we could just get them since we had to go to a hotel anyway. ¬†She said it was possible, but might take hours because of all the mess in Chicago, but I could wait if I wanted to. ¬†I said normally I’d be fine just getting the bags when we got home, but I had a hard time sleeping without my CPAP (a breathing device that helps with sleep apnia). ¬†She was very receptive to this and said to hold on a bit while she looked deeper.
I gave her my checked bag tags and she looked them up, then made a very weird face and explained that our tags were not in the system and that she can see them having been deleted twice – and she said that didn’t even make sense. ¬†She had us wait while she investigated more. ¬†I took the time to call the hotel service from the flier, and got that all set up. ¬†After about 40 minutes she came back and said the bags were still in Montreal. ¬†When I’d called the 800 number and been moved to the flight that had no seats, the bags went into some sort of limbo and got stuck there. ¬†She said that the bags would be put on a Monday flight out of Montreal to Chicago, then on to San Diego later on Monday. ¬†They might even be on the flight we got on Monday, so check the¬†carrousel¬†when we landed.
So we headed off to the hotel, got up the next morning, flew to San Diego without incident, but the bags were not there.  We went to the United bags office, told our long sad story, and the lady there could offer us no more info but that there was a later flight they might be on.  I left my cell number, got a case number, SAN42446M, and waited for a call.
It’s now Tuesday the 25th and no call, and the United BagClaim website just says: Check back later. ¬†The 800 number I was given says the same. I whined on Twitter and @united asked for my info and said someone would contact me. ¬†Nothing yet.
UPDATE:  United did have someone call me and they knew the Montreal story.  Eventually the bags showed up at the house on Weds.  Whee!!!!
As bad as this all was on the United side, and it DID suck that they put my bags into limbo AND didn’t hold that flight… I can’t believe the amount of crap the gate and baggage people absorb without choking someone. ¬†The ladies at the baggage desk were saints. ¬†I saw a lady walk up, still on her cell phone, and start barking at the United person about not being helpful. ¬†She never did get off the phone. ¬†The United lady was patient and kind and I was just impressed. ¬†The lady who helped us was very nice too.

One response so far

Apr 21 2012

Music from Aunt Frances’ Mass

Published by under Uncategorized

My aunt Frances passed away recently, more about that here.  Frances was a founding member of the Glasnevin Musical Society and many of her great friends are also members.  Frances left specific instructions for her mass, and one of the Society friends took over and organized the whole thing, including liaising with the church folks.  She was awesome!  They sang at the service on Saturday and they were beautiful!  I captured some of the sound on my iphone.


Hail Queen of Heaven [audio:mass1.mp3]

Kyrie Eleison [audio:mass2.mp3]

The Lord’s My Shepard [audio:mass3.mp3]

Seinn Alleluia [audio:mass4.mp3]

Ave Verum [audio:mass5.mp3]

Sanctus [audio:mass6.mp3]

If I Can Help Somebody [audio:mass7.mp3]

Va Pensiero [audio:mass8.mp3]

Ag Criost An Siol [audio:mass9.mp3]

Jesus Remember Me [audio:mass10.mp3]

How Great Thou Art [audio:mass11.mp3]

No responses yet

Apr 07 2012

Tweetdeck for Chrome

Published by under Declan,Tech

I’ve been a very happy user of the Twitter client Tweetdeck for a long time. I’m on 0.38.1 because I don’t want to upgrade into the mess it has become. But finally, some features are not working well on my aging version- threading is a mess, and some images won’t render – so I’m looking at where to go next.

On mjgiarlo’s recommendation, I’m trying out the Chrome extension version of Tweetdeck (TD). Right away this requires that I run Chrome, and I already do, but a lot the people I support do not, so I can’t help them as much as before. It installed just fine, and once I remembered my TD login, my account connected well. It did forget my notification settings (NO SOUND!!!), but that was easy to fix.

Having TD as part of the browser is really different from it running as a separate app. First, I have to remember to fire it up in a tab – this is probably automatable, but not something I normally do. Next, I liked having TD in its own window, so I pulled that tab out as its own window. My default window size only held 3 columns, and I like to see 4 – my main twitter list, the @declan column, the DM column, and the Home/All tweets column. Easily fixed by expanding the window, but I have to manually do this every time I fire up Chrome now. Kind of a pain in the butt.

When I click links in a tweet, it opens in a new tab, but in the same window as TD, covering TD. When using TD as a client, links would open in my browser, over on the right side of the screen, and leave TD where it was. The current tab switching is visually jarring.

I’m also noticing that the scrolling of the columns is annoying. While I’m off reading something from a link, the TD column has moved and I lose my place in the list of tweets. I have to scroll back down and find where I left off.

The screen is a little busy too. Well, a lot busy. I don’t mind white text on a dark background, tho I know many who do. I do mind the chunky font – I think the client was smoother. Maybe I can tweak something in Chrome to deal with this, but will it mess with everything else? Also, as I’m reading from bottom to top of the column, I move the mouse pointer up to the next tweet, and the reply, RT, etc. icons pop up dynamically on each tweet. Again, visually jarring.

The scrolling wheel/swipe action in the columns is very nice. The client version was always more jumpy.

Hitting Enter in a tweet puts in a carriage return rather than sending the tweet – so I have to leave the keyboard to click on send. Different, but not terrible.

I’m going to try it out a few more days, then maybe look at some other suggestions I got. I use Echofon on the iphone and have played with the desktop client a bit. I really miss the multi column tho. Hootsuite comes highly recommended, as does MetroTweet and Janetter.

No responses yet

Mar 07 2012


Published by under Photography

IMG 7349

No responses yet

Mar 07 2012

Chained Lighthouse

Published by under Photography,Travel

On a recent trip to Ireland, I played around with perspective and depth of field to capture a light house in a link of chain:




I wonder if it would be better as a flatter image, with the chain in focus too…

No responses yet

Mar 04 2012

Cleaning up a Mediawiki spam mess

Published by under Tech

I run a wiki for CURATEcamp, using Mediawiki. ¬†I don’t run it well, so it got full of spam. ¬†I learned how to add a little math script to each page edit, and that slowed down the spam for a while, but it’s easy to hack and the spam started flowing again. ¬†So now I have 700+ pages of spam and more coming in every day. ¬†So I have 3 problems to solve:

  1. Stop the addition of new users without confirmation
  2. Stop new spam
  3. Clean up all the spam pages
I found the ConfirmAccount extension and installed it.  That fixed #1.

Next, I found the page Preventing access and followed the instructions to add these lines to the LocalSettings.php file:

# Disable anonymous editing
$wgGroupPermissions['*']['edit'] = false;

That stopped the random adding of new spam.


Next, I started looking for easy clean up tools, and didn’t really find any. ¬†I could list all of the pages on the wiki, but I’d have to visit each one and delete it – a real pain for 700+ pages. ¬†I also had about 20 pages that I wanted to keep. ¬†I found a DeleteBatch extension that would allow me to put the spam page names into a text box (or text file) and delete them all at once.

Now I needed to generate a list of spam page names, so I went to the Special Page that lists All pages, and cut and pasted those into an Excel spreadsheet.  It was a bit of a pain because the list was in three columns, and split into three pages, but I just dragged and dropped the list around in Excel until I had it all as one column.  Most of the spam pages are user pages, and the titles of the pages end in a number.  So I set up a second column that chopped the last 2 characters from the page title:


then had a third column which was a conditional that repeated the page title if it ended in a number. ¬†I bet I could have made it simpler with some function that converts a cell made up of a word and a number, like “ClardyGarces959” into just “959” but I couldn’t remember how to do that.


Next, I sorted by this column, which grouped all of the page titles that ended in a number. ¬†I visually inspected the list, and I’m glad I did because some of my legitimate pages also ended in numbers. ¬†I deleted those from the list, then pasted the list of known spam page titles into DeleteBatch.

This left me with a handful of spam pages that I had to pick through individually, but way fewer than before.

Hope this helps someone else with the same problem!


Make sure to look for pages in spaces other than Main.  I found a bunch more User: pages full of spam, and uses the same methods as above to quickly get rid of them.

2 responses so far

Feb 20 2012

Sad Ireland Trip

Published by under Declan,Family

Last Monday my aunt Peg (from my father’s side) called to say that her younger sister, my aunt Frances, had been diagnosed with cancer and if I’d like to see her I should come now. ¬†This was a complete shock as Nathan and I had just seen her last January. ¬†Here she is with my uncle Frank (from my mother’s side):


Peg and Frances are my Dad’s last two sisters alive. ¬†Frances lives in Dublin, Ireland so I got a flight out of San Diego on Wednesday morning and landed on Thursday morning.

Frances’ lovely neighbor, Adrian, and Peg picked me up, we dropped my bags at the house, then he dropped us at the hospital. ¬†I won’t go into all of the details, but Frances knows I’m here and is receiving palliative care to keep her pain free. ¬†We are going day by day but Frances’ condition is terminal.

I’m grateful that I got to see her, that I can support my aunt Peg, that I’ve met so many of Frances’ friends, of Elaine, Nathan, and Erin constantly checking on me, and¬†that work has been 100% supportive of my being gone.

I’m staying in my father’s childhood home, which has been in the family since the 1920s.


Frances is the last of her line left in Ireland (Peg lives in England), so the house will now go on the market. ¬†I’ve visited this house 4 times in my life but I was always comforted to know it, and my family was here. ¬†It is so strange to see things coming to an end.

This is all very sad. ¬†I haven’t tweeted out about it because it’s hard to get into 140 characters, and because I know I’ll get a torrent of kind words and then I’ll completely lose my shit. ¬†But as my aunt Peg says, “you wouldn’t have been born with tear ducts if you weren’t supposed to cry.” ¬†Crazy old woman. ūüėČ



Frances passed away peacefully at noon today, 2/21/12. ¬†We’re keeping busy with visitors and arrangements.


UPDATE 2 2/27/12

It’s been an active week. ¬†Peg and I did a lot of calls to let people know. ¬†We went to the church to set up the services (short service on Friday, long mass on Saturday, followed by the burial). ¬†We visited the funeral home to have the remains dealt with, and to take care of the obituary, which was online¬†before we even got home. ¬†We set up a reception for after the Friday service. ¬†We dug through piles of paper and drawers and things that seem way too personal for us to be looking at. ¬†But that’s our job now. ¬†It’s surreal.

Tons of friends and the few family left in Ireland were stopping by the house to sit and talk Рand drink tea.  The Fleming family has amazing family friends from the the old and new neighbors and they all stopped in at some point to lend support.

On Friday, the remains arrived at the house for a viewing from 2p-5p, then the crowd walked behind the hearse up to St. Columbus church, where Frances had been a very active¬†parishioner¬†for her whole life. ¬†Peg and I were carried in a limo, so we picked up the little old ladies who couldn’t walk that well. ¬†There was a short service with over 100 people attending, then Peg invited people to a local hotel for soup and sandwiches. ¬†About 45 people came over to the hotel, which is good, because that’s how many we reserved ūüėČ

Frances was a founding member of the Glasnevin Musical Society and many of her great friends are also members. ¬†Frances left specific instructions for her mass, and one of the Society friends took over and organized the whole thing, including liaising with the church folks. ¬†She was awesome! ¬†They sang at the service on Saturday and they were beautiful! ¬†I captured some of the sound on my iphone. ¬†When I get home I’ll try to clean up the sound and see if it comes anywhere near the reality. ¬†The mass was followed by a drive to the Glasnevin¬†cemetery¬†for the burial. ¬†Take a look at that Wikipedia link. ¬†There are 1.5 million people buried in that cemetery, and the monuments are enormous! ¬†I’ve never seen anything like it. ¬†Then some us went to a local pub for lunch and to decompress.

I wanted Peg to get away from all of this on Sunday, so we asked a good friend from across the street, Adrian, to drive us to Powerscourt waterfall in beautiful County Wicklow, just south of County Dublin.  We ended up overshooting and ended up about 40 km south, and never made it into Powerscourt, but we saw some beautiful country and mountains.  Even in February, this is a gorgeous country.

Today, we visited the family solicitor to get all the legal stuff going. ¬†Neither Peg nor I live in Ireland, so there were a lot of questions, but we got it started. ¬†I head home on Wednesday, and Peg is hanging out in Dublin for a few more weeks to work through the issues. ¬†I hate leaving her alone, but I can’t wait to get home either. ¬†I’ve had assurances that the friends here will keep her company. ¬†I’m looking into coming back in the summer to help with closing up the house for sale.

So, that’s the facts, ma’am. ¬†I’m really looking forward to getting home to my family and looking back on all this. ¬†I’m even looking forward to going back to work! ¬†I could use some normality back in my day. ¬†Finally, I’m looking forward to getting back to the gym. ¬†EVERYTHING is fried here. ¬†And awesome. ¬†ūüėČ

7 responses so far

Jan 21 2012

RDF Nuts and Bolts or Get me a “LASER”

Published by under Uncategorized

I’m obsessing about a talk I’m giving at one of my favorite conferences, code4lib. ¬†My talk proposal is about how we deal with whatever metadata comes our way. ¬†For those of you not inside my head at this moment, “we” is where I work, part of which is in developing software for and maintaining a Digital Asset Management System (DAMS). ¬†A digit asset is just a computer file, or set of files – often a picture, sound file, PDF, or video – that you have some desire to promote beyond just sitting on one person’s computer, unmanaged. ¬†We all have computer files coming out of our ears, but we know there are some that are more “valuable” than others that we’d like to give special treatment. ¬†So we call them digital assets and get then moved into some sort of management system beyond the random file systems on our desktops. ¬†This system is a DAMS.

I see a DAMS as a secure, reliable file system set up with good organization rules, and a goal of making the assets easy to find.  Here are some of the rules I like to see followed:

Good Organization

  • Describe the assets as¬†thoroughly¬†as possible and/or¬†practicable. ¬†This is your metadata.
  • Save this metadata and keep it¬†associated¬†with the assets.
  • Keep the metadata in a system that is flexible enough to be able to accomodate attributes that you didn’t know about when you started – people change their minds about what they want all the time. ¬†We chose RDF for this and this is what my talk will be about.
  • Create unique identifiers for the assets. ¬†We chose the ARK spec for this.


  • Store the assets as simply as possible – don’t create a new file system because no one is going to understand it 30 years from now. ¬†We chose the Pairtree spec for this.
  • Back your assets up – think like an IT person and have a data lifecycle plan.
  • Preserve your assets and metadata – think like a Librarian/Archivist and store the assets in at least three, geographically separated places. ¬†We use Chronopolis for this.
  • Export your metadata to the file system on a regular basis – this way the metadata becomes a digital asset/computer file too.


  • Put all that lovely metadata into a full text search index. ¬†We use solr for this.
  • Tie all of the metadata to the unique identifier for the assets.


As I noted above, I’m only talking about RDF and metadata at code4lib. ¬†What I’m obsessing about is that the talk is only 20 minutes. ¬†I usually talk about our DAMS in about an hour, and I’m only getting warmed up in the first 20 minutes. ¬†So I’ve got to empty my head of all this other DAMS stuff and laser down on just the RDF and metadata part.

We didn’t choose RDF because of the newish Linked Open Data (LOD) movement. Our (now retired) architect, Chris Frymann, was aware of the possibility but this was nearly ten year ago and LOD was barely a twinkle on the horizon. ¬†Previous to this job, I had been working in industry for years, so this approach looked silly and academic. ¬†Once Chris had me drink the RDF Kool-Aid, we envisioned a system that embraced flexibility from the start.

RDF is so simple and so terrifyingly different from the fixed database world that I was used to. ¬†Instead of a well defined table, or tables, we had millions of triples. ¬†We didn’t even have a triple store, just three columns in an SQL database.

What is wonderful about this approach was that each triple is somewhat self documenting.  A triple is made up of a Subject, a Predicate, and an Object:


RDF Triple


We use our asset’s unique identifier, the ARK, as our Subject. ¬†Now we needed to describe the assets with their metadata – so we started creating Predicates that could hold types of metadata. ¬†Three years later…. no really. ¬†This was probably one of the hardest things to do, and I’m not sure we’ll ever stop doing it. ¬†Some of our original assets had MARC records, and there were ways to convert MARC to RDF. ¬†Lots of deep discussions among metadata librarians, asset owner librarians, and the tech folks came to the conclusion that we wanted to cast our metadata into specific namespaces, namely MODS, PREMIS, and MIX. ¬†This was way beyond the Dublin Core defaults that other products were using, but we knew RDF was flexible enough to accomodate just about anything, so we just did it.

Guided by the head of our Metadata¬†Analysis¬†and Specification Unit (MASU¬†– lots of great detail at that link), Brad Westbrook, we started specing out what the metadata needs were for each asset. ¬†Ok, that’s a lie… We did it per “collection” which was how we actually received assets from the librarians. ¬†Our DAMS works at the asset level, but our librarians normally think at the collection level. ¬†This was just another layer of translation that the MASU group stepped up to play a¬†liaison¬†role in getting the assets ingested. ¬†Over time, this became a workflow where:

  1. Collections are identified/approved for ingestion into the DAMS.  (The project management and institutional buy in on this process is another talk!)
  2. MASU creates an Assembly Plan that maps the assets into collections and specifies what namespaces the metadata pieces are placed in and hand it off to IT Development
  3. IT Development creates mapping scripts from what the Assembly Plan calls for into RDF.  This is done in XSL.
  4. IT Development ingests the assets into the storage system and parses the metadata into RDF in the triple store.
  5. Profit.

Ok, someone tell me how to get all that into 20 minutes… ūüėČ ¬†The Assemble Plan alone is an intense spreadsheet and text document that explains what is needed. ¬†Then the translation scripts are another challenge to present without everyone going cross eyed. ¬†Not to mention this thing of beauty!


That’s all of the metadata and relationships of one asset. ¬†Maybe I’ll just put that on the screen and take questions for 20 minutes… ūüėČ

5 responses so far

Jan 10 2012

The Missing/Stolen/Returned iPad Saga

Saturday 12/31/11

So, I have an iPad – 64G, 3G, ATT. ¬†It’s a work device that I use all the time, especially for travel and in the gym so I have something to distract me from 40 minutes of hell on the elliptical. ¬†Over the holiday break, I committed to getting into the gym every other day. ¬†Our YMCA was open until 4p on New Year’s Eve, and I was sweating my fat butt off right up until the place closed. ¬†I took a quick stop in the men’s room, and hustled out the door as they were closing up.

Sunday 1/1/12

It was later on the next day that I realized that I couldn’t find my iPad. ¬†I looked in all the usual places, scoured the house and car, and tried out the “Find My iPad” app on icloud. ¬†Once it didn’t show up, I realized that I must have left it in the men’s room at the Y! ¬†¬†¬†Well, the Y was closed all day, so I left voicemail there and told myself to get to bed early so I could hit their door at the 5:30am opening on 1/2. ¬†I also changed all my passwords, and deactivated the device from all the important services.

Monday 1/2/12

I actually went to bed at 1am (damn Skyrim), but was up and out the door at 5:20a and at the Y at 5:30a.  My buddy Damon was also just pulling up for a very early swim class, because he is insane.

We walked in and I asked at the front desk if the iPad had been turned in, but nope. ¬†I wasn’t surprised, as they’d been closed up solid since I left it, so I walked over to check the men’s room. ¬†Uh oh, no iPad… ¬†I went back to the front desk and I filled out a slip saying what I’d lost and the nice young lady said they’d talk to more staff as they came in later. ¬†In fact it might take until tomorrow as there were people still out on the the holiday break. ¬†I was upset, but mostly at myself for leaving it behind. I kept trying the “Find My iPad” app, but nothing. ¬†I saw there was a way to send a message to the iPad, so I put my phone number in there. ¬†I also noticed a switch that would send me an email when it was found – so I hit that too. ¬†I printed some LOST IPAD signs, and went back and stuck them up around the Y. ¬†Worried, but feeling like I’d done all I could, I went about my day, keeping my eye on my email and occasionally trying the app again.

Then at 9:29p:

Woohoo!  Someone at the Y found it and turned it on, right?!?  I ran to the computer and hit the location link, expecting to see a map of my neighborhood and the Y.  Instead, the device is showing up about 24.4 miles to the south, in a town called El Cajon!

I have a screen grab of the map with the green dot locating the iPad right on a specific address, but I’m not sure of I should post that. ¬†I’ll get into that more later. ¬†Basically, I KNEW where my iPad was, and it was nowhere NEAR the place I’d lost it. ¬†Suddenly I had a theft situation rather than a dummy-lost-his-iPad situation. ¬†So I did what a normal person would do and called the police.

I called the San Diego Police non-emergency line and explained the story so far to what sounded like a very overworked lady. ¬†She asked if there was a police report, and I said no because I just now discovered that it was stolen. ¬†She directed me to a web site to fill out a form to get the police report started. ¬†I got a little¬†panicked¬†and said “but I can see it now! ¬†Why can’t we go get it?!” to which I got more of a push toward the web site to fill out a report. ¬†I’m sure those of you who know I run an IT shop and highly promote a central ticketing system are just laughing your heads off at this delay… but, to my mind, time was of the essence! ¬†I pressed harder and she said she could give me the El Cajon Police Dispatch number, but wasn’t sure what they might do for me.

So I called them and they listened to the story, then asked for a police report. ¬†Le Sigh – I don’t have one because… blah blah – go fill one out and call us back. ¬†Ok, back to the web site, filled it out, grumbled about UI design, got the confirmation email and number, and called back El Cajon. ¬†They said come on down and we’ll have a squad car meet you by the address and do a “Peace Call.” ¬†It’s 10:30p by now, and I’m all amped up from the situation, so Elaine says she’s going with me. ¬†We hop in the car and head south for the 20-30 minute drive.

On the drive, Elaine has the “Find My iPad” app going on my iPhone, but it goes red, meaning that the device is no longer on. ¬†We’re committed tho, so we keep going – at or below the speed limit, of course. ¬†We get to the arranged meeting spot at 11p, on the same block as the address that showed up on my map, and wait. ¬†In a little bit of a¬†sketchy¬†looking place. ¬†Surrounded by suspected iPad stealers! ¬†At about 11:40p I call back to dispatch and they say no one is available, but they know we’re waiting. ¬†About five minutes later, 2 squad cars pull up and I get to tell the story again.

The cops were great, and offered to go knocking on doors, but that address is a 50 unit apartment complex. ¬†Given that GPS can be +/- 25m, the dot on my map could encompass 6-8 apartment units in the 2 story building. ¬†Added to that, the building is “known cop-unfriendly” and not a nice place. ¬†As soon as they started asking questions, everyone would know about it, and I’d probably never see my device again. ¬†And since the device was no longer responding to the app, I couldn’t make it sound off to make it easier to find.

At this point, I was frustrated to know that I was within a block of my iPad, but could do nothing about it. ¬†The cops offered a few suggestions, such as sending a message to the unit offering a reward, and to watch Craigslist, – something I should have thought of myself! ¬†They were both adamant that I NOT meet with anyone from Craigslist without the police. ¬†They told me of someone who’d been killed in San Diego not long ago after confronting a Craigslist person. ¬†They also suggested sharing the address with the people at the Y to see if an employee or member matched. ¬†We drove back home, defeated and deflated. ¬†I sent a lock command to the device, setting a password and with the reward message, ¬†then we headed to bed.

Tuesday 1/3/12

On the way to work on Tuesday, we stopped into the Y and talked with a manager, telling her the whole story. ¬†She happened to also be the HR person and said they had no one working in El Cajon, but that they contracted out their cleaning and they’d follow up with them. ¬†I then headed into work and one of my guys suggested that I send a wipe command from our email server. ¬†Even though I’d changed my email password, I thought it wouldn’t be a bad idea to also wipe my work email from it, so I did. ¬†More on that later…

Wednesday 1/4/12

In the meantime, I’d been watching Craigslist, and got a match! ¬†64G iPad, 3G, ATT! ¬†So I set up a fake gmail account and mailed the Craigslist email address. ¬†I also mailed one of the cops for advice about how to deal with the mails I would send, and he got back to me with some thoughts. ¬†I got a response back soon after I went to bed from the Craigslist person, asking how close I was to his asking price, and if I could come get it now.

The facilities manager at the Y called me on Wednesday, very upset about the whole situation, and said he was following up with the cleaning people. ¬†I later ran into him when I was working out and he was very nice and concerned that the cleaning company hadn’t gotten back to him. ¬†I could really tell he cared personally and as a¬†representative¬†of the Y.

Thursday 1/5/12

The Craigslist response back was from a hotmail account with a person’s name, so I passed that name on to the cops in email and with a call to the Y facilities manager. ¬†It was probably a made up account, but it was worth trying.

I had to run out of town for a day for work, so I didn’t reply back to the Craigslist person until tonight, asking for more details about the iPad he was selling – as advised by the cop. ¬† I got back a very short reply saying “Too bad, I sold it for $200” and that was it. ¬†I mailed back thanking him for the info, thinking that I might be able to squeeze more info later by being nice.

Friday 1/6/12

So, now we’re up to Friday, and nothing seems to be happening.

Saturday 1/7/12

On Saturday morning the phone rings at 9am. ¬†It was a lady from the Y asking if I’d lost an iPad, because they had it at the front desk! ¬†I said “very interesting!” and that I’d be in to pick it up. ¬†I went right over and it was my iPad, grey cover and all! ¬†I asked the ladies at the desk if they knew more about where it came from. ¬†One of them said that she’d closed the night before and that it wasn’t there, but when she’d opened this morning, there it was on the front desk!

The device was all out of power, so I got home and plugged it in, trying hard not to touch it too much because I had some thoughts of trying to lift the fingerprints I’d see on it (this is a lot harder than you’d think… ūüėČ ). ¬†I’d fully expected the device to be wiped to factory default – especially if it was being sold off – but it popped up with my background screen (which includes my name) and all my apps installed. ¬†It also started syncing with my Mac over wifi, so I left it alone to charge up and get caught up. ¬†I was a little worried that maybe it had some phone home software installed or something, then I remembered that I’m not that interesting.

I did not have a password on the device when I lost it, mainly because it’s a pain in the neck to use it all the time, and because my wife and kid use the device sometimes and I didn’t want to keep reminding them of the password. ¬†I thought I’d dealt with this by sending the lock and password command when it was gone, but I was surprised that the device asked for no password when I turned it on. ¬†In fact, I was able to play around with it for about 20 minutes with no problem. ¬†I also noticed that my reward message wasn’t on it. ¬†It wasn’t until I ran the “Find My iPad” app again from icloud that the lock came on and the message appeared. ¬†I don’t know why the lock didn’t happen as soon as the device got power.

Another lovely feature was that work email wipe command I’d sent. ¬†I assumed that it would wipe my email – but nope, it wiped the whole device! ¬†The iPad had been prompting me for my email password, since I’d changed it days ago. ¬†I went ahead and put it in, looked away, and when I looked back, the device was wiped and asking for a setup language! ¬†So, no worries about spy software, but that was a surprise. ¬†I ran a restore from my computer and it all came back in about 30 mins.

Sunday 1/8/12

Imagine my surprise this morning when it was wiped again! ¬†I guess I needed to totally delete the device from my work email server’s awareness for it to stop trying to wipe it. ¬†I’m afraid to put my work email password into it now tho! ¬†ūüėČ

By now the device is in full working order and I’m back on track!

Monday 1/9/12

But I’m left with a LOT of questions! ¬†I called and left a voicemail with the Y facilites manager. ¬†He called back, unaware that I’d gotten it back! ¬†He was thrilled and I asked, “What did you do?!?” ¬†He said he still hadn’t heard back from the cleaning company, but he was even more interested in talking to them now. ¬†I am dying to hear what he learns!

Tuesday 1/10/12

I’m gonna go ahead an publish, even though there are a lot of questions unanswered. ¬†I’ll add more later as I know it. ¬†I’ll also tack some other lessons learned on here, and more as I think of them:

  • I should have put a password on the device. ¬†Even if it’s a pain in the neck. ¬†I could have reduced the stress of the situation by knowing that the data were safe.
  • I thought that having a map with a green dot on an address would ensure I got my iPad back pronto. ¬†Thank goodness, cops follow the Constitution and won’t kick doors in based on a map I printed up. ¬†I REALLY wanted them to, but it would have been dumb. ¬†Now, had the device been active and I could have made it make a sound, the cops would have done a lot more.
  • Fill out a police report as soon as you can. ¬†No one will do anything until you have that magic report number. ¬†I learned during filling it out that I could have filed under “Lost Property” when I knew the device was missing. ¬†I didn’t have to wait until I thought it was a theft.
  • Don’t hold your breath waiting for the cops to do anything. ¬†I have never heard from the San Diego police. ¬†I just filled out a web form and it went into a black hole.
  • The San Diego area has a lot of police forces. ¬†El Cajon is a totally different¬†jurisdiction. ¬†I remarked to the cops I met how it seemed that they cared a ton more than the police closer to my house. ¬†They said that while El Cajon is certainly underfunded for police (hence my 45 minute wait in the parking lot), SD City is decimated.
  • Wipe means wipe! ¬†Well at least from the Outlook web client. ¬†And don’t forget to take the device out of the known list and re-add it later, or you’ll get wiped each time the devices talk.
  • Customize your device if you can. ¬†I had a known dent on mine, but think about the Craigslist picture and how you could help convince the cops that it’s your device that’s listed. ¬†No, don’t dent the device, work people… ūüėČ But silly stickers don’t hurt.
  • The folks at my Y are great and take member concerns very seriously. ¬†Well, except for widening the entrance¬†turnstile¬†for my fat butt! ¬†ūüėČ
  • Tweeting vague references to a big story you are going to write up really¬†aggravates¬†people. ¬†Do it often! ¬†ūüėČ


Enhanced by Zemanta

One response so far

« Prev - Next »