Jun 22 2006

MarcEdit 5.0 Update

Couple of Update notes.  I fixed a small issue with the 008/006 editing and have been spending a bit of time going through the XSLT processing code to do as much optimization as possible — and I’m happy to report that it looks like some good has come out of these optimizations.  Here’s how it benchmarks compared to 4.6. 

Test System: Windows XP SP2, Dell 2Ghz Centrino, 1 GB RAM
Test Dataset: Project Gutenburg RDF Catalog
Number of Records: ~20,000
Processing time in MarcEdit 4.6: 1201 seconds
Processing time in MarcEdit 5.0 Update (includes UTF-8 to MARC8 conversion): 35 seconds.

Obviously this is a big increase. 

Per usual, the update is available at: MarcEdit50_Setup.exe

–Terry


Jun 19 2006

New oak floors

So I’ve been a little bit in accessible for the past 3-4 days because our house has been under some renovation. About a month back, our dog chewed a hole in our carpet helping my wife and I finally make the decision to take the carpet our of the bottom floor of our house and install wood floors. So, starting this last Thursday — the great construction project began. The goal had been to finish this project over the weekend. So Thursday, Alyce and I did a little bit of prep work (moving some furnature, cleaning the house a little bit. But Friday is when the heavy lifting happened. Friday, I moved all the furnature out of the house an all the wood for the floors into the kitchen. After moving everything out of the house, Kenny and I pulled up the carpeting and the padding. My mom came up Friday night and helped me remove the moldings, finishing pulling staples out of the floor and laying the underlay for the wood floors (moisture barrier). Since the first floor was now under construction, everyone had to live just in the bedrooms — which made entertaining the boys a treat for my wife. Especially on Saturday, when we had the saws running and we really couldn’t have the boys running around in the work area. So Saturday was the big event. My good friend Kyle — who without, I wouldn’t have gotten this finished, came over and from 8-8:30 Saturday, helped me install the floors. ~460 s/ft got installed allowing us to finish the flooring installation in one day. We installed an engineered hardwood floor partly because we have kids so moisture is a bit more of a concern (and engineered floors tend to do better) and partly because it was going to simplify installation. Saturday night, when I went out for a bite, Alyce surprised me by refitting the molding. This was a nice surprise — because I’d planned on reinstalling the molding Sunday and wasn’t looking forward to trying to figure out where everything went again.
Sunday, after letting the floors sit, I reinstalled moldings, trim, and brought all the furnature back into the house. Ugh. I think I might have tweaked something in my neck (over worked it a little) because I woke up last night with a throbbing headache. Thank goodness for those magic headache pills that both dull the pain and help you sleep. :)

Anyway, I think that they turned out very good. Our dog isn’t too happy with the change in floors — but she’ll live. The boys however, love it. They’ve been running back and forth over the floors in their socks and fighting over who gets to sweep the new floors. :) I snapped a couple of pictures this morning — that way you could still see the new floors before they get cluttered with toys, etc.

DSCF0005.JPG

Front room with Goldie hiding on the area rug.

DSCF0006.JPG

Kenny playing with his cars on the floors. He loves that his cars can now fly across the floors.

DSCF0007.JPG

More of the front room

DSCF0008.JPG

Kenny, hiding behind his new Cars toy. I think this is Lightning. We haven’t seen the movie yet — but we will soon. The toys however, are a big hit at our house where we have two boys that love playing with cars.

–tr


Jun 9 2006

University of Virginia


University of Virginia

Originally uploaded by alycereese.

This would be Alyce and I hanging out at the UVA rotunda. This is the last day of our trip and Alyce is a little tired. We’d just gotten back from visiting Monticello — but we couldn’t go home without one picture of the UVA grounds or the original learning commons.

–tr


Jun 9 2006

Mt. Vernon Mansion


Mt. Vernon

Originally uploaded by alycereese.

Alyce ended up not liking the interior of this house — but at 3000 or 8000 acres — its a big piece of property and a very impressive view on the Potomic.

–tr


Jun 9 2006

Montpelier


Montpelier

Originally uploaded by alycereese.

This was a pretty cool place because of the restoration work being done. The group doing the restoration has basically stripped the house to its original brick and are slowing repairing the outter structure and recreating the interior structure.

–tr


