<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for mdz</title>
    <link>http://www.advogato.org/person/mdz/</link>
    <description>Advogato blog for mdz</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Thu, 20 Jun 2013 09:51:31 GMT</pubDate>
    <item>
      <pubDate>Fri, 16 Nov 2012 03:09:09 GMT</pubDate>
      <title>Decoding a .mobileconfig file containing a Cisco IPsec VPN configuration</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=51</link>
      <guid>http://mdzlog.alcor.net/2012/11/15/decoding-a-mobileconfig-file-containing-a-cisco-ipsec-vpn-configuration/</guid>
      <description>&lt;p&gt;When someone wants to give you access to a Cisco VPN, they might give you a &lt;tt&gt;.mobileconfig&lt;/tt&gt; file. This is apparently used by MacOS and iOS to encapsulate the configuration parameters needed to connect to a VPN. You should be able to connect to it with open source software (such as &lt;tt&gt;NetworkManager&lt;/tt&gt; and &lt;tt&gt;vpnc&lt;/tt&gt;) as long as you have the right configuration. Some helpful soul has tried to give you that configuration, but it&#x2019;s wrapped up in an Apple-specific container. Here&#x2019;s how you rip it open and get the goodies.&lt;/p&gt;
&lt;h2&gt;File format&lt;/h2&gt;
&lt;p&gt;A &lt;tt&gt;.mobileconfig&lt;/tt&gt; appears to contain:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Some binary garbage which is safe to ignore
&lt;/li&gt;
  &lt;li&gt;An XML document containing the good bits, i.e.:
&lt;ol&gt;&lt;li&gt;The &#x201C;local identifier&#x201D; (i.e. IPsec group name)
&lt;/li&gt;&lt;li&gt;The &#x201C;remote address&#x201D; (i.e. IPsec gateway host)
&lt;/li&gt;&lt;li&gt;The shared secret (base64 encoded)
&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;
  &lt;li&gt;Some more binary garbage which is safe to ignore
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&#x2026;and it looks like this:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;plist version="1.0"&amp;gt;
&amp;lt;dict&amp;gt;
  &amp;lt;key&amp;gt;PayloadContent&amp;lt;/key&amp;gt;
  &amp;lt;array&amp;gt;
    &amp;lt;dict&amp;gt;
      &amp;lt;key&amp;gt;IPSec&amp;lt;/key&amp;gt;
      &amp;lt;dict&amp;gt;
        &amp;lt;key&amp;gt;AuthenticationMethod&amp;lt;/key&amp;gt;
        &amp;lt;string&amp;gt;SharedSecret&amp;lt;/string&amp;gt;
        &amp;lt;key&amp;gt;LocalIdentifier&amp;lt;/key&amp;gt;
        &amp;lt;string&amp;gt;&lt;b&gt;LOCAL_IDENTIFIER_HERE&lt;/b&gt;&amp;lt;/string&amp;gt;
        &amp;lt;key&amp;gt;LocalIdentifierType&amp;lt;/key&amp;gt;
        &amp;lt;string&amp;gt;KeyID&amp;lt;/string&amp;gt;
        &amp;lt;key&amp;gt;RemoteAddress&amp;lt;/key&amp;gt;
        &amp;lt;string&amp;gt;&lt;b&gt;REMOTE_ADDRESS_HERE&lt;/b&gt;&amp;lt;/string&amp;gt;
        &amp;lt;key&amp;gt;SharedSecret&amp;lt;/key&amp;gt;
        &amp;lt;data&amp;gt;
        &lt;b&gt;BASE64_ENCODED_SHARED_SECRET_HERE&lt;/b&gt;
        &amp;lt;/data&amp;gt;
      &amp;lt;/dict&amp;gt;
      &amp;lt;key&amp;gt;IPv4&amp;lt;/key&amp;gt;
      &amp;lt;dict&amp;gt;
        &amp;lt;key&amp;gt;OverridePrimary&amp;lt;/key&amp;gt;
        &amp;lt;integer&amp;gt;0&amp;lt;/integer&amp;gt;
      &amp;lt;/dict&amp;gt;
      &amp;lt;key&amp;gt;PayloadDescription&amp;lt;/key&amp;gt;
      &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
      &amp;lt;key&amp;gt;PayloadDisplayName&amp;lt;/key&amp;gt;
      &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
      &amp;lt;key&amp;gt;PayloadIdentifier&amp;lt;/key&amp;gt;
      &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
      &amp;lt;key&amp;gt;PayloadOrganization&amp;lt;/key&amp;gt;
      &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
      &amp;lt;key&amp;gt;PayloadType&amp;lt;/key&amp;gt;
      &amp;lt;string&amp;gt;com.apple.vpn.managed&amp;lt;/string&amp;gt;
      &amp;lt;key&amp;gt;PayloadUUID&amp;lt;/key&amp;gt;
      &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
      &amp;lt;key&amp;gt;PayloadVersion&amp;lt;/key&amp;gt;
      &amp;lt;integer&amp;gt;1&amp;lt;/integer&amp;gt;
      &amp;lt;key&amp;gt;Proxies&amp;lt;/key&amp;gt;
      &amp;lt;dict&amp;gt;
        &amp;lt;key&amp;gt;HTTPEnable&amp;lt;/key&amp;gt;
        &amp;lt;integer&amp;gt;0&amp;lt;/integer&amp;gt;
        &amp;lt;key&amp;gt;HTTPSEnable&amp;lt;/key&amp;gt;
        &amp;lt;integer&amp;gt;0&amp;lt;/integer&amp;gt;
        &amp;lt;key&amp;gt;ProxyAutoConfigEnable&amp;lt;/key&amp;gt;
        &amp;lt;integer&amp;gt;0&amp;lt;/integer&amp;gt;
        &amp;lt;key&amp;gt;ProxyAutoDiscoveryEnable&amp;lt;/key&amp;gt;
        &amp;lt;integer&amp;gt;0&amp;lt;/integer&amp;gt;
      &amp;lt;/dict&amp;gt;
      &amp;lt;key&amp;gt;UserDefinedName&amp;lt;/key&amp;gt;
      &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
      &amp;lt;key&amp;gt;VPNType&amp;lt;/key&amp;gt;
      &amp;lt;string&amp;gt;IPSec&amp;lt;/string&amp;gt;
    &amp;lt;/dict&amp;gt;
  &amp;lt;/array&amp;gt;
  &amp;lt;key&amp;gt;PayloadDescription&amp;lt;/key&amp;gt;
  &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
  &amp;lt;key&amp;gt;PayloadDisplayName&amp;lt;/key&amp;gt;
  &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
  &amp;lt;key&amp;gt;PayloadIdentifier&amp;lt;/key&amp;gt;
  &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
  &amp;lt;key&amp;gt;PayloadOrganization&amp;lt;/key&amp;gt;
  &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
  &amp;lt;key&amp;gt;PayloadRemovalDisallowed&amp;lt;/key&amp;gt;
  &amp;lt;false/&amp;gt;
  &amp;lt;key&amp;gt;PayloadType&amp;lt;/key&amp;gt;
  &amp;lt;string&amp;gt;Configuration&amp;lt;/string&amp;gt;
  &amp;lt;key&amp;gt;PayloadUUID&amp;lt;/key&amp;gt;
  &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;
  &amp;lt;key&amp;gt;PayloadVersion&amp;lt;/key&amp;gt;
  &amp;lt;integer&amp;gt;1&amp;lt;/integer&amp;gt;
