<?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>Unix tips and tricks</title>
	<atom:link href="http://envisionlinux.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://envisionlinux.com/blog</link>
	<description>systems engineering from the trenches with Jeff Schroeder</description>
	<lastBuildDate>Fri, 09 Sep 2011 07:32:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>HOWTO: Make startssl.com ssl authentication work under google chromium on Linux</title>
		<link>http://envisionlinux.com/blog/howto-make-startssl-com-ssl-authentication-work-under-google-chromium-on-linux/</link>
		<comments>http://envisionlinux.com/blog/howto-make-startssl-com-ssl-authentication-work-under-google-chromium-on-linux/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 07:32:50 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[protip]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://envisionlinux.com/blog/?p=279</guid>
		<description><![CDATA[This is really just a tutorial on importing a client certificate into chromium via the shared nss database. The real magic is knowing chromium reads a sqlite database under ~/.pki/nssdb for it&#8217;s key and certificate storage. pk12util can be installed via the nss-tools package on Fedora or the libnss3-tools package on Debian/*buntu. $ pk12util -d [...]]]></description>
			<content:encoded><![CDATA[<p>This is really just a tutorial on importing a client certificate into chromium via the shared nss database. The real magic is knowing chromium reads a sqlite database under <strong>~/.pki/nssdb</strong> for it&#8217;s key and certificate storage. pk12util can be installed via the <em>nss-tools</em> package on Fedora or the <em>libnss3-tools</em> package on Debian/*buntu.</p>
<div style="background-color: black; color: white; padding: 5px; border: 2px outset green;">
<pre>$ pk12util -d sql:$HOME/.pki/nssdb -i ~/STARTCOM.p12
Enter password for PKCS12 file:
pk12util: PKCS12 IMPORT SUCCESSFUL</pre>
</div>
<p>&nbsp;</p>
<p>Could someone who has a windows installation clue me in via a comment on the best way to do this? Also, could anyone test this on <a title="Google Chrome" href="http://www.google.com/chrome" target="_blank">google chrome</a>?</p>
<p>After installing that certificate, <a title="StartSSL Authentication" href="https://auth.startssl.com" target="_blank">startssl login</a> works</p>
<p>Brought to you by the &#8220;I&#8217;d rather google and see how someone else did it rather than figure it out department&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://envisionlinux.com/blog/howto-make-startssl-com-ssl-authentication-work-under-google-chromium-on-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ich war ein Berliner</title>
		<link>http://envisionlinux.com/blog/ich-war-ein-berliner/</link>
		<comments>http://envisionlinux.com/blog/ich-war-ein-berliner/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 14:52:08 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[berlin]]></category>
		<category><![CDATA[desktop summit]]></category>
		<category><![CDATA[germany]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://envisionlinux.com/blog/?p=265</guid>
		<description><![CDATA[Without much fanfare, my wife and I came to the Desktop Summit here in Berlin. I met a whole lot of very cool people and even some kde hackers as well. There are plenty of people I had a great time meeting and forgot to mention, but I&#8217;ll blame Behdad. His insistence on more shots of Absinthe [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-266" title="I WENT to the Berlin 2011 Desktop Summit" src="http://envisionlinux.com/blog/wp-content/uploads/2011/08/DS2011banner.png" alt="" width="333" height="110" /></p>
<p>Without much fanfare, <a title="Rebecca Schroeder" href="http://beccaface.com/" target="_blank">my wife</a> and I came to the <a title="Desktop Summit 2011 - Berlin Mitte" href="https://desktopsummit.org/welcome-second-desktop-summit" target="_blank">Desktop Summit</a> here in Berlin. I <a title="Olav Vitters" href="http://blogs.gnome.org/ovitters" target="_blank">met</a> <a title="Luis de Bethencourt" href="http://luisbg.blogalia.com" target="_blank">a</a> <a title="Andreas Nilsson" href="http://www.andreasn.se/blog" target="_blank">whole</a> <a title="Edward Hervey" href="http://blogs.gnome.org/edwardrv" target="_blank">lot</a> <a title="Stéphane Maniaci" href="http://freesteph.info" target="_blank">of</a> <a title="Daniel Siegel" href="http://www.dgsiegel.net" target="_blank">very</a> <a title="Behdad Esfahbod" href="http://behdad.org/" target="_blank">cool</a> <a title="Lubosz Sarnecki" href="https://github.com/lubosz" target="_blank">people</a> <a title=" Germán Póo-Caamaño" href="http://blogs.gnome.org/gpoo" target="_blank">and</a> even some <a title="Jeff Mitchell" href="http://jefferai.org/" target="_blank">kde hackers</a> as well. There are plenty of people I had a great time meeting and forgot to mention, but I&#8217;ll blame Behdad. His insistence on more shots of Absinthe is why I forgot their names. It has been absolutely incredible to *finally* meet so many people whom I&#8217;ve followed via <a title="Planet Gnome" href="http://planet.gnome.org" target="_blank">planet</a> or chatted with on IRC for years.</p>
<p>The great <a title="PiTiVi - the Open Source Video Editor" href="http://www.pitivi.org" target="_blank">PiTiVi</a> Hackers and I are hacking away in <a title="Wonderpots" href="http://www.wonderpots.de/" target="_blank">Wonderpots</a>, this frozen yogurt shop right next to Humboldt University with great food and free 1Mbps wifi. Since he <a title="Jean-François Fortin Tam" href="http://jeff.ecchi.ca/blog/2011/08/08/various-performance-and-usability-improvements-in-pitivi/" target="_blank">last posted</a>, the PiTiVi team has done some great stuff. Stay tuned for more to come. I&#8217;m actually hacking on <a title="Mango Wiki page" href="https://live.gnome.org/Mango" target="_blank">mango</a>, the <a title="My mango fork on github" href="https://github.com/SEJeff/mango" target="_blank">rewrite</a> of the accounts management system for gnome. I&#8217;m on the left side in the red shirt.<br />
<a href="http://envisionlinux.com/blog/wp-content/uploads/2011/08/hacking_in_wonderpots.jpg"><img class="aligncenter size-full wp-image-276" title="PiTiVi hackers and I in Wonderpots" src="http://envisionlinux.com/blog/wp-content/uploads/2011/08/hacking_in_wonderpots.jpg" alt="" width="720" height="540" /></a></p>
<p>In an hour or so, Becca and I will start preparing for our trip around Germany. Of Germany, the only thing I can think so far is that this is a wonderful country. The people are nice (even to American monoglots who try to speak horribly broken German), the food is amazing, and everything is so full of life. If I&#8217;d have came here 10 years ago, I&#8217;d have never went back to the US. We&#8217;ll be doing a walking tour around Berlin, hopping a train or plane to Munich to tour <a title="Neuschwanstein Castle" href="http://www.neuschwanstein.de/" target="_blank">Neuschwanstein</a> and whatever else happens to happen along the way.</p>
<p>If anyone has any suggestions of what to do in the next week, please leave it in a comment. Now back to hacking&#8230;</p>
<p><strong>Update: Added a picture of our yogurt shop setup. Pretty sweet huh?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://envisionlinux.com/blog/ich-war-ein-berliner/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>The ants go marching one by one&#8230; or &#8220;How the new mango is coming along&#8221;</title>
		<link>http://envisionlinux.com/blog/the-ants-go-marching-one-by-one-or-how-the-new-mango-is-coming-along/</link>
		<comments>http://envisionlinux.com/blog/the-ants-go-marching-one-by-one-or-how-the-new-mango-is-coming-along/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 07:15:21 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://envisionlinux.com/blog/?p=232</guid>
		<description><![CDATA[Long time no blog&#8230; Real life has kept me busy and I&#8217;ve not had as much time as I&#8217;d like to finish this rewrite of mango, but we&#8217;re still marching on. It seemed like now was as good a time as any to show off a bit of the functionality and new shiney. Without further [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://envisionlinux.com/blog/wp-content/uploads/2011/06/ants-marching.jpg" alt="" title="The ants go marching one by one" width="640" height="427" class="aligncenter size-full wp-image-237" /></p>
<p>Long time no blog&#8230; Real life has kept me busy and I&#8217;ve not had as much time as I&#8217;d like to finish this <a href="https://github.com/SEJeff/mango">rewrite of mango</a>, but we&#8217;re still marching on. It seemed like now was as good a time as any to show off a bit of the functionality and new shiney.</p>
<p style="text-align: center;">Without further ado&#8230;</p>
<div style="margin: auto; text-align: center;">
<iframe class="youtube-player" type="text/html" width="640" height="385" src="http://www.youtube.com/embed/AxgMkIum0LU" frameborder="0"></iframe><br />
<a href="http://envisionlinux.com/blog/wp-content/uploads/2011/06/django-mango.ogv" title="Source video for the youtube link" target="_NEW">Higher quality ogv for freedom lubbers</a>
</div>
<p><h2>Some of the features I worked hard on to make things better for users:</h2>
<ul>
<li>Input boxes in the <a href="http://datatables.net/">datatables</a> table are always focused.</li>
<li>After selecting the dropdown to filter the type of account requests, the search input box is focused.</li>
<li>When filtering data in one of the tables and there is only 1 row, press &lt;ENTER&gt;.
<ul>
<li>It will take you to the href in the very first &lt;td&gt; element which is a hyperlink.</li>
<li>If there isn&#8217;t a &lt;td&gt; with a hyperlink, it won&#8217;t do anything.
      </ul>
</li>
<li>All of this uses <a href="https://www.djangoproject.com/" title="Django!" target="_NEW">modern</a> <a href="http://jquery.com/" target="_NEW">technologies</a> that should be easy to find other hackers to work on it.
<ul>
<li>This helps solve the bus factor problem with the current mango where no one really wants to work on php + xslt a whole lot.</li>
</ul>
</li>
<p>
<h2>Well thats all good and great, but whats left?</h2>
<p>Quite a bit actually. Here are a few things off the top of my head.</p>
<ul>
<li>Fix the <a href="https://github.com/SEJeff/mango/blob/django/mango/users/forms.py#L11" target="_NEW">custom</a> <a href="https://github.com/SEJeff/mango/blob/django/mango/users/templates/users/sshkey_widget.html">ssh key widget</a> to allow inline-ajax uploads of new ssh keys.</li>
<li>Port the ssh key widget to use the paramiko library for getting the ssh key fingerprint.</li>
<li>Account deletion with the ability to undo almost anything using <a href="https://github.com/etianen/django-reversion" target="_NEW">django-reversion</a></li>
<li>The super secret foundation member management that only membership committee members can do.</li>
<li>Extensive auditing so we can see who did what and when.</li>
<li>A *LOT* of css cleanup and formatting</li>
<li>Updating the mirrors.txt file when mirrors are modified, added, or deleted.</li>
<li>Validate all forms live using one of the various jquery live validation plugins</li>
<li>Lots more</li>
</ul>
<p>Well thats all I&#8217;ve got for now. Time for bed.</p>
]]></content:encoded>
			<wfw:commentRss>http://envisionlinux.com/blog/the-ants-go-marching-one-by-one-or-how-the-new-mango-is-coming-along/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://envisionlinux.com/blog/wp-content/uploads/2011/06/django-mango.ogv" length="4807937" type="video/ogg" />
		</item>
		<item>
		<title>Installing the Subsonic media server via apache on a Netgear ReadyNas Pro</title>
		<link>http://envisionlinux.com/blog/installing-the-subsonic-media-server-via-apache-on-a-netgear-readynas-pro/</link>
		<comments>http://envisionlinux.com/blog/installing-the-subsonic-media-server-via-apache-on-a-netgear-readynas-pro/#comments</comments>
		<pubDate>Sat, 14 May 2011 17:34:53 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[mod_proxy]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[netgear]]></category>
		<category><![CDATA[readynas]]></category>

		<guid isPermaLink="false">http://envisionlinux.com/blog/?p=184</guid>
		<description><![CDATA[I&#8217;ll admit it, I&#8217;m a geek. When geeks save $$$ for awhile, we get toys with 12Tb of raw disk space. Now this purchase wasn&#8217;t taken lightly. I did some research and chose the  ReadyNas Pro 6 disk for a few reasons. It runs Debian 4.0 (Etch) x86_64. In the past, I&#8217;ve used Ubuntu as [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll admit it, I&#8217;m a geek. When geeks save $$$ for awhile, we get <a title="Ready Nas Pro 6 Disk Bays with 6 2Tb Western Digital drives" href="http://www.amazon.com/NETGEAR-ReadyNAS-6-Bay-1-5TB-500GB/dp/B001ENER2O/ref=sr_1_1?ie=UTF8&amp;qid=1305351756&amp;sr=8-1" target="_blank">toys </a>with <a title="6 x 2Tb 7200RPM disk drives" href="http://www.amazon.com/WD-Caviar-Green-WD20EADS-internal/dp/tech-data/B001UE8LRE/ref=de_a_smtd" target="_blank">12Tb of raw</a> disk space. Now this purchase wasn&#8217;t taken lightly. I did some research and chose the  ReadyNas Pro 6 disk for a few reasons.</p>
<ol>
<li>It runs Debian 4.0 (Etch) x86_64. In the past, I&#8217;ve used Ubuntu as a &#8216;nix workstation and am quite familar with Debianisms.</li>
<li>It has an Intel Atom dual core processor instead of some of the lower end Mips or ARM processor. It is easier to get software to work on it as a standard x86 Linux install.</li>
<li>Netgear not only allows, but actively encourages modding and tinkering with it. The <a title="ReadyNAS Forums" href="http://www.readynas.com/forum/" target="_blank">ReadyNAS Forums</a> are pretty top notch and &#8220;<a title="Twitter for Yo-dah" href="https://twitter.com/#!/yohdah" target="_blank">Yohdah</a>&#8220;, their support guru, is very helpful.</li>
<li>It has some pretty decent <a title="NetGear Official Plugins for the ReadyNAS series devices" href="http://www.readynas.com/?cat=36" target="_blank">plugins</a> and <a title="NetGear ReadyNAS Community Plugins" href="http://www.readynas.com/?cat=75" target="_blank">community plugins</a> that make a lot of things you&#8217;d want to hack on dead simple. It is only a few clicks to install the root ssh plugin, yay!</li>
</ol>
<p>After finding the <a title="ReadyNAS Pro Subsonic Plugin" href="http://www.readynas.com/forum/viewtopic.php?f=48&amp;t=45661&amp;p=260048" target="_blank">Subsonic plugin</a>, and the fantastic <a title="Subsonic Media Server" href="http://subsonic.org/" target="_blank">Subsonic</a> web media server, I installed the plugin. It defaults to listening on port 4040 so you have to go to <strong>http / https://readynas:4040 </strong>to listen to your tunes. Knowing it could be better, I started poking around the readynas apache configuration and realized that it had mod_proxy installed.</p>
<p>Aha! I&#8217;ll just use my standard Debian apache configuration know how and all will be well. Nope&#8230; They put the apache configuration under <em>/etc/frontview/apache</em> and their &#8220;conf.d&#8221; directory is: <em>/etc/frontview/apache/addons. </em>Under the addons directory there was already a SUBSONIC.conf, but further plugin upgrades would overwrite that. I created /etc/frontview/apache/addons/subsonic_proxy.conf that looks ultimately like this:</p>
<div style="color: white; background-color: black; padding: 10px; overflow-x: auto;"><code>readynas:/etc/frontview/apache/addons# cat subsonic_proxy.conf<br />
# Serve Subsonic via apache under /subsonic/<br />
LoadModule proxy_module      /usr/lib/apache2/modules/mod_proxy.so<br />
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so&nbsp;</p>
<p>ProxyRequests     Off<br />
ProxyPreserveHost On</p>
<p>&lt;Proxy *&gt;<br />
Order deny,allow<br />
Allow from all<br />
&lt;/Proxy&gt;</p>
<p>ProxyPass        /subsonic/ http://localhost:4040/subsonic/<br />
ProxyPassReverse /subsonic/ http://localhost:4040/subsonic/</p>
<p>&lt;Location /subsonic&gt;<br />
Allow from all<br />
&lt;/Location&gt;</p>
<p></code>&nbsp;</p>
</div>
<p><span style="font-family: monospace;">Next up was figuring out the proper way to restart apache. Since they use the non-standard configuration file, the normal <em>apachectl configtest</em> fails:</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><code></p>
<div style="color: white; background-color: black; padding: 10px; overflow-x: auto;">
<pre><span style="color: #ffffff;">readynas:/etc/frontview/apache/addons# apache2ctl configtest
apache2: Could not open configuration file /etc/apache2/apache2.conf: No such file or directory</span></pre>
</div>
<p>This was easy enough by changing into /etc/apache2 and running: <em>ln -s ../frontview/apache/httpd.conf apache2.conf</em>. Now commands like this work perfectly:</p>
<div style="color: white; background-color: black; padding: 10px; overflow-x: auto;"><code><br />
readynas:# apache2ctl configtest &amp;&amp; apache2ctl stop &amp;&amp; apache2ctl start<br />
</code></div>
<p>To finish up the configuration, edit /c/webroot/subsonic/subsonic.sh and change <strong>SUBSONIC_CONTEXT_PATH=</strong> to <strong>SUBSONIC_CONTEXT_PATH=/subsonic</strong>. Now just kill the existing java process and run <em>./subsonic.sh</em> for it to start everything up<em>.</em></p>
<p style="text-align: center;">Then you just browse to http://readynas/subsonic/ (notice the trailing slash) and you're doneski.</p>
<p><a href="http://envisionlinux.com/blog/wp-content/uploads/2011/05/subsonic.png"><img class="aligncenter size-large wp-image-189" title="The Subsonic web media center in all of it's glory" src="http://envisionlinux.com/blog/wp-content/uploads/2011/05/subsonic-1024x694.png" alt="" width="1024" height="694" /></a></p>
<p></code></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://envisionlinux.com/blog/installing-the-subsonic-media-server-via-apache-on-a-netgear-readynas-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brief Outage for www.pitivi.org</title>
		<link>http://envisionlinux.com/blog/brief-outage-for-www-pitivi-org/</link>
		<comments>http://envisionlinux.com/blog/brief-outage-for-www-pitivi-org/#comments</comments>
		<pubDate>Fri, 06 May 2011 13:25:18 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[#linode]]></category>
		<category><![CDATA[#pitivi]]></category>
		<category><![CDATA[#thewebsiteisdown]]></category>

		<guid isPermaLink="false">http://envisionlinux.com/blog/?p=181</guid>
		<description><![CDATA[The linode datacenter where www.pitivi.org is hosted had a power outage and took the website with it. Sorry about that guys! Now that its back up, visit  www.pitivi.org to see how a few good men are making video editing on Linux rock.]]></description>
			<content:encoded><![CDATA[<p>The <a title="Linode" href="http://www.linode.com/" target="_blank">linode</a> datacenter where <a title="PiTiVi!" href="http://www.pitivi.org" target="_blank">www.pitivi.org</a> is hosted had a <a title="Linode Power Outage Details" href="http://status.linode.com/2011/05/outage-in-fremont-facility.html" target="_blank">power outage</a> and took the website with it. Sorry about that guys!</p>
<p>Now that its back up, visit  <a title="PiTiVi!" href="http://www.pitivi.org" target="_blank">www.pitivi.org</a> to see how a few good men are making video editing on Linux rock.</p>
]]></content:encoded>
			<wfw:commentRss>http://envisionlinux.com/blog/brief-outage-for-www-pitivi-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New happenings in GNOME SysAdmin-land</title>
		<link>http://envisionlinux.com/blog/new-happenings-in-gnome-sysadmin-land/</link>
		<comments>http://envisionlinux.com/blog/new-happenings-in-gnome-sysadmin-land/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 05:20:15 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[opengear]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://envisionlinux.com/blog/?p=153</guid>
		<description><![CDATA[The folks over at OpenGear were kind enough to give us a small 8 port serial console server pretty much at cost. We&#8217;ll be using it to make sure GNOME services are up faster in the unlikely event of a hardware failure. Thanks Todd Rychecky, VP of Sales for making this happen. Should Murphy laugh at [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="http://opengear.com/images/logo/logo-med-tagline.jpg" alt="" width="350" height="88" /><br />
The folks over at <a title="OpenGear Console Servers" href="http://opengear.com" target="_blank">OpenGear</a> were kind enough to give us a small 8 port serial <a title="OpenGear CM4008 Front" href="http://opengear.com/images/CM4008-front-large.jpg" target="_blank">console</a> <a title="OpenGear CM4008 Rear" href="http://opengear.com/images/CM4008-rear-large.jpg" target="_blank">server</a> pretty much at cost. We&#8217;ll be using it to make sure GNOME services are up faster in the <a title="GNOME master database server crash post mortem" href="http://blogs.gnome.org/sysadmin/2011/03/30/downtime-report-after-the-dust-has-settled/" target="_blank">unlikely event</a> of a <a title="GNOME Master LDAP Server Disk Failure" href="http://blogs.gnome.org/sysadmin/2010/11/13/maintenance-schedule-2010-11-15-1600-utc/" target="_blank">hardware failure</a>. Thanks <a title="Todd Rychecky @ Opengear's website" href="http://opengear.com/about.html" target="_blank">Todd Rychecky</a>, VP of Sales for making this happen.</p>
<p>Should Murphy laugh at us again, <a title="Owen had to hit a key to boot the ldap server's raid array in degraded mode" href="http://blogs.gnome.org/sysadmin/2010/10/06/maintenance-downtime-2010-10-06-report/" target="_blank">manual intervention</a> from a redhatter should be less likely (unless a hardware replacement is needed of course). This also gives <a title="Owen Taylor's blog" href="http://blog.fishsoup.net" target="_blank">owen</a> and crew more time to make <a title="GNOME Shell video" href="http://www.youtube.com/watch?v=DKtJ7SkK5XM" target="_blank">shell rock</a>.</p>
<p>Knowing these things run <a title="OpenGear Linux info" href="http://www.opengear.com/linuxinside.html" target="_blank">Linux inside</a> and being a techie at heart, the only sensible thing to do was enable ssh and poke around.</p>
<div style="background-color: black; color: white; padding: 5px;">
<pre># uname -a
Linux gnomeconsole 2.4.34.5-uc0 #2 Fri Mar 18 01:51:44 EST 2011 armv4l unknown
# ps -efH
  PID USER       VSZ STAT COMMAND
    1 root       548 S    /bin/init
    2 root         0 SW   [keventd]
    3 root         0 SWN  [ksoftirqd_CPU0]
    4 root         0 SW   [kswapd]
    5 root         0 SW   [bdflush]
    6 root         0 SW   [kupdated]
    7 root         0 SW   [cifsoplockd]
    8 root         0 SW   [mtdblockd]
   53 root         0 SWN  [jffs2_gcd_mtd1]
  212 root      1048 S    /sbin/syslogd
  214 root      1008 S    /sbin/klogd
  215 1          444 S    /bin/portmap
  220 root      1020 S    /usr/sbin/crond -S
  232 root       460 S    /bin/inetd
  233 root       444 S    /bin/flatfsd
  234 root       428 S    /sbin/lighttpd-angel -D -f /etc/config/lighttpd.conf
  235 root       984 S    /bin/alertd
  237 root      1476 S    /bin/portmanager -f
  238 root      1980 S    /bin/stunnel /etc/config/https.conf
  240 root      2464 S    /bin/sshd -r -D -o AllowUsers=* -o AllowTcpForwarding
  241 root      1012 S    /bin/shellinaboxd --localhost-only -u root -g root --
  248 root       440 S    /bin/agetty sercon 115200
  249 root      1020 S    /bin/shellinaboxd --localhost-only -u root -g root --
  260 root      2696 S    sshd: root@ttyp0
  262 root       992 S    -sh
  818 root      2760 R    sshd: root@ttyp1
  820 root       996 S    -sh
  896 root      1244 S    /sbin/lighttpd -D -f /etc/config/lighttpd.conf
  942 root      1012 R    ps -efH
# free
              total         used         free       shared      buffers
  Mem:        14148        12216         1932            0          956
 Swap:            0            0            0
Total:        14148        12216         1932
# cat /proc/cpuinfo
Processor	: Arm922Tid(wb) rev 0 (v4l)
BogoMIPS	: 83.14
Features	: swp half thumb 

Hardware	: OpenGear/CM4008
Revision	: 0000
Serial		: 0000000000000000</pre>
</div>
<p style="text-align: center;">Behold, the screaming fast ARM server with a whopping 14Mb of RAM in all of it&#8217;s glory!<br />
<img class="size-medium wp-image-161 aligncenter" title="Epic hardware is epic" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/whoa_thats_epic_cat-300x225.png" alt="" width="300" height="225" /></p>
<p style="text-align: center;">This sucker also has a pretty webui for the type of people inclined to that sort of thing.</p>
<p style="text-align: center;"><a href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/gnome-console-server.png"><img class="size-medium wp-image-172" title="GNOME Console Server webui" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/gnome-console-server-300x187.png" alt="" width="300" height="187" /></a></p>
<p style="text-align: left;">It will still take a bit to get this along with the <a title="Christer Edwards's update on SysAdmin things and the new servers" href="http://blogs.gnome.org/sysadmin/2011/04/22/a-little-uneventful/" target="_blank">sweet new servers</a> racked and ready for  prime time. Until then, you can see more adoreable cat pictures <a title="Here be dragons" href="http://icanhascheezburger.com/" target="_blank">here</a>. Oh, don&#8217;t forget to subscribe to the <a title="GNOME News - This is *not* Planet GNOME" href="http://news.gnome.org/" target="_blank">news.gnome.org</a> feed or at least follow the <a title="GNOME SysAdmin Team BLog" href="http://blogs.gnome.org/sysadmin/" target="_blank">GNOME SysAdmin Team Blog</a>. All the cool kids are doing it.</p>
]]></content:encoded>
			<wfw:commentRss>http://envisionlinux.com/blog/new-happenings-in-gnome-sysadmin-land/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Loving GNOME is like loving crack, it is real easy to get hooked</title>
		<link>http://envisionlinux.com/blog/loving-gnome-is-like-loving-crack-real-easy-to-get-hooked/</link>
		<comments>http://envisionlinux.com/blog/loving-gnome-is-like-loving-crack-real-easy-to-get-hooked/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 06:01:31 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://envisionlinux.com/blog/?p=85</guid>
		<description><![CDATA[Once upon a time, a freedom loving gnome hacker asked for help running a booth for GNOME at the Southern California Linux Expo for their 6th conference. I thought, &#8220;Sure, why not, sounds like fun and perhaps I&#8217;ll meet some cool people.&#8221;. That event seems like forever ago and I&#8217;ve not looked back since. Eric Butler, [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;">
<p><a href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE6x-GNOME.jpg"><img class="alignnone size-medium wp-image-86" title="My first GNOME booth at SCALE6x" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE6x-GNOME-225x300.jpg" alt="" width="180" height="240" /></a></p>
</div>
<p>Once upon a time, a <a title="Ken VanDine" href="http://blogs.gnome.org/kenvandine/2008/01/01/gnome-booth-at-scale-help-needed/" target="_blank">freedom loving gnome hacker</a> asked for help running a booth for <a title="GNOME" href="http://www.gnome.org" target="_blank">GNOME</a> at the <a title="SCALE" href="http://www.socallinuxexpo.org/" target="_blank">Southern California Linux Expo</a> for their 6th conference.</p>
<p>I thought, &#8220;Sure, why not, sounds like fun and perhaps I&#8217;ll meet some cool people.&#8221;.<br />
<a title="SCALE6x" href="http://www.socallinuxexpo.org/scale6x/" target="_blank">That event</a> seems like forever ago and I&#8217;ve not looked back since. <a title="Eric Butler" href="http://codebutler.com/" target="_blank">Eric Butler</a>, who joined us for the booth that year wrote a <a title="Eric Butler's SCALE7x writeup" href="http://eric.extremeboredom.net/2008/02/12/285" target="_blank">great write up</a> of <strong>SCALE6x</strong>. He then went on to change the way web 2.0 websites think about security by writing <a title="Fire Sheep" href="http://codebutler.com/firesheep" target="_blank">Fire Sheep</a>.</p>
<p>The following year for <strong>SCALE7x</strong>, I had the awful experience of my apartment being broken into a few days before the conference. The contents of the <a title="North American Gnome Event Box" href="https://live.gnome.org/GnomeEventsBox" target="_blank">GNOME Event Box</a> was dumped in my living room floor. The intruders took many of my valuables and electronics, stuffed it into the event box, and rolled it right out my front door while I was at work. Luckily for us, that didn&#8217;t make things any less awesome. Work let me borrow some hardware and all was well. Due to messing up my insurance paperwork and feeling bad about it, I just bought the foundation a new booth and contents out of pocket.</p>
<p><a href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE8x-GNOME.jpg"></a> <a href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE7x-GNOME-Christian2.jpg"><img class="alignnone size-medium wp-image-130" title="Christian Hergert cheesing @ SCALE7x" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE7x-GNOME-Christian2-300x200.jpg" alt="" width="300" height="200" /></a> <a href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE7x-GNOME.jpg"><img class="alignnone size-medium wp-image-93" title="A girl drawing at the SCALE7x GNOME Booth" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE7x-GNOME-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p><a href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE7x-GNOME.jpg"></a><br />
<strong>SCALE8x</strong> was very interesting when <a title="Christian Hergert" href="http://audidude.com/" target="_blank">Christian</a> and <a title="Jordan Larrigan" href="http://jordanlarrigan.com/" target="_blank">Jordan</a> stocked a <a title="Lots of alcohol" href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/wet-bar.jpg" target="_blank">wet bar</a> under the booth. There are a few stories floating around about me napping on the floor in the middle of the expo room. I swear they are all lies! <a title="Shapor Naghibzadeh" href="http://shapor.com/" target="_blank">Shapor</a> and <a title="Justin Roth" href="http://jble.com/" target="_blank">Jble</a> also helped us keep things runnings smoothly.</p>
<p><a href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE8x-GNOME-Jeff.jpg"><img class="alignnone size-medium wp-image-102" title="Me sporting a &quot;meat is murder tasty tasty murder&quot; pink shirt at SCALE8x" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE8x-GNOME-Jeff-300x224.jpg" alt="" width="300" height="224" /></a> <a href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE8x-GNOME1.jpg"><img class="alignnone size-medium wp-image-137" title="The Beatles love GNOME @ SCALE8x" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE8x-GNOME1-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Just like the past three years, Jordan, Christian, and myself ran the GNOME booth for <strong>SCALE9x</strong>. The difference is that this time I&#8217;m finally going to blog about it. We also had the pleasure of <a title="Christer Edward's Ubuntu Tutorials website" href="http://ubuntu-tutorials.com/" target="_blank">Christer Edwards</a> coming all the way from Utah to help with booth logistics and a <a title="SCALE9x GNOME SysAdmin Hackfest" href="https://live.gnome.org/Hackfests/Sysadmin-SCALE9x" target="_blank">Sysadmin Hackfest</a>. There were a few small issues that we&#8217;ll fix for next year, but all around things kicked ass.</p>
<p><a href="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE9x.jpg"><img class="size-medium wp-image-101 aligncenter" title="GNOME Booth at SCALE9x" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/SCALE9x-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>&nbsp;</p>
<p>Some time in all of this mess I joined the GNOME <a title="GNOME Wiki: Sysadmin" href="https://live.gnome.org/Sysadmin" target="_blank">Sysadmin Team</a>, became a <a title="Snowy in GNOME git" href="http://git.gnome.org/browse/snowy/log/?qt=author&amp;q=Jeff+Schroeder" target="_blank">contributor</a> and then <a title="Sandy Armstrong officially makes me a snowy maintainer" href="http://git.gnome.org/browse/snowy/commit/?id=ed51cc152e573f22e2c3300a95856412de422f4e" target="_blank">maintainer</a> for <a title="GNOME Wiki: Snowy" href="https://live.gnome.org/Snowy" target="_blank">snowy</a>, and even was <a title="Thank you GNOME!" href="http://envisionlinux.com/blog/thank-you-gnome/" target="_blank">sponsored to fly to the boston summit</a>! Reflecting back on all of this all I&#8217;ve got to say is thank you. GNOME *is* people and it is those people who make it awesome. The 3.0 release has went really well and I can&#8217;t wait to help push things forward even further.</p>
<p>Oh right, introductions&#8230; Thanks to the <a title="Alberto Ruiz" href="http://git.gnome.org/browse/planet-web/commit/?id=6242cd6f3d37f770a764fa591e53b37758b657d3" target="_blank">powers that be</a>, I&#8217;m now on <a title="Planet GNOME" href="http://planet.gnome.org/" target="_blank">Planet GNOME</a>. My name is <a title="GNOME Wiki: JeffSchroeder" href="https://live.gnome.org/JeffSchroeder">Jeff Schroeder</a> and I&#8217;m a GNOME-a-holic. I love python, <a title="Django Pony - magic that can't be removed!" href="http://djangopony.com/" target="_blank">ponies</a>, and <a title="WINNING is for winners" href="https://twitter.com/#!/search/%23winning" target="_blank">winning</a>. While not as much of a fan of ice cream as <a title="Vincent Contests Icecream Deathmatch Loss" href="http://treitter.livejournal.com/7540.html" target="_blank">Vincent</a>, I could totally take him in an octagon ice cream deathmatch.  In all seriousness, it blows my mind that one person truly can make an impact. No matter how small your contribution, it will make a difference. If you don&#8217;t have the time or energy to work on <a title="Damned Lies about GNOME" href="http://l10n.gnome.org/" target="_blank">translations</a>, the <a title="GNOME Wiki" href="https://live.gnome.org" target="_blank">wiki</a>, or <a title="GNOME Git - Where all of the secret sauce is" href="http://git.gnome.org" target="_blank">coding</a>, please consider becoming a <a title="Become a Friend of GNOME!" href="http://www-old.gnome.org/friends/" target="_blank">friend of GNOME</a>. If you can&#8217;t do that, <a title="GNOME Bugzilla bug tracker" href="https://bugzilla.gnome.org/" target="_blank">report bugs</a> you find in your favorite GNOME software . There is something for everyone to work on and I&#8217;m just doing my little part. That my friends is how I&#8217;m changing the world in my own little way, and changing things for the better.</p>
<p>Tune in next time! Same bat time, same bat channel. This is Jeff Schroeder signing off!</p>
]]></content:encoded>
			<wfw:commentRss>http://envisionlinux.com/blog/loving-gnome-is-like-loving-crack-real-easy-to-get-hooked/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Current status of the mango django/python port</title>
		<link>http://envisionlinux.com/blog/current-status-of-mango-django/</link>
		<comments>http://envisionlinux.com/blog/current-status-of-mango-django/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 00:02:06 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[mango]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://envisionlinux.com/blog/?p=3</guid>
		<description><![CDATA[To start out with, a brief bit of history&#8230; Many moons ago, back when GNOME was still a fairly new project, Jonathan Blanford (jrb) hacked together some python scripts for helping managing users in ldap. To ease the burden from the sysadmin team, a few good men wrote a user management tool for GNOME named [...]]]></description>
			<content:encoded><![CDATA[<p>To start out with, a brief bit of history&#8230; Many moons ago, back when GNOME was still a fairly new project, Jonathan Blanford (jrb) hacked together some python scripts for helping managing users in ldap. To ease the burden from the sysadmin team, a <a title="Ross Golder" href="http://www.golder.org/" target="_blank">few</a> <a title="Baris Cicek - Summer of Code 2007 Student" href="https://launchpad.net/~baris" target="_blank">good</a> <a title="Olav Vitters" href="http://blogs.gnome.org/ovitters" target="_blank">men</a> wrote a user management tool for GNOME named <a title="GNOME Mango" href="http://live.gnome.org/Mango" target="_blank">mango</a>. As you <a title="Sneak peak of mango - Olav Vitters's Blog" href="http://blogs.gnome.org/ovitters/2007/09/26/sneak-preview-of-mango/" target="_blank">can see here</a>, it has lots of the pretty. For the SysAdmin and Accounts team, mango is a workhorse, but as all good tools, it needs to be maintained.</p>
<p>Fast forward to today. Mango is still a champ and runs very well for what it was designed for. The issue is that it&#8217;s written in php, a language most of the GNOME sysadmin team don&#8217;t want to develop in. To fix this, <a title="Olav Vitters" href="http://blogs.gnome.org/ovitters/" target="_blank">Olav Vitters</a> started <a title="Mango Django port" href="http://git.gnome.org/browse/mango/log/?h=django" target="_blank">rewriting it</a> in python using django, the web framework full of <a title="Django Pwnie!" href="http://djangopony.com/" target="_blank">pwnies and unicorns</a> that I&#8217;ve got so much &lt;3 for. When Olav started writing it, django and LDAP didn&#8217;t play so well together. This was a problem as the majority of mango&#8217;s data is stored in ldap so it needs first class ldap support. One of the <a title="Bolloré telecom" href="http://www.bolloretelecom.eu/" target="_blank">largest french isps</a> agrees that ldap + django are a good idea, so they wrote <a title="django-ldapdb project page" href="http://opensource.bolloretelecom.eu/projects/django-ldapdb/" target="_blank">django-ldapdb</a>. This is a subclass of django&#8217;s native orm, but for ldap directories.</p>
<p>As an excuse to work on more fun technology, I&#8217;ve picked up Olav&#8217;s great work and have started hacking on it. You can find the most up to date work here: <a title="SEJeff's Mango django branch on github" href="https://github.com/SEJeff/mango/commits/django" target="_blank">https://github.com/SEJeff/mango/commits/django</a>. This will also be my first really big non-work django project (other than <a title="Snowy, an AGPLv3 tomboy note synchronization server" href="http://live.gnome.org/Snowy" target="_blank">snowy</a>) that is being written from scratch. For managing users, one of my favorite features is that the search is &#8220;find as you type&#8221;. I&#8217;m sure the accounts team will appreciate this. It is still a huge WIP and I&#8217;ll need to clean up the commit history before pushing it to git.gnome.org. Either way, this is a good start.</p>
<p><strong>Update</strong>:  4/17/2011 &#8211; Added a screenshot of the just prettified update user page.</p>
<h1>TL; DNR &#8211; Pretty screenshots:<br />

<a href='http://envisionlinux.com/blog/current-status-of-mango-django/mango-user-management/' title='Managing users with mango'><img width="150" height="150" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/mango-user-management-150x150.png" class="attachment-thumbnail" alt="Managing users with mango" title="Managing users with mango" /></a>
<a href='http://envisionlinux.com/blog/current-status-of-mango-django/mango-mirror-management/' title='Managing GNOME mirrors with mango'><img width="150" height="150" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/mango-mirror-management-150x150.png" class="attachment-thumbnail" alt="Managing GNOME mirrors with mango" title="Managing GNOME mirrors with mango" /></a>
<a href='http://envisionlinux.com/blog/current-status-of-mango-django/mango-update-user-information/' title='Updating a user&#039;s information with mango'><img width="150" height="150" src="http://envisionlinux.com/blog/wp-content/uploads/2011/04/mango-update-user-information-150x150.png" class="attachment-thumbnail" alt="Updating a user&#039;s information with mango" title="Updating a user&#039;s information with mango" /></a>
</h1>
<p>So some of the tech used so far is <a title="Django" href="http://www.djangoproject.com/" target="_blank">django</a>, <a title="django-ldapdb" href="http://opensource.bolloretelecom.eu/projects/django-ldapdb/" target="_blank">django-ldapdb</a>, <a title="jQuery Datatables plugin" href="http://datatables.net/" target="_blank">datatables</a>, <a title="jQuery ui" href="http://jqueryui.com/" target="_blank">jquery-ui</a>. This might not look like a whole lot, but it is a good start. Note that the users are being pulled from an actual ldap replica.</p>
]]></content:encoded>
			<wfw:commentRss>http://envisionlinux.com/blog/current-status-of-mango-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thank you GNOME!</title>
		<link>http://envisionlinux.com/blog/thank-you-gnome/</link>
		<comments>http://envisionlinux.com/blog/thank-you-gnome/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 00:50:04 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://envisionlinux.com/blog/?p=17</guid>
		<description><![CDATA[The GNOME Foundation was kind enough to sponsor myself and five other hackers from all over the world to head to Boston, MA for a weekend of coding, designing, and fun. We worked on Snowy, a really clever way to sync tomboy notes between different devices and computers. Brad Taylor was nice enough to let [...]]]></description>
			<content:encoded><![CDATA[<p><img title="The GNOME Foundation sponsored me to go to the Snowy Hackfest" src="http://envisionlinux.com/blog/wp-content/uploads/2010/11/sponsored.png" alt="" width="150" height="150" /></p>
<p>The <a href="http://www.gnome.org" target="_blank">GNOME</a> Foundation was kind enough to sponsor myself and <a href="http://automorphic.blogspot.com/" target="_blank">five</a> <a href="http://www.paulcutler.org/blog/" target="_blank">other</a> hackers from all <a href="http://jeff.ecchi.ca/blog" target="_blank">over</a> the <a href="http://leonhandreke.tumblr.com/" target="_blank">world</a> to head to Boston, MA for a weekend of coding, designing, and fun. We worked on <a href="http://live.gnome.org/Snowy" target="_blank">Snowy</a>, a really clever way to sync tomboy notes between different devices and computers.<a href="http://envisionlinux.com/blog/wp-content/uploads/2010/11/sponsored.png"></a></p>
<p><a href="http://envisionlinux.com/blog/wp-content/uploads/2010/11/sponsored.png"> </a></p>
<p>Brad Taylor was nice enough to let us use his sweet pad for our first day of the <a href="http://live.gnome.org/Hackfests/Snowy" target="_blank">hackfest</a>. My task was primarily to work on note sharing and a user interface for making private notes public.</p>
<p>After thinking the plan was to implement the mockup from Jeff Fortin (referred to as Jeff^2) that looks like this:<br />
<a href="http://live.gnome.org/Snowy/DesignerPlayground?action=AttachFile&amp;do=view&amp;target=mockup-nekohayo-sharing.png"><img class="alignnone size-medium wp-image-26" title="Jeff Fortin's Note Sharing mockup" src="http://envisionlinux.com/blog/wp-content/uploads/2010/11/mockup-nekohayo-sharing1-300x167.png" alt="" width="300" height="167" /></a></p>
<p>Brad had a better idea and suggested a more gmail-ish interface. His idea was to make a &#8220;Share this note&#8221; button like the gmail add label interface. The tricky part for me was going to be the find as you type dropdown box. While the idea sounded great, I am not the javascript guru him or Sandy Armstrong are as <a href="http://litl.com/" target="_blank">litl-ers</a>.</p>
<p>jQuery to the rescue! This problem is mostly solved with the help of <a href="https://github.com/gregwebs/jquery-uitablefilter/" target="_blank">jquery-uitablefilter</a>, a nifty plugin for filtering tables. The problem was that it took me 2 full days to create a usable prototype. Integrating the uitable filter plugin wasn&#8217;t too difficult, but getting it to work with a popover menu (css&#8217;s z-index property / position: absolute) was a bit problematic. I do plenty of back end stuff at work, but front ends and javascript are fairly new to me.</p>
<p>After a rough ui prototype was done, we all worked together on how to tackle note sharing on the backend. The <a href="http://mail.gnome.org/archives/snowy-list/2010-November/msg00000.html" target="_blank">original plan</a> was changed to use a separate &#8220;Share&#8221; model instead of a special NoteTag for simplicity. K.I.S.S., it is a good thing.</p>
<p><strong>Current Status</strong></p>
<p>I&#8217;ve gotten all of the hard code written. The rest is mainly implementation details and cleaning up what is already there. The likely to be rebased and futzed with before being merged into master code is a <a href="https://github.com/SEJeff/snowy/tree/hackfest/sharing" target="_blank">hackfest/sharing</a> branch on github.</p>
<ul>
<li> Hook up an onclick handler for the &#8220;Share this note with all users&#8221; entry for marking a note Public.</li>
<li>Hook up an onclick handler for unsharing a note with one of your &#8220;friends&#8221;.  $.post() will rock your socks!</li>
<li>Send emails to users ala google docs when a user wants to share a note with you and types in your email.</li>
<li>Get this all working well enough to make everyone happy and get it on <a href="http://edge.tomboy-online.org" target="_blank">http://edge.tomboy-online.org</a></li>
</ul>
<p>Sandy wrote an <a href="https://github.com/sandyarmstrong/snowy/tree/html5" target="_self">html5</a> snowy client so we can run on mobile devices. Leon Handreke worked tirelessly on markdown support for mobile note editing. Brad Taylor worked on a javascript markdown convertor appropriately named <a href="https://github.com/btaylor/bitenuker" target="_self">bitenuker</a>. Between the three of them, we&#8217;ll eventually have rocking mobile device support and editing. Paul Cutler (as usual) cracked the whip and kept us focused on the task at hand while Jeff^2 gave things the pretty with his hand carved css wizardry and <a href="https://github.com/nekohayo/snowy/commits/new-layout" target="_blank">new-layout</a> branch.</p>
<p>Paul, <a href="http://blog.fishsoup.net/" target="_blank">Owen Taylor</a>, and myself also had an impromptu GNOME SysAdmin team meeting. The times, they&#8217;re a changin&#8217;.</p>
<p>I&#8217;d like to give a special thank you to Paul Cutler and Sandy Armstrong for herding cats and making sure we stay on task. Without their tireless effort, things wouldn&#8217;t have went nearly as smooth as they did. This was a great hackfest overall and expect to see great things coming to Tomboy Online as a result.</p>
<p>So long, and thanks for all the fish!</p>
]]></content:encoded>
			<wfw:commentRss>http://envisionlinux.com/blog/thank-you-gnome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

