<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.code4lib.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=174.142.104.57</id>
		<title>Code4Lib - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.code4lib.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=174.142.104.57"/>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/Special:Contributions/174.142.104.57"/>
		<updated>2026-06-25T19:34:50Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=View_architecture_and_control_flow&amp;diff=3771</id>
		<title>View architecture and control flow</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=View_architecture_and_control_flow&amp;diff=3771"/>
				<updated>2009-12-23T16:32:29Z</updated>
		
		<summary type="html">&lt;p&gt;174.142.104.57: /* Control flow: Points of intervention for a Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Part of [[Umlaut Technical Overview]]&lt;br /&gt;
&lt;br /&gt;
door11.txt;10;15&lt;br /&gt;
&lt;br /&gt;
door11.txt;10;15&lt;/div&gt;</summary>
		<author><name>174.142.104.57</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=View_architecture_and_control_flow&amp;diff=3770</id>
		<title>View architecture and control flow</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=View_architecture_and_control_flow&amp;diff=3770"/>
				<updated>2009-12-23T16:29:57Z</updated>
		
		<summary type="html">&lt;p&gt;174.142.104.57: /* Accessing response data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Part of [[Umlaut Technical Overview]]&lt;br /&gt;
&lt;br /&gt;
door11.txt;10;15&lt;br /&gt;
&lt;br /&gt;
=Control flow: Points of intervention for a Service=&lt;br /&gt;
&lt;br /&gt;
==view_data generation==&lt;br /&gt;
&lt;br /&gt;
When you call ServiceType.view_data, there is actually a somewhat indirected process that happens. This is to give the Service several points of intervention to customize the process of looking at the actual data stored in a ServiceResponse, and turn it into the conventional key/value pairs for view_data dictionary.  There are actually probably more points of intervention than needed, some are legacy.  The standard easiest thing to do is to let the ServiceResponse itself -be- that hash-like collection of keys and values, since ServiceResponse implements []. But there are several control points where this behavior can be customized. &lt;br /&gt;
&lt;br /&gt;
ServiceType.view_data is actually just a convenience, it really calls service.view_data_from_service_type(self). &lt;br /&gt;
&lt;br /&gt;
Service#view_data_from_service_type(service_type_join) will not normally be overridden by a subclass, although it could be for completely custom handling. But most service adaptor classes inherit the implementation from Service.  Service#view_data_from_service_type will first look for a method in the Service adaptor subclass that is named to_[service type name] for the type in question, eg to_fulltext, or to_help.  If such a method exists, it will be called, and is expected to return a hash-like object. So this is one place a Service can put custom logic for creating that hash-like object. &lt;br /&gt;
&lt;br /&gt;
But if not found, the default implementation of Service#view_data_from_service_type will instead call Service#response_to_view_data( service_response ) (Note the argument is a ServiceResponse, not a ServiceType). So this is another method an individual service class ''can'' override to provide a custom implementation--in this case, a custom implementation that isn't worried about the particular type, since that information isn't available here. &lt;br /&gt;
&lt;br /&gt;
And if ''that'' isn't provided, there is still an ultimate default action, which is just to return the ServiceResponse itself, which does implement the [] method to be a (duck-typed) hash-like object. &lt;br /&gt;
&lt;br /&gt;
So the point of all this is that an individual Service adaptor doesn't ''need'' to implement any of these methods, it can just store a ServiceResponse with the appropriate keys. For the majority of services, that will be sufficient. But if instead, manipulation at the point of display is convenient, there are various control points where the Service can be asked to create the hash-like view data object on the fly, instead of just using the ServiceResponse. &lt;br /&gt;
&lt;br /&gt;
==url generation==&lt;br /&gt;
&lt;br /&gt;
Clicks on service resposnes are sent through the [http://umlaut.rubyforge.org/api/classes/LinkRouterController.html LinkRouterController], with the id of the ServiceType involved. &lt;br /&gt;
&lt;br /&gt;
Again, the default behavior is for LinkRouterController to simply look at the view data under the key :url, and redirect the user to the value found there. But there are again points of intervention where the individual Service sub-class can customize this behavior--perhaps to only calculate the url at the point of need, not at the point of ServiceResponse generation. &lt;br /&gt;
&lt;br /&gt;
The controller actually calls Service#response_url( service_response ). The individual Service subclass can over-ride this method, which should return a url, to provide custom url generation.&lt;/div&gt;</summary>
		<author><name>174.142.104.57</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=C4L2010planning:_wishlist&amp;diff=3105</id>
		<title>C4L2010planning: wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=C4L2010planning:_wishlist&amp;diff=3105"/>
				<updated>2009-07-27T21:09:18Z</updated>
		
		<summary type="html">&lt;p&gt;174.142.104.57: /* Critical things that must work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Planning for Code4Lib 2010 in Asheville, NC&lt;br /&gt;
&lt;br /&gt;
ert wdefr &amp;lt;a href=&amp;quot; http://www.viddler.com/explore/allinder/ &amp;quot;&amp;gt;free xxx movies&amp;lt;/a&amp;gt; wdefsdrgvfb &amp;lt;a href=&amp;quot; http://www.viddler.com/explore/alline/ &amp;quot;&amp;gt;teens&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Internet ===&lt;br /&gt;
&lt;br /&gt;
* Host local mirror of #code4lib IRC - http://www.tummy.com/Community/Articles/pycon2007-network/&lt;br /&gt;
* Rent G3 line for dedicated access for speakers (?)&lt;br /&gt;
* Have a contingency aircard so at least speakers can go online (?)&lt;br /&gt;
* Hook up to UNCA's Internet connection from the hotel (?)&lt;br /&gt;
* bridge server (between outside and local wireless)?&lt;br /&gt;
* forwarding server?&lt;br /&gt;
* VPN needs to work&lt;br /&gt;
* higher ports need to work&lt;br /&gt;
* some wired access in room?&lt;br /&gt;
&lt;br /&gt;
=== Technology (non-internet) ===&lt;br /&gt;
* Multi-platform computer for presenters--mbklein has Mac/Windows, Ubuntu, Ctrl-key to swich beteween them&lt;br /&gt;
* One person suggests a google docs acct to pull presentations together (still need them offline and downloadable)&lt;br /&gt;
* Encourage those doing demos to do screencast backups&lt;br /&gt;
* Post all info in several places. Emailed info needs to be posted to website&lt;br /&gt;
&lt;br /&gt;
=== Social Activities ===&lt;br /&gt;
&lt;br /&gt;
* Signup sheet for nightly dinner activities &lt;br /&gt;
** pick out, say, 5 restaurants, encourage new attendees to connect&lt;br /&gt;
** make reservations!&lt;br /&gt;
* code4lib revue?&lt;br /&gt;
* Big enough hospitality suite/spare room for evening/break activities&lt;br /&gt;
* Provide paper maps for participants, info on places to go&lt;br /&gt;
* Game night (esp. board games and games like Werewolf)&lt;br /&gt;
* Bess' brother-in-law works at a microbrewery. Possible tour?&lt;br /&gt;
&lt;br /&gt;
=== Food &amp;amp; Drink ===&lt;br /&gt;
* solicit info about dietary needs&lt;br /&gt;
** vegan&lt;br /&gt;
** vegetarian&lt;br /&gt;
** other needs specified on registration forms&lt;br /&gt;
&lt;br /&gt;
* Requests &lt;br /&gt;
** sweet tea&lt;br /&gt;
** more beer (code4lib brew for the hospitality suite?)&lt;br /&gt;
** more happy hours (possibly a HH before LT?)&lt;br /&gt;
** hot breakfast&lt;br /&gt;
** candy &lt;br /&gt;
** hot soft pretzels &amp;amp; mustard&lt;br /&gt;
&lt;br /&gt;
=== Sponsorship ===&lt;br /&gt;
&lt;br /&gt;
* Potential sponsor and contact list&lt;br /&gt;
* Conference scholarships&lt;br /&gt;
** Consider scholarship for LIS graduate students, CS undergrads&lt;br /&gt;
* Andrew Nagy says: vendors want value, something tangible; can hit them up for more $&lt;br /&gt;
&lt;br /&gt;
=== Choosing speakers ===&lt;br /&gt;
* Ask people to write why they nominated keynote speakers&lt;br /&gt;
* Do we need more gender diversity of keynote &amp;amp; 20 minute talks? (Is this important to us?)&lt;br /&gt;
* Do we want to limit the number of speakers from any one organization?&lt;br /&gt;
* Do we want topic-based categories when voting?&lt;br /&gt;
** e.g. 5 high-geekiness talks&lt;br /&gt;
** e.g. 5 theory talks&lt;br /&gt;
** e.g. 5 UI/usability/design-centered talks&lt;br /&gt;
* Voting needs 2 criteria: geekiness and vote preference. (In 2008 the sum of these was the total IIRC)&lt;br /&gt;
* Reserve 1-2 spots in 20-minute talks for cutting edge speakers&lt;br /&gt;
* How do we ensure we get fresh topics? &lt;br /&gt;
* Do we combine pre-voting to avoid duplication?&lt;br /&gt;
&lt;br /&gt;
=== Attendees ===&lt;br /&gt;
* Who gets to come and how do we decide?&lt;br /&gt;
** Some suggestions included: require involvement if not previous attendance&lt;br /&gt;
** Some suggestions included: open to previous attendees a day before the main conference&lt;br /&gt;
** Some suggestions included: keep it as is&lt;br /&gt;
* How do we encourage international participation when we're not in the same town as an international airport?&lt;br /&gt;
* Can it be bigger? Do we want it to be? Or do we value the smaller crowd and the more personal, professional connections it affords?&lt;br /&gt;
* Who is the conference for?&lt;br /&gt;
** library systems&lt;br /&gt;
** software engineers&lt;br /&gt;
** programmers&lt;br /&gt;
** librarians&lt;br /&gt;
** designers&lt;br /&gt;
** ???&lt;br /&gt;
* &amp;quot;This is the only conference for coders&amp;quot;; &amp;quot;Saw no code, so I'm here to give a LT&amp;quot;&lt;br /&gt;
* Do-it-yourself crowd&lt;br /&gt;
&lt;br /&gt;
=== Choosing 2011 venue ===&lt;br /&gt;
* Announce the process early in the conference so that people can get set up with logins&lt;br /&gt;
* Reminder during the last day of voting&lt;br /&gt;
* Evaluate internet from 2010: do we need to be at a university for internet conference support?&lt;br /&gt;
&lt;br /&gt;
=== Integration with IRC, twitter stream, and other backstreams ===&lt;br /&gt;
* Is IRC the 'backchannel'? OR is the conference the once-yearly 'frontchannel'?&lt;br /&gt;
* Consider suggestions from http://pistachioconsulting.com/twitter-presentations/ regarding integration with backchannel. &lt;br /&gt;
** e.g. offer speakers help monitoring the channel ('an ombudsman for the audience')&lt;br /&gt;
* Advice from dev8 via BenO:&lt;br /&gt;
** @davetaz setup projection/feed of the twittered #dev8d tags + @andymcg set up a netvibe channel to follow the tags elsewhere @jschneider Twitter feed screen in bkgd of these photos: http://is.gd/jOwW http://is.gd/jOxd &amp;amp; see @jvvw review of event: http://is.gd/jOxy&lt;br /&gt;
* Make it easier for people to find IRC&lt;br /&gt;
** &amp;quot;code4lib station&amp;quot; with signup info and help?&lt;br /&gt;
* Not everybody multistreams. Would multiple rooms help (reduce volume)? Or...?&lt;br /&gt;
* Publish backchannel, e.g. http://reallywow.com/c4l09/logslice/20090225/14:00-14:20&lt;br /&gt;
&lt;br /&gt;
=== Openness &amp;amp; transparency, getting to know people ===&lt;br /&gt;
* a code4lib program/conference committee providing support and accumulated wisdom to the organizing committee&lt;br /&gt;
* Wordle nametags (popular at dev8. what happens if people don't have blogs/twitterstreams/friendfeed/etc?)&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Sync the timecode in the video with the IRC logs&lt;br /&gt;
* 3rd camera for IRC?&lt;br /&gt;
* Highlights reel from previous year at end of 2010 conference?&lt;br /&gt;
&lt;br /&gt;
=== Lightning Talks Do's and Don'ts ===&lt;br /&gt;
&lt;br /&gt;
* Have an MC/cat herder lined up in advance&lt;br /&gt;
* Don't have one entity do two LTs back to back&lt;br /&gt;
* Ask those who've already spoken to &amp;quot;go last&amp;quot; &lt;br /&gt;
** e.g. only present if there's time)-- &amp;quot;share the air&amp;quot;&lt;br /&gt;
** Do we need a policy or clarity on expectations? (e.g. no repeats)&lt;br /&gt;
* Create a LT do's and dont's page in the conference webspace&lt;br /&gt;
** link to existing LT advice&lt;br /&gt;
* 2 projectors, minimum. 3 if possible (3rd to display backchannels)&lt;br /&gt;
* make transitions to LT during coffeebreak or other downtime&lt;br /&gt;
&lt;br /&gt;
=== Advice for speakers ===&lt;br /&gt;
* Font up&lt;br /&gt;
* Speak up&lt;br /&gt;
* Introduce yourself&lt;br /&gt;
&lt;br /&gt;
=== Breakouts ===&lt;br /&gt;
* Consider setting 2-3 breakouts in advance&lt;br /&gt;
* Have 1-2 'unbreakout' sessions&lt;br /&gt;
* 11 is too many, IMO&lt;br /&gt;
* Trouble when different people are at different levels with a software discussed&lt;br /&gt;
** how to know in advance?&lt;br /&gt;
** Fedora access controls&lt;br /&gt;
&lt;br /&gt;
=== List of Interesting things in Asheville, for future reference ===&lt;br /&gt;
''see also [http://maps.google.com/maps/ms?ie=UTF&amp;amp;msa=0&amp;amp;msid=107701218656997471821.00046117cc493635eebc1 Google Map], [http://digital.library.appstate.edu/code4lib2010.html proposal]''&lt;br /&gt;
* The Chocolate Fetish&lt;br /&gt;
* Woolworth Gallery (collaborative arts and crafts sale space in an old Woolworth's, with intact, functional lunch bar and a Swedish furniture shop in the basement)&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib2010]]&lt;/div&gt;</summary>
		<author><name>174.142.104.57</name></author>	</entry>

	</feed>