<?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/"
	>

<channel>
	<title>NYPL Labs &#187; Mark A. Matienzo</title>
	<atom:link href="http://labs.nypl.org/author/mmatienzo/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.nypl.org</link>
	<description>The Process Behind the Product</description>
	<pubDate>Wed, 01 Jul 2009 15:16:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Batch Reindexing for Drupal + Solr</title>
		<link>http://labs.nypl.org/2009/05/13/batch-reindexing-for-drupal-solr/</link>
		<comments>http://labs.nypl.org/2009/05/13/batch-reindexing-for-drupal-solr/#comments</comments>
		<pubDate>Thu, 14 May 2009 05:51:21 +0000</pubDate>
		<dc:creator>Mark A. Matienzo</dc:creator>
		
		<category><![CDATA[drupal]]></category>

		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://labs.nypl.org/?p=739</guid>
		<description><![CDATA[Crossposted to thesecretmirror.com. Sorry for any duplication!
Hey, do you use Drupal on a site with several thousand nodes? Do you also use the Apache Solr Integration module? If you&#8217;re like me, you&#8217;ve probably needed to reindex your site but couldn&#8217;t be bothered to wait for those pesky cron runs to finish – in fact, that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><em>Crossposted to <a href="http://thesecretmirror.com/">thesecretmirror.com</a>. Sorry for any duplication!</em></p>
<p>Hey, do you use <a href="http://drupal.org/">Drupal</a> on a site with several thousand nodes? Do you also use the <a href="http://drupal.org/project/apachesolr">Apache Solr Integration module</a>? If you&#8217;re like me, you&#8217;ve probably needed to reindex your site but couldn&#8217;t be bothered to wait for those pesky cron runs to finish – in fact, that&#8217;s what led me to file a <a href="http://drupal.org/node/456420">feature request</a> on the module to begin with.</p>
<p>Well, fret no more, because thanks to me and <a href="http://labs.nypl.org/author/gkallenberg">Greg Kallenberg</a>, my illustrious fellow Applications Developer at <a href="http://labs.nypl.org/">NYPL DGTL</a>, you can finally use Drupal&#8217;s Batch API to reindex your site. The module is available as an <a href="http://drupal.org/files/issues/apachesolr_batch_reindex-6.x-1.1.tar_.gz">attachment</a> from that <a href="http://drupal.org/node/456420#comment-1587246">same issue node</a> on drupal.org.  Nota bene: this is a really rough module, with code swiped pretty shamelessly from the <a href="http://drupal.org/node/180528">Example Use of the Batch API</a> page on drupal.org. It works, though, and it works well enough as we tear stuff down and build it back up over and over again.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.nypl.org/2009/05/13/batch-reindexing-for-drupal-solr/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Going off the Rails: Really Rapid Prototyping With Drupal</title>
		<link>http://labs.nypl.org/2008/12/30/going-off-the-rails-really-rapid-prototyping-with-drupal/</link>
		<comments>http://labs.nypl.org/2008/12/30/going-off-the-rails-really-rapid-prototyping-with-drupal/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 06:21:01 +0000</pubDate>
		<dc:creator>Mark A. Matienzo</dc:creator>
		
		<category><![CDATA[Prototyping]]></category>

		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://labs.nypl.org/?p=409</guid>
		<description><![CDATA[The other Labs denizens and I are going off the rails on a crazy train deeper down the rabbit hole of reimplementing the NYPL site in Drupal. As I pile my work on the fire, I&#8217;ve found that building things in Drupal is easier than I&#8217;d ever thought it to be. It&#8217;s a scary thought, [...]]]></description>
			<content:encoded><![CDATA[<p>The other Labs denizens and I are <span style="text-decoration: line-through;">going off the rails on a crazy train</span> deeper down the rabbit hole of <a href="http://labs.nypl.org/2008/06/11/the-big-nyplorg-picture/">reimplementing the NYPL site in Drupal</a>. As I pile my work on the fire, I&#8217;ve found that building things in Drupal is easier than I&#8217;d ever thought it to be. It&#8217;s a scary thought, in part because I&#8217;m no fan of PHP (the language of Drupal&#8217;s codebase). Really, though, doing some things can be dead simple. It&#8217;s a bit of a truism in the Drupal world at this point that you can build a heck of a lot just by using the CCK and Views modules. The important part is that you can build a heck of a lot without really having to know a whole lot of code. This is what threw me off for so long - I didn&#8217;t realize that I was putting too much thought into building a model like I normally would with another application framework. CCK and Views = well and good for the simple stuff, but what about building out even more functionality?</p>
<p>The major roadblock that I&#8217;ve found is that working with Drupal requires a little bit of a paradigm shift if you&#8217;re used to using <abbr title="model-view-controller">MVC</abbr> frameworks like Rails, Django, or Zend. Instead, Drupal follows more of the <abbr title="presentation-abstraction-control">PAC</abbr> paradigm - a subtle difference, to be sure, but an important one. To me, the most important difference is the <a href="http://ctrl-shift-b.blogspot.com/2007/08/interactive-application-architecture.html#_Toc175317091">hierarchical structure of the paradigm</a>, which is well suited to representing hierarchical structures of information (n.b.: I&#8217;ll be writing more on this elsewhere, as I have an external project to talk about at some point). Regardless, once you shift your thinking to doing a few things in Drupal, you may experience the burning desire to do everything in Drupal. Occasionally, it can be contagious!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.nypl.org/2008/12/30/going-off-the-rails-really-rapid-prototyping-with-drupal/feed/</wfw:commentRss>
		</item>
		<item>
		<title>V8-Powered Libraries and the Happiness Engines that Run Them</title>
		<link>http://labs.nypl.org/2008/10/03/v8-powered-libraries-and-the-happiness-engines-that-run-them/</link>
		<comments>http://labs.nypl.org/2008/10/03/v8-powered-libraries-and-the-happiness-engines-that-run-them/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 17:00:59 +0000</pubDate>
		<dc:creator>Mark A. Matienzo</dc:creator>
		
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://labs.nypl.org/2008/10/03/v8-powered-libraries-and-the-happiness-engines-that-run-them/</guid>
		<description><![CDATA[
A week ago today, a few of my DEG colleagues and I went to see Liz Lawley from RIT&#8217;s Lab for Social Computing give a talk entitled &#8220;Libraries as Happiness Engines.&#8221; It was a modified version of a talk she gave at this year&#8217;s CiL conference. The gist of the talk was that gaming in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://digitalgallery.nypl.org/nypldigital/id?1255304" title="Games we used to play / writte... Digital ID: 1255304. New York Public Library"><img src="http://images.nypl.org/?id=1255304&amp;t=r" alt="Games we used to play / writte... Digital ID: 1255304. New York Public Library" title="Games we used to play / writte... Digital ID: 1255304. New York Public Library" align="left" /></a></p>
<p>A week ago today, a few of my <abbr title="Digital Experience Group">DEG</abbr> colleagues and I went to see <a href="http://mamamusings.net/">Liz Lawley</a> from <abbr title="Rochester Institute of Technology">RIT</abbr>&#8217;s <a href="http://social.it.rit.edu/">Lab for Social Computing</a> give a talk entitled &#8220;Libraries as Happiness Engines.&#8221; It was a modified version of a <a href="http://www.shushers.ca/cil2008/?p=14">talk she gave at this year&#8217;s <abbr title="Computers in Libraries">CiL</abbr> conference</a>. The gist of the talk was that <a href="http://gaming.ala.org/">gaming in libraries</a> means not just using established games to draw the public into the library, but also to begin implementing game mechanics into libraries that allow them to flourish as social spaces. In particular, these game mechanics include things like collecting, points, feedback, exchanges, and customization.</p>
<p>I&#8217;ve been ruminating on this for the last week or so in a couple different ways. First of all, I&#8217;ve been trying to figure out how we could implement game mechanics within NYPL. </p>
<p><span id="more-371"></span></p>
<p>A lot of the work that we&#8217;ve been doing involves developing a social space for both NYPL staff and the public through our <a href="http://labs.nypl.org/2008/06/11/the-big-nyplorg-picture/">site redesign</a>. However, I still wonder motivates a patron to interact with us using our website. Right now, the only &#8220;social&#8221; aspect of our site is the ability to comment on blog posts - how can we expand this? At a basic, collection-focused level, we could develop a simple online scavenger hunt using materials in the NYPL <a href="http://digitalgallery.nypl.org/">Digital Gallery</a>. We don&#8217;t need to have prizes - as Lawley and game theorist <a href="http://www.avantgame.com/">Jane McGonigal</a> suggest, friendly competition is motivation enough for people to participate and to continue participating in games.</p>
<p>I&#8217;ve also been thinking about what it would take to put together an <a href="http://en.wikipedia.org/wiki/Alternate_reality_game">alternate reality game</a> within a large institution like NYPL or a forecasting game involving libraries. I&#8217;ve been really fascinated by the creation of <a href="http://avantgame.blogspot.com/2008/09/superstruct-story-begins-today.html"> Superstruct</a>, a <a href="http://www.iftf.org/node/2317">project</a> of the Institute for the Future, and since a Superstruct scenario was created by the <a href="http://www.aam-us.org/cff.cfm">American Association of Museums</a>:</p>
<blockquote><p>    It’s 2019. Your museum is informed that an international group currently touring your building was exposed to the latest deadly strain of Respiratory Distress Syndrome. You are instructed to lock down the museum and shelter staff and visitors in place while authorities determine whether anyone is infected. Are you prepared to deal with this?</p>
<p>Other snapshots from 2019: Is your museum ready to help your community cope with an influx of refugees fleeing climate change, food shortages and political upheaval? How will your operations change in the face of soaring energy prices or collapse of the food production and distribution system? Your museum depends on its website to deliver information and attract visitors, but your content has been corrupted repeatedly in the past few months by hackers attempting to undermine your credibility. How do you adapt?</p></blockquote>
<p>In addition, the <a href="http://americanart.si.edu/luce/index.cfm">Luce Foundation Center</a> at the <a href="http://americanart.si.edu/">Smithsonian American Art Museum</a> has developed an ARG called <a href="http://ghostsofachance.com/">Ghosts of a Chance</a>, wherein players create artifacts for display that also unlock further parts of the game. As <a href="http://museumtwo.blogspot.com/2008/09/arg-at-smithsonian-games-collections.html">this post on the blog Museum 2.0</a> says, ARGS require narrative consistency that is incredibly demanding; as such, cultural heritage institutions may be weary to participate as they might have to open their practices to greater scrutiny and mislead patrons intentionally to advance the narrative of the game. <a href="http://www.citymystery.net/">City Mystery</a>, one of the producers of Ghosts of a Chance apparently &#8220;develop[s] and deliver[s] alternate reality games to benefit city libraries, museums, and other cultural institutions.&#8221; What I want to know is what <em>other institutions</em> have employed City Mystery (their website is as vague as the entry points for many ARGS!). Also, why are libraries so far behind museums in this regard? Public libraries need to get into the ARG business - drawing people in for ludic reasons might really help draw them in when they are in the mode of information seeking. In addition, ARGs are often driven by information seeking behavior. Why shouldn&#8217;t we think of using them as a means to make library instruction fun?</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.nypl.org/2008/10/03/v8-powered-libraries-and-the-happiness-engines-that-run-them/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Slaying the Scary Monsters</title>
		<link>http://labs.nypl.org/2008/09/08/slaying-the-scary-monsters/</link>
		<comments>http://labs.nypl.org/2008/09/08/slaying-the-scary-monsters/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 22:55:53 +0000</pubDate>
		<dc:creator>Mark A. Matienzo</dc:creator>
		
		<category><![CDATA[Collaboration]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Workflow]]></category>

		<category><![CDATA[failure]]></category>

		<guid isPermaLink="false">http://labs.nypl.org/2008/09/08/slaying-the-scary-monsters/</guid>
		<description><![CDATA[
Getting up to speed is hard anywhere, and it&#8217;s especially difficult in a large, complex institution like NYPL. Other than just understanding the projects that you&#8217;re given, you also are thrown headfirst into making sense of the culture, the organization, and all the unspoken and occasionally unseen things that allow you to do your job. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://digitalgallery.nypl.org/nypldigital/id?434322" title="Drawings of monster and devil. Digital ID: 434322. New York Public Library"><img src="http://images.nypl.org/?id=434322&amp;t=r" alt="Drawings of monster and devil. Digital ID: 434322. New York Public Library" title="Drawings of monster and devil. Digital ID: 434322. New York Public Library" /></a></p>
<p>Getting up to speed is hard anywhere, and it&#8217;s especially difficult in a large, complex institution like <abbr title="The New York Public Library">NYPL</abbr>. Other than just understanding the projects that you&#8217;re given, you also are thrown headfirst into making sense of the culture, the organization, and all the unspoken and occasionally unseen things that allow you to do your job. There&#8217;s no clear place to start this, so a good portion of the time you have to keep on top of that while you start thrashing away at your work. The question remains, though, how do you organize this stuff? How do you enable sensemaking in yourself and your peers?</p>
<p><span id="more-366"></span></p>
<p>I don&#8217;t have a definitive answer, and I haven&#8217;t entirely decided how to do this on day-to-day or sustainable terms. I&#8217;ve found myself relying on various things to begin this process of cognitive ordering. Basecamp couldn&#8217;t do it all, so <a href="http://www.bookism.org/open/">Jay</a> and I threw together <a href="http://labs.nypl.org/2008/08/15/tracking-projects/">Labs Code</a> in an hour or so. There are still plenty of other things that Labs Code can&#8217;t track, so I started throwing things like meeting minutes I typed up in various places. I keep dreaming of one big bucket to capture it all, but there&#8217;s none in sight. I also keep asking myself the same set of questions over and over again: &#8220;Other people do this here, right?&#8221; &#8220;Why can&#8217;t we do this collectively for every one of our projects?&#8221;</p>
<p>I don&#8217;t have an answer for these questions either, but I&#8217;ve been looking for answers elsewhere by reading voraciously, as is my wont. I recently finished Scott Rosenberg&#8217;s <em><a href="http://www.dreamingincode.com/">Dreaming In Code</a></em>, and I&#8217;m almost finished with <a href="http://www.cs.unc.edu/~brooks/">Frederick Brooks</a>&#8216; <em><a href="http://en.wikipedia.org/wiki/The_Mythical_Man-Month">The Mythical Man-Month</a></em>. These books are both inspirationally and terrifyingly educational as I watch scenarios from both of these works play out with projects here.</p>
<p><em>Dreaming In Code</em> describes <a href="http://en.wikipedia.org/wiki/Mitch_Kapor">Mitch Kapor</a>&#8217;s project to put together truly revolutionary, open source PIM software (hey, knowledge organization!). The project resulted in <a href="http://chandlerproject.org/">Chandler</a>, which just hit 1.0 last month. It&#8217;s a fair characterization of software development between the idealization of wanting to get something cool out the door and the reality that you can&#8217;t really get anything done without a clear idea of what you&#8217;re supposed to be doing. Rosenberg invokes Brooks&#8217; work repeatedly, as we watch the Chandler team run into the full force of &#8220;Brooks&#8217; Law&#8221; over and over again: <em>Adding manpower to a late software project makes it later.</em> Brooks reworks this into a more comprehensible statement: <em>Adding people to a software project increases the total effort necessary in three ways: the work and disruption of repartitioning itself, training the new people, and added intercommunication.</em> As Labs grows, I see (and have seen) us getting tripped up in the same way.</p>
<p>The twenty-fifth anniversary edition of <em>The Mythical Man-Month</em> also reprints an essay entitled &#8220;<a href="http://www.virtualschool.edu/mon/SoftwareEngineering/BrooksNoSilverBullet.html">No Silver Bullet &#8212; Essence and Accident in Software Engineering</a>.&#8221; Brooks warns us that &#8220;there is no single development, in either technology or management technique&#8221; that will reliably make software development run more smoothly. However, the rest of <em>The Mythical Man-Month</em> provides a fair number of suggestions on how to organize people and information to make things run slightly more smoothly.</p>
<p>I understand that any methodology might not be our silver bullet for slaying the werewolf, but we need to start somewhere. Clearly defined specifications are obviously not fun to write, but everyone feels better once they&#8217;re done. It&#8217;s easier to put tangible deadlines on things when you know all the constituent tasks. In addition, I know that I&#8217;d greatly benefit from having project managers around to resolve disputes or help me get resources when needed rather than me having to do that and, so to speak, be on the shoproom floor.</p>
<p>The final question for the time being is how to begin this when you&#8217;ve only had only occasional contact with this sort of thing. I never worked as a developer before, and I know I can&#8217;t just waltz in and begin espousing <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum</a> or whatever. How do you begin writing specs when you don&#8217;t know how? How detailed do you go? It&#8217;s clear we need them, though, because the werewolves, vampires, and demons have been stalking us for far too long! If we can&#8217;t find our silver bullet, let&#8217;s band together and at least build some pitchforks.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.nypl.org/2008/09/08/slaying-the-scary-monsters/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