&amp;lt;/dict&amp;gt;
&amp;lt;/plist&amp;gt;

&lt;/pre&gt;
&lt;p&gt;The shared secret is base64-encoded, so you can decode it with:&lt;/p&gt;
&lt;p&gt;
  &lt;code&gt;$ echo -n 'BASE64_ENCODED_SECRET_HERE' | base64 -d&lt;/code&gt;
&lt;/p&gt;
&lt;h2&gt;Network Manager configuration&lt;/h2&gt;
&lt;ol&gt;&lt;li&gt;Make sure you have &lt;tt&gt;network-manager-vpnc&lt;/tt&gt; installed
&lt;/li&gt;
  &lt;li&gt;Click the Network Manager icon, select &#x201C;VPN Connections&#x201D;, &#x201C;Configure VPN&#x2026;&#x201D;
&lt;/li&gt;
  &lt;li&gt;Create a &#x201C;Cisco-compatible (vpnc)&#x201D; connection&lt;br/&gt;&lt;div style="width: 652px"&gt;&lt;a href="http://mdzlog.files.wordpress.com/2012/11/vpn-1.png" &gt;&lt;img src="http://mdzlog.files.wordpress.com/2012/11/vpn-1.png?w=700" alt="" title="" class="size-full wp-image-2135"/&gt;&lt;/a&gt;&lt;p&gt;Create a &#x201C;Cisco-compatible (vpnc)&#x201D; VPN connection&lt;/p&gt;&lt;/div&gt;
&lt;/li&gt;
  &lt;li&gt;Configure the connection settings as follows:&lt;br/&gt;&lt;div style="width: 558px"&gt;&lt;a href="http://mdzlog.files.wordpress.com/2012/11/vpn-2.png" &gt;&lt;img src="http://mdzlog.files.wordpress.com/2012/11/vpn-2.png?w=700" alt="" title="" class="size-full wp-image-2136"/&gt;&lt;/a&gt;&lt;p&gt;Configure the connection settings&lt;/p&gt;&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;Enter the &#x201C;remote address&#x201D; in the &#x201C;Gateway&#x201D; field
&lt;/li&gt;&lt;li&gt;Enter the &#x201C;local identifier&#x201D; in the &#x201C;Group name&#x201D; field
&lt;/li&gt;&lt;li&gt;Enter the shared secret in the &#x201C;Group password&#x201D; field
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
  &lt;li&gt;To connect, click the Network Manager icon, select &#x201C;VPN Connections&#x201D;, and select the connection you just configured
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Good luck and enjoy!&lt;/p&gt;
&lt;br/&gt;&lt;a href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/2124/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/2124/"/&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=2124&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 19 Jan 2012 06:38:54 GMT</pubDate>
      <title>Singly is hiring engineers</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=50</link>
      <guid>http://mdzlog.alcor.net/2012/01/18/singly-is-hiring-engineers/</guid>
      <description>&lt;p&gt;I&#x2019;ve written before about &lt;a href="http://www.advogato.org/2011/05/27/why-im-excited-about-joining-singly/" &gt;joining Singly&lt;/a&gt; and a little bit about the &lt;a href="http://www.advogato.org/2011/08/15/building-a-personal-data-locker/" &gt;open source software we&#x2019;re building&lt;/a&gt;. There&#x2019;s now a bit more content &lt;a href="https://singly.com/#learnmore" &gt;on our website&lt;/a&gt; too, or you could watch my colleague, Jabber founder Jeremie Miller, talk about it &lt;a href="http://www.youtube.com/watch?v=pTNO5npNq28" &gt;on stage&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://yfrog.com/z/kezwvfmnj" &gt;&lt;img src="http://mdzlog.files.wordpress.com/2012/01/kanban.jpg?w=300&amp;amp;h=224" alt="The Singly team gathered for a discussion" title="Singly process discussion" width="300" height="224" class="alignright size-medium wp-image-2102"/&gt;&lt;/a&gt;&lt;br/&gt;
Suffice to say, it&#x2019;s pretty interesting stuff, and we need more interesting people to join the team in order to achieve our goals in the next year. In particular, we&#x2019;re looking for engineers to build  highly flexible, resilient and performant back-end infrastructure using Ubuntu, and innovative, usable and beautiful front-end interfaces using HTML5.&lt;/p&gt;
&lt;p&gt;For full details and how to apply, check out the &lt;a href="http://blog.singly.com/2012/01/17/were-hiring-2/" &gt;Singly blog&lt;/a&gt; or contact me directly. At this time, we have a preference for candidates in the San Francisco bay area, but are open to exceptional candidates from elsewhere.&lt;/p&gt;
&lt;br/&gt;&lt;a href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/2099/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/2099/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/mdzlog.wordpress.com/2099/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mdzlog.wordpress.com/2099/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/mdzlog.wordpress.com/2099/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mdzlog.wordpress.com/2099/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/mdzlog.wordpress.com/2099/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mdzlog.wordpress.com/2099/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/mdzlog.wordpress.com/2099/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mdzlog.wordpress.com/2099/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/mdzlog.wordpress.com/2099/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mdzlog.wordpress.com/2099/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/mdzlog.wordpress.com/2099/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mdzlog.wordpress.com/2099/"/&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=2099&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 7 Oct 2011 20:06:19 GMT</pubDate>
      <title>Ada Lovelace Day 2011: Dr. Marian C. Diamond</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=49</link>
      <guid>http://mdzlog.alcor.net/2011/10/07/ada-lovelace-day-2011-dr-marian-c-diamond/</guid>
      <description>&lt;p&gt;For &lt;a href="http://findingada.com/" &gt;Ada Lovelace Day&lt;/a&gt; this year, I want to share my appreciation for Dr. Marian C. Diamond.&lt;/p&gt;
