<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for robla</title>
    <link>http://www.advogato.org/person/robla/</link>
    <description>Advogato blog for robla</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Tue, 21 May 2013 09:24:48 GMT</pubDate>
    <item>
      <pubDate>Thu, 8 Jul 2010 04:07:47 GMT</pubDate>
      <title>New gig: Wikimedia Foundation</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=32</link>
      <guid>http://blog.robla.net/2010/new-gig-wikimedia-foundation/</guid>
      <description>&lt;p&gt;As of last week, I&amp;#8217;m officially an employee of the Wikimedia Foundation.  Here&amp;#8217;s the &lt;a href="http://permalink.gmane.org/gmane.org.wikimedia.community.announce/17" &gt;the official announcement of WMF hiring me&lt;/a&gt;.  I&amp;#8217;ve been working there as a contractor for the past couple of months, and it&amp;#8217;s been a great experience so far.  I&amp;#8217;m working with a lot of really smart people that I stand to learn a great deal from.  I&amp;#8217;m pretty used to being the &amp;#8220;open source guy&amp;#8221; at the companies I&amp;#8217;ve worked at in the past, so it&amp;#8217;s going to be an interesting twist to work somewhere where publishing the source code (and most everything else, for that matter) is just a given.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Sun, 16 May 2010 21:08:45 GMT</pubDate>
      <title>On Diaspora</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=31</link>
      <guid>http://blog.robla.net/2010/on-diaspora/</guid>
      <description>&lt;p&gt;There&amp;#8217;s been a lot of &lt;a href="http://eu.techcrunch.com/2010/05/10/facebooks-byzantine-privacy-controls-produce-more-confusion/" &gt;hubbub about Facebook&amp;#8217;s ongoing tone-deafness regarding privacy&lt;/a&gt;.  As a result, there has also been a lot of hubbub about the &lt;a href="http://www.joindiaspora.com/" &gt;Diaspora project&lt;/a&gt;, with both &lt;a href="http://www.nytimes.com/2010/05/12/nyregion/12about.html" &gt;wildly optimistic&lt;/a&gt; projections of their success, as well as &lt;a href="http://twitter.com/aviel/status/13960806410" &gt;more&lt;/a&gt; &lt;a href="http://blog.ginsudo.com/2010/05/11/the-nature-of-their-game/" &gt;skeptical&lt;/a&gt; assessments.
