<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aurlog</title>
	<atom:link href="http://www.aurochs.org/aurlog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aurochs.org/aurlog</link>
	<description>Cows and stuff</description>
	<lastBuildDate>Tue, 15 May 2012 11:47:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Territorial Mercenaries discography</title>
		<link>http://www.aurochs.org/aurlog/2012/05/15/territorial-mercenaries-discography/</link>
		<comments>http://www.aurochs.org/aurlog/2012/05/15/territorial-mercenaries-discography/#comments</comments>
		<pubDate>Tue, 15 May 2012 11:23:31 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[territorial mercenaries]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=740</guid>
		<description><![CDATA[<p>Over the weekend I came across the recorded musical output of my first band: the Territorial Mercenaries. The Mercenaries consisted of me and my friend Simon. I played the keyboard (and Spectrum loading sequence, etc.) and cobbled together the music;  Simon did the singing and wrote the lyrics. We took our inspiration from a number [...]]]></description>
			<content:encoded><![CDATA[<p>Over the weekend I came across the recorded musical output of my first band: the Territorial Mercenaries. The Mercenaries consisted of me and my friend Simon. I played the keyboard (and Spectrum loading sequence, etc.) and cobbled together the music;  Simon did the singing and wrote the lyrics. We took our inspiration from a number of sources, in particular an Island Records compilation tape and a Public Enemy song that someone was playing in a school lunchtime revision session that sounded like someone torturing a donkey (hence all the Dobbin/donkey references). It was all recorded on a tape to tape player, using ancient microphones that were sellotaped to the speakers of the keyboard so they didn’t jump and bang. The earlier ones used all manner of sophisticated layering using the tape to tape player’s full potential, but these songs ended up being nothing but 90% hiss, which is probably merciful to be honest. Later songs were generally done in one take.</p>
<p>Below is our discography, including Simon’s cover art. Technically speaking, it is not a discography as these recordings only exist on cassette (and I no longer have a player). There is also in existence an additional compilation I made for a over-curious university friend. He did say he was going to put it onto CD at some point. Maybe it’s best for all concerned if I don’t remind him. I’ve been meaning to put this up somewhere on the web since about 1996 when making lists of bands’ output on the web was the thing to do (those were the days when I made a few HTML lists and had arguably one of the best Radiohead sites on the web).*</p>
<h2>Albums</h2>
<h3>In Bed with Dobbin (1992)</h3>
<p><strong><a href="http://www.aurochs.org/aurlog/wp-content/uploads/2012/05/IMAG0353-1.jpg"><img class="size-medium wp-image-743 alignright" title="In Bed with Dobbin" src="http://www.aurochs.org/aurlog/wp-content/uploads/2012/05/IMAG0353-1-203x300.jpg" alt="In Bed with Dobbin" width="203" height="300" /></a>Side A</strong></p>
<ol>
<li> Indeedy</li>
<li> Chinese Water Torture</li>
<li> Viel Vergenugen</li>
<li> Locomotion (Twin Peaks Karoake Mix)</li>
<li> Sit</li>
<li> Spot the Song</li>
</ol>
<p><strong>Side B</strong></p>
<ol>
<li> Full Woolen Cardigan</li>
<li> Full Woolen Cardigan (Reprise)</li>
<li> Famous Ladies</li>
<li> 1812 Underture</li>
<li> Toxin in Loco Parentis</li>
<li> The Last Political Waltz</li>
<li>The Krypto Factor</li>
<li>In Bed with Dobbin</li>
</ol>
<p>Donkey Mafia Records DM1 (1992)</p>
<h3>Dobbin sans Frontiers</h3>
<p><strong><a href="http://www.aurochs.org/aurlog/wp-content/uploads/2012/05/IMAG0350-1.jpg"><img class="alignright size-medium wp-image-745" title="Dobbin sans Frontiers" src="http://www.aurochs.org/aurlog/wp-content/uploads/2012/05/IMAG0350-1-191x300.jpg" alt="Dobbin sans Frontiers" width="191" height="300" /></a>Side I</strong></p>
<ol>
<li>Epilogue</li>
<li>Dobbin sans Frontiers</li>
<li>Entice the Judicature with Dough</li>
<li>Dobbin to Q4</li>
<li>The One to Blame</li>
<li>Nightmare</li>
<li>Pump up the Aussie</li>
<li>Stop the Snog?</li>
</ol>
<p><strong>Side II</strong></p>
<ol>
<li>Tipping the Balance of the Scales</li>
<li>Over Rated Stoat</li>
<li>Shakepeare&#8217;s Second Cousin</li>
<li>Norma Major</li>
<li>Jive Dobbin</li>
<li>Beeline for the Grave</li>
<li>The American Dream</li>
<li>Prologue</li>
</ol>
<p>Donkey Mafia Records DM2 (1992)</p>
<h2>Singles</h2>
<h3>Dobbin Is Dead</h3>
<p><strong><a href="http://www.aurochs.org/aurlog/wp-content/uploads/2012/05/IMAG0351-1-21.jpg"><img class="alignright size-medium wp-image-754" title="Dobbin is Dead" src="http://www.aurochs.org/aurlog/wp-content/uploads/2012/05/IMAG0351-1-21-208x300.jpg" alt="Dobbin is Dead" width="208" height="300" /></a>1</strong></p>
<ul>
<li>Dobbin is Dead</li>
</ul>
<p><strong>2</strong></p>
<ul>
<li>Indeedy (No Song Swansong Remix)</li>
</ul>
<p>Donkey Mafia Records DM2 1/2  (1992)</p>
<p><a href="http://www.aurochs.org/aurlog/wp-content/uploads/2012/05/IMAG0354-1.jpg"><img class="alignleft size-thumbnail wp-image-752" title="Indeedy (No Song Swansong Remix)" src="http://www.aurochs.org/aurlog/wp-content/uploads/2012/05/IMAG0354-1-150x150.jpg" alt="Indeedy (No Song Swansong Remix)" width="150" height="150" /></a></p>
<p>Full sleeve notes explaining the works would doubtless be beneficial although  unwanted. As a taster, Indeedy is a reference to a maths teacher’s  catchphrase. Full Woolen Cardigan is a Cagean concrete poetry-style  piece using a knitting pattern. Dobbin to Q4 is a follow up to the  latter with obvious chess inspiration. Chinese Water Torture is roughly what  you would expect…</p>
<p>If you would like to hear any of this, you will need a means of converting cassette to CD, and an awful lot of persuasion.</p>
<p>* At my first successful library job interview in 1997 (I’m still here) I was asked something like whether I thought the web was any good for academia. I said no, as it was just full of things like band websites. LOL.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2012/05/15/territorial-mercenaries-discography/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MARC Viewer Codecademy Project</title>
		<link>http://www.aurochs.org/aurlog/2012/03/20/marc-viewer-codecademy-project/</link>
		<comments>http://www.aurochs.org/aurlog/2012/03/20/marc-viewer-codecademy-project/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 08:24:30 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[cataloguing]]></category>
		<category><![CDATA[catcode]]></category>
		<category><![CDATA[codecademy]]></category>
		<category><![CDATA[codeyear]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[marc21]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=726</guid>
		<description><![CDATA[<p>I have created a Codecademy project (with a lot of help in corrections and improvements from Esther Arens!) that builds a short script to read a raw MARC record and display it in a more readable format. Try it here: http://www.codecademy.com/courses/marc-viewer/.</p>
<p>This is not by no means the last word in reading a MARC file and [...]]]></description>
			<content:encoded><![CDATA[<p>I have created a Codecademy project (with a lot of help in corrections and improvements from <a href="https://twitter.com/#!/EstherArens">Esther Arens</a>!) that builds a short script to read a raw MARC record and display it in a more readable format. Try it here: <a href="http://www.codecademy.com/courses/marc-viewer/">http://www.codecademy.com/courses/marc-viewer/</a>.</p>
<p>This is not by no means the last word in reading a MARC file and is basically a walk through of one way to do it. There are other ways and better ways that use more advanced coding, or allow more sophisticated re-use of the bits and pieces that are pulled out of the MARC record. There are also entire programmes and programming utilities designed to do this kind of thing and to manipulate MARC records, not least library management systems and things like MARCEdit. Moreover, there are limitations in formatting on the Codecademy platform that can easily be overcome by adapting the script to be run directly in an HTML file (I have done a direct <a href="http://www.aurochs.org/marc-viewer/marc-viewer.html">simple adaptation without any further elaboration</a> (view the HTML source to see the code and the alterations)).</p>
<p>I hope, if nothing else, that it gives cataloguing coders an idea of what a MARC21 record looks like under the hood and helps clarify the cataloguer&#8217;s opinions as to whether MARC must or mustn&#8217;t die. (HINT: it must).</p>
<p>Please see the following notes below before proceeding:</p>
<p>1. This project was designed for someone who has done the first few weeks of the <a href="http://www.codeyear.com/">Code Year</a> course. By necessity it introduces some new things and an attempt has been made to explain them and encourage the cataloguer to enter the actual lines of Javascript that make up the programme. In any case, the Hints always contain the correct code needed to proceed.</p>
<p>2. Output will often consist of many lines, so sometimes you will have to scroll up in the console to see what has happened.</p>
<p>3. Some lines (including line 1!) will always produce errors, although the script will still run. This will is because MARC uses BAD and DANGEROUS characters. BAD and DANGEROUS characters are of course common in the world of cataloguing (mentioning no names&#8230;).</p>
<p>There are many ways this could be improved or extended if you wanted the challenge, e.g.:</p>
<ul>
<li>Take the HTML version and use more HTML and CSS to make it clearer and prettier (e.g. more spacing, colour, bolding of codes). Try making it look like a specific LMS editing screen.</li>
<li>Make it capture the elements in more detail and in a more re-usable way. For instance, try making each field an object with tags, indicators, subfields, etc. as properties. This would enable more interesting things, such as&#8230;</li>
<li>A simple OPAC or even a card index display.</li>
<li>Adapt it to read MARC files with more than one record. This isn&#8217;t as hard as it sounds, in that each record ends with a specific terminator (see the guide to record structure below).</li>
</ul>
<p>For full technical details of how a MARC21 bibliographic record is put together, see the <a href="http://www.loc.gov/marc/specifications/specrecstruc.html">MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media Record Structure</a>. For details of the contents and use of MARC21 fields, see LC&#8217;s <a href="http://www.loc.gov/marc/">MARC Standards</a> page. For a HTML version of the completed MARC Viewer script, see <a href="http://www.aurochs.org/marc-viewer/marc-viewer.html">my adaptation</a>.</p>
<p>The <a href="http://www.codeyear.com/">Code Year</a> programme is part of <a href="http://www.codecademy.com/">Codecademy</a>, an online set of programming lessons. Cataloguers interested in learning to programme will find the independent <a href="http://catcode.pbworks.com/w/page/49328692/Welcome%20to%20CatCode!">CatCode Wiki</a> useful for extra information, advice, and support. See also the <a href="https://twitter.com/#!/search/%23catcode">#catcode hashtag on Twitter</a>.</p>
<p>Do let me know if you come across any problems with it or have any comments on the project.</p>
<p>Thank you again to Esther for her help.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">https://twitter.com/#!/EstherArensEstter</div>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2012/03/20/marc-viewer-codecademy-project/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Flexi hours calculator (online and for Excel)</title>
		<link>http://www.aurochs.org/aurlog/2012/02/17/flexi-hours-calculator-online-and-for-excel/</link>
		<comments>http://www.aurochs.org/aurlog/2012/02/17/flexi-hours-calculator-online-and-for-excel/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 16:25:56 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[calculators]]></category>
		<category><![CDATA[flexi]]></category>
		<category><![CDATA[hours]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=721</guid>
		<description><![CDATA[<p>I have tidied up and moved my ancient flexi hours calculator which now lives at http://www.aurochs.org/flexi/flexi.html. Several people have emailed me out of the blue recently about setting up an Excel version, which I have done and which now lives at http://www.aurochs.org/flexi/flexi.xlsx.</p>
<p>This is a version of one of the oldest useful programmes I ever wrote. [...]]]></description>
			<content:encoded><![CDATA[<p>I have tidied up and moved my ancient flexi hours calculator which now lives at <a href="http://www.aurochs.org/flexi/flexi.html">http://www.aurochs.org/flexi/flexi.html</a>. Several people have emailed me out of the blue recently about setting up an Excel version, which I have done and which now lives at <a href="http://www.aurochs.org/flexi/flexi.xlsx">http://www.aurochs.org/flexi/flexi.xlsx</a>.</p>
<p>This is a version of one of the oldest useful programmes I ever wrote. My dad used to manage an office where everyone filled in paper flexi-time forms. My dad then had to add them all up at the end of every week, which he did manually. I wrote something in <a href="https://en.wikipedia.org/wiki/AmigaBASIC">AmigaBasic</a> to make it easier for him. The main point of it was that it had to be easy and quick to enter the times in, which is why it uses the simple four figure times and no drop downs (although I&#8217;m not sure how or if you can do drop down lists in AmigaBasic (nor do I intend to find out now)). Eventually my dad got the IT people at work to replace their version of a flexi calculator with something based instead on mine, which is silly considering how simple this was. Sometime after starting at my current employer (1997), I thought it would be a useful exercise to convert the programme to work on the web as I was learning Javascript at the time. It <a href="http://www.homepages.ucl.ac.uk/~ucyltpm/pro/hours.htm">still exists</a> and hasn&#8217;t changed a lot since then, barring a bit of explanation and some atrocious styling: the last time that file was touched was in 2003.</p>
<p>Although it is really hard to find (I can never remember where I left it and it seems impossible to Google), people do seem to come across it quite often and find it useful. I&#8217;ve been emailed a couple of times about getting bespoke versions done in Excel which led me to create a version initially to record multiple users, and another with additional days and more complicated working patterns. I&#8217;ve put a more standard version up with seven days and two sessions per day. It can easily be altered if you&#8217;re into Excel or, if you have something particular in mind, do let me know and I might be able to do something with it.</p>
<p>The original online version is written in Javascript. If you&#8217;re learning Javascript, please don&#8217;t look at it as it is a most outdated and inefficient way of adding Javascript to a webpage. However, it works, and the effort of making it all elegant would I think be counterproductive. It works on the idea that the first two digits of a four digit time (HHMM) are hours, the second two digits minutes. It converts these both to minutes (HH * 60 + MM) and does all the necessary maths. The slightly more tricky bit is converting a total of minutes back into hours and minutes. This is one rare (for me) real life use of the modulo (%) operation (although looking at the code source I seem to have invented my own weird convoluted version of the same thing). If you have x number of minutes, the number of hours will be x divided by 60 with any remainder taken off, i.e. Math.floor(x / 60); the number of minutes will be that remainder, i.e. x % 60. These can be put together into a pretty string.</p>
<p>I&#8217;m always interested to know if people find this useful, come across problems with it, or would find a slightly different version useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2012/02/17/flexi-hours-calculator-online-and-for-excel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cataloguing coding</title>
		<link>http://www.aurochs.org/aurlog/2012/01/08/cataloguing-coding/</link>
		<comments>http://www.aurochs.org/aurlog/2012/01/08/cataloguing-coding/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 16:50:00 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[cataloguing]]></category>
		<category><![CDATA[catcode]]></category>
		<category><![CDATA[codeyear]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=708</guid>
		<description><![CDATA[<p>I am not a trained programmer, coding is not part of my job description, and I have little direct access to cataloguing and metadata databases at work outside of normal catalogue editing and talking to the systems team, but I thought it might be worth making the point of how useful programming can be in [...]]]></description>
			<content:encoded><![CDATA[<p>I am not a trained programmer, coding is not part of my job description, and I have little direct access to cataloguing and metadata databases at work outside of normal catalogue editing and talking to the systems team, but I thought it might be worth making the point of how useful programming can be in all sorts of little ways. Of course, the most useful way is in gaining an awareness of how computers work, appreciating why some things might be more tricky than others for the systems team to implement, seeing why MARC21 is a bastard to do anything with even if editing it in a cataloguing module is not really that bad, and how the new world of FRDABRDF is going to be glued together. However, some more practical examples that I managed to cobble together include:</p>
<ul>
<li><strong><a href="http://www.aurochs.org/aurlog/2011/06/24/customizing-classification-web-with-greasemonkey/">Customizing Classification Web with Greasemonkey</a></strong>. This is a couple of short scripts using Javascript, which is what the default <a href="http://www.codecademy.com/">Codeacademy</a> lessons use. Javascript is designed for browers and is a good one to start with as you can do something powerful very quickly with a short script or even a couple of lines (think of all the 90s image rollovers). It&#8217;s also easy to have a go if you don&#8217;t have your own server, or even if you&#8217;re confined to your own PC.</li>
<li><strong>Aleph-formatted country and language codes</strong>. I wrote a small PHP script to read the XML files for the MARC21 <a href="http://www.loc.gov/standards/codelists/languages.xml">language</a> and <a href="http://www.loc.gov/standards/codelists/countries.xml">country</a> codes and convert them into an up to date list of preferred codes in a format that Aleph can read, basically a text file which needs line breaks and spaces in the right places. It is easy to tweak or run again in the event of any minor changes. I don&#8217;t have this publicly available anywhere though. PHP is not the most elegant language but is relatively easy to dip into if you ever want to go beyond Javascript and do more fancy things, although it can be harder to get access to a server running PHP.</li>
<li><strong><a href="http://www.aurochs.org/mrc_viewer/mrc_viewer.php">MARC21 .mrc file viewer</a></strong>. I occasionally need to quickly look at raw .mrc files to assess their quality and to figure out what batch changes we want to make before importing them into our catalogue. This is an attempt to create something that I could copy and paste snippets of .mrc files into for a quick look. It is written in PHP and is still under construction. There are other better tools for doing much the same thing to be honest, but coding this myself has had the advantages of forcing me to see how a MARC21 file is put together and realising how fiddly it can be. Try this with an .mrc which has some large 520 or 505 fields in it (there are some zipped ones <a href="http://www.rsc.org/Publishing/eBooks/marc21records.asp">here</a>, to pick at random) and watch the indicators mysteriously degrade thereafter. I <em>will</em> get to the bottom of this&#8230;</li>
</ul>
<p>The following examples are less useful for my own practical purposes but have been invaluable for learning about metadata and cataloguing, in particular, RDF/linked data. I was very interested in LD when I first heard about it. Being able to actually try something out with it (even if the results are not mind-blowing) rather than just read about it, has been very useful. Both are written in PHP and further details are available from the links:</p>
<ul>
<li><strong><a href="http://www.aurochs.org/aurlog/2011/07/31/lodopac-simple-linked-open-data-opac/">Lodopac: Linked Open Data OPAC</a></strong>. My entry for the UK Discovery <a href="http://discovery.ac.uk/developers/competition/">Developer Competition</a>.</li>
<li><a title="Permanent Link to In Our Time booklist" rel="bookmark" href="../2011/02/16/in-our-time-booklist/"><strong>In Our Time booklist</strong>.</a> A forerunner to Lodopac, written in response to an idea raised by <a href="http://ideas.okfn.org/users/23/psychemedia/">psychemedia</a> for the <a href="http://openbiblio.net/challenge/">Open Bibliographic Data Challenge</a>: the <a href="http://ideas.okfn.org/ideas/27/bbc-in-our-time-reading-list">BBC “In Our Time” Reading List</a>. Sadly it no longer works as the BNB service it relies upon was taken down.</li>
</ul>
<p>Nothing to do with cataloguing, but what I am most proud of is this, written in Javascript: <a href="http://www.aurochs.org/games/cowthello/">Cowthello</a>. Let me know if you beat it.</p>
<p><strong>Update</strong>: Shana McDanold also wrote an excellent post on <a href="http://slmcdanold.blogspot.com/2012/02/why-am-i-learning-to-code.html">why a cataloguer should learn to code</a> with lots of practical examples.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2012/01/08/cataloguing-coding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tom&#8217;s Excellent Website Snow (using Greasemonkey)</title>
		<link>http://www.aurochs.org/aurlog/2011/12/04/toms-excellent-website-snow-using-greasemonkey/</link>
		<comments>http://www.aurochs.org/aurlog/2011/12/04/toms-excellent-website-snow-using-greasemonkey/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 22:03:44 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dhtml]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[snow]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=702</guid>
		<description><![CDATA[<p>Behold: a version of Tom&#8217;s Excellent Javascript Snow (unobtrusive and customisable javascript snow for web pages using no images) that works on all websites you open on your browser (provided your browser is Firefox or something else that can run Greasemonkey scripts)!</p>
<p>To install it:</p>

Install Greasemonkey add-on for Firefox: https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/
Make sure the monkey (probably at the [...]]]></description>
			<content:encoded><![CDATA[<p>Behold: a version of <a href="http://www.aurochs.org/aurlog/2008/12/12/toms-excellent-javascript-snow/">Tom&#8217;s Excellent Javascript Snow</a> (unobtrusive and customisable javascript snow for web pages using no images) that works on all websites you open on your browser (provided your browser is Firefox or something else that can run Greasemonkey scripts)!</p>
<p>To install it:</p>
<ol>
<li>Install Greasemonkey add-on for Firefox: <a href="https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/">https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/</a></li>
<li>Make sure the monkey (probably at the top-right) is happy and colourful. Click on it if not.</li>
<li>Install the <strong>tomsnow</strong> script by going to <a href="http://www.aurochs.org/zlib/js/userjs/tomsnow.user.js">http://www.aurochs.org/zlib/js/userjs/tomsnow.user.js</a> then</li>
<li>Click on the Install button.</li>
<li>Go and look at a new web page or reload one.</li>
</ol>
<p>If you want to turn Greasemonkey off altogether, click on the monkey so  he’s grey. If you want to stop individual scripts, click  on the monkey, click on <em>Manage User Scripts</em>, and click on <em>Disable</em> next to the script.</p>
<p>These instructions were tested on Firefox 3.6.24 on Linux although I imagine they  would be fine on any recent version of Firefox. I would be interested to  hear anything confirming or undermining that assertion.</p>
<p>If you’re happy to play around, the snow is very customisable: you can easily alter the amount, speed, and  style of snow, and so forth:</p>
<ol>
<li>Click on the monkey</li>
<li>Click on <em>Manage User Scripts</em></li>
<li>Select <em>tomsnow</em> from the list</li>
<li>Click on <em>Options</em></li>
<li>Click on <em>Edit this user script</em> (you will probably have to select a text editor at this point)</li>
<li>Look for the section under the line of asterisks where more instructions can be found on how to make customisations.</li>
<li>Save the file and reload any pages to see changes.</li>
</ol>
<p>The Greasemonkey version of the script uses slightly different default settings to the previous version, in particular using a lower density of flakes as a huge blizzard of snow is not likely to be welcome if used on all sites one browses.</p>
<p>I haven&#8217;t found any particular problems and it doesn&#8217;t seem to stop any sites working although sites that are already very script heavy are obviously less happy about running more, e.g. Twitter which is fine but can get sticky, although Gmail seems curiously OK. My cPanel was the only one which was really not happy. When you manage a Greasemonkey script, you will see a box where you can specify websites that you don&#8217;t want it to work on. For example, put <em>https://twitter.com/*</em> and it will stop tomsnow working on that URL with anything after it.</p>
<div style="position: absolute; top: 0px; height: 170.5px; z-index: 100;">
<p style="position: absolute; left: 289.589px; font-size: 112px; top: -112px; color: #ddeeee; font-family: times new roman; padding: 0px; border: 0px none; margin: 0px; opacity: 0.7;">*</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2011/12/04/toms-excellent-website-snow-using-greasemonkey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lodopac example searches</title>
		<link>http://www.aurochs.org/aurlog/2011/09/15/lodopac-example-searches/</link>
		<comments>http://www.aurochs.org/aurlog/2011/09/15/lodopac-example-searches/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 09:03:18 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[cataloguing]]></category>
		<category><![CDATA[british national bibliography]]></category>
		<category><![CDATA[cambridge university library]]></category>
		<category><![CDATA[devsci]]></category>
		<category><![CDATA[discodev]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[linked open data]]></category>
		<category><![CDATA[lodopac]]></category>
		<category><![CDATA[rdf]]></category>
		<category><![CDATA[sparql]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=699</guid>
		<description><![CDATA[<p>Yay, my entry for the Discovery &#38; DevCSI Developers Competition- Lodopac- was awarded a commendation for its use of the Cambridge University Library (CUL) dataset. During the judging I was asked for searches which were known to work well- the timeout issues I discussed under Limitations being not insignificant, especially with author or title searches. [...]]]></description>
			<content:encoded><![CDATA[<p>Yay, my entry for the <a href="http://discovery.ac.uk/developers/competition/">Discovery &amp; DevCSI Developers Competition</a>- <a href="http://www.aurochs.org/lodopac/lodopac.php">Lodopac</a>- was awarded a commendation for its use of the <a href="http://discovery.ac.uk/packages/api/demos/paclist.php">Cambridge University Library (CUL) dataset</a>. During the judging I was asked for searches which were known to work well- the timeout issues <a href="http://www.aurochs.org/aurlog/2011/07/31/lodopac-simple-linked-open-data-opac/">I discussed</a> under Limitations being not insignificant, especially with author or title searches. I submitted a version of the following brief general notes which I hope are helpful to anyone else who wants to play:</p>
<p>The British National Bibliography (BNB) server is generally more responsive than the Cambridge University Library one; title seems to  work better than author. The following are hopefully useful examples useful:</p>
<ul>
<li><a href="../../lodopac/lodopac.php?bnb=true&amp;cam=true&amp;author=fisher&amp;title=&amp;date=&amp;isbn=&amp;limit=5" target="_blank">author=&#8221;fisher&#8221;</a> seems to work (at least in BNB) so long as the number of hits to return is small (e.g. 5).</li>
<li><a href="../../lodopac/lodopac.php?bnb=true&amp;cam=true&amp;author=&amp;title=fisher&amp;date=&amp;isbn=&amp;limit=5" target="_blank">title=&#8221;fisher&#8221;</a> works well for both.</li>
<li><a href="../../lodopac/lodopac.php?bnb=true&amp;cam=true&amp;author=&amp;title=&amp;date=&amp;isbn=0709039425&amp;limit=3" target="_blank">ISBN=&#8221;0709039425&#8243;</a> should very quickly give you a single hit in both BNB and CUL.</li>
</ul>
<p>I would really like to try and think of ways of improving free text regular expression search times for things like author and title in Sparql* although I doubt there is one that doesn&#8217;t rely on the configuration, processing power, or indexing of the server being searched.</p>
<p>* thinking aloud, some ideas might include: downloading a larger imprecise set for further local searching (e.g. for an author/title search downloading the title matches and searching the authors locally: although this would also be slow, it would get round the timeout at least); forcing a look-up in a controlled vocab first in order to get an exact string match (esp for authors, although even if this is possible, this forces a user to do more work, which isn&#8217;t the point);  local indexing of the triple store (this is probably the best way but I&#8217;m not sure how to go about it, whether I really have the server capabilities to do it, and can be committed to the updating required).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2011/09/15/lodopac-example-searches/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Test for brackets in captions</title>
		<link>http://www.aurochs.org/aurlog/2011/08/31/test-for-brackets-in-captions/</link>
		<comments>http://www.aurochs.org/aurlog/2011/08/31/test-for-brackets-in-captions/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 15:39:41 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=683</guid>
		<description><![CDATA[<p>Example without square brackets:</p>
 bee&#8221;]<p class="wp-caption-text">This is a [hairy</p>
<p>Example with square brackets:</p>

<p class="wp-caption-text">This is a [longhorn] cow</p>

]]></description>
			<content:encoded><![CDATA[<p>Example without square brackets:</p>
<div id="attachment_692" class="wp-caption alignnone" style="width: 310px"> bee&#8221;]<a href="http://www.aurochs.org/aurlog/wp-content/uploads/2011/08/hairy_bee.jpg"><img class="size-medium wp-image-692" title="hairy_bee" src="http://www.aurochs.org/aurlog/wp-content/uploads/2011/08/hairy_bee-300x300.jpg" alt="" width="300" height="300" /></a><p class="wp-caption-text">This is a [hairy</p></div>
<p>Example with square brackets:</p>
<div id="attachment_682" class="wp-caption alignnone" style="width: 310px;">
<p class="wp-caption-text"><a href="http://www.aurochs.org/aurlog/wp-content/uploads/2011/08/longhorn8.jpg"><img class="size-medium wp-image-682" title="longhorn8" src="http://www.aurochs.org/aurlog/wp-content/uploads/2011/08/longhorn8-300x60.jpg" alt="" width="300" height="60" /></a>This is a [longhorn] cow</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2011/08/31/test-for-brackets-in-captions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sparql recipes for bibliographic data</title>
		<link>http://www.aurochs.org/aurlog/2011/08/05/sparql-recipes-for-bibliographic-data/</link>
		<comments>http://www.aurochs.org/aurlog/2011/08/05/sparql-recipes-for-bibliographic-data/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 14:06:00 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[cataloguing]]></category>
		<category><![CDATA[british national bibliography]]></category>
		<category><![CDATA[cambridge university library]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[linked open data]]></category>
		<category><![CDATA[lodopac]]></category>
		<category><![CDATA[rdf]]></category>
		<category><![CDATA[sparql]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=677</guid>
		<description><![CDATA[<p>One of the difficulties in searching RDF data is knowing what the data looks like. For instance, finding a book by its title means knowing something about what how a dataset has recorded the relationship between a book and its title. There is no real standard for publishing MARC/AACR2-style bibliographic data as RDF: it seems [...]]]></description>
			<content:encoded><![CDATA[<p>One of the difficulties in searching RDF data is knowing what the data looks like. For instance, finding a book by its title means knowing something about what how a dataset has recorded the relationship between a book and its title. There is no real standard for publishing MARC/AACR2-style bibliographic data as RDF: it seems libraries publishing RDF are approaching this largely individually, although they are using many of the same vocabularies, <a href="http://dublincore.org/">dc</a>, <a href="http://bibliontology.com/">bibo</a>, etc. This was one reason why I wanted to create <a href="http://www.aurochs.org/lodopac/lodopac.php">Lodopac</a>: to present some kind of interface so that searchers didn&#8217;t need to know these different models but could start to explore them. Below are the Sparql recipes for the different search criteria I used for the <a href="http://www.bl.uk/bibliographic/datafree.html">BNB</a> and the <a href="http://data.lib.cam.ac.uk/">Cambridge University Library</a> datasets, so they can be compared, re-used, or corrected. All examples use prefixes, which are defined anew in each example. The examples are of course fragments and don&#8217;t have all the necessary SELECT and WHERE clauses.</p>
<p>By the way, for an excellent Sparql tutorial with ample opportunity to play as you go along, do have a look at the Cambridge University Library&#8217;s <a href="http://data.lib.cam.ac.uk/sparql.php">SPARQL tutorial</a>. It also gives clues to the way their data is structured. Of use for the BNB is their <a href="http://www.bl.uk/bibliographic/pdfs/datamodelv1_01.pdf">data model</a> (PDF), which is not nearly as scary as it looks at first, and incredibly helpful.</p>
<p><strong>Author keyword search</strong></p>
<p>This would be relatively straightforward-the unavoidable regular expression being the main complication- but for the fact that the traditional author/editor/etc of bibliographic records can be found in dc:creator as well as dc:contributor which necessitates a UNION. The BNB used foaf:name:</p>
<blockquote><p>PREFIX dc: &lt;http://purl.org/dc/terms/&gt;<br />
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;</p>
<p>{?book dc:creator ?author} UNION {?book dc:contributor ?author} .<br />
?author foaf:name ?name .<br />
FILTER regex(?name, &#8220;author&#8221;, &#8220;i&#8221;) .</p></blockquote>
<p>Cambridge uses much the same recipe except that it uses rdfs:label instead of foaf:name:</p>
<blockquote><p>PREFIX dc: &lt;http://purl.org/dc/terms/&gt;<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;</p>
<p>{?book dc:creator ?author} UNION {?book dc:contributor ?author} .<br />
?author rdfs:label ?name .<br />
FILTER regex(?name, &#8220;author&#8221;, &#8220;i&#8221;) .</p></blockquote>
<p><strong>Title keyword searches</strong></p>
<p>This is more straightforward and is in fact the same for both the BNB and Cambridge University Library:</p>
<blockquote><p>PREFIX dc: &lt;http://purl.org/dc/terms/&gt;</p>
<p>?book dc:title ?title .<br />
FILTER regex(?title, &#8220;title&#8221;, &#8220;i&#8221;) .</p></blockquote>
<p><strong>Date of publication (year)</strong></p>
<p>I imagined this one being simple and for Cambridge University Library it is. However the BNB took some unravelling as they have modelled publication as an event related to a book. The various elements of publication are then related to the event. So, for the BNB we have this:</p>
<blockquote><p>PREFIX bibliographic: &lt;http://data.bl.uk/schema/bibliographic#&gt;<br />
PREFIX event: &lt;http://purl.org/NET/c4dm/event.owl#&gt;<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;</p>
<p>?book bibliographic:publication ?pub .<br />
?pub event:time ?year .<br />
?year rdfs:label &#8220;date&#8221; .</p></blockquote>
<p>By contrast, Cambridge University Library has it in one line:</p>
<blockquote><p>PREFIX dc: &lt;http://purl.org/dc/terms/&gt;</p>
<p>?book dc:created &#8220;date&#8221; .</p></blockquote>
<p><strong>ISBN</strong></p>
<p>As an identifier, ISBN is relatively straightforward in both models, although care must be taken with the BNB as 10 and 13 digit ISBNs are treated as separate properties and the following assumes that the search will cover both:</p>
<blockquote><p>PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;</p>
<p>{?book bibo:isbn10 &#8220;isbn&#8221;} UNION {?book bibo:isbn13 &#8220;isbn&#8221;} .</p></blockquote>
<p>For Cambridge University Library, also using the bibo ontology, this is:</p>
<blockquote><p>PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;</p>
<p>?book bibo:isbn &#8220;isbn&#8221; .</p></blockquote>
<p><strong>Conclusion</strong></p>
<p>I didn&#8217;t set up to provide ground-breaking conclusions. However, it is remarkable how different data models can be formulated for modelling the same type of data by similar organisations. The real question is whether this is a good, a bad thing, or doesn&#8217;t really mattter. Will it need to be standardised? My understanding of how this works is probably not. I think the days of monolithic library standards are probably now gone. I wonder, for instance, if there ever will be a single MARC22 (or whatever you like to call it) and doubt RDA will ever completely replace AACR2 in the way we imagine. What will emerge I suspect will be a soup of various standards and data models, some of which will be more prevalent. One thing I picked up from various linked data talks is that information has frequently been published then re-used in ways that the issuers never imagined; if that is the case, the precise modelling and format is probably not as important as the fact that it is of good quality and intelligently put together. The BNB and Cambridge University Library models are clearly quite different but quite capable of being mapped and used despite this.</p>
<p>If there are any other bibliographic data Sparql endpoints, I would like to include them in a future version of the Lodopac search. Do let me know if you come across them.</p>
<p>More mundanely, do say if there are errors in my Sparql recipes or if there are ways they could be done more efficiently.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2011/08/05/sparql-recipes-for-bibliographic-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lodopac : simple Linked Open Data OPAC</title>
		<link>http://www.aurochs.org/aurlog/2011/07/31/lodopac-simple-linked-open-data-opac/</link>
		<comments>http://www.aurochs.org/aurlog/2011/07/31/lodopac-simple-linked-open-data-opac/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 20:34:25 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[cataloguing]]></category>
		<category><![CDATA[arc2]]></category>
		<category><![CDATA[british national bibliography]]></category>
		<category><![CDATA[cambridge university library]]></category>
		<category><![CDATA[devsci]]></category>
		<category><![CDATA[discodev]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[linked open data]]></category>
		<category><![CDATA[lodopac]]></category>
		<category><![CDATA[rdf]]></category>
		<category><![CDATA[sparql]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=673</guid>
		<description><![CDATA[<p>Lodopac is my entry to the UK Discovery Developer Competition. Aside from obvious mocking of the name, comments on Lodopac are very welcome. If anyone  installs it locally, I&#8217;d also be very interested to know.</p>
<p>About Lodopac</p>
<p>Lodopac is a simple linked open data opac using Sparql to search remote bibliographic RDF data.   By default [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.aurochs.org/lodopac/lodopac.php">Lodopac</a> is my entry to the UK Discovery <a href="http://discovery.ac.uk/developers/competition/">Developer Competition</a>. Aside from obvious mocking of the name, comments on Lodopac are very welcome. If anyone  installs it locally, I&#8217;d also be very interested to know.</p>
<p><strong>About Lodopac</strong></p>
<p>Lodopac is a simple linked open data opac using Sparql to search remote bibliographic RDF data.   By default it is set up to search the <a href="http://www.bl.uk/bibliographic/datafree.html">BNB</a> and <a href="http://data.lib.cam.ac.uk/">Cambridge University Library</a> datasets, but is designed to allow easy setup of additional datasets with Sparql endpoints (see <a href="../../lodopac/installation">Installation, source code, and configuration</a> below). It was written in response to the UK Discovery <a href="http://discovery.ac.uk/developers/competition/">Developer Competition</a>.</p>
<p>The purpose of Lodopac is to provide a simple standard OPAC-style  interface to perform searches    of various bibliographic RDF datasets without having to know how to  formulate a Sparql query and   without having to know the structure of the database. I hope it is  especially useful for people wanting   to get a grip on how bibliographic RDF is put together, what it looks  like, and what a Sparql query looks like. For example, an author search  is possible without knowing about dc:creator and dc:contributor, or how  these need to be linked together in a Sparql search. Similarly, a  searcher wouldn&#8217;t need to worry about how to construct date searches in  different datasets. For the BNB and CUL, these are very different (three  lines in the BNB, one for CUL), but in Lodopac, there is only search  box to search both. Lodopac displays the Sparql query it constructed to  perform the search, as well as the combined RDF for all results found in  XML, JSON, N3, and TTL.</p>
<p><strong>How to search Lodopac</strong></p>
<p>Select one or more of the available datasets using the checkboxes.</p>
<p><em>Author</em> and <em>Title</em> searches are free text phrase searches. In other words, a string you   search for will match with   any exact match, including spacing and punctuation, and in the middle of words. E.g. searching for &#8220;shake&#8221; will match   &#8220;Shakespeare&#8221;, &#8220;milkshakes&#8221;, and &#8220;More hits that you can shake a stick at&#8221;. Searching is case insensitive. The   following punctuation is removed from searches: <em>\&#8221;&#8216;&lt;&gt;$^%</em>.</p>
<p>You are strongly advised to keep author and title searches simple: e.g. one word of a title or a surname only.</p>
<p><em>ISBN</em> searches 10 or 13 digit ISBNs. Any dashes or other non-digit characters are stripped from the search.</p>
<p><em>Date</em> search will accept a year.</p>
<p><strong>N.B.</strong> Keep searches as simple as possible, especially with author and title searches,    to avoid them timing out. ISBN and date searches are generally quicker.</p>
<p><strong>Limitations</strong></p>
<p>A bad workman blames his tools and I&#8217;m no exception. The greatest  limitation is the time taken by Sparql endpoints to perform a Sparql  query, especially one that involves    a regular expression, such as the Author and Title searches. What is  needed is some more robust indexing or some cheat like Virtuoso&#8217;s  unorthodox bif:contains, which the old version of the linked data BNB  used. I touched on this in a <a href="../2011/02/16/in-our-time-booklist/">blog post</a> about the In Our Time Booklist script I wrote (see section 6).</p>
<p>The load and current capacity on the Sparql endpoints at the time  the query is made is another important factor. A search which times    out one minute can work fine the next.</p>
<p>The search options are obviously limited but do I hope represent the most common methods of searching     normal library catalogues aside from, of course, a general keywords search. The manipulation of results is also    rather sparse but allows click through to full data associated with a book, the structure and contents of which    can be more fully explored. The aggregation of RDF data in various formats is I hope useful illustratively    as well as having potential for further manipulation.</p>
<p><strong>Installation, source code, and configuration</strong></p>
<p><a name="installation"></a>The source code for Lodopac is available as a <a href="../../lodopac/lodopac.zip">zip file</a>, which contains all the necessary PHP, Javascript, and CSS files.  In addition, you will need to install <a href="https://github.com/semsol/arc2/wiki">ARC2</a>, which makes the Sparql queries and manipulates the resultant RDF.  Edit the first line of lodopac.php so that it points at your local installation of ARC2.</p>
<p>The programme is basically one long script- there is only one page-  but is split for convenience of editing. The key file is lodopac.php  which includes the other files as it goes along. The main core of the  script which builds the queries and does the searching is all in  lodopac.php.</p>
<p>I have attempted to make the script as easily configurable as  possible so that additional Sparql endpoints can be added. There are  probably more components hard-coded into the script that I have  overlooked, but all the setup for the endpoints is in the file  setup_endpoints.php. The first part of this file is a list of necessary  prefixes that are needed for any possible queries from any of the  endpoints and, although not ideal, all these prefixes are sent with any  Sparql query. Following that and the declaration of an array of the  endpoints, each endpoint has a dedicated block with the information  added to a hash. To add another endpoint, duplicate a block and  configure the search recipes as appropriate. The keys marked &#8220;brief_&#8221;  are used to fetch information for the brief results display. I have  conspicuously chickened out of providing an author and the attendant  main entry and multiple author headaches involved.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2011/07/31/lodopac-simple-linked-open-data-opac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customizing Classification Web with Greasemonkey</title>
		<link>http://www.aurochs.org/aurlog/2011/06/24/customizing-classification-web-with-greasemonkey/</link>
		<comments>http://www.aurochs.org/aurlog/2011/06/24/customizing-classification-web-with-greasemonkey/#comments</comments>
		<pubDate>Fri, 24 Jun 2011 10:51:39 +0000</pubDate>
		<dc:creator>Orangeaurochs</dc:creator>
				<category><![CDATA[cataloguing]]></category>
		<category><![CDATA[classification web]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[libraries]]></category>

		<guid isPermaLink="false">http://www.aurochs.org/aurlog/?p=668</guid>
		<description><![CDATA[<p>Classification Web is ace, but there are a couple of things about the interface that annoy me and, in one colleague&#8217;s case, seriously put him off using it, in particular:</p>

The opening of a new tab/window when you click on the MARC view for a subject or name.
The confusing menu. We don&#8217;t use LCC or DDC, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://classificationweb.net/">Classification Web</a> is ace, but there are a couple of things about the interface that annoy me and, in one colleague&#8217;s case, seriously put him off using it, in particular:</p>
<ul>
<li>The opening of a new tab/window when you click on the MARC view for a subject or name.</li>
<li>The confusing menu. We don&#8217;t use LCC or DDC, and the browse options don&#8217;t really add much, so we only really need two options: <em>Search LC Subject Headings</em> and <em>Search LC Name Headings</em>.</li>
</ul>
<p>I managed to work out a simple way of modifying how Classification Web works on Firefox using the <a href="https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/">Greasemonkey</a> add-on and a couple of simple scripts, all of which is quick and easy to install:</p>
<ol>
<li>Install Greasemonkey: <a href="https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/">https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/</a></li>
<li>Make sure the monkey in the bottom-right corner is happy and colourful. Click on it if not.</li>
<li>If you want to prevent the MARC view opening a new window, install the <strong>classweb_no_new_ window</strong> script by going to <a href="http://www.aurochs.org/zlib/js/userjs/classweb_no_new_window.user.js">http://www.aurochs.org/zlib/js/userjs/classweb_no_new_window.user.js</a> then</li>
<li>Click on the Install button</li>
<li>If you want to reduce the main menu, install <strong>classweb_prune_menu</strong> script by going to <a href="http://www.aurochs.org/zlib/js/userjs/classweb_prune_menu.user.js">http://www.aurochs.org/zlib/js/userjs/classweb_prune_menu.user.js</a> then</li>
<li>Click on Install button</li>
<li>Reload/refresh Classweb if it&#8217;s still open and it should work.</li>
</ol>
<p>If you want to turn Greasemonkey off altogether, click on the monkey so he&#8217;s sad and grey. If you want to stop individual scripts, right click on the monkey, click on <em>Manage User Scripts</em>, select a script from the list, and un-tick the <em>Enabled</em> box in the lower left corner.</p>
<p>These instructions were tested on Firefox 3.5.3 although I imagine they would be fine on any recent version of Firefox. I would be interested to hear anything confirming or undermining that assertion.</p>
<p>If you&#8217;re happy to play around, these scripts can be further altered. In particular, you can choose which menu items appear in the pruned menu script:</p>
<ol>
<li>Right click on the monkey</li>
<li>Click on <em>Manage User Scripts</em></li>
<li>Select <em>classweb_prune_menu</em> from the list</li>
<li>Click on <em>Edit</em> (you will probably have to select a text editor at this point)</li>
<li>Edit the list of pages under the line <strong>var menu_items_to_keep = Array (</strong>. Enter each page you want to appear on the menu on a separate line in quotes, with a comma at the end of each line <strong>except</strong> the last line. The menu item must appear exactly as it does on the Classification Web menu, including capitals. E.g., the default set up looks like this:<br />
<blockquote>
<pre>var menu_items_to_keep = Array ( // end each line with a comma except the last line
  "Search LC Subject Headings",
  "Search LC Name Headings"
);</pre>
</blockquote>
</li>
<li>Save the file, and reload Classification Web.</li>
</ol>
<p>If anyone else finds this useful or can think of more customizations let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurochs.org/aurlog/2011/06/24/customizing-classification-web-with-greasemonkey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