&lt;p&gt;In &lt;a href="http://www.advogato.org/tag/ada-lovelace-day/" &gt;years past&lt;/a&gt;, I&#x2019;ve saluted women in the field of computing, which is my field as well. Dr. Diamond, however, is a biologist. Her research includes &#x201C;neuroanatomy, environment, immune functions, and hormones. In particular, she is interested in studying the effects of the external environment, aging, and immune responses on the cerebral neocortex.&#x201D; She has, in her words, had a &lt;a href="http://lunaproductions.com/marian-diamond/" &gt;love affair with the brain&lt;/a&gt; for about 70 years.&lt;/p&gt;
&lt;p&gt;I know very little about biology. The content and methods of her research are, frankly, beyond me, though some of her results have garnered &lt;a href="http://en.wikipedia.org/wiki/Albert_Einstein's_brain" &gt;popular&lt;/a&gt; &lt;a href="http://video.google.com/videoplay?docid=4449147650692917454" &gt;attention&lt;/a&gt;. She has inspired me by demonstrating that rare combination of gifts: a deep &lt;b&gt;understanding&lt;/b&gt; of a technical subject, and the ability to &lt;b&gt;explain&lt;/b&gt; it to other people in an accessible way.&lt;/p&gt;
&lt;p&gt;In her interviews, articles and lectures, &lt;a href="http://academicearth.org/lectures/muscular-system-1" &gt;many&lt;/a&gt; of &lt;a href="http://academicearth.org/lectures/respiratory-system-3-nervous-system-1" &gt;which&lt;/a&gt; are available online, Dr. Diamond displays these gifts in abundance. Her skill and enthusiasm for both &lt;a href="http://home.blarg.net/~building/future/Creating_the_Future/crfut_diamond.html" &gt;learning and teaching&lt;/a&gt; is unmistakable. After applying her gifts in the classroom for many years, digital distribution has now enabled many more people to see and hear her, through millions of YouTube views.&lt;/p&gt;
&lt;p&gt;In 1960, she became the &lt;a href="http://www.sfn.org/skins/main/pdf/history_of_neuroscience/hon_vol_6/c3.pdf" &gt;first&lt;/a&gt; female graduate student in UC Berkeley&#x2019;s anatomy department, and was apparently given the job of &lt;a href="http://articles.sfgate.com/2010-12-05/news/25008362_1_anatomy-neuroscience-lecture/2" &gt;sewing&lt;/a&gt; a cover for a magnifying machine. I can only imagine the persistence required to continue from there to become a recognized leader in her field. She has gone on to help many other students along their way, and was named an &lt;a href="http://ib.berkeley.edu/people/faculty/profiles/more/mdiamond.php" &gt;&#x201C;unsung, everyday hero&#x201D;&lt;/a&gt; for the support she provided to students outside of the classroom or lab.&lt;/p&gt;
&lt;p&gt;As if that weren&#x2019;t enough, she has also traveled to Cambodia to apply her expertise in &lt;a href="http://home.avvanta.com/~building/neuro/diamond_cambodia.htm" &gt;helping children injured by land mines&lt;/a&gt;. She still teaches today, just across the bay from where I write this, and will turn 85 next month.&lt;/p&gt;
&lt;br/&gt;&lt;a href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/2088/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/2088/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/mdzlog.wordpress.com/2088/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mdzlog.wordpress.com/2088/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/mdzlog.wordpress.com/2088/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mdzlog.wordpress.com/2088/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/mdzlog.wordpress.com/2088/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mdzlog.wordpress.com/2088/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/mdzlog.wordpress.com/2088/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mdzlog.wordpress.com/2088/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/mdzlog.wordpress.com/2088/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mdzlog.wordpress.com/2088/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/mdzlog.wordpress.com/2088/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mdzlog.wordpress.com/2088/"/&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=2088&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 15 Aug 2011 16:05:49 GMT</pubDate>
      <title>Building a personal data locker</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=48</link>
      <guid>http://mdzlog.alcor.net/2011/08/15/building-a-personal-data-locker/</guid>
      <description>&lt;p&gt;If you were building a digital container to store your personal data, what would it look like? &lt;/p&gt;
&lt;p&gt;Personal data being information associated with you: your contacts, your photos, the web pages you&#x2019;ve visited, the places you&#x2019;ve been, the messages you&#x2019;ve sent and received, and so on. In short, your stuff.&lt;/p&gt;
&lt;p&gt;Here&#x2019;s my personal wish list of technical requirements:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;It has to be made of &lt;b&gt;free software&lt;/b&gt;, of course
&lt;/li&gt;
  &lt;li&gt;It must keep my data &lt;b&gt;secure&lt;/b&gt;, while allowing me to share it when and how I want to
&lt;/li&gt;
  &lt;li&gt;It needs to handle a range of different &lt;b&gt;data types&lt;/b&gt; natively, and be extensible to new types, from photos to real-time sensor data
&lt;/li&gt;
  &lt;li&gt;It should be able to &lt;b&gt;collect&lt;/b&gt; my data from many different places where it is being created and stored
&lt;/li&gt;
  &lt;li&gt;It should have a rich &lt;b&gt;API&lt;/b&gt;, so that I can create applications which access my data