&lt;p /&gt;
&lt;p&gt;I&amp;#8217;m skeptical about Diaspora specifically, because it reminds me a lot of an effort to take RealNetworks down a peg more than a decade ago.  In 1999, the &lt;a href="http://web.archive.org/web/20000620191251/http://www.free-expression.org/" &gt;Free Expression Project&lt;/a&gt; was started to &amp;#8220;help people distribute their content to other people without being beholden to any corporation&amp;#8221;.  A laudable goal, and one that earned them a &lt;a href="http://news.cnet.com/RealNetworks-besieged-by-open-source-plans/2100-1023_3-224699.html" &gt;fawning writeup on CNet News&lt;/a&gt;, which claimed that Real was under siege by these folks.  The project never seemed to make it much further than a website with a few diagrams, and nothing that came even close to challenging the streaming media hegemony we enjoyed at the time. (I was at Real from 1996-2005)
&lt;p /&gt;
&lt;p&gt;However, that&amp;#8217;s not really the whole story.  What the fawning press coverage indicated was that there were a lot of people who &lt;i&gt;wanted&lt;/i&gt; Real to be taken down a peg or two.  I imagine that the CNet reporter was as skeptical as anyone about the ability of the Free Expression Project to deliver, but he wrote the story anyway because he knew that people would eat it up.  He knew that story would generate traffic because people would see his headline, think &amp;#8220;Thank GOD!&amp;#8221;, and click through to read the story.  He was probably right.
&lt;p /&gt;
&lt;p&gt;It ultimately wasn&amp;#8217;t a ragtag band of open source developers that toppled Real&amp;#8217;s dominant position, but rather a one-two punch from Microsoft then Macromedia/Adobe.  Still, their job was made a lot easier by the prevailing mood.  When we &lt;a href="http://www.nytimes.com/2002/07/22/technology/22REAL.html" &gt;tried to rally the open source community a few years later&lt;/a&gt;, despite our success in landing deals with hardware vendors (which it &lt;a href="https://helixcommunity.org/products/partner_spotlight" &gt;appears they are still successful with&lt;/a&gt;), we didn&amp;#8217;t get a lot of &lt;a href="http://blog.robla.net/2008/hard-problem/" &gt;organic contribution&lt;/a&gt;.  By then, MPlayer, GStreamer, Xine, VLC and other efforts were already underway, and contributors to those projects had little incentive to join forces with us at that point.  The developers on those projects thought: &amp;#8220;we can do this better, and why would we want to help Real anyway?&amp;#8221;
&lt;p /&gt;
&lt;p&gt;Facebook has a pretty solid network lock-in going for them, so its not as though we&amp;#8217;re about to witness a sudden collapse of their market position.  However, they&amp;#8217;ve got a serious problem with their brand, and I wouldn&amp;#8217;t be surprised if Zuckerberg is in complete denial about it, preferring to think about the privacy controversy as a storm that will blow over soon enough.  It&amp;#8217;d be easy for the Facebook crew to believe that no one is going to be able to pull together all of the elements needed for head-to-head competition.  I&amp;#8217;m betting that&amp;#8217;s not how it plays out.  My guess is that someone like Twitter or Google figures out how to add just enough functionality that &lt;a href="http://www.prospect.org/cs/articles?article=farewell_facebook" &gt;many more people feel comfortable giving up on Facebook&lt;/a&gt;.  Moreover, if I were going into competition with Facebook, I think I&amp;#8217;d try to turn their strength into a weakness.  For example, for many younger people, a network not overrun with parents, grandparents and extended relatives &lt;a href="http://www.youtube.com/watch?v=o_QePidL750" &gt;might just be a selling point&lt;/a&gt;.
&lt;p&gt;I&amp;#8217;m not deleting my Facebook account anytime soon, but I know &lt;a href="http://mediacommons.futureofthebook.org/content/cultivated-play-farmville" &gt;I don&amp;#8217;t need everything Facebook currently offers&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Mon, 5 Apr 2010 23:08:41 GMT</pubDate>
      <title>Doing the conferency talky thing</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=30</link>
      <guid>http://blog.robla.net/2010/doing-the-conferency-talky-thing/</guid>
      <description>&lt;p&gt;&lt;div id="attachment_204" class="wp-caption alignright" style="width: 310px"&gt;&lt;a href="http://blog.robla.net/wp-content/uploads/2010/04/rob-hazel-2010-400x300px1.jpg" &gt;&lt;img src="http://blog.robla.net/wp-content/uploads/2010/04/rob-hazel-2010-400x300px1-300x225.jpg" alt="" title="rob-hazel-2010-400x300px" width="300" height="225" class="size-medium wp-image-204" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;That's me giving a lecture to my daughter about the importance of proper modularization in large scale development&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;
