<?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>MediaShelf</title>
	<atom:link href="http://yourmediashelf.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://yourmediashelf.com</link>
	<description>preserve, curate, enrich, disseminate</description>
	<lastBuildDate>Sat, 20 Apr 2013 20:25:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>HydraCamp Sold Out in 48 Hours</title>
		<link>http://yourmediashelf.com/2012/07/hydracamp-sold-out-in-48-hours/</link>
		<comments>http://yourmediashelf.com/2012/07/hydracamp-sold-out-in-48-hours/#comments</comments>
		<pubDate>Mon, 30 Jul 2012 19:26:13 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[hydracamp]]></category>
		<category><![CDATA[international]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=1711</guid>
		<description><![CDATA[A couple weeks ago, during Open Repositories 2012, Penn State announced that they had opened registration for this year&#8217;s HydraCamp.  The slots quickly filled, and 48 hours later the wait list was 8 people deep.  We are working to open up a couple more slots, so if you haven&#8217;t registered but hope to attend, visit [...]]]></description>
				<content:encoded><![CDATA[<p>A couple weeks ago, during Open Repositories 2012, Penn State <a title="HydraCamp 2012 Registration Announcement" href="http://stewardship.psu.edu/2012/07/registration-for-hydracamp-2012-is-open.html">announced that they had opened registration</a> for this year&#8217;s HydraCamp.  The slots quickly filled, and 48 hours later the wait list was 8 people deep.  We are working to open up a couple more slots, so if you haven&#8217;t registered but hope to attend, <a title="HydraCamp 2012 Registration Site" href="http://www.cvent.com/events/hydracamp-2012/event-summary-ee81221f222f4acb80e23f172071c8dc.aspx">visit the registration page</a> and put yourself on the wait list.</p>
<p>Due to the overwhelming demand for this training event, and to accommodate the growing interest in Hydra outside North America, we are looking to assemble HydraCamps in Europe and Australia.  If you would like to host one of these HydraCamps or wish attend one, please use our <a title="Contact" href="http://yourmediashelf.com/contact/">contact form</a> to let us know.</p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2012/07/hydracamp-sold-out-in-48-hours/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recommendation: Frontend Masters video series</title>
		<link>http://yourmediashelf.com/2012/07/recommendation-frontend-masters-video-series/</link>
		<comments>http://yourmediashelf.com/2012/07/recommendation-frontend-masters-video-series/#comments</comments>
		<pubDate>Fri, 27 Jul 2012 15:14:59 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Techniques & Tricks]]></category>
		<category><![CDATA[developer training]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[recommendation]]></category>
		<category><![CDATA[user interface]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=1706</guid>
		<description><![CDATA[People often ask me to recommend online learning materials for developers.  While I know of some good materials for learning Rails, I&#8217;ve never had strong recommendations for serious developers who want to improve at Frontend development &#8211; particularly JQuery, HTML5 and CSS3.  As of today, now you&#8217;ve got a good option.  If you&#8217;re interested in those [...]]]></description>
				<content:encoded><![CDATA[<p>People often ask me to recommend online learning materials for developers.  While I know of some good materials for learning Rails, I&#8217;ve never had strong recommendations for serious developers who want to improve at Frontend development &#8211; particularly JQuery, HTML5 and CSS3.  As of today, now you&#8217;ve got a good option.  If you&#8217;re interested in those topics, you should consider the new <a href="https://www.MJG.in/FrontendMasters?a=matt">Frontend Masters</a> video series, with 5 workshops presented by some of the best UI developers in the world.</p>
<table cellspacing="10" cellpadding="1">
<tbody>
<tr>
<td valign="middle"><strong>Workshop 1</strong></td>
<td valign="middle">Intro to JS and jQuery (Karl Swedberg)</td>
</tr>
<tr>
<td valign="middle"><strong>Workshop 2</strong></td>
<td valign="middle">jQuery In-Depth (Karl Swedberg)</td>
</tr>
<tr>
<td valign="middle"><strong>Workshop 3</strong></td>
<td valign="middle">jQuery UI &amp; Plugins (Scott Gonzalez)</td>
</tr>
<tr>
<td valign="middle"><strong>Workshop 4</strong></td>
<td valign="middle">HTML5 and CSS3 (Christopher Schmitt)</td>
</tr>
<tr>
<td valign="middle"><strong>Workshop 5</strong></td>
<td valign="middle">AngularJS and Testing (Misko Hevery)</td>
</tr>
</tbody>
</table>
<p>For more information, visit the <a href="https://www.MJG.in/FrontendMasters?a=matt">Frontend Masters website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2012/07/recommendation-frontend-masters-video-series/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing Fedora Support Services staffed by Fedora Committers</title>
		<link>http://yourmediashelf.com/2012/07/announcing-fedora-support-services-staffed-by-fedora-committers/</link>
		<comments>http://yourmediashelf.com/2012/07/announcing-fedora-support-services-staffed-by-fedora-committers/#comments</comments>
		<pubDate>Thu, 12 Jul 2012 14:24:46 +0000</pubDate>
		<dc:creator>eddies</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=1702</guid>
		<description><![CDATA[We are pleased to announce the immediate availability of commercial support services for Fedora. This has been a long time coming for the Fedora community, and I&#8217;m very excited that MediaShelf is now ready to provide this as a regular service offering. This support offering is staffed entirely by Fedora committers and we are setting aside [...]]]></description>
				<content:encoded><![CDATA[<p>We are pleased to announce the immediate availability of commercial support services for Fedora. This has been a long time coming for the Fedora community, and I&#8217;m very excited that MediaShelf is now ready to provide this as a regular service offering.</p>
<p>This support offering is staffed entirely by Fedora committers and we are <em>setting aside 20% of the subscription costs to support future Fedora development</em> by the Fedora committers.</p>
<p>Further information about this offering is on the <a title="Fedora Support Services" href="http://yourmediashelf.com/fedora-support/">Fedora Support Services</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2012/07/announcing-fedora-support-services-staffed-by-fedora-committers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HydraCamp 2012 Site is Up</title>
		<link>http://yourmediashelf.com/2012/06/hydracamp-2012-site-is-up/</link>
		<comments>http://yourmediashelf.com/2012/06/hydracamp-2012-site-is-up/#comments</comments>
		<pubDate>Wed, 27 Jun 2012 16:56:11 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Hydra]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=1600</guid>
		<description><![CDATA[The site is up for HydraCamp 2012, including a rundown of topics and the syllabus. Thanks to the generosity of our hosts at Penn State, the early-bird price will be only $375 &#8211; almost 60% savings vs. last year!   Registration will open by Thursday, July 5th.  We&#8217;ll notify the hydra-tech mailing list when you can sign up. [...]]]></description>
				<content:encoded><![CDATA[<p>The site is up for <a title="HydraCamp 2012" href="http://yourmediashelf.com/hydracamp/">HydraCamp 2012</a>, including a rundown of <a title="HydraCamp 2012 Topics" href="http://yourmediashelf.com/hydracamp/topics/">topics</a> and the <a title="HydraCamp 2012 Syllabus" href="http://yourmediashelf.com/hydracamp/hydracamp-2012-syllabus/">syllabus</a>. Thanks to the generosity of our hosts at Penn State, the early-bird price will be only $375 &#8211; almost 60% savings vs. last year!   Registration will open by Thursday, July 5th.  We&#8217;ll notify the <a href="https://groups.google.com/forum/?fromgroups#!forum/hydra-tech">hydra-tech mailing list</a> when you can sign up.</p>
<p>We will be capping registration at 15-20 people, so be prepared to sign up as soon as the link goes out.</p>
<p>We will be posting more content on the <a title="HydraCamp 2012" href="http://yourmediashelf.com/hydracamp/">HydraCamp site</a> and updating the <a title="HydraCamp 2012 Syllabus" href="http://yourmediashelf.com/hydracamp/hydracamp-2012-syllabus/">syllabus</a> as October approaches.</p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2012/06/hydracamp-2012-site-is-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HydraCamp 2012 at Penn State</title>
		<link>http://yourmediashelf.com/2012/06/hydracamp-2012-at-penn-state/</link>
		<comments>http://yourmediashelf.com/2012/06/hydracamp-2012-at-penn-state/#comments</comments>
		<pubDate>Fri, 22 Jun 2012 15:10:53 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Hydra]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[hydracamp]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=1563</guid>
		<description><![CDATA[Penn State will be hosting HydraCamp this year. Dates: October 8-12. 2012 Location: Atherton Hotel, State College, PA Registration will be open in late June. The curriculum will follow the same structure as last year Days 1 &#38; 2: Rails/Agile Crash Course Day 1: Build a Rails3 Application with RSpec &#38; Cucumber tests and track [...]]]></description>
				<content:encoded><![CDATA[<p>Penn State will be hosting <a title="HydraCamp 2012" href="http://yourmediashelf.com/hydracamp/">HydraCamp</a> this year.</p>
<p>Dates: October 8-12. 2012<br />
Location: Atherton Hotel, State College, PA</p>
<p>Registration will be open in late June.</p>
<p>The curriculum will follow the same structure as last year</p>
<p><strong>Days 1 &amp; 2: Rails/Agile Crash Course</strong><br />
Day 1: Build a Rails3 Application with RSpec &amp; Cucumber tests and track it in Git<br />
Day 2: MVC, Rails Plugins, Git workflow, and Writing good Tickets</p>
<p><strong>Days 3-5: Data Curation &amp; the Hydra Stack</strong><br />
Day 3: Use active-fedora to Model &amp; Create Fedora objects with XML &amp; RDF Metadata then Index them in Solr<br />
Day 4: Use Blacklight to Build a Customized Solr-driven Search/Discovery Interface<br />
Day 5: Use the full Hydra stack to Build a Hydra Head for creating &amp; editing repository content</p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2012/06/hydracamp-2012-at-penn-state/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Office Hours No.1: Blacklight 3.2, PBCore in RDF, and better/smarter OM</title>
		<link>http://yourmediashelf.com/2011/12/office-hours-1/</link>
		<comments>http://yourmediashelf.com/2011/12/office-hours-1/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 00:16:31 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Office Hours]]></category>
		<category><![CDATA[om]]></category>
		<category><![CDATA[pbcore]]></category>
		<category><![CDATA[rdf]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=1428</guid>
		<description><![CDATA[I hosted my first Office Hours for Hydra contributors today.  It was pretty fun.  A handful of people dialed in and we even added a long-desired feature to OM. Here&#8217;s a quick rundown of what we discussed.  The next Office Hours will be in the first week of January 2011. Blacklight 3.2 As of releasing [...]]]></description>
				<content:encoded><![CDATA[<p>I hosted my first Office Hours for Hydra contributors today.  It was pretty fun.  A handful of people dialed in and we even added a <a title="Hydra-358 in ProjectHydra Jira" href="https://jira.duraspace.org/browse/HYDRA-358">long-desired feature</a> to <a title="OM on github" href="https://github.com/mediashelf/om">OM</a>. Here&#8217;s a quick rundown of what we discussed.  The next Office Hours will be in the first week of January 2011.</p>
<h3>Blacklight 3.2</h3>
<p>As of releasing Blacklight 3.1, they won&#8217;t be supporting Rails 3.0. We all agreed that Rails 3.1 provides a very compelling set of improvements. Anyone who is on Rails 3.0 should be eager to upgrade to 3.1. In order to take advantage of those improvements, hydra-head should switch to assuming a Rails 3.1 approach by default while supporting Rails 3.0 users until the release of hydra-head 4.0.</p>
<h3>PBCore</h3>
<p>There are a couple of spots in PBCore that are difficult to support in OM. Rather than fixing OM, does it make sense to switch to using RDF to express PBCore information? Already, everyone who&#8217;s using PBCore with Hydra is breaking up PBCore documents and instances into a graph of objects related by (RELS-EXT) RDF, so actual PBCore XML documents can only be generated by assembling information from an RDF graph. Since that’s the case already, why not fully embrace a linked data approach by expressing the PBCore information as RDF all the way through?</p>
<p>A linked-data approach to PBCore &#8220;3.0&#8243; would entail:</p>
<ul>
<li>Continue to use the useful parts of the <a href="http://pbcore.org/wp-content/uploads/PBCoreDiagram-v2.jpg">PBCore data model</a></li>
<li>Continue to use PBCore controlled vocabularies</li>
<li>Provide PBCore 2.0 XML serialization from PBCore 3.0 RDF</li>
<li>Use existing RDF ontologies where possible (ie. EXIF, Dublin Core, etc.) instead of using one-off PBCore predicates for things like &#8220;identifier&#8221;, &#8220;description&#8221; and &#8220;frame rate&#8221;</li>
</ul>
<p>In essence, this means mixing DC RDF with a minimal set of preferred ontologies and vocabularies that have mostly been identified already by the PBCore maintainers.  The conceptual model of PBCore is useful and the recommended vocabularies are very useful while the XML serialization is just another XML schema to support.</p>
<h3>OM</h3>
<p>OM is the least mature of the Hydra components. It has some rough edges and the syntax for declaring Terminologies leaves many things to be desired. We want it to improve but don&#8217;t have a clear idea of what a better, smarter OM would look like.</p>
<p>At the DLF Fall Forum, Naomi pointed out that OM tries to do 3 distinct things:</p>
<ol>
<li>Let you build a DSL for accessing values from XML, (XPath registry + DSL)</li>
<li>Provide instructions for indexing XML content into solr (DSL-driven solr indexer)</li>
<li>Construct new XML nodes &amp; ancestors based on DSL (Template Registry with DSL)</li>
</ol>
<p>If we managed to do all of these things together gracefully, that would be spectacular. Right now, OM isn&#8217;t so graceful.</p>
<p>If we dropped the ability to construct XML nodes and their ancestors, we could make the syntax for defining OM terminologies much more straightforward. Is that the solution?</p>
<p>In the absence of a vision of what the better, faster, stronger OM would look like, we formed a loose resolve around focusing on a couple useful functional additions while addressing a couple of long-standing annoyances.</p>
<p><strong>Focus on</strong></p>
<ul>
<li>Make it easy to declare xpath-only terms. This simplifies the most common path of adoption (&#8220;I just want to read and update XML node values&#8221;) It&#8217;s ok if these raise an error when you try to use them to insert nodes and/or ancestors.</li>
<li>Support mixing together terminologies so that you can do things like reuse the &#8220;Base&#8221; PBCore Terminology and then mix your own custom Terminology into it.</li>
<li>This requires that you be able to override/add indexing instructions on Terms without editing the Terminology file directly</li>
</ul>
<p><strong>Standing itches to address</strong></p>
<ul>
<li>Switch solrizer indexing strategy to only index terms with indexing instructions</li>
<li>HYDRA-358: OM should allow you to create Terminologies with nil namespaces (<strong>Fixed this during the call!</strong>)</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2011/12/office-hours-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hydra Head view conventions in Rails3: Rails Style (ActiveModel objects) vs. Blacklight Style (Solr docs)</title>
		<link>http://yourmediashelf.com/2011/09/hydra-head-view-conventions-in-rails3-rails-style-activemodel-objects-vs-blacklight-style-solr-docs/</link>
		<comments>http://yourmediashelf.com/2011/09/hydra-head-view-conventions-in-rails3-rails-style-activemodel-objects-vs-blacklight-style-solr-docs/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 17:19:14 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=1230</guid>
		<description><![CDATA[Below is the outline of some conventions we&#8217;re adopting at MediaShelf as of active-fedora 3.0.0. This is largely a return to Rails conventions. Even within our own projects, these are just recommendations, but I figure there&#8217;s benefit in sharing the outline. In short, we treat the CatalogController as a SolrSearchesController and only use Blacklight helpers, [...]]]></description>
				<content:encoded><![CDATA[<p>Below is the outline of some conventions we&#8217;re adopting at MediaShelf as of active-fedora 3.0.0.  This is largely a return to Rails conventions.  Even within our own projects, these are just recommendations, but I figure there&#8217;s benefit in sharing the outline.</p>
<p>In short, we treat the CatalogController as a SolrSearchesController and only use Blacklight helpers, etc. in that context.  Meanwhile, we implement model-specific Controllers (ie. ModsArticlesController ) using regular Rails style, and pass ActiveModel objects (ie. @article) into their views.</p>
<p><b>Conceptual clarification: </b></p>
<p>In Blacklight, the CatalogController loads a SolrResult (@result) and a list of Solr Documents (@document_list) and passes those into the views.  All views are written to use the @document_list and most of the view partials expect a solr document (document).  This constrains you to inspecting solr documents (hashes) for values that they may or may not have set.</p>
<p>In conventional Rails apps, your controller loads AcitveModel objects (ie. Article objects loaded in variables named @article or @articles) and passes those into the views. Those objects have all of the behaviors of the model, allowing you to call model-specific methods like @article.title or @article.files.each { |file| puts file.file_size }</p>
<p><b>Recommendation</b>: Only use (Blacklight style) views when rendering a Search interface with a &#8220;search&#8221; bar.  In contrast, when rendering a simple list of objects (index), use Rails style ActiveModel objects.</p>
<p>Examples: </p>
<p>Model-specific views expect ActiveModel objects</p>
<p>
views/recordings/show.html.erb  : <i>expects a Recording object called @recording</i><br />
views/recordings/edit.html.erb  : <i>expects a Recording object called @recording</i><br />
views/recordings/index.html.erb  : <i>expects an array of Recording objects in @recordings</i><br />
views/recordings/_index.html.erb  : <i>expects a Recording object passed in as a local called &#8216;recording&#8217;</i>
</p>
<p>Search Result views (including model-specific search result view partials) expect Solr document lists and/or Solr documents and live within views/catalog</p>
<p>views/catalog/_index_partials/_recording.html.erb : <i>expects a solr document (a hit from a solr result)</i></p>
<p><b>Further Recommendation</b>: model-specific search result view partials live in model-specific view directories within views/catalog rather than action-specific view directories.  This is a replacement for the existing implementation of  the render_document_partial view helper.</p>
<p>ex. views/catalog/recordings/_index.html.erb </p>
<p>instead of: views/catalog/_index_partials/_recording.html.erb </p>
<p><b>Recommendation</b>: When listing children of an object, put the corresponding partials in the views directory of the <i>parent</i>. </p>
<p>Example: When rendering a list of the lectures associated with a Course, you would define these views: </p>
<p>views/courses/_lectures.html.erb:</p>
<p>views/courses/_lecture.html.erb</p>
<p>The _lectures.html.erb partial expects a local called &#8216;course&#8217;, sets up the list/table HTML and passes the collection of course.lectures into the &#8216;courses/lecture&#8217; partial.</p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2011/09/hydra-head-view-conventions-in-rails3-rails-style-activemodel-objects-vs-blacklight-style-solr-docs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Displaying git branch info in your bash prompt</title>
		<link>http://yourmediashelf.com/2011/08/displaying-git-branch-info-in-bash-prompt/</link>
		<comments>http://yourmediashelf.com/2011/08/displaying-git-branch-info-in-bash-prompt/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 21:02:39 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Techniques & Tricks]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=1174</guid>
		<description><![CDATA[We have a lot of distributed work going on across they Hydra community.  All of this work is coordinated with git using a Git branching workflow that requires you to do all development of new features in feature-specific branches.   Juggling git branches within a single project can be confusing enough, but doing it across [...]]]></description>
				<content:encoded><![CDATA[<p>We have a lot of distributed work going on across they Hydra community.  All of this work is coordinated with git using a <a href="http://hudson.projecthydra.org/job/hydra-head-rails3-plugin/Documentation/file.GIT_WORKFLOW.html">Git branching workflow</a> that requires you to do all development of new features in feature-specific branches.   Juggling git branches within a single project can be confusing enough, but doing it across many projects made it essential to have my command prompt always tell me which branch I&#8217;m on.</p>
<p>A quick search turned up two useful posts on the topic:</p>
<p><a href="http://railstips.org/blog/archives/2009/02/02/bedazzle-your-bash-prompt-with-git-info/">Bedazzle your bash prompt with git info</a><br />
<a href="http://asemanfar.com/Current-Git-Branch-in-Bash-Prompt">Current Git Branch in Bash Prompt</a></p>
<p>I also ended up digging around in the documentation about color hashes in bash.  Now <em>that&#8217;s</em> some seriously ugly configuration code.</p>
<h3>I set up my prompt to look like this:</h3>
<pre>~/Develop/projects/hydra-head (rails3) :</pre>
<h3>Here&#8217;s how I did it:</h3>
<p>All I had to do was put these lines in ~/.profile</p>
<pre>RED="[ 33[0;31m]"
YELLOW="[ 33[0;33m]"
GREEN="[ 33[0;32m]"
BLUE="[ 33[01;34m]"
GREY="[ 33[37m]"
BLACK="[ 33[38m]"
CYAN='[ 33[0;36m]'
PURPLE='[ 33[0;35m]'

export PS1="$BLACKw $CYAN`ruby -e "print (%x{git branch 2&gt; /dev/null}.grep(/^*/).first || '').gsub(/^* (.+)$/, '(1) ')"`$GREY:[ 33[00m] "</pre>
<p>I&#8217;ve included the color-hash variables for everyone&#8217;s sanity.</p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2011/08/displaying-git-branch-info-in-bash-prompt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Principle: If you want to go Fast, go alone.  If you want to go Far, go together.</title>
		<link>http://yourmediashelf.com/2011/04/principle-if-you-want-to-go-fast-go-alone-if-you-want-to-go-far-go-together/</link>
		<comments>http://yourmediashelf.com/2011/04/principle-if-you-want-to-go-fast-go-alone-if-you-want-to-go-far-go-together/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 22:35:09 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Hydra]]></category>
		<category><![CDATA[Hydra Principles]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=1126</guid>
		<description><![CDATA[This is the second installment in our series on the Hydra Community Principles. According to Al Gore, there&#8217;s an old African proverb &#8220;If you want to go fast, go alone.  If you want to go far, go together.&#8221;  This idea caught our attention early in the Hydra collaboration and has become the driving principle for [...]]]></description>
				<content:encoded><![CDATA[<p>This is the second installment in our series on the <a title="Hydra Community Principles: A Preview" href="http://yourmediashelf.com/2011/03/hydra-community-principles-a-preview/">Hydra Community Principles</a>.</p>
<div id="attachment_1127" class="wp-caption aligncenter" style="width: 510px"><a href="http://expositions.bnf.fr/ciel/catalan/index.htm"><img class="size-full wp-image-1127 " title="bnf-catalan-atlas-silkroad" src="http://yourmediashelf.com/wp-content/uploads/2011/04/bnf-catalan-atlas-silkroad.jpg" alt="Caravan crossing the Silk Road" width="500" height="350" /></a><p class="wp-caption-text">Caravan crossing the Silk Road. (detail of the map of Asia)  The Catalan Atlas, Spain, Majorca 14th century.*</p></div>
<p>According to Al Gore, there&#8217;s an old African proverb &#8220;<em>If you want to go fast, go alone.  If you want to go far, go together</em>.&#8221;  This idea caught our attention early in the Hydra collaboration and has become the driving principle for how/why we work as a community.  I think that Tom Cramer of Stanford gets credit for being the person who recited this principle the most over the past few years,  but now we all find ourselves saying it.  At first, it just sounded like a nice ideal that we could all nod our heads to but over time the truth of the adage has rung true.</p>
<p>Digital repositories address a distinctive set of use cases ranging from end-user interactions to technical preservation scenarios.  As a result, developing solutions for digital repositories requires you to grapple with many complex technical challenges.  Very few people in the world have deep familiarity with those issues. The Hydra community has already managed to attract an impressive number of those people.  Among them are some of the top Fedora experts and some of the most experienced creators of next generation search interfaces.  It&#8217;s an amazing advantage to have all of these deeply knowledgeable people contributing to the same set of designs, code, and solutions.</p>
<p>I&#8217;m pretty sure that no single institution could muster a team of this size and caliber to work on digital repository solutions.</p>
<p>Off the top of my head, here&#8217;s a list of areas that we have addressed in ways that explicitly drew on knowledge, skills and resources spread across multiple institutions:</p>
<ul>
<li>Data Modeling/Content Modeling</li>
<li>Repository Security &amp; Gated Discovery</li>
<li>Search Interfaces (designing &amp; implementing)</li>
<li>Search Indexes (building &amp; managing)</li>
<li>Metadata Schemas (choosing &amp; using)</li>
<li>Workflow &amp; Reusable Services</li>
<li>Accessibility &amp; Usability</li>
<li>Testing &amp; Documenting Code</li>
<li>Deployment &amp; Systems Administration</li>
</ul>
<p>In addition to addressing these technical areas, the Hydra community has become an intense testbed of best practices for developers and managers.  Even the work of building and sustaining the open source project itself has been achieved through open, iterative, collaborative process.</p>
<p>This only scratches the surface of the benefits that I personally see in Hydra&#8217;s collaborative model.  Taking a step back, I&#8217;d say that working together as a community has allowed us to achieve a potent balance of pragmatism and long-term vision.  The next two Hydra principles address these things directly.</p>
<p>Next Week: Making a solution that works for us.</p>
<p>*Image caption from <a title="History 102: Western Civilization II  Peter Catapano" href="http://websupport1.citytech.cuny.edu/Faculty/pcatapano/lectures_wc2/exploration05.html">CUNY course materials</a></p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2011/04/principle-if-you-want-to-go-fast-go-alone-if-you-want-to-go-far-go-together/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Principle: One Body, Many Heads</title>
		<link>http://yourmediashelf.com/2011/04/principle-one-body-many-heads/</link>
		<comments>http://yourmediashelf.com/2011/04/principle-one-body-many-heads/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 00:21:59 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Hydra]]></category>
		<category><![CDATA[Hydra Principles]]></category>

		<guid isPermaLink="false">http://yourmediashelf.com/?p=948</guid>
		<description><![CDATA[This is the first installment in our series on the Hydra Community Principles. One Body, Many Heads references our project&#8217;s namesake, Hydra (greek Ὕδρα), the fearsome water beast with more heads than an ancient greek painter could fit on a vase.  Anyone who&#8217;s watched Percy Jackson and the Lighting Thief knows that it&#8217;s really hard to [...]]]></description>
				<content:encoded><![CDATA[<p>This is the first installment in our <a title="Hydra Community Principles: A Preview" href="http://yourmediashelf.com/?p=945">series on the Hydra Community Principles</a>.</p>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://upload.wikimedia.org/wikipedia/commons/6/6c/Hydra_04.jpg"><img title="Antique depiction of a hydra. (wikipedia)" src="http://upload.wikimedia.org/wikipedia/commons/6/6c/Hydra_04.jpg" alt="Antique depiction of a hydra." width="500" height="600" /></a><p class="wp-caption-text">Antique depiction of a hydra.</p></div>
<p><em>One Body, Many Heads</em> references our project&#8217;s namesake, <a title="Wikipedia: Hydra" href="http://en.wikipedia.org/wiki/Lernaean_Hydra">Hydra</a> (greek <a title="Ell-Lernaia Ydra.ogg" href="http://upload.wikimedia.org/wikipedia/commons/c/cd/Ell-Lernaia_Ydra.ogg"><em>Ὕδρα</em></a>), the fearsome water beast with more heads than an ancient greek painter could fit on a vase.  Anyone who&#8217;s watched Percy Jackson and the Lighting Thief knows that it&#8217;s really hard to hill a Hydra because every time you cut off one of its heads, two more spring up in its place.</p>
<p>We want to build digital repository solutions that are like the Hydra. We want to support many users interacting with diverse content in diverse ways while content accumulates in one repository.  By creating many Hydra Heads on top of a repository, each specifically addressing a particular type of user interacting with a certain set of content, we make our repository and its content more durable.  This is how our solutions live up to the name Hydra: One Repository exposed through many Hydra Heads.</p>
<p>In 2009/2010, we created three Hydra Heads as a starting point:</p>
<ul>
<li><strong>Hydrangea</strong>: a reference implementation focused on faculty self-submission of open access articles and datasets</li>
<li><strong>SALT</strong>: am EAD-aware toolkit for Luminaries to browse through &amp; annotate digitized versions of content they&#8217;ve submitted to university archives</li>
<li><strong>Stanford&#8217;s ETD Head</strong>: a solution for submission, review, and accessioning of students&#8217; Electronic Theses and Dissertations (ETDs)</li>
</ul>
<p>Based on our experiences building these three heads, we published a beta version of the Hydra Framework in July 2010.  Since then, teams of developers have begun using the Hydra Framework to build heads suited to the users and content they need to support.</p>
<p>The 2011 generation of heads is slated to include solutions for:</p>
<ul>
<li>Archival arrangement &amp; description of Born-digital materials</li>
<li>Creation &amp; dissemination of Image Collections</li>
<li>Creation &amp; dissemination of Audio &amp; Video collections</li>
<li>Management of Content Ingest Workflows</li>
<li>Dissemination of audio/video recordings from courses &amp; lectures</li>
<li>Laboratory Dataset Submission &amp; Management</li>
</ul>
<p>For an up to date list of know Hydra heads, see the <a title="Known Implementations of Hydra Heads" href="https://wiki.duraspace.org/display/hydra/Partners+and+Implementations">Known Implementations</a> page on the Hydra wiki.</p>
<p>Work on these solutions is being carried out by a distributed community of developers spread across multiple continents.  Where there&#8217;s a need, people are invited to pick up the code and start creating their own solutions.  The Hydra Framework and the Hydra Community are designed to support this distributed approach to innovation.</p>
<p><strong>One Hydra Framework &#8230; Many Heads &#8230; Many Teams &#8230; Many Types of Content &#8230; Many Users</strong></p>
<p>The Hydra Framework is the base of code that makes it possible for all of these Hydra Heads to crop up in response to specific needs.  It&#8217;s the basic DNA for repository solutions that combine the patterns of rapid application development with the sensibilities of ensuring re-use of both code and content.</p>
<p>Much of our effort over the past three years has focused on designing the Hydra Framework to support distributed development while also encouraging teams to share innovations and patterns across Hydra Heads.  What we&#8217;ve learned is that good code is not enough to achieve this.  We needed to encourage an entire culture of identifying, exchanging and applying best practices throughout the design, development, deployment, maintenance and usage of repository solutions.  The principle of One Body, Many Heads is equally applicable here: A single community with a shared goal has spawned many teams with their own eyes, ears, and fangs primed to attack the repository needs before them.</p>
<p>Next week: <a title="Principle: If you want to go fast, go alone.  If you want to go far, go together." href="http://yourmediashelf.com/2011/04/principle-if-you-want-to-go-fast-go-alone-if-you-want-to-go-far-go-together/"><em>If you want to go Fast, go alon</em>e. <em>If you want to go Far, go together.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://yourmediashelf.com/2011/04/principle-one-body-many-heads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://upload.wikimedia.org/wikipedia/commons/c/cd/Ell-Lernaia_Ydra.ogg" length="179332" type="audio/ogg" />
		</item>
	</channel>
</rss>