&lt;/li&gt;
  &lt;li&gt;If I want to, I should be able to &lt;b&gt;host it myself&lt;/b&gt;, on my own hardware, without compromising my ability to access and share it
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Of course, this isn&#x2019;t merely an academic exercise, as my new &lt;a href="http://www.advogato.org/2011/05/27/why-im-excited-about-joining-singly/" &gt;day job&lt;/a&gt; at &lt;a href="http://www.singly.com/" &gt;Singly&lt;/a&gt; is about building exactly this type of system. With a technical team including &lt;a href="http://jeremie.com/" &gt;Jeremie Miller&lt;/a&gt; of Jabber and XMPP fame, our goal is to develop a personal data platform which meets these criteria and more.&lt;/p&gt;
&lt;p&gt;There&#x2019;s a lot of work to do, but today, you can check out &lt;a href="http://github.com/LockerProject/Locker" &gt;the code&lt;/a&gt; and run a locker of your own, which can sync in data from  Facebook, Twitter, Google, Foursquare, Github and dozens of other services. It&#x2019;s a bit of a bear to set up, particularly if you don&#x2019;t already have API keys for these services, but that&#x2019;s fairly normal at this early stage of development.&lt;/p&gt;
&lt;p&gt;If you try it, or have thoughts about what we&#x2019;re doing, please let me know in the comments.&lt;/p&gt;
&lt;br/&gt;&lt;a href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/2078/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/2078/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/mdzlog.wordpress.com/2078/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mdzlog.wordpress.com/2078/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/mdzlog.wordpress.com/2078/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mdzlog.wordpress.com/2078/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/mdzlog.wordpress.com/2078/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mdzlog.wordpress.com/2078/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/mdzlog.wordpress.com/2078/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mdzlog.wordpress.com/2078/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/mdzlog.wordpress.com/2078/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mdzlog.wordpress.com/2078/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/mdzlog.wordpress.com/2078/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mdzlog.wordpress.com/2078/"/&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=2078&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;&lt;div/&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 9 Aug 2011 16:05:47 GMT</pubDate>
      <title>Where&#x2019;s your data center?</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=47</link>
      <guid>http://mdzlog.alcor.net/2011/08/09/wheres-your-data-center/</guid>
      <description>&lt;p&gt;Thanks to the tremendous growth of &#x201C;social&#x201D; applications over the past five years, we have our pick of services for collecting, saving and sharing our experiences online. We each have &lt;b&gt;collections of photos, contacts, messages and more, spread across multiple popular services&lt;/b&gt; like Twitter, Facebook, LinkedIn, as well as many less popular services which address particular needs or preferences. We&#x2019;re also producing a wealth of &#x201C;exhaust data&#x201D; through our browsing history, mobile sensors, transactions and other activity streams that we rarely if ever examine directly.&lt;/p&gt;
&lt;p&gt;This ecosystem is becoming so complex that it&#x2019;s easy to lose track of what you&#x2019;ve created, shared or seen. We need &lt;b&gt;new tools to manage this complexity&lt;/b&gt;, to make the most of the wealth of information and connections available to us through various services. John Battelle calls these &lt;a href="http://battellemedia.com/archives/2011/02/file_under_metaservices_the_rise_of" &gt;&#x201C;metaservices&#x201D;&lt;/a&gt;, and points to growth in the number of connections between the services we use.&lt;/p&gt;
&lt;p&gt;I expect that this next &lt;a href="http://redmonk.com/sogrady/2011/05/24/the-age-of-data/" &gt;age&lt;/a&gt; of information tools will &lt;b&gt;center around data rather than services&lt;/b&gt;. Data is a common denominator for these online experiences, a bridge across disparate services, technologies, social graphs, and life cycles. Personal data, in particular, has this property: the only thing that links together your photos on Flickr, Facebook, Picasa and Twitpic is&#x2026;you.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;So where&#x2019;s your &#x201C;data center&#x201D;?&lt;/b&gt;  I don&#x2019;t anticipate the emergence of a single service where you do everything. There will continue to be innovation in the form of new and specialized services which meet a particular need very well. There won&#x2019;t be a &lt;a href="http://www.stephenfry.com/2009/11/14/twillionth/comment-page-2/#comment-19209" &gt;single service&lt;/a&gt; which is everything to everybody.&lt;/p&gt;
&lt;p&gt;Instead, I foresee us wanting to &lt;b&gt;track, save, use and control all of our &#x201C;stuff&#x201D;&lt;/b&gt; across the web. That&#x2019;s why my new colleagues and I are working to &lt;a href="http://www.advogato.org/2011/05/27/why-im-excited-about-joining-singly/" &gt;make that possible&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There&#x2019;s open source code available on &lt;a href="https://github.com/LockerProject/Locker" &gt;github&lt;/a&gt;, a vibrant IRC channel (&lt;tt&gt;#lockerproject&lt;/tt&gt; on Freeenode), and lots more I&#x2019;d like to write about it. But it&#x2019;s time to get back to work for now&#x2026;&lt;/p&gt;
&lt;br/&gt;&lt;a href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/2069/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/2069/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/mdzlog.wordpress.com/2069/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mdzlog.wordpress.com/2069/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/mdzlog.wordpress.com/2069/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mdzlog.wordpress.com/2069/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/mdzlog.wordpress.com/2069/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mdzlog.wordpress.com/2069/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/mdzlog.wordpress.com/2069/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mdzlog.wordpress.com/2069/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/mdzlog.wordpress.com/2069/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mdzlog.wordpress.com/2069/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/mdzlog.wordpress.com/2069/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mdzlog.wordpress.com/2069/"/&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=2069&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 8 Jun 2011 15:06:10 GMT</pubDate>
      <title>DEX finishes first batch of derivative patches for Debian</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=46</link>
      <guid>http://mdzlog.alcor.net/2011/06/08/dex-finishes-first-batch-of-derivative-patches-for-debian/</guid>
      <description>&lt;p&gt;It&#x2019;s been a few months since &lt;a href="http://upsilon.cc/~zack/" &gt;Zack&lt;/a&gt; and I &lt;a href="http://www.advogato.org/2011/03/16/dex-debian-and-its-derivatives-getting-things-done-together/" &gt;announced&lt;/a&gt; the &lt;a href="http://dex.alioth.debian.org/" &gt;DEX project&lt;/a&gt;, which aims to improve the Debian ecosystem by working jointly with derivative distributions.&lt;/p&gt;
&lt;h2&gt;Our first milestone&lt;/h2&gt;
&lt;p&gt;The goal of our first project, nicknamed &lt;a href="http://dex.alioth.debian.org/ubuntu/ancient-patches/" &gt;ancient-patches&lt;/a&gt;, was to clear out an old batch of a few hundred Ubuntu patches whose status was unclear. We couldn&#x2019;t tell which ones had been merged into Debian, which were waiting in the BTS, and which had yet to be submitted to Debian. All of them were several years old.&lt;/p&gt;
&lt;p&gt;I&#x2019;m pleased to announce that this project is now complete. Thanks to help from David Paleino, Colin Watson, Nathan Handler and Steve Langasek, we were able to clear over 95% of the patches in a matter of days. These were the easy ones: patches which were obsolete, or had already been applied. We discussed the &lt;a href="http://lists.debian.org/debian-derivatives/2011/03/msg00024.html" &gt;remainder&lt;/a&gt;, and resolved all of the patches whose status was still unclear. This left &lt;a href="http://lists.debian.org/debian-derivatives/2011/03/msg00077.html" &gt;the harder ones&lt;/a&gt;: patches stalled in the BTS, and patches where there was no consensus about what to do with them.&lt;/p&gt;
&lt;p&gt;One of the stalled patches was merged into Debian via an &lt;a href="http://wiki.debian.org/NonMaintainerUpload" &gt;NMU&lt;/a&gt;, eliminating the delta between Debian and Ubuntu. Another had been submitted to Debian by a third party, but was no longer shipping in Ubuntu, so we considered it obsolete for purposes of this project.&lt;/p&gt;
&lt;p&gt;This has left only &lt;a href="http://lists.debian.org/debian-derivatives/2011/06/msg00010.html" &gt;two patches&lt;/a&gt; out of the original list of 277. Both of them are filed in the BTS and have been discussed with the relevant maintainer team. &lt;a href="http://bugs.debian.org/151820" &gt;One of them&lt;/a&gt; is expected to be obsoleted when a new upstream version is packaged, which implements similar functionality. &lt;a href="http://bugs.debian.org/308832" &gt;The other&lt;/a&gt; is being discussed with the upstream developers, but there is no conclusion yet about whether it can be merged upstream or in Debian.&lt;/p&gt;
&lt;h2&gt;Conclusions&lt;/h2&gt;
&lt;p&gt;Although we weren&#x2019;t quite able to clear the whole list, we still consider the project to be a success because:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;We ensured that all of the patches received due consideration for inclusion in Debian
&lt;/li&gt;
  &lt;li&gt;We proved the concept of DEX, with developers from Debian and derivatives cooperating on a common goal and sharing tools