I didn&amp;#8217;t do much in the way of public speaking last year, but I&amp;#8217;m starting to make up for it this year.  Here&amp;#8217;s a few things I&amp;#8217;ve got coming up:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;April 13 &amp;#8211; &lt;a href="http://www.djangoseattle.org/blog/2010/mar/30/april-13th-django-lawnchair-lightning-talks/" &gt;Lighting talk at the Seattle Django Users Group&lt;/a&gt; &amp;#8211; this will be about &lt;a href="http://robla.net/jsonwidget" &gt;jsonwidget&lt;/a&gt;, which is shaping up nicely.  I&amp;#8217;m toying with the idea of making a Django interface for jsonwidget which will be the main point of the discussion.
&lt;/li&gt;
&lt;li&gt;April 24 or 25 (tbd) &lt;a href="http://linuxfestnorthwest.org/sessions/using-urwid-and-python-console-applications" &gt;LinuxFest Northwest (Bellingham) &amp;#8211; Using urwid and Python for console applications&lt;/a&gt; &amp;#8211; I&amp;#8217;ve had a pretty good experience working with &lt;a href="http://excess.org/urwid/" &gt;Urwid&lt;/a&gt; over the past couple of months or so, and I&amp;#8217;m planning to share what I&amp;#8217;ve learned.
&lt;/li&gt;
&lt;li&gt;July 21-22 &amp;#8211; Two talks at &lt;a href="http://www.oscon.com/oscon2010" &gt;O&amp;#8217;Reilly&amp;#8217;s Open Source Convention in Portland&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;July 21 &amp;#8211; &lt;a href="http://www.oscon.com/oscon2010/public/schedule/detail/13417" &gt;Financial Incentives in Open Source&lt;br /&gt;
&lt;/a&gt; &amp;#8211; this is a panel I&amp;#8217;ll be moderating, with a lot of really interesting people with a pretty broad range of experience.  &lt;a href="http://www.oscon.com/oscon2010/public/schedule/speaker/4708" &gt;Stormy Peters&lt;/a&gt; has given a lot of &lt;a href="http://www.youtube.com/watch?v=vzyaM7VWqOg" &gt;really&lt;/a&gt; &lt;a href="http://video.google.com/videoplay?docid=-6000071462331877503" &gt;good&lt;/a&gt; &lt;a href="http://video.google.com/videoplay?docid=-5661144261834801321" &gt;talks&lt;/a&gt; on the subject already.  &lt;a href="http://www.oscon.com/oscon2010/public/schedule/speaker/8837" &gt;Leslie Hawthorn&lt;/a&gt; has been the community manager for the &lt;a href="http://code.google.com/soc/" &gt;Google Summer of Code program&lt;/a&gt; for the past several years. &lt;a href="http://www.oscon.com/oscon2010/public/schedule/speaker/6786" &gt;Mike Milinkovich&lt;/a&gt; is executive director at Eclipse Foundation, which among many things, is host to the &lt;a href="http://www.eclipse.org/org/foundation/eclipseawards/" &gt;Eclipse Community Awards&lt;/a&gt;.  Last but not least, &lt;a href="http://www.oscon.com/oscon2010/public/schedule/speaker/77067" &gt;Todd Crowe&lt;/a&gt; is an independent web developer who has a lot of experience &lt;a href="http://www.elance.com/experts/cloverdale_/php_mysql/2326470" &gt;working with freelance sites like Elance&lt;/a&gt;.  Additionally, Todd has done a lot of work for &lt;a href="http://www.lovemachineinc.com/" &gt;Love Machine, Inc.&lt;/a&gt;, a startup that&amp;#8217;s taking &lt;a href="http://www.lovemachineinc.com/2010/03/extreme-velocity/" &gt;a pretty innovative approach&lt;/a&gt; to organizing their work.&lt;/li&gt;
&lt;li&gt;July 22 &amp;#8211; &lt;a href="http://www.oscon.com/oscon2010/public/schedule/detail/13958" &gt;Great User Interfaces in the Terminal Window&lt;/a&gt; &amp;#8211; This will be similar to my April talk about Urwid at LFNW, but will be a broader overview of the various approaches.  When I was hunting for Urwid, I evaluated some of the alternatives, so the idea behind this talk is to step through the advantages/disadvantages of the various approaches.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <pubDate>Sun, 28 Feb 2010 05:11:28 GMT</pubDate>
      <title>Thoughts on dual licensing and contrib agreements</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=29</link>
      <guid>http://blog.robla.net/2010/thoughts-on-dual-licensing-and-contrib-agreements/</guid>
      <description>
 photo by kwc

There&amp;#8217;s been a lot of chatter lately about dual licensing in open source and its much-maligned companion the contributor license agreement.  Since my last two community management gigs involved dual licensing and CLAs, I have a few thoughts on the subject.
These tools certainly make it harder to build a community.  [...]</description>
    </item>
    <item>
      <pubDate>Fri, 26 Feb 2010 06:06:08 GMT</pubDate>
      <title>Easy form building for terminal windows: jsonwidget-python</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=28</link>
      <guid>http://blog.robla.net/2010/jsonwidget-python/</guid>
      <description>&lt;p&gt;I&amp;#8217;ve been working on &lt;a href="http://robla.net/jsonwidget/" &gt;a project to make building forms really simple&lt;/a&gt;.  My latest work is &amp;#8220;jsonwidget-python&amp;#8221; for terminal-based applications (like you would use via SSH or local terminal on Linux and Mac).  It&amp;#8217;s all very retro, but terminal windows are still very much in use for buzzword-compliant activities like configuring virtual machines for cloud computing, in addition to being the preferred user interface for a lot of people out there (*cough* nerds *cough*).&lt;/p&gt;
