<?xml version="1.0" encoding="utf-8" ?>

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel>
    <title>Coffee|Code : Dan Scott</title>
    <link>http://www.coffeecode.net/</link>
    <description>Caffeinated Librarian Geek</description>
    <dc:language>en</dc:language>

    

    <items>
      <rdf:Seq>
        <rdf:li resource="http://www.coffeecode.net/archives/179-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/178-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/177-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/176-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/175-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/174-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/173-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/172-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/171-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/170-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/169-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/167-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/168-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/166-guid.html" />
        <rdf:li resource="http://www.coffeecode.net/archives/165-guid.html" />
      </rdf:Seq>
    </items>
</channel>




<item rdf:about="http://www.coffeecode.net/archives/179-guid.html">
    <title>Making Skype work in a Windows XP VirtualBox guest instance</title>
    <link>http://www.coffeecode.net/archives/179-Making-Skype-work-in-a-Windows-XP-VirtualBox-guest-instance.html</link>
    <description>
    &lt;p&gt;If you, like me, install Skype in a Windows XP VirtualBox guest instance running on an Ubuntu host on a ThinkPad T60 with an Intel 2300 dual-core 32-bit processor, it might throw Windows exceptions and generate error reports as reported in &lt;a href=&quot;http://www.virtualbox.org/ticket/1710&quot;&gt;VirtualBox ticket #1710&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you then go into your ThinkPad BIOS and enable the virtualization extensions (under the Config-&gt;CPU menu) and reboot your Ubuntu host, you might get the same problem again. I&#039;ll tell you right now that the problem is that you need to &lt;u&gt;power off&lt;/u&gt; your system after changing the BIOS option, rather than deciding to just &lt;strong&gt;Save and Exit&lt;/strong&gt; with an immediate reboot.&lt;/p&gt;