&lt;/li&gt;
  &lt;li&gt;Most importantly, we learned from the experience
&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;What&#x2019;s next&lt;/h2&gt;
&lt;p&gt;In the most recent &lt;a href="http://lists.debian.org/debian-derivatives/2011/06/msg00010.html" &gt;DEX update&lt;/a&gt; on &lt;tt&gt;debian-derivatives&lt;/tt&gt;, I highlighted a few important events for DEX:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Our second major project, nicknamed &#x201C;big-merges&#x201D;, will begin soon. Our goal is to identify the few packages which are most diverged between Debian and Ubuntu, and work to get them as close to identical as possible. If you have suggestions for packages to focus on, let us know!
&lt;/li&gt;
  &lt;li&gt;Allison Randal is &lt;a href="http://lists.debian.org/debian-derivatives/2011/05/msg00020.html" &gt;beginning&lt;/a&gt; a DEX project to implement the Python 2.7 transition across Debian and Ubuntu
&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://nhandler.wordpress.com/" &gt;Nathan Handler&lt;/a&gt; is working on a &lt;a href="http://wiki.debian.org/SummerOfCode2011/DEX/NathanHandler" &gt;Summer of Code project&lt;/a&gt; to develop specialized tools to help with this kind of cross-distribution teamwork
&lt;/li&gt;
  &lt;li&gt;Zack is organizing a derivatives BoF at &lt;a href="http://debconf11.debconf.org/" &gt;DebConf 11&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;We&#x2019;re looking forward to seeing DEX develop further. If you&#x2019;d like to get involved, come and join us on the &lt;tt&gt;debian-derivatives&lt;/tt&gt; &lt;a href="http://lists.debian.org/debian-derivatives" &gt;mailing list&lt;/a&gt; or IRC (&lt;tt&gt;#debian-derivatives&lt;/tt&gt; on &lt;del datetime="2011-06-08T15:01:48+00:00"&gt;freenode&lt;/del&gt;OFTC).&lt;/p&gt;
&lt;p&gt;
  &lt;b&gt;Matt Zimmerman and Stefano Zacchiroli&lt;/b&gt;
&lt;/p&gt;
&lt;br/&gt;&lt;a href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/2033/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/2033/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/mdzlog.wordpress.com/2033/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mdzlog.wordpress.com/2033/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/mdzlog.wordpress.com/2033/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mdzlog.wordpress.com/2033/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/mdzlog.wordpress.com/2033/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mdzlog.wordpress.com/2033/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/mdzlog.wordpress.com/2033/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mdzlog.wordpress.com/2033/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/mdzlog.wordpress.com/2033/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mdzlog.wordpress.com/2033/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/mdzlog.wordpress.com/2033/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mdzlog.wordpress.com/2033/"/&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=2033&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 27 May 2011 17:16:19 GMT</pubDate>
      <title>Why I&#x2019;m excited about joining Singly</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=45</link>
      <guid>http://mdzlog.alcor.net/2011/05/27/why-im-excited-about-joining-singly/</guid>
      <description>&lt;p&gt;
  &lt;i&gt;This summer, I&#x2019;ll be taking a bit of time off, moving back to San Francisco and starting &lt;a href="http://singly.com/" &gt;a new job&lt;/a&gt;. I can&#x2019;t wait to get back to work. Here&#x2019;s why.&lt;/i&gt;