&lt;p&gt;This new project builds on some earlier work that I&amp;#8217;ve retroactively renamed &amp;#8220;&lt;a href="http://robla.net/jsonwidget#javascript" &gt;jsonwidget-javascript&lt;/a&gt;&amp;#8220;.  jsonwidget-javascript is AJAX-y generation of forms inside a browser based on a JSON schema.  jsonwidget-python is intended for terminal users at first, but will extend to other contexts as well.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a simple screenshot to show what&amp;#8217;s going on:&lt;br /&gt;
&lt;div id="attachment_102" class="wp-caption alignleft" style="width: 410px"&gt;&lt;a href="http://blog.robla.net/wp-content/uploads/2010/02/simpleaddr-screenshot-1.png" &gt;&lt;img src="http://blog.robla.net/wp-content/uploads/2010/02/simpleaddr-screenshot-1.png" alt="Simple Address Entry in jsonwidget-python" title="Simple Address Entry in jsonwidget-python" width="400" height="284" class="size-medium wp-image-102" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Simple Address Entry in jsonwidget-python&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span id="more-101"&gt;&lt;/span&gt;&lt;br /&gt;
There&amp;#8217;s nothing too fancy in this screenshot, but this is probably the most typical case.  What you see there is deceptively simple, but there&amp;#8217;s a lot of complicated stuff going on under the hood.  Most of the complicated parts (drawing the fields, handling focus, handling keyboard shortcuts) is being provided by &lt;a href="http://excess.org/urwid/" &gt;urwid&lt;/a&gt;, an excellent Python-based library for building terminal-based user interfaces.  jsonwidget is providing a further abstraction that hopefully makes it even simpler to provide this type of interface, though sacrificing much of the flexibility of programming directly against urwid.  Here is the &lt;a href="http://robla.net/jsonwidget/simpleaddr-schema.json.txt" &gt;complete configuration file (the schema) describing that address entry form&lt;/a&gt;, as well as the &lt;a href="http://robla.net/jsonwidget/jsonschema" &gt;documentation for the schema format&lt;/a&gt;.  jsonwidget-python is compatible with jsonwidget-javascript, so &lt;a href="http://robla.net/jsonwidget/example.php?sample=simpleaddr" &gt;the same schema also works in jsonwidget-javascript&lt;/a&gt;.&lt;/p&gt;
&lt;div id="attachment_115" class="wp-caption alignleft" style="width: 310px"&gt;&lt;a href="http://blog.robla.net/wp-content/uploads/2010/02/jsonwidget-javascript-shot.png" &gt;&lt;img src="http://blog.robla.net/wp-content/uploads/2010/02/jsonwidget-javascript-shot-300x183.png" alt="jsonwidget-javascript screenshot with simple address entry form" title="jsonwidget-javascript screenshot with simple address entry form" width="300" height="183" class="size-medium wp-image-115" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;jsonwidget-javascript screenshot with the same simple address entry form&lt;/p&gt;&lt;/div&gt;One nice feature on display even in the simple demo is the ability to have arrays as fields.  You&amp;#8217;ll notice that the phone number field has two phone numbers, and offers to let you add a third.  There&amp;#8217;s no artificial limit on the number of phone numbers that one can enter using this tool, beyond the usual limits of computer memory, patience, etc.&lt;/p&gt;
&lt;p&gt;It also handles more complicated schemas if your application calls for it.  For example, let&amp;#8217;s say that one wanted to build a &lt;i&gt;real&lt;/i&gt; address book application.  Clearly a lot more flexibility would be needed than merely allowing multiple phone numbers.  Here&amp;#8217;s a screenshot showing a much more sophisticated schema that&amp;#8217;s more like what real address book applications allow:&lt;/p&gt;
&lt;p&gt;&lt;div id="attachment_118" class="wp-caption alignnone" style="width: 510px"&gt;&lt;a href="http://blog.robla.net/wp-content/uploads/2010/02/complexaddr-screenshot-1.png" &gt;&lt;img src="http://blog.robla.net/wp-content/uploads/2010/02/complexaddr-screenshot-1.png" alt="More complicated data entry with jsonwidget-python" title="More complicated data entry with jsonwidget-python" width="500" height="375" class="size-full wp-image-118" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;More complicated data entry with jsonwidget-python&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;So, what is this good for?  Well, I think it&amp;#8217;ll be good for a lot of stuff.  I suspect it might be a very good user interface to stick in front of a &lt;a href="http://augeas.net/" &gt;augeas-based&lt;/a&gt; user interface.  I think it might also be a good tool for building a terminal-based frontend for editing &lt;a href="http://couchdb.apache.org/" &gt;CouchDB&lt;/a&gt; and similar databases.  In particular, I&amp;#8217;m thinking about making a &lt;a href="http://www.freedesktop.org/wiki/Specifications/desktopcouch" &gt;desktop-couch&lt;/a&gt; interface for contact editing.  Another idea I&amp;#8217;ve dabbled with is automatically building a UI based on parameters to &lt;a href="http://docs.python.org/library/optparse.html" &gt;Python&amp;#8217;s optparse&lt;/a&gt;.  Yet another thought is an editor for &lt;a href="http://docs.python.org/library/configparser.html" &gt;Python&amp;#8217;s ConfigParser&lt;/a&gt; or alternatively &lt;a href="http://www.voidspace.org.uk/python/configobj.html" &gt;ConfigObj&lt;/a&gt;.  Lots of different possibilities here.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m particularly interested in suggestions for applications that people would use.  So, if you have an application for this type of thing that you&amp;#8217;re reasonably sure you&amp;#8217;d use if I did a good enough job implementing, let me know.&lt;/p&gt;
&lt;p&gt;Of course, that&amp;#8217;s probably getting a little ahead of myself.  There&amp;#8217;s a number of things &lt;a href="http://bitbucket.org/robla/jsonwidget-python/src/tip/TODO.txt" &gt;on the roadmap&lt;/a&gt; to do, such as more kosher packaging for easy_install and for Linux distros, as well as the ability to edit arbitrary JSON.  I also need to investigate SitePen&amp;#8217;s &lt;a href="http://json-schema.org/" &gt;JSON schema&lt;/a&gt; work, which they appear to be well along toward some sort of RFC (probably informational, but that can be enough for something like this).&lt;/p&gt;
&lt;p&gt;Anyway, if this sort of thing is up your alley, please give it a whirl and let me know what you think.  You can download jsonwidget-python and give it a spin.   I&amp;#8217;ve set up a &lt;a href="http://lists.robla.net/listinfo.cgi/jsonwidget-robla.net" &gt;jsonwidget mailing list&lt;/a&gt; which you&amp;#8217;re more than welcome to use, but you can also just post a comment here or contact me via email.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update: March 9&lt;/strong&gt; &amp;#8211; there&amp;#8217;s now several ways of getting jsonwidget:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://pypi.python.org/pypi/jsonwidget/" &gt;Latest version at PyPI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://launchpad.net/jsonwidget" &gt;Ubuntu users: PPA on Launchpad&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bitbucket.org/robla/jsonwidget-python/" &gt;Bitbucket repository&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://robla.net/jsonwidget" &gt;off of my website&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 26 Feb 2010 01:09:32 GMT</pubDate>
      <title>Sorry about the NASCAR-looking comment area</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=27</link>
      <guid>http://blog.robla.net/2010/sorry-about-the-nascar-looking-comment-area/</guid>
      <description>As you may have noticed if you visited blog.robla.net directly, the comment area is handled via Intense Debate.  I did that to get myself out of the account management business while still maintaining a modicum of control over my site.  Other than then weird blue flaming logo and the name &amp;#8220;intense debate&amp;#8221; on [...]</description>
    </item>
    <item>
      <pubDate>Thu, 18 Feb 2010 02:06:18 GMT</pubDate>
      <title>Python&#x2019;s simpleparse module</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=26</link>
      <guid>http://blog.robla.net/2010/simpleparse/</guid>
      <description>
