<?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>Patronizing</title>
	<atom:link href="http://www.patronizing.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.patronizing.org</link>
	<description>Fighting the Information Oligarchy</description>
	<lastBuildDate>Sun, 03 May 2009 21:18:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Modrupal: A library for Drupal mobile web services</title>
		<link>http://www.patronizing.org/2009/05/03/drupal-mobile-web-services/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=drupal-mobile-web-services</link>
		<comments>http://www.patronizing.org/2009/05/03/drupal-mobile-web-services/#comments</comments>
		<pubDate>Sun, 03 May 2009 21:17:59 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[webservices]]></category>
		<category><![CDATA[xmlrpc]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=36</guid>
		<description><![CDATA[To enable sharing of Logo programs on mobile devices, I needed to setup a social website. But there are a ton of things I didn&#8217;t want to deal with: User authentication and management, content management, support for a simple remote &#8230; <a href="http://www.patronizing.org/2009/05/03/drupal-mobile-web-services/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>To enable sharing of Logo programs on mobile devices, I needed to setup a social website.  But there are a ton of things I didn&#8217;t want to deal with: User authentication and management, content management, support for a simple remote service API.  Fortunately, the <a href="http://drupal.org/">Drupal</a> platform provided almost everything I needed.  Drupal is an awesome content management system that has a very active user-supported module system.</p>
<p>One of the modules that users have developed is a <a href="http://drupal.org/project/Services">web services interface to Drupal</a>.  Many of the basic core features are exposed, and developers can create additional interfaces to other modules.</p>
<p>Unfortunately, there wasn&#8217;t much help available for Java developers.  From the looks of it,  AIR/Flex/Flash is getting some serious developer time right now.  To support the <a href="http://www.patronizing.org/2009/01/15/new-project-for-the-new-year/">Logo project</a>, I developed a Java library for mobile web services with Drupal.  The library is fairly basic right now, but it should be easier to get started now.</p>
<p>Here&#8217;s an example of using it to call the system.connect method:</p>
<p><code><br />
ModrupalServiceClient client =<br />
            new ModrupalServiceClient(url, api_key, domain);<br />
SystemService system = new SystemService(client);<br />
Hashtable res = system.connect();<br />
</code></p>
<p>I&#8217;m releasing the code under the GPL 3.0.  Feel free to use it for your own projects.</p>
<p><a href="http://www.patronizing.org/projects/modrupal/">Modrupal mobile library for Drupal web services</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2009/05/03/drupal-mobile-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a site around LOGO programs</title>
		<link>http://www.patronizing.org/2009/04/08/building-a-site-around-logo-programs/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-a-site-around-logo-programs</link>
		<comments>http://www.patronizing.org/2009/04/08/building-a-site-around-logo-programs/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 19:23:22 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=32</guid>
		<description><![CDATA[The next phase of the mobile LOGO interpreter is adding the ability to share your LOGO programs with other users. I&#8217;ve been looking for a pre-built social networking platform that lets you easily build sites around different objects. The thing &#8230; <a href="http://www.patronizing.org/2009/04/08/building-a-site-around-logo-programs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The next phase of the mobile LOGO interpreter is adding the ability to share your LOGO programs with other users.  I&#8217;ve been looking for a pre-built social networking platform that lets you easily build sites around different objects.  The thing is, I don&#8217;t want to deal with a lot of the basic architecture.  Basic things like authentication, comments, user management, etc.  I just want to work on the custom code related to sharing LOGO code and snippets.</p>
<p>My choice for platform is currently <a href="http://drupal.org/">Drupal</a>.  It has a wonderful development community that is very active.  There is a rich ecosystem of modules and plugins that will let you do almost anything you can think of.  Chances are, if you&#8217;re thinking about it, somebody has written a module to do it.  I&#8217;m currently sketching designs for the site and what the basic interactions are.</p>
<p>Then today I saw the following post on ReadWriteWeb about <a href="http://www.readwriteweb.com/archives/building_sites_around_social_objects_live_from_web.php">Building sites around social objects</a>.  They point out a common pattern in social networking/media sites.  These sites are usually built around objects of some type.  For Facebook it&#8217;s people, but del.icio.us, it&#8217;s bookmarks, for Flickr it&#8217;s photos.  But this pattern pops up again and again.  I&#8217;m still going with Drupal for the site, but I&#8217;ll keep in mind the brilliant insight when designing the LOGO sharing modules.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2009/04/08/building-a-site-around-logo-programs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Parsing LOGO</title>
		<link>http://www.patronizing.org/2009/01/18/parsing-logo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=parsing-logo</link>
		<comments>http://www.patronizing.org/2009/01/18/parsing-logo/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 04:59:35 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[compilers]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[elearning]]></category>
		<category><![CDATA[interpreters]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=21</guid>
		<description><![CDATA[This weekend I added variables and arguments to the LOGO interpreter for mobile phones I&#8217;m working on. This was much more difficult than I was anticipating. Originally, I wrote the interpreter parser using the CUP LALR parser generator for Java. &#8230; <a href="http://www.patronizing.org/2009/01/18/parsing-logo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This weekend I added variables and arguments to the LOGO interpreter for mobile phones I&#8217;m <a href="http://www.patronizing.org/?p=18">working on</a>.  This was much more difficult than I was anticipating.</p>
<p>Originally, I wrote the interpreter parser using the <a href="http://www2.cs.tum.edu/projects/cup/">CUP LALR parser generator</a> for Java.  When I was evaluating whether to write the parser by hand, or use a parser generator, I decided having the ability to quickly and easily mess with the grammar was a big plus.</p>
<p>If you&#8217;re not familiar with parser generators like CUP or yacc, they turn compiler development into something fun.  Instead of juggling finite automata and parser tables in your head, you just specify a language grammar, along with a set of semantic actions, and out comes a parser.  In the case of my interpreter, the parser is outputting an abstract syntax tree (AST), which is a tree representation of the LOGO code.  The interpreter then evaluates the program by walking the tree.</p>
<p>For example, consider the following CUP grammar rule for a REPEAT command:</p>
<p><code><br />
loop ::= REPEAT INTEGER:n list:l<br />
      {: RESULT = new LogoRepeat((LogoCmds)l, n.intValue()); :}<br />
       ;<br />
</code></p>
<p>This tells the parser that when it sees a REPEAT command in the token stream, it should emit a new AST node (LogoRepeat).  LALR parsers are bottom up parsers.  The AST is built up from the leaves to the root node.</p>
<p>So far so good.  Using CUP I was able to quickly prototype the interpreter, and focus on the interface and device porting work.  Then I tried adding variables and procedure arguments.</p>
<p>LOGO is a functional language based on LISP, except without the parentheses.  LISP, aka Lots of Irritating Superfluous Parentheses.  Turns out those parentheses aren&#8217;t that superfluous.</p>
<p>Consider the following procedure call in LOGO:</p>
<p><code>SUM SIN 90 3</code></p>
<p>This is fairly easy to parse, SIN takes one argument, SUM takes two, so the parse should look like this:</p>
<p><code>(SUM (SIN 90) 3)</code></p>
<p>The problem comes when we let users define their own procedures.  How do we parse the following:</p>
<p><code>foo bar 1 2</code></p>
<p>There are three possible parses, depending on the number of arguments each procedure takes, assuming it&#8217;s a valid statement in the first place:<br />
<code><br />
(foo (bar 1 2))<br />
(foo (bar 1) 2)<br />
(foo (bar) 1 2)<br />
</code></p>
<p>So, the correct parse depends on the number of parameters, or arity, of the function.  Unfortunately, that information is not available at the level of the syntactic parser, it&#8217;s gained through semantic analysis.  The LOGO language is not context-free (this is equivalent to example 4.12 in the first edition of the <a href="http://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811/">dragon book</a>.  Languages like LISP and C have those wonderful parentheses indicating the begin and end of procedure calls.</p>
<p>So, how do we fix this?  One solution is to feed semantic information into the syntactic parsing stage.  Procedures and variables are kept in a symbol table, which can be referenced in semantic actions while parsing to disambiguate the grammar.  This complicates the simple mapping of the grammar to the AST, reducing the readability of it.  I didn&#8217;t find a way of dynamically modifying the parser with CUP or JFlex, so I started exploring some other Java parser generators.  Unfortunately, ANTLR uses several Java foundation classes that are not included in the MIDP 2.0 standard.</p>
<p>So, it&#8217;s back to writing the parser by hand.  Which is actually a lot more fun than I first thought.  <a href="http://steve-yegge.blogspot.com/2007/06/rich-programmer-food.html">Steve Yegge</a> is right, if you don&#8217;t know compilers, you don&#8217;t know computers.  For that matter, you don&#8217;t really know programming languages either.  Compiler design touches every aspect of computer science.  It also changes the way you think.  Programs stop being static objects you write, and turn into dynamic evolving structures.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2009/01/18/parsing-logo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New project for the new year</title>
		<link>http://www.patronizing.org/2009/01/15/new-project-for-the-new-year/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-project-for-the-new-year</link>
		<comments>http://www.patronizing.org/2009/01/15/new-project-for-the-new-year/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 17:54:25 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[education]]></category>
		<category><![CDATA[elearning]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=18</guid>
		<description><![CDATA[This is my last semester at the School of Information at umich. I&#8217;m only taking a few courses, and no longer working on a thesis, so I have some extra time for my passions. One of those passions is educational &#8230; <a href="http://www.patronizing.org/2009/01/15/new-project-for-the-new-year/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is my last semester at <a href="http://www.si.umich.edu/">the School of Information at umich</a>.  I&#8217;m only taking a few courses, and no longer working on a thesis, so I have some extra time for my passions.</p>
<p>One of those passions is educational software.  Does anyone remember LOGO?  Turtle graphics?  For a brief period in the late 70s and early 80s, thousands of schools throughout the country introduced children to a computer language called <a href="http://el.media.mit.edu/Logo-foundation/logo/index.html">LOGO</a>.  Kids could program a little computer turtle (usually represented as a triangle) to move around on screen.  The creators of Logo (primarily Seymour Papert) saw it as a revolutionary new educational philosophy.  The idea was to get children actively involved in the learning process.  Students learn by actually creating and interacting with their world.</p>
<p>LOGO has since died off, but it impacted a lot of people, including myself.  For an entrepreneurship course this past semester, we wrote business plans.  My business plan was for a software company that designs revolutionary educational mobile software.  Software like LOGO and <a href="http://en.wikipedia.org/wiki/Robot_Odyssey">Robot Odyssey</a>.</p>
<p>So, over the past week, I&#8217;ve been working on a LOGO implementation for cell phones.  I have an initial version running now, which you can see below in an emulator:</p>
<p><img src="http://www.thedomokun.com/~josh/mobilogo/startscreen.png"/></p>
<p>It looks simple, but underneath that simplicity is a full programming language.  To assist users who are on cell phones without keyboards, I used a menu system like the one used in the wonderful <a href="http://midp-calc.sourceforge.net/">Calc</a> project:</p>
<p><img src="http://www.thedomokun.com/~josh/mobilogo/menu1.png" width="200"/><img src="http://www.thedomokun.com/~josh/mobilogo/menu2.png" width="200"/><img src="http://www.thedomokun.com/~josh/mobilogo/menu3.png" width="200"/></p>
<p>I&#8217;ve got versions working for MIDP 2.0 devices and current generation (Pearl on up) BlackBerry devices.   You can download them from the URLs below:</p>
<p><a href="http://www.thedomokun.com/~josh/mobilogo/com_itsdarkhere_mobilogo_BBMobiLogo.cod">BlackBerry COD file</a></p>
<p><a href="http://www.thedomokun.com/~josh/mobilogo/mobilogo.jad">J2ME jad file</a><br />
<a href="http://www.thedomokun.com/~josh/mobilogo/mobilogo.jar">J2ME jar file</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2009/01/15/new-project-for-the-new-year/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why trees are important</title>
		<link>http://www.patronizing.org/2007/04/10/why-trees-are-important/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-trees-are-important</link>
		<comments>http://www.patronizing.org/2007/04/10/why-trees-are-important/#comments</comments>
		<pubDate>Tue, 10 Apr 2007 20:08:11 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[algorithms]]></category>
		<category><![CDATA[data structures]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[si]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=17</guid>
		<description><![CDATA[Trees the data structures that is. We&#8217;re covering them right now in SI 503, the search and retrieval foundation course at SI. Throughout the semester, we&#8217;ve heard grumblings from the library and archive folk about how this isn&#8217;t really relevant &#8230; <a href="http://www.patronizing.org/2007/04/10/why-trees-are-important/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Trees the data structures that is.  We&#8217;re covering them right now in <a href="http://www-personal.umich.edu/~ladamic/si503w07/">SI 503</a>, the search and retrieval foundation course at SI.  Throughout the semester, we&#8217;ve heard grumblings from the library and archive folk about how this isn&#8217;t really relevant to their fields.  I&#8217;m sure I&#8217;ll hear more in discussion today.  The funny thing is, having taken a few data structures and algorithms courses with computer science students, many of them complain about the same thing: &#8220;I&#8217;m never going to use this in my real job.&#8221;</p>
<p>One the surface, they&#8217;re right.  For the most part, many of them will be using already existing classification systems and existing programming libraries so they don&#8217;t have to think about that stuff.</p>
<p>But underneath the surface, recursion is a fundamental principle of nature.  Chomsky got that when he developed his theory of syntax.  And it extends beyond language to the entire human mind (for a great introduction to recursion and cognitive science, check out <a href="http://www.amazon.com/Godel-Escher-Bach-Eternal-Golden/dp/0465026567">Godel, Escher, Bach: An Internal Golden Braid</a>).  And even on the surface we see signs of recursion, from <a href="http://mitpress.mit.edu/books/FLAOH/cbnhtml/slides.html">ferns and trees</a> to <a href="http://mathdl.maa.org/images/cms_upload/nautilus208363.jpg">nautilus shells</a>, they all show recursive patterns.  This isn&#8217;t just some abstract mathematical mumbo-jumbo.  Understanding trees and recursion will better help you model information about the real world.</p>
<p>As a librarian, if you&#8217;re designing a new classification scheme, chances are you&#8217;re designing a tree, or a series of trees (also called a <a href="http://en.wikipedia.org/wiki/Tree_data_structure#Trees_as_graphs">forest</a>.)  Understanding trees and search on trees is going to help you help your users find information faster.</p>
<p>To be sure, recursion isn&#8217;t an easy concept to grasp.  Everyone suffering through 503 should keep in mind that many computer science students are also having trouble with the idea of recursion.  I&#8217;d be willing to bet that a good majority of computer science graduates don&#8217;t actually &#8220;get&#8221; recursion.  Sure, they all had to write a fibonacci sequence generator for their introductory programming course, but after that it was kind of forgotten (which might explain why so many have problems with their compilers and interpreters course work).</p>
<p>And of course, all of this work shows another important core principle from 503, the idea of <a href="http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm">&#8220;divide-and-conquer&#8221; algorithms</a> and logarithms.  They&#8217;re all related.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2007/04/10/why-trees-are-important/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>One Laptop Per Child screenshots</title>
		<link>http://www.patronizing.org/2007/03/12/one-laptop-per-child-screenshots/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=one-laptop-per-child-screenshots</link>
		<comments>http://www.patronizing.org/2007/03/12/one-laptop-per-child-screenshots/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 22:05:56 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[manets]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[reputation systems]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=16</guid>
		<description><![CDATA[Boing Boing has links to screenshots of Sugar, the desktop interface for the One Laptop Per Child project. It uses wireless ad-hoc networking to build several &#8220;views&#8221; that allow users to interact with other users on the network. It&#8217;s a &#8230; <a href="http://www.patronizing.org/2007/03/12/one-laptop-per-child-screenshots/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Boing Boing has links to <a href="http://www.boingboing.net/2007/03/12/screenshots_of_os_fo.html">screenshots of Sugar</a>, the desktop interface for the One Laptop Per Child project.  It uses wireless ad-hoc networking to build several &#8220;views&#8221; that allow users to interact with other users on the network.  It&#8217;s a very innovative and fresh approach to interface design, really integrating social actions into the core of the desktop.</p>
<p>Part of the reason I applied to the School of Information was an interest in mobile ad-hoc networks (commonly called mesh networks) and social issues on those networks.  It&#8217;ll be interesting to see how the OLPC project deals with issues such as free-riders and free-loaders on the mesh.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2007/03/12/one-laptop-per-child-screenshots/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C-SPAN introduces new copyright policy</title>
		<link>http://www.patronizing.org/2007/03/07/c-span-introduces-new-copyright-policy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=c-span-introduces-new-copyright-policy</link>
		<comments>http://www.patronizing.org/2007/03/07/c-span-introduces-new-copyright-policy/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 23:55:54 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[congress]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[law]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=15</guid>
		<description><![CDATA[C-SPAN has changed their copyright for most of their videos to a creative commons type license. You can read about the change in the C-SPAN press release. At the bottom of their main page, there is a link to their &#8230; <a href="http://www.patronizing.org/2007/03/07/c-span-introduces-new-copyright-policy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>C-SPAN has changed their copyright for most of their videos to a creative commons type license.  You can read about the change in the <a href="http://www.c-span.org/about/press/release.asp?code=video">C-SPAN press release</a>.  At the bottom of their main page, there is a link to their copyright policy.</p>
<blockquote><p>
C-SPAN&#8217;s RSS feeds and audio/video files are made available free of charge for use by individuals for personal, non-commercial uses, but they are still fully protected by copyright.</p>
<p>Except as specifically permitted by this policy, C-SPAN&#8217;s RSS feeds and audio/video files may not be used for any political, commercial or otherwise unauthorized purpose. Any posting, retransmission, sale, public performance or other unauthorized duplication of the audio/video files is strictly prohibited.
</p></blockquote>
<p>One thing I noticed is that they don&#8217;t allow you to use the content for &#8220;political&#8221; purposes.  That&#8217;s a rather strange restriction.  Why else would I want to use political videos if not for political purposes.  I assume this doesn&#8217;t include parody, but it is an unnecessary restriction that could ensnare bloggers and artists.  In fact, it seems to go against the very reason they proclaim in their press release:</p>
<blockquote><p>
&#8220;As technology advances, we want to continue to be a leader in providing citizens with the tools to be active participants in the democratic process.
</p></blockquote>
<p>Wouldn&#8217;t letting people use your content for political purposes help them become active participants, and not just viewers and consumers?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2007/03/07/c-span-introduces-new-copyright-policy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenCongress puts a new face on thomas.loc.gov</title>
		<link>http://www.patronizing.org/2007/02/26/opencongress-puts-a-new-face-on-thomaslocgov/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=opencongress-puts-a-new-face-on-thomaslocgov</link>
		<comments>http://www.patronizing.org/2007/02/26/opencongress-puts-a-new-face-on-thomaslocgov/#comments</comments>
		<pubDate>Mon, 26 Feb 2007 19:16:46 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[congress]]></category>
		<category><![CDATA[law]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=14</guid>
		<description><![CDATA[I often find myself trudging through thomas.loc.gov trying to keep up on civil liberties related legislation. It&#8217;s a great resource, but not the most friendly. The people behind Democracy the Internet media player have created OpenCongress, which is somewhat similar &#8230; <a href="http://www.patronizing.org/2007/02/26/opencongress-puts-a-new-face-on-thomaslocgov/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I often find myself trudging through <a href="http://thomas.loc.gov/">thomas.loc.gov</a> trying to keep up on civil liberties related legislation.  It&#8217;s a great resource, but not the most friendly.  The people behind <a href="http://www.getdemocracy.com/">Democracy</a> the Internet media player have created <a href="http://www.opencongress.org/">OpenCongress</a>, which is somewhat similar to <a href="http://www.theyworkforyou.com/">TheyWorkForYou</a>.  It allows you to keep up-to-date on legislation moving through Congress.  Nifty features include the ability to subscribe to feeds on bills and members of congress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2007/02/26/opencongress-puts-a-new-face-on-thomaslocgov/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blackboard, Microsoft and Wikipedia</title>
		<link>http://www.patronizing.org/2006/08/31/blackboard-microsoft-and-wikipedia/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blackboard-microsoft-and-wikipedia</link>
		<comments>http://www.patronizing.org/2006/08/31/blackboard-microsoft-and-wikipedia/#comments</comments>
		<pubDate>Fri, 01 Sep 2006 01:12:04 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[elearning]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[patents]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=13</guid>
		<description><![CDATA[I don&#8217;t usually write about elearning environments, but there&#8217;s something fishy happening right now in the elearning world. Blackboard was recently awarded a broad patent covering a lot of elearning tech., most of it with prior art. Tim O&#8217;Reilly has &#8230; <a href="http://www.patronizing.org/2006/08/31/blackboard-microsoft-and-wikipedia/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t usually write about elearning environments, but there&#8217;s something fishy happening right now in the elearning world.</p>
<p>Blackboard was recently awarded a broad patent covering a lot of elearning tech., most of it with <a href="http://en.wikipedia.org/wiki/History_of_virtual_learning_environments">prior art</a>.  Tim O&#8217;Reilly has a great <a href="http://radar.oreilly.com/archives/2006/08/blackboard_elearning_patent.html">writeup</a> on the story.</p>
<p>Well, it turns out there&#8217;s more.  Pamela Jones of <a href="http://www.groklaw.net/">Groklaw</a> has an article in LWN talking about <a href="http://lwn.net/Articles/196897/">Microsoft investing in Blackboard</a>.  Considering their SCO connection, this strongly hints at a Microsoft attack on open source by proxy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2006/08/31/blackboard-microsoft-and-wikipedia/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Distributed Storage and Libraries</title>
		<link>http://www.patronizing.org/2006/08/21/distributed-storage-and-libraries/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=distributed-storage-and-libraries</link>
		<comments>http://www.patronizing.org/2006/08/21/distributed-storage-and-libraries/#comments</comments>
		<pubDate>Tue, 22 Aug 2006 02:44:51 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[dfs]]></category>
		<category><![CDATA[distributed file system]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.patronizing.org/?p=12</guid>
		<description><![CDATA[A recent post on distributed file systems got me thinking about their use in academic environments. Found via Slashdot, the article was about Cleversafe, a distributed file system licensed under the GPL. Libraries would be a perfect environment for distributed &#8230; <a href="http://www.patronizing.org/2006/08/21/distributed-storage-and-libraries/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A recent post on distributed file systems got me thinking about their use in academic environments.  Found via <a href="http://hardware.slashdot.org/article.pl?sid=06/08/21/1335206">Slashdot</a>, the article was about <a href="http://www.nytimes.com/2006/08/21/technology/21storage.html">Cleversafe</a>, a distributed file system licensed under the GPL.</p>
<p>Libraries would be a perfect environment for distributed storage.  Obviously, we always need space.  We&#8217;ve got hundreds of computers which are usually under low load.  And most have several gigabytes free.</p>
<p>All that&#8217;s needed is a server running on the public PCs that doesn&#8217;t interfere with normal use.</p>
<p>Wikipedia has some additional links on <a href="http://en.wikipedia.org/wiki/List_of_file_systems#Distributed_parallel_fault_tolerant_file_systems">Distributed parallel fault tolerant file systems</a>.  Another free distributed fault tolerant filesystem is <a href="http://wiki.apache.org/lucene-hadoop/HadoopOverview">Hadoop</a>, which seems to be vaguely based on GoogleFS.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patronizing.org/2006/08/21/distributed-storage-and-libraries/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