&lt;/p&gt;
&lt;h2&gt;Me and my data&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/littlevanities/545261473/" &gt;&lt;img src="http://mdzlog.files.wordpress.com/2011/05/hard-drive_littlevanities-545261473.jpg?w=240&amp;amp;h=161" alt="" title="hard-drive_littlevanities-545261473" width="240" height="161" class="alignleft size-full wp-image-1989"/&gt;&lt;/a&gt;&lt;br/&gt;
I have a singular relationship with my data. I have a copy of every email I&#x2019;ve sent since I first got an Internet email address in 1994 (82,000 messages and counting). I have even older files downloaded from BBSes, and passed between friends on floppy disks. Chat logs, text messages, voicemail&#x2026;I hold onto them all. Anything which is relevant to me personally, I tend to save.&lt;/p&gt;
&lt;p&gt;This must seem banal to people who are first getting online today. In the age of Gmail and Flickr, it&#x2019;s easy to assume that all of your data will be preserved indefinitely, with little or no effort on your part. But for me, it has been hard work over the years, because I&#x2019;ve done it myself. I&#x2019;ve carried my data with me to countless new computers, operating systems, storage technologies, file formats and cities over the years. Everywhere I&#x2019;ve lived, &lt;b&gt;I&#x2019;ve brought it with me.&lt;/b&gt; Physically.&lt;/p&gt;
&lt;h2&gt;Really?&lt;/h2&gt;
&lt;p&gt;Why do I do this? Why have I gone to such trouble for a collection of bits? Especially now, why is most of my data still at home?&lt;br/&gt;&lt;a href="http://www.flickr.com/photos/vfsdigitaldesign/5396087003/" &gt;&lt;img src="http://mdzlog.files.wordpress.com/2011/05/light-painting_vfsdigitaldesign-5396087003.jpg?w=240&amp;amp;h=160" alt="" title="light-painting_vfsdigitaldesign-5396087003" width="240" height="160" class="alignright size-full wp-image-1991"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One pragmatic answer is that I can simply &lt;b&gt;do more with my data&lt;/b&gt; when I have a copy. I can work with it using any software I want, including software that I write myself. I don&#x2019;t have to worry about whether I can transfer it from one web service to another. I&#x2019;m never stuck using yesterday&#x2019;s services because my data is never trapped in them. My personal data is always available to me me, always raw, ready and waiting for the next wave of software to come along. When it does, I can load my data into it and keep going. The fact that Facebook and Google &lt;a href="http://www.readwriteweb.com/archives/google_warns_facebook_users_of_trap_before_data_ex.php" &gt;disagree&lt;/a&gt; over sharing their users&#x2019; data doesn&#x2019;t bother me in the least. &lt;/p&gt;
&lt;p&gt;Another reason is that &lt;b&gt;I want to be in control&lt;/b&gt; of it. I decide who to share my data with, and when. Some of it, I prefer not to share at all, with any person or company, and I have that choice. Even if a powerful government wants to access my data, I am afforded certain &lt;a href="http://en.wikipedia.org/wiki/Search_warrant" &gt;protection&lt;/a&gt; under the law, at least in the countries where I&#x2019;ve lived. If I turned over my data to service providers, my choices and protection would likely be much more &lt;a href="https://www.eff.org/pages/when-government-comes-knocking-who-has-your-back" &gt;limited&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I have a deeper emotional attachment to my data as well. Enfolded within that vast pattern of bits is some part of my self. By sharing my personal data with other people, I show them something of who I am. Increasingly, my personal data is &lt;b&gt;part of my identity&lt;/b&gt;. This is more than just a state of mind: it&#x2019;s been shown that even our &#x201C;non-identifying&#x201D; personal data can reveal &lt;a href="http://www.nytimes.com/2010/03/17/technology/17privacy.html" &gt;who we are&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In other words, it&#x2019;s not just &#x201C;my data&#x201D;&#x2014;it&#x2019;s &lt;b&gt;&#x201C;&lt;i&gt;me&lt;/i&gt; data&#x201D;&lt;/b&gt;.&lt;/p&gt;
&lt;h2&gt;Singly&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.singly.com/" &gt;&lt;img src="http://mdzlog.files.wordpress.com/2011/05/singly-logo-20110527.png?w=217&amp;amp;h=217" alt="" title="singly-logo-20110527" width="217" height="217" class="alignright size-full wp-image-2007"/&gt;&lt;/a&gt;I&#x2019;m joining &lt;a href="http://www.singly.com/" &gt;Singly&lt;/a&gt; because I want to take this concept much further, and combine people, data and software into a different shape with &lt;b&gt;people at the center&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Today, we are creating vastly greater amounts of personal data, and it&#x2019;s stored in many more places. We leave our trail on the Internet in the form of activity streams, messages and content, spread across different web sites, each with their own inscrutable terms of service and (if we&#x2019;re lucky) their own API. These disconnected silos prevent us from using all of this information effectively.&lt;/p&gt;
&lt;p&gt;Meanwhile, we want&#x2014;and need&#x2014;to connect with each other in more ways than ever before. We need applications which can connect us, through our personal data, to the services we need.&lt;/p&gt;
&lt;p&gt;Singly is building the technology to make this possible. It will be designed with the deepest respect for the relationship that we have with our personal data, and with a vision for truly &lt;a href="http://www.advogato.org/2008/09/01/person-in-personal-computing/" &gt;personal&lt;/a&gt; computing.&lt;/p&gt;
&lt;p&gt;Singly is&#x2026;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;A team of passionate &lt;a href="http://www.singly.com/#sixth" &gt;people&lt;/a&gt;, dedicated to a &lt;a href="http://blog.lockerproject.org/brainstorming-tlp-core-values" &gt;vision for personal data&lt;/a&gt;
&lt;/li&gt;
  &lt;li&gt;Building an open source &lt;a href="http://lockerproject.org/" &gt;data locker&lt;/a&gt;, which aggregates and stores your personal data from around the web and ensures that it&#x2019;s always available to you
&lt;/li&gt;
  &lt;li&gt;Enabling developers to create powerful distributed applications based on this data, without having to deal with the complexity of multiple web services APIs
&lt;/li&gt;
  &lt;li&gt;Providing &lt;a href="http://singly.com/#third" &gt;secure hosting services&lt;/a&gt; for personal data lockers