&lt;p&gt;You might then try loading the KVM module with the Intel extensions to test whether your system actually does have the Intel virtualization extensions enabled - and you might get a &lt;kbd&gt;FATAL: Error inserting kvm_intel (/lib/modules/2.6.27-9-generic/kernel/drivers/kvm/kvm-intel.ko): Operation not supported&lt;/kbd&gt; error message. Perhaps you&#039;ll end up consulting a page like the &lt;a href=&quot;https://wiki.ubuntu.com/kvm&quot;&gt;Ubuntu KVM wiki entry&lt;/a&gt; and think &quot;Man, I&#039;m doing everything right... what&#039;s going on?&quot;; you then re-read the VirtualBox ticket #1710 and decide to try updating the BIOS on your laptop just in case it has some problem enabling the virtualization extensions.&lt;/p&gt;
&lt;p&gt;Huzzah! After updating the BIOS, you can then load the kvm and kvm-intel modules. (Aside: this has nothing to do with the updated BIOS, and everything to do with the enforced power-off cycle that comes with the update process.) You triumphantly fire up your Windows XP VirtualBox guest instance, ready to get Skype going, and... the image won&#039;t even boot, dying with the horrible error: &lt;kbd&gt;VirtualBox can&#039;t operate in VMX root mode. VBox status code: -4011 (VERR_VMX_IN_VMX_ROOT_MODE)&lt;/kbd&gt;. What the...? You do a bit more searching of the forums, and all of the solutions (like &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/292588&quot;&gt;Ubuntu bug 292588&lt;/a&gt;) tell you to disable KVM. By this time, you&#039;re thoroughly confused and have convinced yourself that KVM is necessary for the virtualization extension that will satisfy Skype.&lt;/p&gt;
&lt;p&gt;Eventually, you rmmod kvm-intel and try VirtualBox again - and much to your surprise, the image loads and Skype is stable. Huzzah! (Aside: this is because VirtualBox uses its own kernel module, vboxdrv.ko, for virtualization support, and the kvm / kvm-intel kernel modules won&#039;t co-exist with that... so your little test to see if the virtualization extensions were working ended up preventing your virtualization application from working.)&lt;/p&gt;
&lt;p&gt;I&#039;m sure you&#039;re wondering why I was going to all of this effort to get Skype running on a virtual machine in the first place, when there&#039;s a native package for Ubuntu available that works. The punch line to all of this is that I convinced my mom to start using Skype as a backup for when her phone line goes dead (which it does, all too often), but for some really weird reason I haven&#039;t been able to find her as a contact in the Linux Skype client, even though I know her exact user ID. On a hunch, I wanted to try searching for her in a Windows Skype client. And you know what?&lt;/p&gt;
&lt;p&gt;I was able to get exactly one hit, the right result, under the Windows Skype client. That is both baffling and frustrating. Skype is both a proprietary application and service and there&#039;s nothing I can do to fix the search problem. It seems that Skype&#039;s APIs are messed up enough that they can&#039;t even support a simple search reliably on a cross-platform basis. Hopefully that doesn&#039;t carry over to, say, being unable to maintain an accurate count of your credit balance.&lt;/p&gt;
&lt;p&gt;Ah well. I don&#039;t think that the open source alternatives like &lt;a href=&quot;http://ekiga.org&quot;&gt;Ekiga&lt;/a&gt; or &lt;a href=&quot;http://qutecom.org&quot;&gt;QuteCom&lt;/a&gt; are solutions yet for my Mom&#039;s needs; we need the service to match the application. Maybe in a parallel universe Skype&#039;s services would support any SIP client, and their contact search API would be open. But in this universe, I have both learned how to properly enable virtualization extension support in VirtualBox on Ubuntu and I have finally added my Mom as a contact in a proprietary application / service. That&#039;s good enough for today.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update a few minutes later:&lt;/strong&gt; Hmm, looks like &lt;a href=&quot;http://tpad.com&quot;&gt;Tpad&lt;/a&gt; might be close to the service that I&#039;m looking for... Perhaps I&#039;ll follow up later with a report.&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Coding, </dc:subject>
    <dc:date>2009-01-06T04:23:57Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=179</wfw:comment>
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=179</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/178-guid.html">
    <title>Just in time delivery - Arik Nathan</title>
    <link>http://www.coffeecode.net/archives/178-Just-in-time-delivery-Arik-Nathan.html</link>
    <description>
    &lt;p&gt;
&lt;!-- s9ymdb:288 --&gt;&lt;a href=&quot;http://www.coffeecode.net/uploads/pics/arik/arik_solo.jpg&quot;&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;110&quot; height=&quot;83&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.coffeecode.net/uploads/pics/arik/arik_solo.serendipityThumb.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;49 minutes before Christmas, Arik Nathan Kabaroff-Scott was born - much to the delight of his mother. Well, and father too, but some of us are pickier about avoiding holidays as birth dates than others... Arik weighed in at 8 pounds 11 ounces, and was 23 inches long, although his bulk belied the long slender toes and fingers that he came equipped with. Perhaps we have a future bass player in our midst?&lt;/p&gt;
&lt;p&gt;
There was much relief on the Kabaroff side of the family as it was revealed that Arik did not inherit his father&#039;s webbed toes. He definitely has his mother&#039;s ears, at least as far as attached vs. detached goes.&lt;/p&gt;
&lt;p&gt;
&lt;!-- s9ymdb:289 --&gt;&lt;a href=&quot;http://www.coffeecode.net/uploads/pics/arik/fam_damily.jpg&quot;&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;110&quot; height=&quot;83&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.coffeecode.net/uploads/pics/arik/fam_damily.serendipityThumb.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
So far, Arik has been exceedingly kind to his parents, sleeping for two and three hours at a time, eating well, and generally being everything we could hope for.  He&#039;s healthy and seems happy.&lt;/p&gt;
&lt;p&gt;
Big sister Amber has adjusted quite well to her new brother. On her first visit to see Arik in the hospital, she commented on his tiny toes and ears, and sang him a lullaby that she had been practicing for months in advance. Although her Mommy, Daddy, and new brother spent Christmas Day in the hospital, Santa conveniently waited until a few days later to arrive at home. And luckily Grandma was on hand to help Amber cope at home for a few days.&lt;/p&gt;
&lt;p&gt;
&lt;!-- s9ymdb:287 --&gt;&lt;a href=&quot;http://www.coffeecode.net/uploads/pics/arik/arik_daddy.jpg&quot;&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;110&quot; height=&quot;83&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.coffeecode.net/uploads/pics/arik/arik_daddy.serendipityThumb.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
Daddy and Arik are getting along rather well, although Daddy has already been taught the hard way one of the major differences between changing a little girl&#039;s diaper and a little boy&#039;s diaper. Although Daddy&#039;s first instinct was to duck and cover, apparently the opposite order of operations is advised...
&lt;/p&gt;
&lt;p&gt;Mommy is doing quite well recovering at home and bonding with Arik. It&#039;s certainly a big adjustment from working on the thesis!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; Daddy apologizes for the delayed announcement and pictures and thanks everyone for their kind wishes. It&#039;s been a little bit busy around here... &lt;img src=&quot;http://www.coffeecode.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Arik, </dc:subject>
    <dc:date>2008-12-29T18:54:27Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=178</wfw:comment>
        <slash:comments>22</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=178</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/177-guid.html">
    <title>In which my words also appear elsewhere</title>
    <link>http://www.coffeecode.net/archives/177-In-which-my-words-also-appear-elsewhere.html</link>
    <description>
    &lt;p&gt;I&#039;m excited to announce the availability of my &lt;a href=&quot;http://www.academicmatters.ca/bloggers.bookends.gk?catalog_item_id=1213&quot;&gt;first post&lt;/a&gt; as an invited contributor to the &lt;strong&gt;More than Bookends&lt;/strong&gt; blog over at the revamped &lt;a href=&quot;http://www.academicmatters.ca&quot;&gt;Academic Matters&lt;/a&gt; web site. My fellow contributors are Anne Fullerton and Amy Greenberg, and I&#039;m delighted to be included with them in our appointed task of writing about the position of the librarian in the academy. My focus at Academic Matters is going to be less &quot;hardcore geek&quot; and more approachable to a general audience of &quot;understanding systems librarians in the university: what we do for you&quot;. You can always get your hardcore geek fix here at Coffee|Code. Here&#039;s a snippet from my first post to give you a feel for what I&#039;m talking about:&lt;/p&gt;
&lt;blockquote&gt;
... Stefano Mazzochi has some interesting ideas about &lt;a href=&quot;http://www.betaversion.org/~stefano/linotype/news/146/&quot;&gt;the impact of interruption on creativity&lt;/a&gt; with which I concur. I&#039;m in demand for services both great and small, and it often feels like I&#039;m making no significant progress in any area. This leads directly to &lt;em&gt;tenure deficit disorder&lt;/em&gt;, a new condition of anxiety about one&#039;s potential for future employment within one&#039;s institution...
&lt;/blockquote&gt;
&lt;p&gt;
If you want to read more, come on over to the &lt;a href=&quot;http://www.academicmatters.ca/bloggers.bookends.gk?category=/blogger/bookends&quot;&gt;More than Bookends&lt;/a&gt; blog and check out what Anne has to say about &lt;a href=&quot;http://www.academicmatters.ca/bloggers.bookends.gk?catalog_item_id=1225&amp;category=/blogger/bookends&quot;&gt;open access&lt;/a&gt; and what Amy has to say about the everything-old-is-new-again theme of &lt;a href=&quot;http://www.academicmatters.ca/bloggers.bookends.gk?catalog_item_id=1224&amp;category=/blogger/bookends&quot;&gt;connecting with library users&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Aside:&lt;/em&gt; Apologies for the lack of RSS feeds for the site; the blog software that we are using still appears to be under construction. With any luck that will be rectified soon!&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Coding, </dc:subject>
    <dc:date>2008-12-02T17:50:09Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=177</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=177</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/176-guid.html">
    <title>Presentation: LibX and Zotero</title>
    <link>http://www.coffeecode.net/archives/176-Presentation-LibX-and-Zotero.html</link>
    <description>
    &lt;p&gt;
Direct link to the instructional presentation on &lt;strong&gt;LibX and Zotero at Laurentian University&lt;/strong&gt; (&lt;a href=&quot;http://www.coffeecode.net/uploads/talks/2008/Enhancingyourresearchexperience.odt&quot; title=&quot;Enhancingyourresearchexperience.odt&quot; target=&quot;_blank&quot;&gt;ODT&lt;/a&gt;) (&lt;a href=&quot;http://www.coffeecode.net/uploads/talks/2008/Enhancingyourresearchexperience.pdf&quot; title=&quot;Enhancingyourresearchexperience.pdf&quot; target=&quot;_blank&quot;&gt;PDF&lt;/a&gt;) 
&lt;/p&gt;
&lt;p&gt;
I had the pleasure of giving an instructional session to a class of graduate students on Monday, November 24th. The topic I had been asked to present was an extended version of the &lt;a href=&quot;http://coffeecode.net/archives/166-Software-Freedom-Day-2008-Sudbury.html&quot;&gt;Artificially Enhanced Research&lt;/a&gt; session that I gave at Software Freedom Day earlier in the year. Apparently one faculty member was so impressed by seeing &lt;a href=&quot;http://libx.org&quot;&gt;LibX&lt;/a&gt; and &lt;a href=&quot;http://zotero.org&quot;&gt;Zotero&lt;/a&gt; in action that he pushed to make this a mandatory session for all of the graduate students in his department. Cool! And a bit scary, too; it&#039;s one thing to present to people who are interested in what you have to say, but another thing when your audience is captive and have other demands on their time.&lt;/p&gt;
&lt;p&gt;
So of course it all started as poorly as possible - while plugging the VGA cable into the projector, my laptop suddenly died. Kaput. No power, and pressing the power button resulted in no response at all. Normally I wouldn&#039;t sweat too much, because I usually send the presentation in advance via email and copy it to a USB key. But this was, of course, &lt;strong&gt;the one time&lt;/strong&gt; that I didn&#039;t take defensive measures. On top of that, I intended to run the presentation with lots of live demos and knew that my laptop was happily configured. Finally, I had come down with a killer head cold the day before, and the only reason I even showed up at work was to give this presentation - so my mind was already fuzzy (that&#039;s what I attribute my lack of file copying precautions to).
&lt;/p&gt;
&lt;p&gt;
So, I went ahead with the session doing a live demo of everything on a machine that I had never used before with an operating system (Windows XP) that I rarely use and a keyboard layout (fr-CA) that I also rarely use... in the throes of a virus. With my wife (she&#039;s a grad student in the program) in attendance. Pressure much?
&lt;/p&gt;
&lt;p&gt;
As it turned out, things went quite well. LibX and Zotero installed happily on the semi-locked down workstation and the only piece I couldn&#039;t demonstrate was Zotero&#039;s integration with Word - but I was able to vouch that it did work as one would expect and hope. In fact, doing everything from download and install to actual use live without a net was probably the best instructional session that the students could get - it made all of the steps nice and concrete, and reassured them that this wasn&#039;t something that only propeller-heads would be able to use.
&lt;/p&gt;
&lt;p&gt;
Most pertinent question that I wasn&#039;t able to answer at the time: &lt;em&gt;Does Zotero offer duplicate detection and elimination?&lt;/em&gt; The right answer is &quot;it&#039;s been &lt;a href=&quot;https://www.zotero.org/trac/ticket/1146&quot;&gt;on the roadmap for a while&lt;/a&gt;, but there are no guarantees (and I can&#039;t sign up to add that feature, sorry)&quot;.
&lt;/p&gt;
&lt;p&gt;
Oh, and the whole laptop dying thing? Apparently your laptop battery can act as a sort of circuit breaker - so if the laptop gets zapped by a jolt of static electricity, the battery can disable power to the system and protect it. After making the walk of shame to the local computer store for support, it turned out that I simply had to remove and reinsert the battery to enable the laptop to start drawing power again. A good lesson to learn, I suppose, and hopefully one that I&#039;ll remember the next time I find myself without any backups on hand in front of an expectant class &lt;img src=&quot;http://www.coffeecode.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;
&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Coding, </dc:subject>
    <dc:date>2008-11-25T22:51:59Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=176</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=176</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/175-guid.html">
    <title>Evergreen 1.4.0.0 RC2 and OpenSRF 1.0.1 are out</title>
    <link>http://www.coffeecode.net/archives/175-Evergreen-1.4.0.0-RC2-and-OpenSRF-1.0.1-are-out.html</link>
    <description>
    &lt;p&gt;As I announced on the Evergreen mailing lists last night:&lt;/p&gt;
&lt;div style=&quot;margin-left: 3em;&quot;&gt;
&lt;p&gt;
One month after the first release candidate of Evergreen 1.4.0.0, the
Evergreen development team is pleased to announce the availability of
Evergreen 1.4.0.0, release candidate 2, from
http://open-ils.org/downloads.php
&lt;/p&gt;
&lt;p&gt;
A partial overview of the changes since 1.4.0.0 RC1:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MARC importer / exporter enhancements&lt;/li&gt;
&lt;li&gt;Improved support for marking long overdue items&lt;/li&gt;
&lt;li&gt;Z39.50 client enhancements&lt;/li&gt;
&lt;li&gt;An interface for switching locales in the staff client&lt;/li&gt;
&lt;li&gt;Localization in every interface - although we have undoubtedly
missed a few strings&lt;/li&gt;
&lt;li&gt;Bundled Armenian and French (Canadian) translations&lt;/li&gt;
&lt;li&gt;Performance improvements for new and changed item feeds&lt;/li&gt;
&lt;li&gt;Various staff client, build, and source tree fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The complete change log between 1.4.0.0 RC1 and 1.4.0.0 RC2 can be
found here:  http://open-ils.org/downloads/ChangeLog-1.4.0.0rc1-1.4.0.0rc2
&lt;/p&gt;
&lt;p&gt;
Please help us reach a solid 1.4.0.0 final release by testing out
1.4.0.0 RC2 with the freshly released OpenSRF 1.0.1 and reporting
problems, sending patches for improvements or fixes, or sending new or
updated translations to the Evergreen Development mailing list.
&lt;/p&gt;
&lt;p&gt;
Coming soon for the 1.4.0.0 RC2 release:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows staff client&lt;/li&gt;
&lt;li&gt;Updated install instructions at
http://open-ils.org/dokuwiki/doku.php?id=server:1.4.0.0:ubuntu804:install&lt;/li&gt;
&lt;li&gt;VMWare image&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;
This release has been a long time in the making, and we&#039;d love to have your help in testing it and flushing out bugs. Also, if you would like to contribute a translation, this is your chance to step up! We already have Brazilian Portugese (pt_BR), Georgian (ka), and Canadian English (en_CA) translations in the works, along with a commitment to update the Canadian French (fr_CA) translation. As this is the first real round of translations for Evergreen, I fully expect that there will be some work ahead of us to smooth out the translation process - but we have to take the plunge some time. Many thanks to Tigran Zargaryan and Natural Resources Canada for their respective contributions of the Armenian (hy_AM) and Canadian French (fr_CA) translations this summer; their willingness to be early guinea pigs for the translation process helped immensely.
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I noticed that the speedy Warren Layton &lt;a href=&quot;http://thebookpile.wordpress.com/2008/11/20/evergreen-14-rc2/&quot;&gt;beat me to the punch&lt;/a&gt; on the blog announcement of the releases. Warren&#039;s been very helpful with testing and suggestions for improvements to the documentation, so I don&#039;t mind being scooped at all &lt;img src=&quot;http://www.coffeecode.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Evergreen, </dc:subject>
    <dc:date>2008-11-21T03:41:10Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=175</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=175</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/174-guid.html">
    <title>Archive of OCLC WorldCat Policy as posted 2008-11-02</title>
    <link>http://www.coffeecode.net/archives/174-Archive-of-OCLC-WorldCat-Policy-as-posted-2008-11-02.html</link>
    <description>
    &lt;p&gt;I noticed last night (Sunday, November 2nd, 2008) that the new and much-anticipated / feared OCLC WorldCat Policy had been posted. As far as the clarified terms went, I was willing to give them the benefit of the doubt until they were actually posted. I was first alerted to the freshly released policy by Terry Reese&#039;s &lt;a href=&quot;http://oregonstate.edu/~reeset/blog/archives/574&quot;&gt;initial analysis&lt;/a&gt; and was fascinated by the discussion in the comments.&lt;/p&gt;
&lt;p&gt;Then I noticed this morning on the AUTOCAT mailing list (&quot;&lt;a href=&quot;http://article.gmane.org/gmane.education.libraries.autocat/17112&quot;&gt;OCLC New Policy down after one day?&lt;/a&gt;&quot;) that the new policy had been pulled and replaced by&lt;/p&gt;
&lt;blockquote&gt;We are reconsidering some aspects of the policy. More information will be available in the near future.&lt;/blockquote&gt;
&lt;p&gt;Very interesting. That&#039;s not even enough time for most interested parties to read the policy and provide feedback.&lt;/p&gt;
&lt;p&gt;Luckily, I made use of Zotero last night to capture a snapshot of the freshly released policy. So here, for your pleasure, is the &lt;a href=&quot;http://marc.coffeecode.net/oclc_2008_11_02/&quot;&gt;archived version&lt;/a&gt; (retrieved Sun 02 Nov 2008 10:24:15 PM EST according to Zotero - and how sad a statement is that about my life that I&#039;m cruising the library &#039;nets on Sunday evenings?) of the OCLC policy that had been posted and then was immediately yanked. I&#039;m hoping that this helps informed discussion lead towards a reconsidered policy that reflects direct input from OCLC contributors.&lt;/p&gt;
&lt;p&gt;Full disclosure: my library is not an OCLC Member library, not from any ideological stance but because I haven&#039;t had time to contribute records yet. Kind of busy with the Evergreen thing, you know? But we pay for WorldCat and some other OCLC services and intend to become members. On a personal note, I think we would best be served by a plurality of services developed using the metadata to which all of the OCLC Member institutions contribute.&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Coding, </dc:subject>
    <dc:date>2008-11-03T14:47:48Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=174</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=174</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/173-guid.html">
    <title>Dear Dan: why is using Flash for navigation a bad idea?</title>
    <link>http://www.coffeecode.net/archives/173-Dear-Dan-why-is-using-Flash-for-navigation-a-bad-idea.html</link>
    <description>
    &lt;p&gt;I received the following email late last week, and took the time to reply to it tonight. I had originally been asked by a friend to help diagnose why his organization&#039;s site navigation wasn&#039;t working in some of his browsers. I noticed that the navigation bar was implemented in Flash, and suggested that the Flash be replaced with plain old HTML, CSS, and perhaps some JavaScript as Flash for navigation is generally a bad idea. My friend&#039;s response last week was:&lt;/p&gt;
&lt;blockquote&gt;Dan, I would be interested to know why the flash is a bad idea. ...Our [website] designer seems to think otherwise.&lt;/blockquote&gt;
&lt;p&gt;Uh-oh: getting into it with the designer via proxy can&#039;t be good. But here&#039;s what I wrote in response - feel free to set me straight if I&#039;ve gone off-track:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;
Jakob Neilsen said it best back in 2000 - and all of his concerns still hold up: &lt;a href=&quot;http://www.useit.com/alertbox/20001029.html&quot;&gt;http://www.useit.com/alertbox/20001029.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
To which I would add several more reasons:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Flash is not a native part of the Web, it&#039;s a third party browser plug-in; HTML + CSS and arguably JavaScript are the core parts of the Web. Anything as basic as navigation should not have to rely on a
third-party plug-in to function.&lt;/li&gt;
&lt;li&gt;How do you expect a person using a screen reader (due to visual impairment) to navigate through the site? With HTML/CSS/JavaScript, they can tab through the links on the page; with Flash, they hit something that forces them to use the mouse.&lt;/li&gt;
&lt;li&gt;Until very recently, Google could not navigate through Flash to crawl pages - and even now it&#039;s capabilities are subject to some limitations (&lt;a href=&quot;http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html&quot;&gt;http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;On breaking the Web experience - if you try to right-click on the Flash navigation, you don&#039;t get the option to open the link in a new tab or window, or add a bookmark to the page that link represents. And I bet the links would work for you everywhere &lt;img src=&quot;http://www.coffeecode.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://coffeecode.net/archives/172-For-the-paranoid-deleting-Flash-local-storage-objects.html&quot;&gt;For the paranoid&lt;/a&gt;, Flash is a proprietary format and therefore requires you to trust that the content that is being served up isn&#039;t doing something nefarious while appearing innocuous. A small percentage
of people use plug-ins like &lt;a href=&quot;http://noscript.net&quot;&gt;NoScript&lt;/a&gt; to block Flash content and only enable Flash for specific pages when necessary. Having to enable it for navigation is annoying.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If your designer really, really wants to keep the Flash experience, the
least they could do would be to put a plain HTML navigation menu inside
the &amp;lt;noscript&amp;gt;...&amp;lt;/noscript&amp;gt; section rather than the &quot;Get Flash!&quot; thing
that currently appears.
&lt;/p&gt;
 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Coding, </dc:subject>
    <dc:date>2008-11-03T02:03:02Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=173</wfw:comment>
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=173</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/172-guid.html">
    <title>For the paranoid: deleting Flash local storage objects</title>
    <link>http://www.coffeecode.net/archives/172-For-the-paranoid-deleting-Flash-local-storage-objects.html</link>
    <description>
    &lt;p&gt;
I&#039;m reasonably careful about the cookies I accept from Web sites - I don&#039;t want companies to be able to track every site I visit, for example, so that they can build a nice little profile about me. It&#039;s for the protection of the companies more than anything else: someone there might die of extreme boredom following the trail of &quot;Evergreen&quot;, &quot;Linux Weekly News&quot;, &quot;Python docs&quot;...
&lt;/p&gt;
&lt;p&gt;
However, I &lt;a href=&quot;http://lwn.net/Articles/304362/&quot;&gt;recently&lt;/a&gt; learned about &lt;a href=&quot;http://www.adobe.com/products/flashplayer/articles/lso/&quot;&gt;Flash &quot;local storage objects&quot; (LSO)&lt;/a&gt;, which are similar to browser cookies but capable of storing much richer information and also completely inscrutable in terms of the effectiveness of Adobe&#039;s security model. Is Flash really capable of preventing a Flash application running on microsoft.com from accessing an LSO from mail.google.com? I certainly don&#039;t know, and as Flash is a closed-source application it&#039;s hard for anyone except for the developers at Adobe to know--but I bet there are people extremely motivated to find out. (Insert obligatory &quot;See? Closed source sucks!&quot; comment here.)
&lt;/p&gt;
&lt;p&gt;
So, in my crude attempt to prevent too much garbage accumulating due to the occasional YouTube video or NBC Saturday Night Live skit that I might watch, I&#039;ve added the following rules to my cron entries to delete my entire set of LSOs every four hours:
&lt;/p&gt;
&lt;pre&gt;
5 &amp;lowast;/4 &amp;lowast; &amp;lowast; &amp;lowast; rm -fr /home/dan/.macromedia/Flash_Player/#SharedObjects 
5 &amp;lowast;/4 &amp;lowast; &amp;lowast; &amp;lowast; rm -fr /home/dan/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/
&lt;/pre&gt;
&lt;p&gt;You Windows users can probably do something similar, but I haven&#039;t bothered to track that down yet. Sorry.&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Personal, </dc:subject>
    <dc:date>2008-10-30T11:24:41Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=172</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=172</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/171-guid.html">
    <title>An Evergreen track at the OLA SuperConference 2009?</title>
    <link>http://www.coffeecode.net/archives/171-An-Evergreen-track-at-the-OLA-SuperConference-2009.html</link>
    <description>
    &lt;p&gt;Just poked at the &lt;a href=&quot;http://www.accessola.com/superconference2009/&quot;&gt;OLA SuperConference 2009&lt;/a&gt; schedule (January 28 - 31, 2009) and found four sessions listed that are all about Evergreen. Wow! Check this out:&lt;/p&gt;
&lt;table style=&quot;border: solid black; border-width: 0px 0px 1px 1px; border-collapse: collapse;&quot;&gt;
&lt;th style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;ead&gt;
&lt;tr&gt;&lt;th style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Date&lt;/th&gt;&lt;th style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Time&lt;/th&gt;&lt;th style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Title&lt;/th&gt;&lt;th style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Description (may be abridged)&lt;/th&gt;&lt;th style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Presenters&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Thursday, January 29&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;9:05 am&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;&lt;a href=&quot;http://www.accessola.com/superconference2009/showSession.php?lsession=410&amp;usession=410&quot;&gt;It.s Just a Little Bit of Programming Isn.t It?&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;
&lt;q&gt;Follow the progress of the Library @ Mohawk.s development of the open source ILS Evergreen. Hear the trials and tribulations and learn from the mistakes and successes that have occurred along the way . we are truly a learning organization on this project. We went live in summer 2008 . come and hear about where we.ve been, where we are and where we hope to be soon.&lt;/q&gt;&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Robert Soulliere, Systems Librarian; Cynthia Williamson, Collection &amp;amp; Access Librarian, Mohawk College of Applied Arts and Technology &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Thursday, January 29&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;3:45 pm&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;
&lt;a href=&quot;http://www.accessola.com/superconference2009/showSession.php?lsession=614&amp;usession=614&quot;&gt;Project Conifer: Evergreen library system for Ontario Universities&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;&lt;q&gt;Find out how the Evergreen open source library system, originally developed for a public library consortium, is being adapted for academic libraries by three Ontario universities. Discussion will focus on the challenges, successes and mistakes (err, .learning opportunities.) of the project.&lt;/q&gt;&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;John Fink, Digital Technologies Development Librarian, McMaster University; Dan Scott, Systems Librarian, Laurentian University&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Friday, January 30&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;9:05 am&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;&lt;a href=&quot;http://www.accessola.com/superconference2009/showSession.php?lsession=1017&amp;usession=1017&quot;&gt;Evergreen exposed: hacking the open source library system&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;&lt;q&gt;Join an Evergreen developer on a tour of the architecture and source code of the Evergreen library system [...] Get ready to get your hands dirty with Evergreen . this will be a session filled with code!&lt;/q&gt;&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;William Erickson, Vice President, Software Development &amp;amp; Integration, Equinox Software Inc; Dan Scott, Systems Librarian, Laurentian University &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Saturday, January 31&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;10:40 am&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;&lt;a href=&quot;http://www.accessola.com/superconference2009/showSession.php?lsession=1808&amp;usession=1808&quot;&gt;Multilingual Language Issues of Open Source ILS&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;&lt;q&gt;Discover the Chinese version of Evergreen along with various multilingual issues related MARC standards, encoding, indexing, searching, and sorting especially associated with Chinese language.&lt;/q&gt;&lt;/td&gt;
&lt;td style=&quot;border: solid black; border-width: 1px 1px 0px 0px; margin: 0px; padding: 4px;&quot;&gt;Jason Zou, Systems Librarian, Lakehead University; Guoying (Grace) Liu, Systems Librarian, Leddy Library, University of Windsor&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I was responsible for the sole Evergreen presentation at OLA SuperConference 2008 - it&#039;s awesome to see a lot more people jumping in this year! I&#039;m keenly anticipating this conference - we&#039;ll have to set up at least one Evergreen &quot;Birds of a Feather&quot; session.&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Evergreen, </dc:subject>
    <dc:date>2008-10-28T20:10:18Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=171</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=171</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/170-guid.html">
    <title>Evergreen: deOSSification of library software</title>
    <link>http://www.coffeecode.net/archives/170-Evergreen-deOSSification-of-library-software.html</link>
    <description>
    &lt;p&gt;
In a few minutes I&#039;ll be giving a talk with John Fink at the &lt;a href=&quot;http://www.fsoss.ca&quot;&gt;Free Software Open Source Symposium&lt;/a&gt; at Seneca College on &lt;a href=&quot;http://fsoss.senecac.on.ca/2008/?q=node/32&quot;&gt;Evergreen: an enterprise-strength OSS solution for library ossification&lt;/a&gt;. I&#039;m jazzed!
&lt;/p&gt;
&lt;p&gt;
Here are the slides: (&lt;a href=&quot;http://www.coffeecode.net/uploads/talks/2008/Evergreen_OSSification.odp&quot; title=&quot;Evergreen_OSSification.odp&quot; target=&quot;_blank&quot;&gt;ODP format&lt;/a&gt;) (&lt;a href=&quot;http://www.coffeecode.net/uploads/talks/2008/Evergreen_OSSification.pdf&quot; title=&quot;Evergreen_OSSification.pdf&quot; target=&quot;_blank&quot;&gt;PDF format&lt;/a&gt;).
&lt;/p&gt;
 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Evergreen, FSOSS, </dc:subject>
    <dc:date>2008-10-23T17:45:16Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=170</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=170</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/169-guid.html">
    <title>Boss me around, s'il vous plait</title>
    <link>http://www.coffeecode.net/archives/169-Boss-me-around,-sil-vous-plait.html</link>
    <description>
    &lt;p&gt;My place of work, Laurentian University, is looking for a new Director of the J.N. Desmarais Library. The call for applications closes October 30th. I think our library has done some impressive work (participating in the &lt;a href=&quot;http://www.acdi-cida.gc.ca/CIDAWEB/acdicida.nsf/En/JER-327155022-SFL&quot;&gt;food security project for the Democratic Republic of Congo&lt;/a&gt;, building the &lt;a href=&quot;http://biblio.laurentian.ca/medb&quot;&gt;Mining Environment Database&lt;/a&gt;), are doing some pretty interesting things (&lt;a href=&quot;http://conifer.mcmaster.ca&quot;&gt;Project Conifer&lt;/a&gt;), and have the potential to do a lot more. Our outgoing director has laid the groundwork for his successor to take Laurentian University&#039;s libraries to even more exciting destinations.&lt;/p&gt;
&lt;p&gt;
On the chance that you haven&#039;t heard about this opening, and would be interested - or perhaps you know someone who might be interested and would be a good candidate - I&#039;m going to attach the full job posting below. One heads-up: Laurentian is a bilingual (French / English) institution, and candidates would be expected to be bilingual.
&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;
Laurentian University – Director of the Library and Archives – effective July 1, 2009
&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Laurentian University is committed to serving the needs of Northern Ontario and its English-language, French-language and First Nations communities, and to extending its student recruitment into other areas of Canada.  Laurentian’s recent major accomplishments include the establishment, with Lakehead University, of the first new medical school in more than 30 years in Canada, the introduction of 6 new PhD programs, the construction of new residences and a building custom-designed to house the B.Ed. program, establishment of a new Faculty of Management, and increasing success attracting research funding, all within a vibrant bilingual milieu that appreciates the past and is building toward the future. Please consult &lt;a href=&quot;http://www.laurentian.ca&quot;&gt;www.laurentian.ca&lt;/a&gt; for more information.
&lt;/p&gt;
&lt;p&gt;
The Director of the Library and Archives will be an innovative leader who will build on the momentum of the Libraries’ information technology services, operational systems and capabilities, and provide strategic direction in accordance with the Strategic Plan approved by the Laurentian University Board of Governors.  
&lt;/p&gt;
&lt;p&gt;
The ideal candidate will be a respected academic who will bring dynamic vision and academic administrative experience, and who will be able to function in both English and French.  The candidate will have a Masters’ of Library Science from an ALA accredited library school or equivalent institution plus at least five years experience in library administration, including planning, personnel, budget, policy development and services. The candidate will have the ability to view issues from an organization-wide perspective and to contribute effectively to collaborative projects within and outside the institution.  The candidate will have knowledge of trends in higher education and information technology that affect acquisition, management, storage and dissemination of print, multi-media and electronic resources. Experience in writing grant proposals and effectively administering such grants would be a strong asset.
&lt;/p&gt;
&lt;p&gt;
Laurentian University is committed to employment equity, welcomes diversity in the workplace and encourages applications from all qualified individuals including women, members of visible minorities, aboriginal persons and persons with disabilities.  All qualified candidates are encouraged to apply; however, Canadians and permanent residents will be given priority.
&lt;/p&gt;
&lt;p&gt;
Should you want to learn more about this unique leadership opportunity,
e-mail Susan Silverton, Vice-President, Academic (Anglophone Affairs) at ssilverton@laurentian.ca
or forward your CV, a letter of introduction and the names of three referees
in confidence, to Linda Mainville, Assistant to the Vice-Presidents, Academic, Laurentian University, Ramsey Lake Road, Sudbury, Ontario P3E 2C6
&lt;/p&gt;
 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Coding, </dc:subject>
    <dc:date>2008-10-09T16:10:08Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=169</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=169</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/167-guid.html">
    <title>Access 2008 hackfest report: Zotero vs Evergreen</title>
    <link>http://www.coffeecode.net/archives/167-Access-2008-hackfest-report-Zotero-vs-Evergreen.html</link>
    <description>
    &lt;p&gt;&lt;strong&gt;Update: 2008-10-07&lt;/strong&gt; As of &lt;a href=&quot;http://svn.open-ils.org/trac/ILS/changeset/10774&quot;&gt;changeset 10774&lt;/a&gt;, the detailed record view in Evergreen&#039;s dynamic catalog is now recognized by Zotero. &lt;/p&gt;

&lt;p&gt;
I really like Zotero. And it works really well with Evergreen&#039;s current &quot;basic search&quot;
because it embeds &lt;a href=&quot;http://unapi.info&quot;&gt;unAPI&lt;/a&gt; links that enable Zotero to
consume &lt;a href=&quot;http://loc.gov/mods&quot;&gt;MODS&lt;/a&gt; representations of the underlying
bibliographic records and generate a complete citation based on that.
&lt;/p&gt;
&lt;p&gt;
However, Zotero doesn&#039;t work with Evergreen&#039;s current &quot;dynamic search&quot; interface - which
is a problem, because it is the default search interface. Evergreen embeds a link to the
unAPI server, and fills in the unAPI link via an AJAX call after the underlying XHTML
has been loaded - but it seems that &lt;a href=&quot;http://forums.zotero.org/discussion/4069/detecting-unapi-in-dynamic-content/&quot;&gt;Zotero&lt;/a&gt; doesn&#039;t
recognize that the DOM has been changed by the AJAX event and never discovers the unAPI
link. So... I had submitted a challenge to Hackfest to fix this, because I really want to
be able to use Zotero with Evergreen when Project Conifer launches.
&lt;/p&gt;
&lt;p&gt;
And, as with every other Hackfest I have attended, I end up working on my own challenge.
In discussing the problem with William from &lt;a href=&quot;http://canadiana.org&quot;&gt;canadiana.org&lt;/a&gt; and Walter Lewis from
&lt;a href=&quot;http://www.knowledgeontario.ca&quot;&gt;Knowledge Ontario&lt;/a&gt;, I described how the dynamic interface doesn&#039;t use any templating (apart
from entity substitution for localization support), that there wasn&#039;t really any way to
inject content server side into the underlying XHTML, and that I really didn&#039;t want to have
to dig into the guts of Zotero to enable it to parse the DOM after events had completed.
William asked &quot;so you can&#039;t even do a server side include?&quot;, which ended up breaking the
problem wide open - because yes, we already use server side includes to identify which DTD
to load for localization purposes.
&lt;/p&gt;
&lt;p&gt;
Step 1 was to modify the detailed record display to put the unAPI link template in place,
and to modify the Apache configuration to pass in hardcoded values for each of the SSI
variables. A quick test and - it didn&#039;t work. Uh oh.
&lt;/p&gt;
&lt;p&gt;
That led to much scratching of the head. Was Zotero getting tripped up by the masses of 
XHTML elements in the dynamic template that are simply hidden? Did it give up after trying to
parse 100K or so of content? Were there differences in the content types being served up by
Apache? The next step was to compare the content of the &quot;basic search&quot; output against the
&quot;dynamic search&quot; output - and that led to one seemingly innocent difference.
&lt;/p&gt;
&lt;p&gt;
The unAPI server link in the &quot;basic search&quot; output included an absolute link to the server,
while the corresponding link in the &quot;dynamic search&quot; output used a relative link to point
to the root of the server. I didn&#039;t think that would be a problem, but eliminating variables
is always good - and when I tested with a hardcoded server link, the Zotero hint icon lit
up and the mystery was solved. Between enabling the record unAPI link to appear in the
static XHTML via SSI and changing the unAPI server link to use an absolute value, Zotero and
Evergreen could work together in harmony.
&lt;/p&gt;
&lt;p&gt;
I haven&#039;t committed the fix for this yet to the repository, as I haven&#039;t finalized the exact
SSI incantations that will be needed to embed the record ID in the unAPI link. But now you
know the solution, and could tackle the problem yourself if you get tired of waiting for me
and feel inspired. And once the problem is fixed, I&#039;ll update the post to let you know what
version of Evergreen carries the fix.
&lt;/p&gt;
&lt;p&gt;
Oh, and my hackfest report slides &lt;a href=&quot;http://www.coffeecode.net/uploads/talks/2008/Cite_me_bite_me.pdf&quot; title=&quot;Cite_me_bite_me.pdf&quot; target=&quot;_blank&quot;&gt;are attached&lt;/a&gt;, in case anyone cares.
&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Evergreen, </dc:subject>
    <dc:date>2008-10-07T04:36:00Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=167</wfw:comment>
        <slash:comments>6</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=167</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/168-guid.html">
    <title>Access 2008 presentation: Project Conifer report</title>
    <link>http://www.coffeecode.net/archives/168-Access-2008-presentation-Project-Conifer-report.html</link>
    <description>
    &lt;p&gt;On Friday, October 3rd, I had the honour of presenting the progress of Project Conifer with my colleague &lt;a href=&quot;http://libgrunt.blogspot.com&quot;&gt;John Fink&lt;/a&gt; to my peers at Access 2008. Project Conifer is the effort to bring the &lt;a href=&quot;http://evergreen-ils.org&quot;&gt;Evergreen&lt;/a&gt; open source library system to a consortium of academic libraries in Ontario (Algoma, Laurentian, McMaster, Northern Ontario School of Medicine, and Windsor).&lt;/p&gt;
&lt;p&gt;I&#039;m just going to link quickly to the slides for now, as I&#039;m a little bit brain-dead after the conference. John led off the talk with an overview of what Conifer is all about and why we were motivated to tackle such a large project - he has &lt;a href=&quot;http://www.slideshare.net/adr/access2008-presentation-v3-presentation&quot;&gt;posted his slides&lt;/a&gt; via the SlideShare thingy. Editorial comment: I really enjoy John&#039;s presentation style and content. He&#039;s a hard act to follow!&lt;/p&gt;
&lt;p&gt;And then I rambled on with an overview of the ups and downs of the project so far, the resources we have invested in the project, our progress towards our target go-live date (May 2009), and some sneak previews of the goodies that are included in the any-day-now-if-I-would-just-stop-going-to-conferences-and-apply-myself-for-a-few-days-dangit Evergreen 1.4 release. Well - they&#039;re not really sneak previews, because of course you could check the code out of the repository and built it yourself - but it&#039;s so much easier when somebody else already has it running, right?&lt;/p&gt;
&lt;p&gt;Anyway, my slides are available in both &lt;a href=&quot;http://www.coffeecode.net/uploads/talks/2008/Access2008Conifer.odp&quot; title=&quot;Access2008Conifer.odp&quot; target=&quot;_blank&quot;&gt;OpenOffice.org Impress format&lt;/a&gt; and &lt;a href=&quot;http://www.coffeecode.net/uploads/talks/2008/Access2008Conifer.pdf&quot; title=&quot;Access2008Conifer.pdf&quot; target=&quot;_blank&quot;&gt;PDF&lt;/a&gt;.&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Evergreen, </dc:subject>
    <dc:date>2008-10-04T23:13:09Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=168</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=168</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/166-guid.html">
    <title>Software Freedom Day 2008 - Sudbury</title>
    <link>http://www.coffeecode.net/archives/166-Software-Freedom-Day-2008-Sudbury.html</link>
    <description>
    &lt;p&gt;I opted to do something out of the unusual (for me) this year when I learned about &lt;a href=&quot;http://softwarefreedomday.org&quot;&gt;Software Freedom Day&lt;/a&gt;; I signed up to organize an event in Sudbury. Given everything that was already on my plate, it was pure foolishness to do so - but it was also important to me to try and pull together people in Sudbury with an interest in open source and free software. I&#039;m hoping that this is just the first of many such events.&lt;/p&gt;
&lt;p&gt;Did I mention that trying to organize an event in an academic environment during August and early September is madness? I was incredibly fortunate to land three excellent guest speakers on very short notice.&lt;/p&gt;
&lt;h2&gt;Keynote: Open Source and Open Learning&lt;/h2&gt;
&lt;p&gt;Dr. Rachel Ellaway, Assistant Dean of Education Informatics at the Northern Ontario School of Medicine, kicked off the event and instantly repaid all of the effort of putting together the whole event. In just one hour, she:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;eloquently introduced the &lt;a href=&quot;http://www.fsf.org/licensing/essays/free-sw.html&quot;&gt;four freedoms of free software&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;mapped the continuum of free software from public domain to closed source,&lt;/li&gt;
&lt;li&gt;situated the academy and publicly funded institutions in the same philosophical category as open source,&lt;/li&gt;
&lt;li&gt;posited that in education the process of learning was more important than the product,&lt;/li&gt;
&lt;li&gt;introduced &lt;a href=&quot;http://ocw.mit.edu&quot;&gt;MIT&#039;s OpenCourseWare&lt;/a&gt; effort to make most of their course materials (syllabus, readings, lecture notes, assignments, and projects) freely available online,&lt;/li&gt;
&lt;li&gt;discussed the problems of learning objects from the 80&#039;s and 90&#039;s that are now locked away in binary files that simply won&#039;t run on today&#039;s computers - and an effort named &lt;em&gt;BoneYard&lt;/em&gt; that she is involved in to convince the rights holders to donate the source code (be it COBOL or BASIC or anything) behind these learning objects to a repository so that others can reuse the underlying algorithms and breathe new life into the objects,&lt;/li&gt;
&lt;li&gt;questioned the continuing faith in &quot;contact hours&quot; as the gold standard for academic service when one hour spent developing a scenario for a virtual learning environment could engage students in multiple hours of active learning&lt;/li&gt;
&lt;li&gt;wondered whether our institutions could move towards open administration and governance models&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;... all in an entertaining and engaging style. Sudbury and the Northern Ontario School of Medicine are lucky to have Dr. Ellaway in our midst.&lt;/p&gt;
&lt;h2&gt;Moodle course management software&lt;/h2&gt;
&lt;p&gt;We were also fortunate to have Dr. Rick Danielson, Full Professor in the School of Human Kinetics, on hand to discuss the history of course management software at Laurentian University and his own experiences with Ilias and Moodle. While on sabbatical in 1998, Dr. Danielson piloted the use of WebCT at Laurentian for course management and lead the creation of a purchasing consortium to license WebCT for more than 40 institutions across Ontario. A few years later, Dr. Danielson switched his personal WebCT server to the open source alternative &lt;a href=&quot;http://www.ilias.de/index.html&quot;&gt;Ilias&lt;/a&gt; coure management system; and, shortly after that, to &lt;a href=&quot;http://moodle.org&quot;&gt;Moodle&lt;/a&gt;. At the time, Ilias did not offer a module that supported online quizzes, and Dr. Danielson was also won over by Moodle&#039;s more refined interface. For Dr. Danielson, the choice between using the university&#039;s WebCT instance and Moodle running on his own server is all about control, saving money, and being lazy: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;He craves control over his teaching environment and independence from central IT, and running his own Moodle server gives him that.&lt;/li&gt;
&lt;li&gt;He watched the license fees for WebCT rise as it was acquired first by ULT and then by Blackboard, and doesn&#039;t mind that he has to spend some money on his own server because Moodle itself is freely redistributable&lt;/li&gt;
&lt;li&gt;He was happy to work hard to learn how to install and administer Red Hat Linux, Apache, MySQL, and PHP in order to run Moodle - now he can be lazy because it simply works.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dr. Danielson&#039;s talk was full of tangents and insider stories about the history of the university and Northern Ontario - quite entertaining and quite irreverent. He did a good job conveying the spirit of the early adopter of new technology to the audience, and in answer to the question of whether Laurentian&#039;s next course management system should be WebCT, he said &lt;em&gt;Tuum est&lt;/em&gt; (&quot;It&#039;s in your hands!&quot;).&lt;/p&gt;
&lt;p&gt;Given that &lt;a href=&quot;http://www.moodle.uqam.ca/moodleinfo/&quot;&gt;UQAM successfully automated the conversion of over 90% of their WebCT courses to Moodle&lt;/a&gt; (laziness is a virtue, remember), and given that we are facing a migration from WebCT to something else (the product name does not even appear on Blackboard&#039;s Web site), I hope that Laurentian will seriously consider Moodle. I have asked to be part of the evaluation committee for the next course management system here, as I want to ensure that we can provide much better integration between our library systems and our learning systems than we have today. I know that Evergreen will give us the flexibility we require on the library side; we need to ensure that we have a course management product with the flexibility that we need on the other side - and finally, we need the people willing to make the integration between the systems work and to demonstrate to faculty how they can easily take advantage of that integration.&lt;/p&gt;
&lt;h2&gt;ParaViewGeo - open source visualization from MIRARCO&lt;/h2&gt;
&lt;p&gt;The third guest speaker was Robert Maynard, lead developer for &lt;a href=&quot;http://paraviewgeo.mirarco.org&quot;&gt;ParaViewGeo&lt;/a&gt; at E2VO, a subsidiary of MIRARCO. ParaViewGeo is a customized version of &lt;a href=&quot;http://www.kitware.com/&quot;&gt;ParaView&lt;/a&gt; by KitWare. The BSD license used by ParaView gives E2VO the right to modify the software and redistribute binary versions of it without redistributing the source code; however, E2VO does plan to make most of their additions and customizations available, and has been pushing patches back to the upstream product.
&lt;/p&gt;
&lt;p&gt;Robert showed a number of screenshots that demonstrated how ParaViewGeo could transform basic two-dimensional diagrams into much richer three-dimensional visualizations. For example, ParaViewGeo can read AutoCAD files and do a far better job of displaying three-dimensional figures. Also, a CD of data produced for the &lt;a href=&quot;http://www.discoverabitibi.com/&quot;&gt;Discover Abitibi initiative&lt;/a&gt; included a proprietary application with a license that timed out after one year, but ParaViewGeo was able to read and display the data in more detail than the original application was capable of.&lt;/p&gt;
&lt;p&gt;Perhaps as interesting as the product was the insight that Robert provided on their software development process. Robert described how, due to a lack of students with software development skills in the Sudbury region, he opted to lead a three-week software development boot camp for their student developers starting from extremely basic principles (&#039;let&#039;s open a file and write to it&#039;), motivating them to achieve via competitive gaming techniques and tangible rewards (&#039;whichever team successfully completes this problem first gets free lunch today&#039;), group learning techniques (all seven team members worked in one large room; when a programmer hit a road block, Robert would demonstrate the solution on a projector so that all the team members could learn at once), and leading by example (Robert was always the first person in the room and the last person to leave).&lt;/p&gt;
&lt;h2&gt;Project Conifer: Open Source Academic Library System&lt;/h2&gt;
&lt;p&gt;I gave a presentation on &lt;a href=&quot;http://conifer.mcmaster.ca&quot;&gt;Conifer&lt;/a&gt;, of course. Project Conifer is the effort to bring Evergreen to the Ontario academic libraries for Algoma University, Laurentian University and partners, McMaster University, Northern Ontario Health Integration Network, and the University of Windsor. I&#039;m the project manager for Conifer and one of the core developers for Evergreen, so I can&#039;t possibly &lt;em&gt;not&lt;/em&gt; talk about it on Software Freedom Day. As regular readers of this blog already know plenty about Conifer, I won&#039;t recap much here. The audience was quite impressed with the upgraded user experience that Evergreen offers out of the box over our current system, and sensed the potential for a system like this to offer integration with course management systems, integration with our inter-library loan system, and even the simple pleasures of direct physical borrowing between participating institutions.&lt;/p&gt;
&lt;p&gt;I was also given the perfect excuse to purchase an iTouch with library or Conifer funds. One of the audience members asked if the dynamic interface supported the iPhone or iTouch, as they would like the ability to search for books or journals while in the stacks. I had to answer that I did not know, not being in possession of such a device, but was able to assert that Opera Mobile on my Windows Mobile cellphone worked extremely well. The audience member then tried out their own iTouch and determined that the interface was at least able to support search - but clearly I need to do a deeper investigation &lt;img src=&quot;http://www.coffeecode.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Artificially enhanced research : free software and fantastic research&lt;/h2&gt;
&lt;p&gt;This was my mostly-demo session, which probably would have been better delivered earlier in the day while both audience members and myself were fresher, but somebody had to have the last slot in the session. I presented a few free software tools that I thought would be of interest to researchers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://libx.org/editions/3A/4D/3A4D0B6F/libx.html&quot;&gt;LibX browser toolbar for Laurentian University&lt;/a&gt;: I showed that while the LibX toolbar is handy as a quick way of searching our catalogue, it&#039;s much more about embedding quick access to our library resources within your browser. I quickly got off on a tangent, however, as I was showing the Google Scholar &quot;magic button&quot; and had to explain what Google Scholar was, how it differed from regular Google, and answer the faculty member&#039;s question about whether he should send students to our subject databases page or to Google Scholar (my answer: &quot;Well, both!&quot;).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://zotero.org&quot;&gt;Zotero&lt;/a&gt; research plug-in for Firefox: while LibX got their attention, Zotero got the audience buzzing. Just a quick demonstration of capturing a set of citations from a Wikipedia page, adding a note, taking a snapshot of the Wikipedia page, organizing research into folders, adding tags, and searching in full-text through your captured materials (optionally filtering by tag) was enough to get most of the people in the room interested. Zotero makes research &lt;strong&gt;fun&lt;/strong&gt; - students will want to do research just so they can play with Zotero!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://zone.biblio.laurentian.ca&quot;&gt;LU|ZONE|UL institutional repository&lt;/a&gt; : by this point, I was running out of time, so I tried to quickly link back to Dr. Ellaway&#039;s discussion of open access and funding agencies&#039; new requirements to deposit articles and datasets in institutional repositories. However, after pointing out that Laurentian has actually had an institutional repository in production for over a year, one faculty member asked why we should care about depositing articles if we have access to the article through our electronic journal subscriptions? I&#039;m not as good at answering this question as I probably should be; my answer was that it&#039;s a means of making that content available to researchers at those institutions that don&#039;t have a subscription to that journal; and that it&#039;s a means for our institution to have direct access to our own researchers&#039; output without necessarily having to continue to pay annual licensing fees to access that ouput. I also pointed out some of the opportunities that alternate publishing formats like institutional repositories make possible; Guy Gaudreau&#039;s book &lt;em&gt;&lt;a href=&quot;https://zone.biblio.laurentian.ca/dspace/handle/10219/34&quot;&gt;Les hauts et les bas de la vie des mineurs de Kirkland Lake&lt;/a&gt;&lt;/em&gt; would not have been published with the striking colour charts he was able to include in the fully-digital version he contributed to LU|ZONE|UL - nor would he have had the ability to publish each chapter as it was finished and use the feedback to improve the rest of the book or to reissue corrections to that chapter.&lt;/li&gt;
&lt;li&gt;Finally, I mentioned our &lt;a href=&quot;http://journal.code4lib.org/articles/49&quot;&gt;library&#039;s quick lookup laptops&lt;/a&gt; which now run on Linux LiveCDs for stability, robustness, environmental friendliness, and budget purposes. They&#039;re an open source experience that our library members use on a daily basis without any apparent problems; they &quot;just work&quot;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So... to sum up, I believe the event was well worth the effort. We had approximately twenty participants with a mix of undergraduate and graduate students, faculty, librarians, and members of the public (including one fellow who drove all the way from North Bay to attend!). Now that I know what I&#039;m doing, and now that we have a better idea of the interested parties on campus, I believe that we will be able to build a bigger event next year. I don&#039;t think I would hold it on a Saturday again, even if that&#039;s when Software Freedom Day is officially scheduled, because students and faculty really value their weekends. And I hope that we have more events - perhaps smaller, perhaps less formal, and perhaps more frequent - throughout the year.&lt;/p&gt;
&lt;p&gt;Finally, I want to thank the team of people at the J.N. Desmarais Library that helped me to make this event possible, in no particular order: Leïla Saadaouai, Dorothy Robb, Christine Guerra, Noella Cliche, Ashley Thomson, and Joscelyne Meilleur. Your efforts were certainly appreciated by our participants today.&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Coding, </dc:subject>
    <dc:date>2008-09-21T02:24:30Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=166</wfw:comment>
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=166</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.coffeecode.net/archives/165-guid.html">
    <title>Heating up Evergreen search</title>
    <link>http://www.coffeecode.net/archives/165-Heating-up-Evergreen-search.html</link>
    <description>
    &lt;p&gt;So, after loading 3.7 million records into the Project Conifer test server, we have found that search can be slow. Not really a big surprise, because I&#039;ve spent very little time tuning the database beyond running a VACUUM FULL and tweaking just a few parameters. But one of the extremely useful hints that Mike Rylander gave me about PostgreSQL a long time back is that it relies primarily on file system caching to cache access to data, from the reasonable perspective that your file system already knows which files are being accessed most often. PostgreSQL&#039;s data is stored in files that map back to individual tables and indexes; unlike some other database systems that I&#039;ve worked with, you don&#039;t dedicate system memory specifically to caching those database files (hello, DB2 buffers!); instead, you just trust the file system to know what&#039;s best.&lt;/p&gt;
&lt;p&gt;That caching approach works great on a system that&#039;s in production and getting a steady stream of queries reflecting what users actually search for on a day to day basis. However, if you&#039;ve just loaded a test system, then it doesn&#039;t have much opportunity to cache and the first dozen (or hundreds, or thousands!) of queries will be slow as your database goes out and loads up files from disk. Even worse, if you have a system like ours where backups have temporarily been set up as &quot;tar czf /backups/backup.tar.gz /&quot;, then on a nightly basis your file system cache is going to be filled with all kinds of irrelevant data.&lt;/p&gt;
&lt;p&gt;So what are we to do? Well, actually, another extremely useful hint that Mike Rylander gave me was to just run the pertinent data files through /dev/null to load up the file system cache. On the surface, it seems like a dirty hack, but it&#039;s a smart one, and we can even make it elegant. Let&#039;s walk through the process:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You need to know where your data files are. You (or your system installer) will have created a PostgreSQL cluster. In my case (on Debian Etch), I can find it at /var/lib/postgresql/main/base. Then, by running &quot;du -hs /var/lib/postgresql/main/base&quot; I can see that one of our databases (represented by a directory name that&#039;s just an integer - &quot;16385&quot;) weighs in at 60GB. That&#039;s our 3.7 million record baby. If you run an &quot;ls&quot; command on that directory, you&#039;ll see that it&#039;s filled with hundreds of files of differing sizes, most of them with just plain integers for their names. This is where the data is stored.&lt;/li&gt;
&lt;li&gt;You need to know the base filenames that you want to use to warm up the file system cache. For my first stab at this, I decided to warm up the cache with the full-text search indexes, as I know those are frequently used by Evergreen&#039;s search. To figure out the base filenames for these indexes, we can query PostgreSQL&#039;s catalog of its own objects:&lt;pre&gt;
evergreen=# SELECT relfilenode, relname, relpages
evergreen-# FROM pg_class WHERE relname LIKE &#039;%vector%&#039;;
 relfilenode |                   relname                    | relpages 
-------------+----------------------------------------------+----------
      648864 | authority_full_rec_index_vector_idx          |    59282
      649137 | metabib_title_field_entry_index_vector_idx   |    29766
      649149 | metabib_author_field_entry_index_vector_idx  |    20125
      649161 | metabib_subject_field_entry_index_vector_idx |    23481
      649173 | metabib_keyword_field_entry_index_vector_idx |    90709
      649185 | metabib_series_field_entry_index_vector_idx  |     8682
      649210 | metabib_full_rec_index_vector_idx            |   452980
(7 rows)
&lt;/pre&gt;
&lt;strong&gt;relfilenode&lt;/strong&gt; is the basename of the files that we want to load into the file system cache.&lt;/li&gt;
&lt;li&gt;The maximum size of your file system cache cannot be more than the physical RAM installed on your system, so you&#039;ll want to tally up the size of the index data files to ensure that their total is less than the total amount of your physical RAM. Note that in the example from our system, below, I&#039;m using &quot;*&quot; because database objects with lots of data will be split between multiple files with extensions like &quot;.1&quot; and &quot;.2&quot; in sequential order:
&lt;pre&gt;
# cd /var/lib/postgresql/main/base/16385
# du -hs 649185* 649210* 1065608*
68M	649185
1.1G	649210
1.1G	649210.1
1.1G	649210.2
1.1G	1065608
1.1G	1065608.1
1.1G	1065608.2
842M	1065608.3
# du -hs 649207*
1.1G	649207
1.1G	649207.1
1.1G	649207.2
467M	649207.3&lt;/pre&gt;
Adding all of this up, we&#039;re getting close to the 16GB of RAM installed on our database server. If we add any more data, we will want to add more RAM to the system.
&lt;/li&gt;
&lt;li&gt;Now we warm up the cache by outputting the contents of each file into /dev/null. &lt;pre&gt;
# cd /var/lib/postgresql/main/base/16385
# cat 648864* &gt; /dev/null
# cat 649137* &gt; /dev/null
# cat 649149* &gt; /dev/null
# cat 649161* &gt; /dev/null
# cat 649173* &gt; /dev/null
# cat 649185* &gt; /dev/null
# cat 649210* &gt; /dev/null
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After running through this relatively simple exercise, searches were definitely much snappier on our test system. I plan to automate the process so it runs after every one of those cache-killing backups. If there is interest, I could package it into a simple Perl script that other sites could use to assist with their testing - or to help warm up the file system cache after a large data load, for example.&lt;/p&gt; 
    </description>

    <dc:publisher>Coffee|Code : Dan Scott</dc:publisher>
    <dc:creator>dan@coffeecode.net (Dan Scott)</dc:creator>
    <dc:subject>
    Evergreen, </dc:subject>
    <dc:date>2008-08-25T16:23:54Z</dc:date>
    <wfw:comment>http://www.coffeecode.net/wfwcomment.php?cid=165</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.coffeecode.net/rss.php?version=1.0&amp;type=comments&amp;cid=165</wfw:commentRss>
    
    
</item>

</rdf:RDF>
