<?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>Ian Weller’s free software blog &#187; Fedora Planet</title>
	<atom:link href="http://ianweller.org/cat/fedoraplanet/feed/" rel="self" type="application/rss+xml" />
	<link>http://ianweller.org</link>
	<description></description>
	<lastBuildDate>Thu, 26 Aug 2010 00:43:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>dear lazyweb&#8230;</title>
		<link>http://ianweller.org/2010/08/26/dear-lazyweb-2/</link>
		<comments>http://ianweller.org/2010/08/26/dear-lazyweb-2/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 00:43:01 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Fedora Planet]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=652</guid>
		<description><![CDATA[I&#8217;m tired of getting .pingalls and other highlights from zodbot in IRC. Is there a way I can configure Irssi to consider all messages from zodbot as regular messages &#8212; not highlights &#8212; even if they contain my name?
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m tired of getting .pingalls and other highlights from zodbot in IRC. Is there a way I can configure Irssi to consider all messages from zodbot as regular messages &#8212; not highlights &#8212; even if they contain my name?</p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/08/26/dear-lazyweb-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>while I wasn&#8217;t doing my job&#8230;</title>
		<link>http://ianweller.org/2010/07/27/while-i-wasnt-doing-my-job/</link>
		<comments>http://ianweller.org/2010/07/27/while-i-wasnt-doing-my-job/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:46:54 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Fedora Planet]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[irssi]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=646</guid>
		<description><![CDATA[I&#8217;ve been wanting a (good) way to get notifications from irssi in the foreground for a while now. Let&#8217;s say, oh, two years.
My irssi setup is fairly standard: irssi running in screen on a remote server. There&#8217;s a few ways people have come up to run around this:

Run the SSH session with X forwarding and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been wanting a (good) way to get notifications from irssi in the foreground for a while now. Let&#8217;s say, oh, two years.</p>
<p>My irssi setup is fairly standard: irssi running in screen on a remote server. There&#8217;s a few ways people have come up to run around this:</p>
<ul>
<li>Run the SSH session with X forwarding and use notify-send to pop up new messages</li>
<li>Run a second SSH session to access a fifo of new messages and pop them up as they come</li>
<li>Move your windows around so that you can always see the status bar at the bottom of irssi</li>
</ul>
<p>The first two are, if you&#8217;re not careful, prone to attack &#8212; the most basic bash script to send messages to notify-send can easily run commands to remove files, etc., if you don&#8217;t escape quotes. The third one is impossible if you use a tiling window manager like <a href="http://awesome.naquadah.org/">awesome</a>.</p>
<p>Since I use awesome, it&#8217;s really stupidly easy to create a widget in the status bar at the top. Add something along the lines of this to your rc.lua:</p>
<pre>myirssistatus = widget({ type = "textbox" })</pre>
<p>Add it to the wibox:</p>
<pre>
-- Create the wibox
mywibox[s] = awful.wibox({ position = "top", screen = s })
-- Add widgets to the wibox - order matters
mywibox[s].widgets = {
    {
        mylauncher,
        mytaglist[s],
        mypromptbox[s],
        layout = awful.widget.layout.horizontal.leftright
    },
    mylayoutbox[s],
    mytextclock,
    <strong>myirssistatus,</strong>
    s == 1 and mysystray or nil,
    mytasklist[s],
    layout = awful.widget.layout.horizontal.rightleft
}
</pre>
<p>And it&#8217;s there. Of course, it&#8217;s empty. That&#8217;s where the combination of an irssi script and a bash script come into play.</p>
<p>The irssi script <a href="http://scripts.irssi.org/scripts/activity_file.pl">activity_file.pl</a> simply spits out a CSV file listing the IRC channels your in, in the following format:</p>
<pre>num,act,channel,network</pre>
<p><code>num</code> is the channel number, <code>act</code> is an integer representing channel activity (0 for none, 1 for crap, 2 for messages, and 3 for hilights), <code>channel</code> is, well, the channel (e.g., <code>#fedora-devel</code>) and <code>network</code> is the name of the network that channel is related to (see <code>/help network</code>). Everything you need.</p>
<p>The script spits that data out to ~/.irssi/activity_file, and I have it symlinked into somewhere in ~/public_html (not the most secure, but it&#8217;s not like there&#8217;s any personal information in my channel list), and this bash script picks it up and runs with it:</p>
<pre>
#!/bin/bash

trap cleanup 2

cleanup()
{
	echo "myirssistatus.text = ''" | awesome-client
	exit 0
}

while true; do
	DATA=""
	for line in $(curl -s URL_GOES_HERE); do
		win=$(echo $line | cut -d ',' -f 1)
		sta=$(echo $line | cut -d ',' -f 2)
		if [ "$sta" = "1" ]; then
			DATA="$DATA $win"
		elif [ "$sta" = "2" ]; then
			DATA="$DATA <span color='white'>$win</span>"
		elif [ "$sta" = "3" ]; then
			DATA="$DATA <span color='pink'>$win</span>"
		fi
	done
	if [ "$DATA" ]; then
		DATA="$DATA  "
	fi
	echo "myirssistatus.text = \"$DATA\"" | awesome-client
	sleep 5
done
</pre>
<p>The key there is when it pipes data into awesome-client. That&#8217;s really frickin&#8217; neato.</p>
<p>So anyway. Is it a hack? Yes. Is it pretty? No. Does it work for me? Hell yeah. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/07/27/while-i-wasnt-doing-my-job/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hello from CLS</title>
		<link>http://ianweller.org/2010/07/17/hello-from-cls/</link>
		<comments>http://ianweller.org/2010/07/17/hello-from-cls/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 06:39:47 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Fedora Planet]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=644</guid>
		<description><![CDATA[This is my postcard home to Planet Fedora:

]]></description>
			<content:encoded><![CDATA[<p>This is my postcard home to Planet Fedora:</p>
<p><img src="http://ianweller.org/wp-content/uploads/openlol.jpeg" alt="PLAY SUSPENDED DUE TO HIGH WINDS LOL"/></p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/07/17/hello-from-cls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hitting the road, v2</title>
		<link>http://ianweller.org/2010/07/13/hitting-the-road-v2/</link>
		<comments>http://ianweller.org/2010/07/13/hitting-the-road-v2/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 05:35:49 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Fedora Planet]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=635</guid>
		<description><![CDATA[Max wrote a post on our trip to Santa Cruz and Portland, but he glossed over a few things. I rewrote his post correctly below.
Ian and I will rush to the RDU airport tomorrow and hope to $DEITY that Delta assigns us seats on our flight to San Jose, where we will meet up with [...]]]></description>
			<content:encoded><![CDATA[<p><i><a href="http://spevack.livejournal.com/107148.html">Max wrote a post on our trip to Santa Cruz and Portland</a>, but he glossed over a few things. I rewrote his post correctly below.</i></p>
<p><a href="http://fedoraproject.org/wiki/User:Ianweller">Ian</a> and I will rush to the RDU airport tomorrow and hope to $DEITY that Delta assigns us seats on our flight to San Jose, where we will meet up with <a href="https://fedoraproject.org/wiki/User:Quaid">Karsten</a> and <a href="https://fedoraproject.org/wiki/User:Mchua">Mel</a> to eat In-N-Out for three days. This will be the first time since October that all of us are in the same state, and it will give us a chance to see where we stand on the <a href="http://en.wikipedia.org/wiki/2010_FIFA_World_Cup_Final#Details">14 yellow cards given at the World Cup Final</a>. This will ensure we&#8217;ve got our priorities aligned and plan a solid future for <a href="http://spevack.org/RedHatSoccer">the team</a>.</p>
<p>We&#8217;ll also be crashing the <a href="http://www.communityleadershipsummit.com/">Community Leadership Summit</a> and <a href="https://fedoraproject.org/wiki/OSCON_2010">OSCON</a>. A few members of the community are coming to assist with the impending invasion of blue-shirted ensigns. We also have a <a href="http://www.oscon.com/oscon2010/public/schedule/speaker/76334">couple</a> of <a href="http://www.oscon.com/oscon2010/public/schedule/speaker/46737">presenters</a> at OSCON, which will help us crash the par-tay even more.</p>
<p>Everyone on the team will be communicating to the Fedora Orbital Laser using semaphore about what we&#8217;re up to this entire week, and the FOL will beam it directly to all of your minds. I&#8217;ve also assigned Ian to write an opensource.com article, which I expect to solve world hunger.</p>
<p>Oh, I almost forgot!</p>
<p><img src="http://ianweller.org/wp-content/uploads/faaytr.gif" alt="BRBRBRBRBRBR"/></p>
<p>HUP HOLLAND</p>
<p><i>(<b>The above is a parody.</b> Max, don&#8217;t fire me.)</i></p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/07/13/hitting-the-road-v2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>another double post: Fedora&#8217;s fonts and more datanommer</title>
		<link>http://ianweller.org/2010/07/12/another-double-post-fedoras-fonts-and-more-datanommer/</link>
		<comments>http://ianweller.org/2010/07/12/another-double-post-fedoras-fonts-and-more-datanommer/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 03:06:44 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Fedora Planet]]></category>
		<category><![CDATA[comfortaa]]></category>
		<category><![CDATA[datanommer]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[mgopen modata]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=626</guid>
		<description><![CDATA[First off, fonts. The Fedora Project has used MgOpen Modata for a while now as its official font. It&#8217;s a free font and loosely resembles the font in our logo.
We just have a few issues with it &#8212; namely, it doesn&#8217;t support a lot of glyphs needed to even spell some of our contributors&#8217; names, [...]]]></description>
			<content:encoded><![CDATA[<p><b>First off, fonts.</b> The Fedora Project has used <a href="http://www.zvr.gr/typo/mgopen/index">MgOpen Modata</a> for a while now as its official font. It&#8217;s a free font and loosely resembles the font in our logo.</p>
<p>We just have a few issues with it &#8212; namely, it doesn&#8217;t support a lot of glyphs needed to even spell some of our contributors&#8217; names, let alone speak in other languages. Here&#8217;s a few examples of where MgOpen Modata fails:</p>
<p><img src="http://ianweller.org/wp-content/uploads/text2816.png" alt="Three examples of MgOpen Modata not having enough characters"/></p>
<p>The top two are names of Fedora contributors. The accents versions of letters above are not available in the font, so in Inkscape, they are replaced by the system default font (which I believe is DejaVu). Those are highlighted in red. The third line is a line in Russian, nabbed from <a href="https://fedoraproject.org/wiki/Fedora_Project_Wiki/ru">the Russian translation of the wiki&#8217;s home page</a>. The only character in that line rendered as Modata is the question mark at the end of the line.</p>
<p><a href="http://lists.fedoraproject.org/pipermail/design-team/2010-July/002726.html">Mo kicked off the discussion on finding a new font</a> a little over a week ago. <a href="http://lists.fedoraproject.org/pipermail/design-team/2010-July/thread.html#2726">As the discussion continued</a>, it was decided that the best candidate for the font was <a href="http://aajohan.deviantart.com/art/Comfortaa-font-105395949">Comfortaa</a>, a font licensed under a CC BY-ND license, which is not permissible for inclusion in Fedora. Mo sent an email to the font author asking for the license to be changed, and <a href="http://lists.fedoraproject.org/pipermail/design-team/2010-July/002802.html">we received wonderful news back</a>.</p>
<p>That&#8217;s not to say the search is over &#8212; <b>we still need your feedback and suggestions</b>. We don&#8217;t plan on using Comfortaa as a body text font, only as a headline font; the front runner is Droid Sans (Droid Serif for print). <b>If you can suggest a better typeface for either the headline or body text fonts, please let us know!</b> Either comment on this blog post or send an email to the <a href="https://admin.fedoraproject.org/mailman/listinfo/design-team">design-team list</a>.</p>
<p><b>Edit:</b> Here&#8217;s some samples of Comfortaa, as suggested by Nicu.</p>
<p><img src="http://ianweller.org/wp-content/uploads/comfortaa-regular-sample.png" alt="Comfortaa Regular sample"/><br />
<img src="http://ianweller.org/wp-content/uploads/comfortaa-bold-sample.png" alt="Comfortaa Bold sample"/></p>
<p><b>Second, datanommer.</b> (om nom nom) A couple of weeks ago, I posted to the <a href="https://fedorahosted.org/mailman/listinfo/datanommer">datanommer list</a> <a href="https://fedorahosted.org/pipermail/datanommer/2010-June/thread.html">a totally new way forward for the datanommer project</a>, based on feedback from the target audience to datanommer as well as members of the <a href="https://fedoraproject.org/wiki/Infrastructure">Infrastructure</a> team.</p>
<p>The new <i>new</i> master plan is to provide a simple executable, aptly named &#8220;datanommer&#8221;. It reads a configuration file which specifies queries to be run on different applications. Here&#8217;s <a href="http://git.fedorahosted.org/git/?p=datanommer.git;a=blob;f=datanommer.conf.sample;h=00750b5dd371958c5c5d3e1d3645b6726e07ec00;hb=dddfdbf137b3678a4f4dd7cbbc8723d6ff532691">an example query file</a>, <a href="http://git.fedorahosted.org/git/?p=datanommer.git;a=commit;h=dddfdbf137b3678a4f4dd7cbbc8723d6ff532691">currently checked in</a> to the <a href="http://git.fedorahosted.org/git/?p=datanommer.git;a=summary">git repo</a>:</p>
<pre>
[memcached]
servers = 127.0.0.1:11211

[module:wikipedia]
path = mediawiki.MediaWiki
api_url = http://en.wikipedia.org/w/api.php

[data:wikipedia.recently_active_editors]
grapher = matplot.bar_chart
grapher.ylabel = Edit count
num = 10

[module:fedorawiki]
path = mediawiki.MediaWiki
api_url = https://fedoraproject.org/w/api.php

[data:fedorawiki.recently_active_editors]
grapher = matplot.bar_chart
grapher.ylabel = Edit count
num = 10
</pre>
<p>Now, what on earth does this do? It fetches up to the latest 1000 edits on a MediaWiki, specifically the Fedora Project&#8217;s wiki and Wikipedia, determines the top ten editors, and places them on a bar graph created with matplotlib. The Fedora Project graph <a href="http://ianweller.fedorapeople.org/test.png">looks something like this</a>. Neato!</p>
<p>Next up &#8212; the part I&#8217;m planning to work on this week &#8212; is the part that creates an HTML presentation for the data. Of course, totally configurable. After that, it&#8217;s the endless process of writing code to pull data from miscellaneous applications. Which you, of course, can help with. (Documentation coming soon!)</p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/07/12/another-double-post-fedoras-fonts-and-more-datanommer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>double post: wiki translations and funny spam comments</title>
		<link>http://ianweller.org/2010/06/23/double-post-wiki-translations-and-funny-spam-comments/</link>
		<comments>http://ianweller.org/2010/06/23/double-post-wiki-translations-and-funny-spam-comments/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 01:22:51 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Fedora Planet]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[internationalization]]></category>
		<category><![CDATA[l10n]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[mediawiki]]></category>
		<category><![CDATA[things i did in one day that took me eighteen months to sit down and do]]></category>
		<category><![CDATA[translations]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=622</guid>
		<description><![CDATA[OK, here&#8217;s the important half: Translations on the Fedora Project Wiki are about to become more friendly &#8212; to viewers and translators both.
If you&#8217;ve been to the main page of the wiki in the last two hours or so, you&#8217;ll have noticed the shiny new &#8220;In other languages&#8221; box at the top of the page.

All [...]]]></description>
			<content:encoded><![CDATA[<p>OK, here&#8217;s the important half: <strong>Translations on the Fedora Project Wiki are about to become more friendly &mdash; to viewers and translators both.</strong></p>
<p>If you&#8217;ve been to the main page of the wiki in the last two hours or so, you&#8217;ll have noticed the shiny new &#8220;In other languages&#8221; box at the top of the page.</p>
<p><img src="http://ianweller.org/wp-content/uploads/fpwiki-lang.png" alt="The shiny, new &quot;In other languages&quot; box"/></p>
<p>All of the translated versions of the main page that I could find that seemed remotely up to date were added to that template. There&#8217;s other translations of this page on the wiki, but they haven&#8217;t been touched since the transfer from MoinMoin.</p>
<p>So: instead of doing anything related to my goals at Red Hat, I decided that today would be a great day to fix the fact that we don&#8217;t have a standard way to do translations on the website. We have <a href="https://fedoraproject.org/wiki/Languages">current instructions</a> that contains a lot of old cruft from MoinMoin and uses a lot of MediaWiki features in a way that can be bettered.</p>
<p>I borrowed some template code from <a href="http://meta.wikimedia.org/">meta.wikimedia.org</a> &mdash; big ups and shouts out to all the folks over at Meta-Wiki who produced those templates.</p>
<p>Quick summary of how it works:</p>
<ul>
<li>Add <code>{{autolang|base=yes}}</code> to the top of the English version of a page, save</li>
<li>Click the set up link for the lang box, don&#8217;t touch the pre-filled code, and hit save</li>
<li>Click <b>[edit]</b> and add the language codes for the page&#8217;s translations, save</li>
<li>Click the red links to create the pages, adding <code>{{autolang}}</code> to the top of each one</li>
</ul>
<p>The full details, which you should read if you&#8217;re interested in doing this, are over at [[<a href="https://fedoraproject.org/wiki/FedoraProject:Translating">FedoraProject:Translating</a>]] (or if you like neat shortcuts, you can remember [[FP:LANG]]).</p>
<p>An email has been sent to trans@ to get suggestions from translators within the project and see if there&#8217;s anything we need to fix/improve. You can also provide your suggestions as comments to this blog.</p>
<p>As a bonus for reading this whole blog post, here&#8217;s some comments my blog&#8217;s spam collector caught that I thought were funny: <a href="http://ianweller.org/wp-content/uploads/lulzcomment-1.png">one</a> <a href="http://ianweller.org/wp-content/uploads/lulzcomment-2.png">two</a> <a href="http://ianweller.org/wp-content/uploads/lulzcomment-3.png">three</a> <a href="http://ianweller.org/wp-content/uploads/lulzcomment-4.png">four</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/06/23/double-post-wiki-translations-and-funny-spam-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>max paid me $1 USD to do this</title>
		<link>http://ianweller.org/2010/06/21/max-paid-me-1-usd-to-do-this/</link>
		<comments>http://ianweller.org/2010/06/21/max-paid-me-1-usd-to-do-this/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 17:12:38 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Fedora Planet]]></category>
		<category><![CDATA[Teaching Open Source]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[gdk]]></category>
		<category><![CDATA[posse 2009]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=618</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://ianweller.org/wp-content/uploads/greg_haters.jpg"><img src="http://ianweller.org/wp-content/uploads/greg_haters.jpg" alt="" title="greg_haters" width="429" height="655" class="alignnone size-full wp-image-619" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/06/21/max-paid-me-1-usd-to-do-this/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>mongoDB: whoa.</title>
		<link>http://ianweller.org/2010/06/17/mongodb-whoa/</link>
		<comments>http://ianweller.org/2010/06/17/mongodb-whoa/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 23:21:34 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Fedora Planet]]></category>
		<category><![CDATA[Teaching Open Source]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[datanommer]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sqlalchemy]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=614</guid>
		<description><![CDATA[Yesterday, I timed inserting metadata about 172,201 wiki edits from the Fedora Project wiki into a local SQLite database with SQLAlchemy and Python. The process took about 8 minutes, and used up over 600 MB of RAM and did not stop using the disk the entire time.
Obviously not the sort of database engine we want [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I timed inserting metadata about 172,201 wiki edits from the Fedora Project wiki into a local SQLite database with SQLAlchemy and Python. The process took about 8 minutes, and used up over 600 MB of RAM and did not stop using the disk the entire time.</p>
<p>Obviously not the sort of database engine we want running datanommer, which will have that many rows in the MediaWiki table alone.</p>
<p>So I set up a mongoDB locally. Rebuilt the RPM that&#8217;s available in <a href="https://bugzilla.redhat.com/show_bug.cgi?id=526567">this review request</a>, <a href="https://bugzilla.redhat.com/show_bug.cgi?id=605413">packaged up pymongo</a>, and rewrote my Python script to use mongoDB.</p>
<p>Not only can the process of inserting my JSON dump of wiki edits be written in 10 lines of code, but it took less than 6 seconds to do.</p>
<p>Wow.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/06/17/mongodb-whoa/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SouthEast LinuxFest: Growth is a good thing</title>
		<link>http://ianweller.org/2010/06/15/southeast-linuxfest-growth-is-a-good-thing/</link>
		<comments>http://ianweller.org/2010/06/15/southeast-linuxfest-growth-is-a-good-thing/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 11:39:32 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Advogato]]></category>
		<category><![CDATA[Fedora Planet]]></category>
		<category><![CDATA[datanommer]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[self]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=606</guid>
		<description><![CDATA[The first thing I noticed Saturday morning was that, in its second year, SouthEast LinuxFest has significant growth. Last year, there were enough booths for a single public space in a student union; this year, booth space was expanded to nearly every hallway used by SELF. I was amazed.
Hats off to the entire SELF team, [...]]]></description>
			<content:encoded><![CDATA[<p>The first thing I noticed Saturday morning was that, in its second year, <a href="http://southeastlinuxfest.org/">SouthEast LinuxFest</a> has significant growth. Last year, there were enough booths for a single public space in a student union; this year, booth space was expanded to nearly every hallway used by SELF. I was amazed.</p>
<p>Hats off to the entire SELF team, especially David Nalley, the go-to guy for Fedora contributors by default, and Jeremy Sands, the speaker coordinator. Everybody did an amazing job at making the conference run very smoothly, all things considered. :)</p>
<p><a href="http://spevack.org/">Max</a> and I drove down Friday morning to make it in time for a Docs/wiki hackfest. When I got there, we were talking about the main [[<a href="http://fedoraproject.org/wiki/Docs_Project">Docs Project</a>]] wiki page; when we were done, we had reworked the join process for Docs. (Or, at least that&#8217;s what I can remember doing.)</p>
<p>After the speaker dinner that evening, <a href="http://michaeldehaan.net/">Michael DeHaan</a> and I skipped on the loud music party and went to go take pictures of Spartanburg. I got some interesting ones:</p>
<p><a href="http://www.flickr.com/photos/ianweller/4702490388/in/set-72157624155470435/" title="00128" class="image_link"><img src="http://farm5.static.flickr.com/4003/4702490388_7d572a28f9_s.jpg" width="75" height="75" alt="00128"  class="pc_img" border="0" /></a> <a href="http://www.flickr.com/photos/ianweller/4702490340/in/set-72157624155470435/" title="00028" class="image_link"><img src="http://farm5.static.flickr.com/4011/4702490340_1e6f6742af_s.jpg" width="75" height="75" alt="00028"  class="pc_img" border="0" /></a> <a href="http://www.flickr.com/photos/ianweller/4702490362/in/set-72157624155470435/" title="00076" class="image_link"><img src="http://farm2.static.flickr.com/1280/4702490362_e9835be4d9_s.jpg" width="75" height="75" alt="00076"  class="pc_img" border="0" /></a> <a href="http://www.flickr.com/photos/ianweller/4702490350/in/set-72157624155470435/" title="00063" class="image_link"><img src="http://farm5.static.flickr.com/4018/4702490350_0f192900a4_s.jpg" width="75" height="75" alt="00063"  class="pc_img" border="0" /></a> <a href="http://www.flickr.com/photos/ianweller/4702436135/in/set-72157624155470435/" title="00152" class="image_link"><img src="http://farm5.static.flickr.com/4029/4702436135_fe5ca00083_s.jpg" width="75" height="75" alt="00152"  class="pc_img" border="0" /></a> <a href="http://www.flickr.com/photos/ianweller/4702490382/in/set-72157624155470435/" title="00097" class="image_link"><img src="http://farm5.static.flickr.com/4056/4702490382_0dc2dda89b_s.jpg" width="75" height="75" alt="00097"  class="pc_img" border="0" /></a> <a href="http://www.flickr.com/photos/ianweller/4702490372/in/set-72157624155470435/" title="00087" class="image_link"><img src="http://farm5.static.flickr.com/4018/4702490372_2845b49656_s.jpg" width="75" height="75" alt="00087"  class="pc_img" border="0" /></a></p>
<p>Saturday I went to go see a couple talks and gave one of my own on the <a href="http://ianweller.org/2010/06/10/datanommer-making-fedora-metrics-more-transparent/">datanommer</a> project. About half the people were Red Hat/Fedora people, which is fine, but the other half were people who I had not seen before. That&#8217;s good &#8212; somebody outside of Fedora is interested. That&#8217;s pretty much the whole point on presenting it outside of a FUDCon. ;)</p>
<p>On Sunday, we had FAD @ SELF, and I think we got a few new people interested in contributing back to Fedora. Awesome!</p>
<p>Overall, I think it was a good weekend, and I&#8217;ll be waiting for SELF next year. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/06/15/southeast-linuxfest-growth-is-a-good-thing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>datanommer: Making Fedora metrics more transparent</title>
		<link>http://ianweller.org/2010/06/10/datanommer-making-fedora-metrics-more-transparent/</link>
		<comments>http://ianweller.org/2010/06/10/datanommer-making-fedora-metrics-more-transparent/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 18:55:02 +0000</pubDate>
		<dc:creator>Ian Weller</dc:creator>
				<category><![CDATA[Advogato]]></category>
		<category><![CDATA[Fedora Planet]]></category>
		<category><![CDATA[datanommer]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[turbogears]]></category>

		<guid isPermaLink="false">http://ianweller.org/?p=598</guid>
		<description><![CDATA[I kind of surprised myself when I realized I hadn&#8217;t blogged about this yet. I talked about it with Max, I talked about it with folks in #fedora-infrastructure, and I&#8217;m giving a talk at SELF that circles around this very project.
The Fedora Project, from the beginning of its collection of statistics surrounding itself, has been [...]]]></description>
			<content:encoded><![CDATA[<p>I kind of surprised myself when I realized I hadn&#8217;t blogged about this yet. I talked about it with Max, I talked about it with folks in #fedora-infrastructure, and <a href="http://www.southeastlinuxfest.org/node/147">I&#8217;m giving a talk</a> at <a href="http://southeastlinuxfest.org/">SELF</a> that circles around this very project.</p>
<p>The Fedora Project, <a href="https://fedoraproject.org/wiki/Legacy_statistics">from the beginning of its collection of statistics surrounding itself</a>, has been open and transparent about <a href="https://fedoraproject.org/wiki/Statistics">the numbers we get</a> and <a href="https://fedoraproject.org/wiki/Statistics/Commands">how we get them</a>.</p>
<p>There&#8217;s just one problem with that: a lot of the actual <em>raw data</em> isn&#8217;t publicly available.</p>
<p>Of course, we don&#8217;t want to go about publishing raw httpd access logs to public locations. We don&#8217;t want everybody to be able to see the IP addresses that visit fedoraproject.org. But we do want people to be able to come up with a number for themselves that answers questions like &#8220;how many distinct IP addresses visited fedoraproject.org between January 4 at 4:32 a.m. and February 2 and 6:28 p.m.?&#8221; without giving access to our log servers to everybody.</p>
<p>Or, even if the data is publicly available, it&#8217;s difficult to get that data because the application doesn&#8217;t provide an API of sorts (Mailman, for example). Writing a screen scraper for Mailman is non-trivial.</p>
<p>What if there was a central API that held raw data about the everyday activity of the Fedora community?</p>
<p>I plan to write that. And it shall be called &#8220;datanommer.&#8221; It&#8217;ll use the TG2 stack, at the request of Infrastructure, and, although it will be designed around Fedora&#8217;s existing infrastructure, will be agnostic so that other free software projects can use it right out of the box.</p>
<p>Here&#8217;s a quick summary of how it&#8217;ll work.</p>
<ul>
<li>Applications that already make log files will have those transferred to our log servers by normal means. Applications that don&#8217;t already make log files will either use an extension, module or the like to write a log file, or an external script will create a log file, which will then be transferred to the log servers.</li>
<li>A cron job will populate a database used for datanommer based on those log entries.</li>
<li>The TG2 front end of datanommer will provide a RESTful API to access the data in the database. Applications that provide data and what data they provide to datanommer will be automatically documented for maximum usability.</li>
</ul>
<p>At first glance, this may seem like a lot of hoops just to get some data. But here&#8217;s some reasons we&#8217;re doing it this way, specifically:</p>
<ul>
<li>Less load on the app servers. If we programmed datanommer to collect data from each application about once per hour, the app servers and databases would be under somewhat heavy load while that data is generated.</li>
<li>If datanommer is down for some reason, it doesn&#8217;t matter, because data entry is done directly to the database.</li>
<li>If the database is down for some reason, it doesn&#8217;t matter. The cron job will just wait another hour to populate the databases.</li>
<li>If the log servers are down for some reason, it doesn&#8217;t matter. Logs are generated locally on each app server, much like httpd. The log servers will go through and pick up the logs when they get around to it.</li>
<li>If the applications are down for some reason, they won&#8217;t be generating any data anyway, so it doesn&#8217;t matter. :)</li>
</ul>
<p>For the end-user, accessing the data will be extremely easy. Since a REST API is just based on query parameters, you don&#8217;t have to be an expert to download data. It&#8217;ll be encoded in JSON so it&#8217;s easy to use in any language (especially Python, the <i>lingua franca</i> of Fedora Infrastructure.)</p>
<p>Of course, your thoughts about this process are definitely wanted. You can comment on this blog post to leave your suggestions.</p>
<p><strong>Edit:</strong> I forgot to include a bit about privacy &#8212; information that shouldn&#8217;t be publicly available, such as IP addresses or email addresses, will be stored in the database as UUIDs. Another table in the database will relate UUIDs to their original values for the purposes of allowing statistics to determine pageviews from distinct IP addresses, for example. Privacy is of top priority in this project and if we feel like we&#8217;re infringing on the privacy of our users and contributors too much, we will not report that information through this system.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianweller.org/2010/06/10/datanommer-making-fedora-metrics-more-transparent/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