&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://singly.com/#eighth" &gt;Hiring!&lt;/a&gt; We&#x2019;re looking for people with deep experience in security and cryptography, cloud infrastructure and user experience, as well as software engineering generalists
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;This opportunity is a great fit for my interests and experience. Singly aims to be the commercial part of a vibrant open source community, and I&#x2019;m looking forward to building on what I&#x2019;ve learned in Debian, Canonical and Ubuntu to help make it a success.&lt;/p&gt;
&lt;p&gt;I&#x2019;ll have lots more to say about it as time goes on. Meanwhile, if you&#x2019;re interested in following what we&#x2019;re doing, here&#x2019;s where:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Singly&lt;/b&gt;: &lt;a href="http://www.singly.com/" &gt;website&lt;/a&gt;, &lt;a href="http://blog.singly.com/" &gt;blog&lt;/a&gt;, &lt;a href="http://twitter.com/singlyinc" &gt;Twitter&lt;/a&gt;
&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;The Locker Project&lt;/b&gt;: &lt;a href="http://lockerproject.org/" &gt;website&lt;/a&gt;, &lt;a href="https://github.com/quartzjer/Locker" &gt;GitHub&lt;/a&gt;, &lt;a href="http://twitter.com/lockerproject" &gt;Twitter&lt;/a&gt;, &lt;a href="http://blog.lockerproject.org" &gt;blog&lt;/a&gt;, IRC (&lt;tt&gt;#lockerproject&lt;/tt&gt; on FreeNode)
&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Me&lt;/b&gt;: &lt;a href="http://mdzlog.alcor.net" &gt;Blog,&lt;/a&gt; &lt;a href="http://identi.ca/mdz" &gt;Identica&lt;/a&gt; or &lt;a href="http://twitter.com/mdzimm" &gt;Twitter&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;br/&gt;&lt;a href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/1937/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/1937/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/mdzlog.wordpress.com/1937/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mdzlog.wordpress.com/1937/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/mdzlog.wordpress.com/1937/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mdzlog.wordpress.com/1937/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/mdzlog.wordpress.com/1937/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mdzlog.wordpress.com/1937/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/mdzlog.wordpress.com/1937/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mdzlog.wordpress.com/1937/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/mdzlog.wordpress.com/1937/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mdzlog.wordpress.com/1937/"/&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/mdzlog.wordpress.com/1937/" &gt;
  &lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mdzlog.wordpress.com/1937/"/&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=1937&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 6 May 2011 08:17:45 GMT</pubDate>
      <title>Moving on from Canonical (but not from Ubuntu)</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=44</link>
      <guid>http://mdzlog.alcor.net/2011/05/06/moving-on-from-canonical-but-not-from-ubuntu/</guid>
      <description>&lt;p&gt;This June, soon after my seventh anniversary with Canonical, I will finish my job as Ubuntu CTO at Canonical. You can read &lt;a href="http://blog.canonical.com/?p=566" &gt;my official announcement on the Canonical blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s sometimes hard to believe that it&amp;#8217;s been that long since we first envisioned a Linux desktop &amp;#8220;for human beings&amp;#8221;. When I look at how far we&amp;#8217;ve come, at the difference we&amp;#8217;ve made to so many people, it&amp;#8217;s easy to see how the time passed so quickly.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s been an incredible experience for me to play a part in building Ubuntu and Canonical. Whether building a decentralized company of hundreds of people, to a global community project of tens of thousands of members, I&amp;#8217;m grateful for all of the learning opportunities along the way. It has been a privilege to work with so many brilliant, passionate and thoughtful people under such auspicious circumstances. There is much I will miss, and I have many memories to enjoy, from all-night global hacking sessions driving toward a ship date, to casual singing and playing music at our many face-to-face events&lt;/p&gt;
&lt;p&gt;Nonetheless, it is time for me to seek out new challenges and stretch myself in new ways. I&amp;#8217;ll be moving back to the US, closer to old friends and family, and starting a new job with a different type of company. I am leaving behind a capable and dedicated team at Canonical, who I am confident will achieve even greater things in the years to come.&lt;/p&gt;
&lt;p&gt;I will remain active in the free software community as a volunteer. I intend to continue to participate in Ubuntu, and to serve on the Technical Board. I will also be continuing my work with Debian and the &lt;a href="http://www.advogato.org/2011/03/16/dex-debian-and-its-derivatives-getting-things-done-together/" &gt;DEX&lt;/a&gt; project. This year, I&amp;#8217;ve accepted advisory positions with the &lt;a href="http://adainitiative.org/" &gt;Ada Initiative&lt;/a&gt; and the &lt;a href="http://www.freedomboxfoundation.org/" &gt;Freedom Box Foundation&lt;/a&gt;, and will continue to support those organizations and their missions.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll be in Budapest at the Ubuntu Developer Summit for the next week, and look forward to seeing my friends in Canonical and the Ubuntu community.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll have more to say soon about what I&amp;#8217;ll be doing next professionally. Watch this space for updates!&lt;/p&gt;
&lt;br /&gt;  &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/1921/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/1921/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mdzlog.wordpress.com/1921/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mdzlog.wordpress.com/1921/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mdzlog.wordpress.com/1921/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mdzlog.wordpress.com/1921/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mdzlog.wordpress.com/1921/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mdzlog.wordpress.com/1921/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mdzlog.wordpress.com/1921/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mdzlog.wordpress.com/1921/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mdzlog.wordpress.com/1921/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mdzlog.wordpress.com/1921/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mdzlog.wordpress.com/1921/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mdzlog.wordpress.com/1921/" /&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=1921&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 16 Mar 2011 22:11:56 GMT</pubDate>
      <title>DEX: Debian and its derivatives, getting things done together</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=43</link>
      <guid>http://mdzlog.alcor.net/2011/03/16/dex-debian-and-its-derivatives-getting-things-done-together/</guid>
      <description>&lt;p&gt;Since I &lt;a href="http://www.advogato.org/2010/12/23/rejoining-debian/" &gt;resumed&lt;/a&gt; active status in Debian, I&amp;#8217;ve been thinking about how to bridge the gap between Debian and its derivatives&lt;a href="#footnote1" &gt;*&lt;/a&gt;. I&amp;#8217;ve spoken at length with &lt;a href="http://upsilon.cc/~zack/" &gt;Zack&lt;/a&gt;, the attendees of the Derivatives BoF at &lt;a href="http://debconf10.debconf.org/" &gt;DebConf 10&lt;/a&gt;, and the fine folks at the &lt;a href="http://wiki.debian.org/DerivativesFrontDesk" &gt;Derivatives Front Desk&lt;/a&gt; about the technical and social issues affecting derivative projects, and could probably write a very thorough series of blog posts on the subject.&lt;/p&gt;
&lt;p&gt;Instead, Zack and I decided to try &lt;em&gt;doing&lt;/em&gt; something about it: we have begun a project to test out a new approach to the problem.&lt;/p&gt;
&lt;h2&gt;&lt;a href="http://dex.alioth.debian.org/" &gt;Introducing DEX&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://dex.alioth.debian.org/" &gt;DEX&lt;/a&gt; is all about action: merging patches, fixing bugs, crunching data, whatever is necessary to get changes from derivatives into Debian proper. DEX doesn&amp;#8217;t try to change the way any existing project works, but adds a &amp;#8220;fast path&amp;#8221; for getting code from one place to another.&lt;/p&gt;
&lt;p&gt;DEX is a joint task force where developers from Debian and its derivatives work together on this common goal. As a pilot project, we&amp;#8217;ve established an &lt;a href="http://dex.alioth.debian.org/ubuntu" &gt;Ubuntu DEX Team&lt;/a&gt; focused on merging code from Ubuntu into Debian. With members from both projects, we hope to be able to resolve blockage anywhere in the pipeline. Whatever needs to get done in order to merge an Ubuntu patch, someone in the Ubuntu DEX team will know what to do. If we get good results with Ubuntu, we hope that other derivatives will follow. With thanks to &lt;a href="http://www.hanskalabs.net/" &gt;David Paleino&lt;/a&gt;, we&amp;#8217;re excited that the Utnubu project is &lt;a href="http://lists.debian.org/debian-derivatives/2011/03/msg00007.html" &gt;merging&lt;/a&gt; into DEX as it aligns well with their goals. I&amp;#8217;m very grateful to have Colin Watson and James Westby signed up to contribute as well.&lt;/p&gt;
&lt;p&gt;Our first project is simple: &lt;a href="http://dex.alioth.debian.org/ubuntu/ancient-patches/status/" &gt;turn this list green&lt;/a&gt;. This is an archive of quite old patches from Ubuntu, most of which have probably been merged already or made obsolete, but they pre-date any kind of tracking system so they need to be verified. Once that&amp;#8217;s done, we&amp;#8217;ll move on to a new project with a new todo list.&lt;/p&gt;
&lt;p&gt;If you want to see Debian benefit from technical work done in derivatives, DEX is a chance for you to &lt;a href="http://alioth.debian.org/projects/dex" &gt;act together&lt;/a&gt; to make it happen. If you work on a derivative and want to carry a smaller delta, come and &lt;a href="http://alioth.debian.org/projects/dex" &gt;join us&lt;/a&gt;. I&amp;#8217;m sure we&amp;#8217;ll learn a lot from this experience.&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#999999;"&gt;&lt;em&gt;&lt;a name="footnote1" &gt;*&lt;/a&gt; There are many instances of great cooperation between Debian and derivative distributions, including joint package maintenance teams, and some derivatives are even &lt;a href="http://wiki.debian.org/DebianPureBlends" &gt;part of the Debian project&lt;/a&gt;. Nonetheless, there are areas were most people I&amp;#8217;ve spoken to agree that we need to do better. This is what I&amp;#8217;ve referred to as the &amp;#8220;gap&amp;#8221;.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/1901/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/1901/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mdzlog.wordpress.com/1901/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mdzlog.wordpress.com/1901/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mdzlog.wordpress.com/1901/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mdzlog.wordpress.com/1901/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mdzlog.wordpress.com/1901/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mdzlog.wordpress.com/1901/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mdzlog.wordpress.com/1901/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mdzlog.wordpress.com/1901/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mdzlog.wordpress.com/1901/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mdzlog.wordpress.com/1901/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mdzlog.wordpress.com/1901/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mdzlog.wordpress.com/1901/" /&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=1901&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 7 Mar 2011 13:10:10 GMT</pubDate>
      <title>Listening to users</title>
      <link>http://www.advogato.org/person/mdz/diary.html?start=42</link>
      <guid>http://mdzlog.alcor.net/2011/03/07/listening-to-users/</guid>
      <description>&lt;p&gt;In the software community, people hold strong opinions on the subject of listening to users. Some feel that users are an essential source of information for making successful products, as evidenced in the &lt;a href="http://en.wikipedia.org/wiki/Steven_Gary_Blank#Customer_Development" &gt;customer development&lt;/a&gt; methodology, and seek to involve users deeply in product development. Others believe that users don&amp;#8217;t know what they want, invoking the quote attributed to Henry Ford, &amp;#8220;If I&amp;#8217;d asked customers what they wanted, they would have said &amp;#8216;a faster horse&amp;#8217;&amp;#8221;. Some say that user needs are unknowable except through the lens of a marketplace, where people choose in aggregate which products suit them best, and customers &amp;#8220;vote with their wallets&amp;#8221; (anything else is &amp;#8220;anecdata&amp;#8221;).&lt;/p&gt;
&lt;p&gt;Regular readers will not be surprised that I believe &lt;b&gt;they are all right&lt;/b&gt;, but only in certain contexts. The right strategy for involving users in product decisions will depend on factors related to the product itself, the market, and the product development method being used.&lt;/p&gt;
&lt;p&gt;One of the most important is the &lt;b&gt;life cycle stage of the product&lt;/b&gt;: is it a new and rapidly evolving concept, or a mature commodity, or somewhere in between?  Simon Wardley &lt;a href="http://blog.gardeviance.org/2011/02/should-i-listen-to-my-users.html" &gt;explains this well&lt;/a&gt; over on his blog, so I won&amp;#8217;t rehash his points here, but will add a few of my own.&lt;/p&gt;
&lt;p&gt;If what we&amp;#8217;re looking for is &lt;b&gt;inspiration for a new product&lt;/b&gt;, it&amp;#8217;s here that Henry Ford was right: users generally won&amp;#8217;t hand you a complete product vision on a silver platter. They&amp;#8217;ll frame their input in terms of what they know, and the choices already available to them. However, this doesn&amp;#8217;t mean that users don&amp;#8217;t have a role to play in this instance: &lt;b&gt;watching users&lt;/b&gt; can be a great source of inspiration. It&amp;#8217;s the combination of domain knowledge and passionate imagination which triggers the creative spark. Henry Ford applied his engineer&amp;#8217;s interests to a problem which was evident all around him.&lt;/p&gt;
&lt;p&gt;If our goal is to test &lt;b&gt;whether a new product is a good fit&lt;/b&gt; for its users, there is no substitute for user feedback. We can guess at whether there is a fit, and our intuition may be good, but users are the ultimate judges, and we don&amp;#8217;t know if we&amp;#8217;re right or wrong until users evaluate it. So &lt;b&gt;ask them!&lt;/b&gt;  By engaging in dialogue with individual users, we can learn unexpected things which will help to refine the idea. If we don&amp;#8217;t find what they think until our new product is released, we risk making something that no one wants. Why wait until it&amp;#8217;s too late? It can be challenging to extract useful feedback for a product which doesn&amp;#8217;t yet exist, but this effort is well worth it to avoid wasting much more effort in software engineering.&lt;/p&gt;
&lt;p&gt;When our objective is to &lt;b&gt;incrementally improve an existing product&lt;/b&gt;, individual anecdotes can mislead us. A given change may be an improvement for one user, but a disaster for another. What we want to know is whether the new version is better for the population as a whole, and in this case, we do well to &lt;b&gt;rely on data&lt;/b&gt;. There are pitfalls here as well, of course. We need to choose our questions carefully, and realize that users will often resist any change: not because they&amp;#8217;re stodgy by nature, but because they have to invest effort in adapting to the change. I think of incremental improvement as a joint investment made between product developers and their users, to improve the whole system of people and technology for the better.&lt;/p&gt;
&lt;p&gt;By choosing the right tool for the job, we can make better decisions, improve faster, and ultimately solve the right problem for our users.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mdzlog.wordpress.com/1891/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mdzlog.wordpress.com/1891/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mdzlog.wordpress.com/1891/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mdzlog.wordpress.com/1891/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mdzlog.wordpress.com/1891/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mdzlog.wordpress.com/1891/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mdzlog.wordpress.com/1891/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mdzlog.wordpress.com/1891/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mdzlog.wordpress.com/1891/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mdzlog.wordpress.com/1891/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mdzlog.wordpress.com/1891/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mdzlog.wordpress.com/1891/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mdzlog.wordpress.com/1891/" &gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mdzlog.wordpress.com/1891/" /&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mdzlog.alcor.net&amp;amp;blog=4533171&amp;amp;post=1891&amp;amp;subd=mdzlog&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description>
    </item>
  </channel>
</rss>