Jun 9 2006

Monticello


Monticello

Originally uploaded by alycereese.

So this is a picture of Monicello. I love this place. I love the gardens and the forests.

–TR


Jun 9 2006

Ruby and Rails

So, because of a project that I’m working on — I’ve started learning Ruby with Rails.  I was pleasantly surprised to find that Ruby is a really easy language to learn.  I have a feeling that when Microsoft developed C# — they based it on languages like Ruby because the overall feel is pretty much the same.  The big differences — punctuation, or lack there of and the lack of typed variables, at least in a strong typed sense.  But these are quirks that you just get use to.  In general, my initial impressions are positive. 

So learning ruby and rails.  I read the following two books last night:

Programming Ruby (http://www.amazon.com/gp/product/0974514055/sr=8-1/qid=1149840626/ref=pd_bbs_1/102-1706170-5212113?%5Fencoding=UTF8)

Agile Web Development with Rails (http://www.amazon.com/gp/product/097669400X/sr=8-2/qid=1149840626/ref=pd_bbs_2/102-1706170-5212113?%5Fencoding=UTF8)

Both were easy reads and basically got me to the point where I could start looking at writing some code.  Now, I’m going back through the books and marking pages and concepts that I want to highlight for future consultation.

–tr


Jun 9 2006

MarcEdit 5.0 Update

I posted an update to MarcEdit tonight.  Changes:

  1. Bug fix: When moving data from UTF-8 to MARC8, specific subscript characters would be placed into the superscript area.
  2. Bug fix: When working with the Console — if you used the commandline parameters — the destination path was being read incorrectly.
  3. Added Help files
  4. Updated Langauge files
  5. Including a bootloader that works both with the installation program — but also can be used to finished the installation process on a Linux or MAC.  Since I’m placing items into the gac — I figured it would make installation easier for those wanting to try the console version on a linux or mac.  Now that this utility is in place — I’ll be posting a tar ball with instructions on how to run the console version on linux and mac.

As always — the program can be picked up from: MarcEdit50_Setup.exe

–tr


Jun 5 2006

Spell Checking with Aspell and PHP

One of the things that I like about PHP is the many built in functions found in the language. Within our metasearch tool, one of the things that I wanted to start looking at adding was spell checking. Since Aspell works as a good open source dictionary and is available as a php extension (pspell) — I thought that this would be a good place to start. However, one of the things that I found quickly was that a true dictionary spell checker really isn’t particularly useful. The reason being of course, that a mispelling will likely result in multiple matches with the best match not being the first match. But not to worry, PHP provides a solution…metaphonics. Metaphonics is the analysis of sounds. Using Aspell in conjunction with php’s metaphonics functionality allows one to do a better job matching the user’s query against a correct spelling. Here is a simple example — a modification of a couple of examples found on the web…

–TR

function spellcheck ( $string ) {
$res = “”;
$res2 = “”;
$words = split(’ ‘,$string);
$misspelled = $return = array();
pspell_config_create(”en”,PSPELL_NORMAL);
$int = pspell_new(’en’);
foreach ($words as $value) {
$check = preg_split(’/[\W]+?/’,$value);
if ((isset($check[1])) and (strpos(”‘”,$value) > 0) ) {$check[0] = $value;}
if ((!pspell_check($int, $check[0]) )) {
$res .= $value;
$poss = pspell_suggest($int,$value);
$orig = metaphone($value);
foreach ($poss as $suggested)
{
$ranked[metaphone($suggested)] = $suggested;
}
if ($ranked[$orig] <> ”) {$poss[1] = $ranked[$orig];}

$res2 .= $poss[1] . ‘ ‘;

} else {
$res .= $value . ‘ ‘;
$res2 .= $value . ‘ ‘;
}
}

$n[1] = $res;
$n[2] = $res2;
if (trim($string)!=trim($res2)) {
return $res2;
} else {
return “”;
}
}


Jun 5 2006

Creating Analytic records from EAD finding aids

While at UVA, I was asked if the MarcEdit stylesheet could be modified to allow for the creation of both Collection, series and analytic records for items in the EAD records. This is just a template and would need to be modified for actual use — but I put this together while on the plane for the UVA folks to use as an example. EADAnalyticstoMARC21slimXML.zip
–TR