I&amp;#8217;m working on a project that required a bit more from the JSON parser than the stock JSON parser with Python allowed for.  After doing some hunting around, I came to the unfortunate conclusion that I&amp;#8217;d probably need to write my own.
Thankfully, Python&amp;#8217;s simpleparse module lived up to its billing (thanks in large part [...]</description>
    </item>
    <item>
      <pubDate>Mon, 9 Nov 2009 06:10:18 GMT</pubDate>
      <title>Moving on</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=25</link>
      <guid>http://blog.robla.net/2009/moving-on/</guid>
      <description>I&amp;#8217;ve decided to leave my current job at Linden Lab.  Those of you interested in the ins-and-outs of Second Life may want to look at my post to &amp;#8220;sldev&amp;#8221; (our open source development mailing list).  It was a tough decision to leave, and even tougher to make without having my next move totally [...]</description>
    </item>
    <item>
      <pubDate>Sat, 19 Jul 2008 10:16:16 GMT</pubDate>
      <title>Brutal honesty in open source development</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=24</link>
      <guid>http://blog.robla.net/2008/brutal-honesty-in-oss/</guid>
      <description>There&amp;#8217;s a bit of a flamewar going on right now between the main PulseAudio developer, and another Linux desktop developer who grew frustrated by some very real problems caused directly and indirectly by it.  PulseAudio is the latest of many savior technologies that promise to make audio on Linux not suck.  I&amp;#8217;m actually [...]</description>
    </item>
    <item>
      <pubDate>Fri, 18 Jul 2008 05:12:36 GMT</pubDate>
      <title>Software as hiring decision</title>
      <link>http://www.advogato.org/person/robla/diary.html?start=23</link>
      <guid>http://blog.robla.net/2008/software-as-hiring-decision/</guid>
      <description>This article in CIO Magazine touches on things that you should look for in choosing open source software:

Project stability: Can you trust the project to be there when you need it?
Project support: Can you get support when you need it?
Internal software management: Does your company know what open-source programs it&#x2019;s using? How it&#x2019;s developing and [...]</description>
    </item>
  </channel>
</rss>
