<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- name="generator" content="pyblosxom/1.4.2 8/16/2007" --><!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title>l e w k . o r g   </title>
<link>http://lewk.org/blog</link>
<description />
<language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/xml" href="http://feeds.feedburner.com/lewk" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="lewk" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
  <title>nose 0.11</title>
  <link>http://lewk.org/blog/nose-0.11.html</link>
  <description><![CDATA[

<p>
I know nose 0.11 is <a href="http://groups.google.com/group/nose-announce/browse_thread/thread/7c031dad4f53509a">old news</a>, but I've only recently discovered it's new <a href="http://somethingaboutorange.com/mrl/projects/nose/0.11.1/doc_tests/test_multiprocess/multiprocess.html">multiprocess module</a>.
</p>

<p>
<blockquote>
<code>
<pre>
lmacken@tomservo ~/bodhi $ nosetests
................................................................................................
----------------------------------------------------------------------
Ran 96 tests in 725.111s

OK

lmacken@tomservo ~/bodhi $ nosetests --processes=50
................................................................................................
----------------------------------------------------------------------
Ran 96 tests in 10.915s

OK
</pre>
</code>
</blockquote>
</p>

<p>
Nose 0.11 is already in rawhide, and will soon be in <a
href="https://admin.fedoraproject.org/updates/python-nose-0.11.1-1.fc12">updates-testing</a>.
</p>

<p>
<i>Note to self (and others): Buy the nose developers beer at PyCon next
month</i>
</p>


]]></description>
</item>

<item>
  <title>My dream machine</title>
  <link>http://lewk.org/blog/dreambox.html</link>
  <description><![CDATA[
<p>

In an effort to optimize my home office, I recently donated my
server rack to a local Boston record label, to hold their Red Hat
servers.  I'm also in the process of donating all of my computer
hardware for re-use/recycling (~10 or so frankenstein boxen).

</p><p>

So, once I clear everything out, I'm going to replace it with a new machine.  I usually sit in front of 1-3 laptops (thindpads
and XOs) on the daily, and I absolutley love them, but I need
something beefier.  I do most of my work on remote machines, but
I have found that I still spend too much time waiting on 
computers.

</p><p>

I'm not much of a gamer, so I probably don't need too high-end of a
graphics chip, let alone SLI/Crossfire.  The extent of my gaming
these days consists of the occassional wesnoth, open arena,
nethack, and my current favorite Cube 2: Sauerbraten.  I just
want a card that will work well in Linux, ideally without having
to install proprietary drivers.

</p><p>

Anyway, I haven't built a desktop machine from the ground up in
12 years, and I've been out of the hardware game for a long time,
so let me know what's good!  Here is what I've been looking at so far...

</p><p>

<table border="0">
    <tr>
        <td valign="top">
            <center>
            <b>Intel DX58SO Extreme Series X58 ATX Tri-Channel DDR3 16GB SLI or CrossFireX LGA1366 Overclocking Utility Desktop Board</b><br/>
<a href="http://www.amazon.com/Intel-Extreme-Tri-Channel-CrossFireX-Overclocking/dp/B001ISJONM/ref=wl_it_dp_o?ie=UTF8&coliid=I3BI87T7ZFOF2W&colid=WREBCPWKPZMD"><img src="http://ecx.images-amazon.com/images/I/51k4WbhD20L._SL500_AA280_.jpg" border="0"/></a>

</center>
</td>
<td align="center">
<center> or </center>
</td>

<td valign="top">
    <b>ASUS Rampage II Extreme LGA1366 Intel X58 DDR3-1600 ATX Motherboard </b><br/>
<a href="http://usa.asus.com/product.aspx?P_ID=W7i5W4Pw4fH22Mih&templete=2"><img border="0" src="http://usa.asus.com/websites/global/products/W7i5W4Pw4fH22Mih/P_500.jpg" width="300"/></a>
</td>
</tr>
</table>
<br/>

<table border="0"><tr><td valign="top">
            <center>
<b>Intel Core i7 975 Extreme Edition 3.33GHz 8M L3 Cache LGA1366 Desktop Processor</b><br/>
<a href="http://www.intel.com/products/processor/corei7EE/index.htm?iid=prod_desktopcore+body_corei7ex"><img border="0" src="http://ecx.images-amazon.com/images/I/51pJWepQ1qL._SL500_AA280_.jpg"/></a>
            </center>

</td>
<td>

    <center>
    <b>Cooler Master V8 Nickel Plated Copper Base Aluminum Fins 8 Heatpipes Core i7 1366 CPU Cooler - (RR-UV8-XBU1-GP)</b><br/>
    <a href="http://www.coolermaster-usa.com/product.php?category_id=1623&product_id=2869"><img border="0" src="http://www.coolermaster-usa.com/upload/product/2869/intro01.jpg" width="300"/></a>
</center>
</td></tr></table>
<br/>

<table border="0"><tr><td valign="top">
            <center>
                <b>Corsair 6 GB Dominator GT PC3-16000 2000Mhz 240-pin Triple Channel DDR3 Memory Kit</b><br/>
<a href="http://www.corsair.com/products/dominatorgt/default.aspx"><img border="0" src="http://ecx.images-amazon.com/images/I/51j-m01mTxL._SL500_AA280_.jpg"/></a>
            </center>
</td>
<td>
    <center>
        <b>Corsair CMPSU-1000HX 1000-Watt HX Professional Series 80 Plus Certified Power Supply</b><br/>
<a href="http://www.corsair.com/products/hx1000/default.aspx"><img border="0" src="http://ecx.images-amazon.com/images/I/41y02r1RAzL._SL500_AA280_.jpg"/></a>
</center>
</td>
</tr>
</table>
<br/>

<table border="0">
    <tr>
        <td valign="top">
            <center>
                <b>Intel X25-E Extreme SATA Solid-State Drive</b><br/>
                <br/>
<a href="http://www.intel.com/design/flash/nand/extreme/index.htm"><img src="http://macperformanceguide.com/images/ITLSSDX25M.jpg" border="0" width="250"/></a>
</center>
</td>

<td align="center">
    <center>or </center>
</td>
<td valign="top">

    <center>
        <b>Corsair 256 GB Internal Solid State Drive (SSD) CMFSSD-256GBG2D</b><br/>
<a href="http://www.amazon.com/Corsair-Internal-Solid-State-CMFSSD-256GBG2D/dp/B0026V5MY0/ref=wl_it_dp_o?ie=UTF8&coliid=I1MBV8VAT4X63M&colid=WREBCPWKPZMD"><img border="0" src="http://ecx.images-amazon.com/images/I/41IVMpZtGdL._SL500_AA280_.jpg"/></a>

</center>
</td>
</tr>
</table>
<br/>

<table border="0">
    <tr>
        <td valign="top">
            <center>
                <b>DELL ULTRASHARP 3008WFP - 30-inch Widescreen Flat Panel Monitor</b><br/>
<a href="http://accessories.us.dell.com/sna/products/Monitors/productdetail.aspx?c=us&l=en&s=dhs&cs=19&sku=223-4890"><img border="0" src="http://i.dell.com/images/global/products/monitors/mon3008wfp_overview1.jpg"/></a>

</center>
</td>
        <td valign="top">
            <center>
                <b>EVGA 01G-P3-1180-AR GeForce GTX285 1024 MB DDR3 PCI-Express 2.0 Graphics Card</b><br/>
<a href="http://www.evga.com/products/moreInfo.asp?pn=01G-P3-1181-AR&family=GeForce%20200%20Series%20Family"><img src="http://ecx.images-amazon.com/images/I/41O-6RQMbsL._AA280_.jpg" border="0"></a>
</center>
</td>
</tr>
</table>

<br/>

<table border="0">
    <tr>
        <td valign="top">
            <center>
                <b>Endurapro</b><br/>
                <br/>
                <br/>
<a href="http://pckeyboards.stores.yahoo.net/en104wh.html"><img width="400" border="0" src="http://ep.yimg.com/ip/I/pckeyboards_2059_6667"/></a>
</center>
</td>
<td valign="top">
    <center>
        <b>Cooler Master HAF 932 High Air Flow ATX Full Tower Case</b><br/>
<a href="http://www.coolermaster-usa.com/product.php?product_id=2810"><img width="250" src="http://www.coolermaster-usa.com/upload/product/2810/intro01.jpg" border="0" width="300"/></a>
</center>
</td>
</tr>
</table>
<br/>

Also, if you appreciate my software and want me to write it faster... donations are accepted ;)
<br/>

<center>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="10835212">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif"
border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif"
width="1" height="1">
</form>
</center>


</p>

]]></description>
</item>

<item>
  <title>RIP Fedora 10</title>
  <link>http://lewk.org/blog/f10.html</link>
  <description><![CDATA[
<p>
  Fedora 10 (Cambridge) (2008-11-25 -- 2009-12-17)

<ul><li><a href="https://fedoraproject.org/wiki/Releases/10/FeatureList">Features</a></li></ul>

<h2>Updates</h2>
  <b>Source:</b> <a href="http://bodhi.fedoraproject.org">bodhi</a>

    <center>
        <table>
            <tr><td><center>Fedora 10 Updates</center><a href="http://lmacken.fedorapeople.org/img/f10-updates-0.png"><img src="http://lmacken.fedorapeople.org/img/f10-updates-0.png" width="473" border="0"/></a></td>
                    <td><center> Most updates per developer in Fedora 10</center><a href="http://lmacken.fedorapeople.org/img/f10-updates-1.png"><img src="http://lmacken.fedorapeople.org/img/f10-updates-1.png" width="473" border="0"/></a></td>
            </tr>
            <tr>
                <td><center> Most Updated Packages in Fedora 10 </center>
                <a href="http://lmacken.fedorapeople.org/img/f10-updates-4.png"><img src="http://lmacken.fedorapeople.org/img/f10-updates-4.png" width="473" border="0"/></a></td>
                <td><center> Packages with best karma </center>
                <a href="http://lmacken.fedorapeople.org/img/f10-updates-5.png"><img src="http://lmacken.fedorapeople.org/img/f10-updates-5" width="473" border="0"/></a></td>
            </tr>
            <tr>
                <td><center> Top Fedora 10 testers </center><a href="http://lmacken.fedorapeople.org/img/f10-updates-2.png"><img src="http://lmacken.fedorapeople.org/img/f10-updates-2.png" width="473" border="0"/></a></td>
                <td><center> Most tested Fedora 10 packages </center><a href="http://lmacken.fedorapeople.org/img/f10-updates-3.png"><img src="http://lmacken.fedorapeople.org/img/f10-updates-3.png" width="473" border="0"/></a></td>
        </tr>
    </table>
    </center>
<br/>
<h2>Torrent</h2>
<b>Source:</b> <a href="https://admin.fedoraproject.org/community">fedoracommunity</a> (upcoming release)
<br/>
<br/>

<table>
<tr><th>Torrent Name</th><th>Number of completed downloads</th></tr>
<tr><td> Fedora-10-i386-DVD   </td><td>    112,807 </td></tr>
<tr><td>Fedora-10-x86_64-DVD  </td><td>   65,965 </td></tr>
<tr><td>Fedora-10-i386-CDs    </td><td>   10,621 </td></tr>
<tr><td>Fedora-10-ppc-DVD     </td><td>  6,851 </td></tr>
<tr><td>Fedora-10-source-DVD  </td><td>  3,740 </td></tr>
<tr><td>Fedora-10-x86_64-CDs  </td><td>   3,141 </td></tr>
<tr><td>Fedora-10-ppc-CDs    </td><td> 1,336 </td></tr>
<tr><td>Fedora-10-i686-AOS     </td><td>   666 </td></tr>
<tr><td>Fedora-10-source-CDs   </td><td>   662 </td></tr>
<tr><td>Fedora-10-i686-Live      </td><td> 599</td></tr>
<tr><td>Fedora-10-x86_64-Live    </td><td> 336</td></tr>
<tr><td>Fedora-10-x86_64-AOS     </td><td> 274 </td></tr>
<tr><td>Fedora-10-i686-Live-KDE      </td><td> 201 </td></tr>
<tr><td>Fedora-10-x86_64-Live-KDE    </td><td> 78 </td></tr>
<tr><td>Fedora-10-i686-Live-XFCE     </td><td> 37 </td></tr>
<tr><td>Fedora-10-i686-Live-Developer    </td><td> 13 </td></tr>
<tr><td>Fedora-10-i686-Live-FEL      </td><td> 12 </td></tr>
<tr><td>Fedora-10-x86_64-Live-XFCE      </td><td> 5</td></tr>
<tr><td>Fedora-10-i686-Live-broffice     </td><td> 3</td></tr>
<tr><td>Fedora-10-x86_64-Live-Developer     </td><td> 3</td></tr>
<tr><td>Fedora-10-x86_64-Live-FEL   </td><td> 2</td></tr>
<tr><td>Fedora-10-x86_64-Live-edu-math  </td><td> 1 </td></tr>
<tr><td>Fedora-10-i686-Live-edu-math     </td><td> 1</td></tr>
<tr><td>Fedora-10-x86_64-Live-broffice  </td><td> 0</td></tr>
<tr><td colspan="2"><hr></td></tr>
<tr><td><b>Total</b></td>               <td><b>207,354</b></td></tr>
</table>


<br/>
<h2>Yum Data</h2>

<b>Source:</b> <a href="http://fedoraproject.org/wiki/Legacy_statistics#Yum_Data_2">wiki/Legacy_statistics</a>
<br/>
Connections to yum

<table>
<tr><th> Week    </th><th>Dates   </th><th align="right">New Unique IPs</th><th align="right">Total Unique IPs</th><th align="center">Total compared to F9</th></tr>
<tr><td>1 </td><td> 2008-11-25 -- 2008-12-01</td><td align="right">67,421</td><td align="right">  67,421 </td><td align="center"> 73%
<tr><td>2 </td><td> 2008-12-02 -- 2008-12-08</td><td align="right">81,674</td><td align="right">  149,095</td><td align="center">     97%</td></tr>
<tr><td>3 </td><td> 2008-12-09 -- 2008-12-15</td><td align="right">60,759</td><td align="right">  209,854</td><td align="center">     97%</td></tr>
<tr><td>4 </td><td> 2008-12-16 -- 2008-12-22</td><td align="right">62,527</td><td align="right">  272,381</td><td align="center">     93%</td></tr>
<tr><td>5 </td><td> 2008-12-23 -- 2008-12-29</td><td align="right">68,375</td><td align="right">  340,756</td><td align="center">     97%</td></tr>
<tr><td>6 </td><td> 2008-12-30 -- 2009-01-05</td><td align="right">73,585</td><td align="right">  414,341</td><td align="center">     97%</td></tr>
<tr><td>7 </td><td> 2009-01-06 -- 2009-01-12</td><td align="right">94,166</td><td align="right">  508,507</td><td align="center">     103%</td></tr>
<tr><td>8 </td><td> 2009-01-13 -- 2009-01-19</td><td align="right">85,557</td><td align="right">  594,064</td><td align="center">     106%</td></tr>
<tr><td>9 </td><td> 2009-01-20 -- 2009-01-26</td><td align="right">87,678</td><td align="right">  681,742</td><td align="center">     107%</td></tr>
<tr><td>10 </td><td>2009-01-27 -- 2009-02-02</td><td align="right">91,014</td><td align="right">  772,756</td><td align="center">     110%</td></tr>
<tr><td>11 </td><td>2009-02-03 -- 2009-02-09</td><td align="right">95,238</td><td align="right">  867,994</td><td align="center">     113%</td></tr>
<tr><td>12 </td><td>2009-02-10 -- 2009-02-16</td><td align="right">95,967</td><td align="right">  963,961</td><td align="center">     115%</td></tr>
<tr><td>13 </td><td>2009-02-17 -- 2009-02-23</td><td align="right">109,800</td><td align="right">     1,073,761</td><td align="center">   115%</td></tr>
<tr><td>14 </td><td>2009-02-24 -- 2009-03-02</td><td align="right">85,246</td><td align="right">  1,159,007</td><td align="center">   --</td></tr>
<tr><td>15 </td><td>2009-03-03 -- 2009-03-09</td><td align="right">100,610</td><td align="right">     1,259,617</td><td align="center">   --</td></tr>
<tr><td>16 </td><td>2009-03-10 -- 2009-03-16</td><td align="right">100,323</td><td align="right">     1,359,940 </td><td align="center">  --</td></tr>
<tr><td>17 </td><td>2009-03-17 -- 2009-03-23</td><td align="right">100,819 </td><td align="right">    1,460,759  </td><td align="center"> --</td></tr>
<tr><td>18 </td><td>2009-03-24 -- 2009-03-30</td><td align="right">102,843 </td><td align="right">    1,563,602 </td><td align="center">  --</td></tr>
<tr><td>19 </td><td>2009-03-31 -- 2009-04-06</td><td align="right">101,978 </td><td align="right">    1,665,580 </td><td align="center">  136%</td></tr>
<tr><td>20 </td><td>2009-04-07 -- 2009-04-13</td><td align="right">99,586  </td><td align="right">1,765,166 </td><td align="center">  --</td></tr>
<tr><td>21 </td><td>2009-04-14 -- 2009-04-20</td><td align="right">101,808  </td><td align="right">   1,866,974 </td><td align="center">  --</td></tr>
<tr><td>22 </td><td>2009-04-21 -- 2009-04-27</td><td align="right">100,230  </td><td align="right">   1,967,177 </td><td align="center">  --</td></tr>
<tr><td>23 </td><td>2009-04-28 -- 2009-05-04</td><td align="right">97,584 </td><td align="right"> 2,064,761 </td><td align="center">  --</td></tr>
<tr><td>24 </td><td>2009-05-05 -- 2009-05-11</td><td align="right">95,923 </td><td align="right"> 2,160,684 </td><td align="center">  137%</td></tr>
<tr><td>25 </td><td>2009-05-12 -- 2009-05-18</td><td align="right">95,632 </td><td align="right"> 2,256,316 </td><td align="center">  --</td></tr>
<tr><td>26 </td><td>2009-05-19 -- 2009-05-25</td><td align="right">92,377 </td><td align="right"> 2,348,693 </td><td align="center">  --</td></tr>
<tr><td>27 </td><td>2009-05-26 -- 2009-06-01</td><td align="right">91,747 </td><td align="right"> 2,440,440 </td><td align="center">  --</td></tr>
<tr><td>28 </td><td>2009-06-02 -- 2009-06-08</td><td align="right">91,513 </td><td align="right"> 2,531,953  </td><td align="center"> --</td></tr>
</table>

<br/>
<h2>Direct downloads</h2>

<b>Source:</b> <a href="http://fedoraproject.org/wiki/Legacy_statistics#Direct_downloads">wiki/Legacy_statistics</a>
<br/>
The following table shows the number of direct downloads of Fedora 10 media from unique IP addresses, as shown in the web proxy logs. The actual number of raw downloads tends to be much higher.

<br/>
<table>
<tr><th>Week </th><th>   Dates </th><th align="center">  Downloads this week  </th><th align="center">   Total downloads</th></tr>
<tr><td> 1 </td><td> 2008-11-25 -- 2008-12-01     </td><td align="center">  236,886 </td><td align="center">    236,886</td></tr>
<tr><td> 2 </td><td> 2008-12-02 -- 2008-12-08     </td><td align="center">  105,994 </td><td align="center">    342,880</td></tr>
<tr><td> 3 </td><td> 2008-12-09 -- 2008-12-15     </td><td align="center">  83,740  </td><td align="center">    426,620</td></tr>
<tr><td> 4 </td><td> 2008-12-16 -- 2008-12-22     </td><td align="center">  76,982  </td><td align="center">    503,602</td></tr>
<tr><td> 5 </td><td> 2008-12-23 -- 2008-12-29     </td><td align="center">  66,351  </td><td align="center">    569,953</td></tr>
<tr><td> 6 </td><td> 2008-12-30 -- 2009-01-05     </td><td align="center">  65,102  </td><td align="center">    635,055</td></tr>
<tr><td> 7 </td><td> 2009-01-06 -- 2009-01-12     </td><td align="center">  72,729  </td><td align="center">    707,784</td></tr>
<tr><td> 8 </td><td> 2009-01-13 -- 2009-01-19     </td><td align="center">  73,301  </td><td align="center">    781,085</td></tr>
<tr><td> 9 </td><td> 2009-01-20 -- 2009-01-26     </td><td align="center">  72,082  </td><td align="center">    853,167</td></tr>
<tr><td> 10</td><td>     2009-01-27 -- 2009-02-02 </td><td align="center">   71,788 </td><td align="center"> 924,955</td></tr>
<tr><td> 11</td><td>     2009-02-03 -- 2009-02-09 </td><td align="center">   72,529 </td><td align="center"> 997,484</td></tr>
<tr><td> 12</td><td>     2009-02-10 -- 2009-02-16 </td><td align="center">   69,071 </td><td align="center"> 1,066,555</td></tr>
<tr><td> 13</td><td>     2009-02-17 -- 2009-02-23 </td><td align="center">   69,216 </td><td align="center"> 1,135,771</td></tr>
<tr><td> 14</td><td>     2009-02-24 -- 2009-03-02 </td><td align="center">   67,669 </td><td align="center"> 1,203,440</td></tr>
<tr><td> 15</td><td>     2009-03-03 -- 2009-03-09 </td><td align="center">   66,666 </td><td align="center"> 1,270,106</td></tr>
<tr><td> 16</td><td>     2009-03-10 -- 2009-03-16 </td><td align="center">   65,524 </td><td align="center"> 1,335,630</td></tr>
<tr><td> 17</td><td>     2009-03-17 -- 2009-03-23 </td><td align="center">   63,218 </td><td align="center"> 1,398,848</td></tr>
<tr><td> 18</td><td>     2009-03-24 -- 2009-03-30 </td><td align="center">   62,930 </td><td align="center"> 1,461,778</td></tr>
<tr><td> 19</td><td>     2009-03-31 -- 2009-04-06 </td><td align="center">   59,813 </td><td align="center"> 1,521,591</td></tr>
<tr><td> 20</td><td>     2009-04-07 -- 2009-04-13 </td><td align="center">   57,102 </td><td align="center"> 1,578,693</td></tr>
<tr><td> 21</td><td>     2009-04-14 -- 2009-04-20 </td><td align="center">   55,871 </td><td align="center"> 1,634,564</td></tr>
<tr><td> 22</td><td>     2009-04-21 -- 2009-04-27 </td><td align="center">   55,117 </td><td align="center"> 1,689,681</td></tr>
<tr><td> 23</td><td>     2009-04-28 -- 2009-05-04 </td><td align="center">   50,815 </td><td align="center"> 1,740,496</td></tr>
<tr><td> 24</td><td>     2009-05-05 -- 2009-05-11 </td><td align="center">   48,139 </td><td align="center"> 1,788,635</td></tr>
<tr><td> 25</td><td>     2009-05-12 -- 2009-05-18 </td><td align="center">   47,813 </td><td align="center"> 1,836,448</td></tr>
<tr><td> 26</td><td>     2009-05-19 -- 2009-05-25 </td><td align="center">   46,077 </td><td align="center"> 1,882,525</td></tr>
<tr><td> 27</td><td>     2009-05-26 -- 2009-06-01 </td><td align="center">   44,969 </td><td align="center"> 1,927,494</td></tr>
<tr><td> 28</td><td>     2009-06-02 -- 2009-06-08 </td><td align="center">   44,835 </td><td align="center"> 1,972,329 </td></tr>
</table>

</p>

]]></description>
</item>

<item>
  <title>FUDCon Toronto 2009</title>
  <link>http://lewk.org/blog/FUDCon-2009-Toronto.html</link>
  <description><![CDATA[
<img src="http://fedoraproject.org/w/uploads/4/49/FUDCon_F13_logo.png" align="right"/>
<p>
Another <a href="http://fedoraproject.org/wiki/FUDCon">FUDCon</a> is in the books, this time in Toronto.  It was great to catch up
with many people, put faces to some names, and meet a bunch of new contributors.
I gave a session on <a href="http://moksha.fedorahosted.org">Moksha</a>, which
I'll talk about below, and was also on the Fedora Infrastructure panel
discussion.
<p>
My goal this FUDCon wasn't to crank out a ton of code, but to focus on
gathering and prioritizing requirements and to help others be productive.
Here are some of the projects I focused on.
</p>
<h3>Moksha</h3>
<p>
<a href="http://moksha.fedorahosted.org">Moksha</a> is a project I created a little over a year ago, which is the base of a
couple of other applications I've been working on as well: <a
href="https://admin.fedoraproject.org/community">Fedora Community</a> and <a
href="http://civx.us">CIVX</a>.  I'll be blogging about these in more detail later.
</p>
<p>
One of the main themes of FUDCon this year was <a href="https://fedoraproject.org/wiki/Messaging_SIG">Messaging</a> (<a href="http://www.amqp.org/">AMQP</a>), and Moksha
is a large part of this puzzle, as it allows you to wield AMQP within web
applications.  During my session the demo involved busting open a terminal,
creating a consumer that reacts to all messages, creating a message producer,
and then creating a live chat widget -- all of which hooked up to Fedora's AMQP
broker.
</p>
<p>
I'll be turning my slides into an article, so expect a full blog post
explaining the basics soon.  In the mean time, I found <a
href="http://pseudogen.blogspot.com/2009/12/fudcon-day-one-awesomeness-that-is.html">Adam Miller's</a> description to be extremely amusing:
</p>
<p>
<blockquote>
"I walked into a session called "Moksha and Fedora
Community -- Real-time web apps with Python and AMQP" which blew my mind. This
is Web3.0 (not by definition, but that's what I'm calling it), Luke Macken and
J5 completely just stepped over web2.0 and said "pffft, childs play" (well not
really but in my mind I assume it went something like that). This session
showed off technology that allows real time message passing in a web browser as
well as "native" support for standard protocols. The project page is
<a href="https://fedorahosted.org/moksha/">https://fedorahosted.org/moksha/</a> and I think everyone on the planet should take
some time to go there and enjoy the demo, prepare to have your mind blown. Oh,
and I also irc transcribed that one as well
<a href="http://meetbot.fedoraproject.org/fudcon-room-3/2009-12-05/fudcon-room-3.2009-12-05-22.07.log.html">http://meetbot.fedoraproject.org/fudcon-room-3/2009-12-05/fudcon-room-3.2009-12-05-22.07.log.html</a> ... presentation slides found:
<a href="http://lmacken.fedorapeople.org/moksha-FUDConToronto-2009.odp">http://lmacken.fedorapeople.org/moksha-FUDConToronto-2009.odp</a>"
</blockquote>
</p>

</p>
<h3>Fedora Community</h3>
<p>
So after we released v1.0 of Fedora Community for F12, all of us
went off in seperate directions to hack on various things.  <a href="http://www.j5live.com">J5</a> wrote <a href="https://fedorahosted</a>.org/kamaloka-js/">AMQP
javascript bindings</a>, which I then integrated into Moksha.  <a href="http://mairin.wordpress.com">Máirín Duffy</a> built a <a href="http://mairin.wordpress.com/2009/10/17/open-source-portable-usability-testing-lab-part-2-the-parts">portable usability lab</a> and has been doing great research on the usability of the project.  And I dove back into Moksha to solidify the platform.
</p>
<p>
After we deploy our AMQP broker for Fedora, and once we have start adding <a href="https://fedoraproject.org/wiki/Messaging_SIG#Shims">shims</a>
into our existing infrastructure, we'll then be able to start creating live widgets and message consumers that can react to events, allowing us to wield Fedora in real-time.  This will let us to keep our fingers on the pulse of Fedora,
automate and facilitate tedious tasks, and gather metrics as things happen.
</p>
<p>
During the hackfests I also did some work on our current Fedora Community
deployment.  Over the past few weeks some of our widgets randomly died, and we
haven't been receiving proper error messages.  So, I successfully hooked up
<a href="http://pypi.python.org/pypi/WebError">WebError</a> and the team is now getting traceback emails, which will help us fix
problems much faster (or at least nag the hell out of us about them).
</p>
<p>
I also worked with <a href="http://ianweller.org/">Ian Weller</a> on the new Statistics section of the dashboard,
which has yet to hit production.  Ian and I wrote Wiki metrics, <a href="http://skvidal.wordpress.com/">Seth Vidal</a> wrote BitTorrent
metrics, and I wrote Bodhi metrics.  We've also got <a href="http://fedoraproject.org/wiki/Statistics">many more</a> to come.  My main concern
was a blocker issue that we were hitting with our <a href="http://code.google.com/p/flot/">flot</a> graphs when you quickly
bounce between tabs.  I ended up "fixing" the bug, so I'll be pushing what we
have of the stats branch into production in the near future.
</p>
<h3>TurboGears2</h3>
<p>

<a href="http://www.turbogears.org">TurboGears</a> has definitely been our favorite web framework within Fedora's
Infrastructure for many years now.  TurboGears2, a complete re-invention of
itself, has been released recently, and is catching on *very* quickly in the
community.  Tons of people are working on awesome new apps, and loving
every minute of it.  I was also able to convert a rails hacker over to it,
after he was able to quickly dive into one of the tutorials with ease.  See
my <a href="http://lewk.org/blog/TurboGears2-in-Fedora">previous blog
post</a> about getting up and running with TG2 in Fedora/EPEL.

</p>

<h3>python-fedora</h3>
<p>
One of my main tasks during the hackfests was to pull the authentication layer
in Fedora Community that authenticates against the Fedora Account System, and
port it over to python-fedora, so we can use it in any TurboGears2 application.
I committed the initial port to python-fedora-devel, and have started working
on integrating it into a default TG2 quickstart and document the process.
There are still a couple of minor things I want to fix/clean up before
releasing it, so expect a blog about it soon.
</p>

<h3><a href="http://bodhi.fedorahosted.org">Bodhi</a></h3>
<p>

It seems like yesterday that I was an intern at Red Hat working on an internal
updates system for Fedora Core.  Coming up on 5 years later, and I am now working on my 3rd
implementation of an updates system, Bodhi v2.0.  What's wrong with the current
Bodhi you ask?  Well, if you talk to any user of it, you'll probably get a
pretty long list.  Bodhi is the first TurboGears application written & deployed
in Fedora Infrastructure, and uses the vanilla components (SQLObject, kid,
CherryPy2).  The TG1 stack has been holding up quite nicely over the years,
and is still supported upstream, but bodhi's current implemention and design
does not make it easy to grow.
</p>
<p>
Bodhi v2.0 will be implemented in TurboGears2, using SQLAlchemy for an ORM,
Mako for templates, and ToscaWidgets2 for re-usable widgets.  It will be
hook-based and plugin-driven, and will be completely distribution agnostic.
Another important goal will be AMQP message-bus integration, which will allow
other services or users to react to various events inside of the system as they
happen.
</p>
<p>
So far I've ported the old DB model from SQLObject to SQLAlchemy, and have
begun porting the old unit tests, and writing new ones.  Come the new year,
I'll be giving this much more of my focus.
</p>
<p>
During the hackfests I got a chance to talk to <a
href="http://www.ausil.us/">Dennis Gilmore</a> about various
improvements that we need to make with regard to the update push process.  It
was also great to talk to many different users of bodhi, who expressed various
concerns, some of which I've already fixed.  I also got a chance to talk to
<a href="https://fedoraproject.org/wiki/User:Laxathom">Xavier Lamien</a> about deploying Bodhi for <a href="http://rpmfusion.org">rpmfusion</a>.  On the bus ride home I
helped explain to <a href="http://blog.melchua.com/">Mel</a> how Bodhi & Koji fit into the big picture of things.
</p>
<p>
During the BarCamp sessions I also attended a session about the <a
href="http://fedoraproject.org/wiki/Desktop/Whiteboards/UpdateExperience">Update
Experience</a>, where we discussed many important issues surrounding updates.
</p>
<h3>liveusb-creator</h3>
<p>

So I got a chance to finally meet <a href="http://fedoraproject.org/wiki/User:Sdz">Sebastian Dziallas</a>, of <a href="http://wiki.sugarlabs.org/go/Sugar_on_a_Stick">Sugar on a Stick</a> fame,
and was able to fix a few liveusb-creator issues on his laptop.  I ended up
pushing out a new release a couple of days ago that contains some of those
fixes, along with a new version of Sugar on a Stick.
</p>
<p>
The liveusb-creator has been catching a lot of press recently (see the <a href="http://liveusb-creator.fedorahosted.org">front page</a> for a list).  Not only did it have a 2 page spread in Linux Format, but it was also featured in this weeks Wired.com article <a href="http://www.wired.com/geekdad/2009/12/new-sugar-on-a-stick-brings-much-needed-improvements/comment-page-1/#comment-31925">New Sugar on a Stick Brings Much Needed Improvements</a>.  Rock.
</p>
<h3>Python</h3>
<p>
There was lot of brainstorming done by <a href="http://dmalcolm.livejournal.com/">Dave Malcolm</a>, <a href="http://cgwalters.livejournal.com">Colin Walters</a>, <a href="http://www.advogato.org/person/badger/">Toshio Kuratomi</a>, <a href="http://codewiz.org/">Bernie Innocenti</a>, I, and many others about various improvements that we could make to the Python interpreter.  From speeding up startup time by doing some clever caching to potentially creating a new optimized compiled binary format.  We also looked into how WebError/abrt gather tracebacks, and discussed ways of enabling interactive traceback debugging for vanilla processes, without requiring a layer of WSGI middleware.
</p>
<p>
There was also work done on <a href="http://lwn.net/Articles/365689">adding
SystemTap probes to Python</a>, which is very exciting.  There are <a href="https://fedoraproject.org/wiki/Features/SystemtapStaticProbes#Python">many ideas</a> for various probe points, including one that I blogged about <a href="http://lewk.org/blog/python-dictionary-optimizations">previously</a>.
</p>
<h3>Intel iMac8,1 support</h3>
<p>

My iMac sucks at Linux.  This has been something
that has been nagging me for a long time, and I've been slowly trying to chip away at
the problems.  First, I've been doing work on a Mac port of the liveusb-creator.  I also
started to work on a <a
href="http://lmacken.fedorapeople.org/patches/linux-2.6.31-efifb-iMac.patch">kernel
patch</a> for getting the EFI framebuffer working, and discussed how to do it
with ajax and pjones.  The screen doesn't display anything after grub, and
since we don't know the base address of the framebuffer, it involves writing
code to iterate over memory trying to find some common pixel patterns.  I'm
still trying to wrap my head around all of it, but I'll probably end up just buying them
beer to fix it for me.
</p>
<p>
<h3>Thincrust</h3>

<a href="http://thincrust.net">Thincrust</a> is a project that I've been excited about for a while, and I
actually have some appliances deployed in a production cloud.  I was able to
run some ideas for various virtual appliances by one of the authors over some
beers.  Some pre-baked virtual appliances that you can easily throw into a
cloud that I would like to see:
</p>
<p>
<ul>
    <li><a href="http://wsgi.org">WSGI</a> appliance</li>
    <li>TurboGears2, Pylons, Django, etc.</li>
    <li>Moksha - Real-time web application in a box</li>
    <li>func, certmaster, puppetmaster</li>
    <li>Intrusion detection system</li>
    <li>Many more that I can't think of right now</li>
</ul>
<p>
<h3>dogtail</h3>

I'm glad to see that <a href="https://fedorahosted.org/dogtail">dogtail</a> is
still exciting people in the community.  It still has a lot of potential to
improve not only the way we test graphical software, but we also discussed ways
of using it to teach people and automate various desktop tasks. What if you
logged in after a fresh install and got the following popup bubble:
</p>
<p>
<b>Hi, welcome to Fedora, what can I help you do today?</b>
<ul>
        <li>Installing new software</li>
        <li>Setting up an email client</li>
        <li>Using and RSS news reader</li>
        <li>More...</li>
</ul>
</p>
<p>
Each task would then allow Fedora to take the wheel and walk the user through
various steps.  I had this idea a while ago, when dogtail first came out, and I still
think it would be totally awesome.  Anyway, this was not a focus of the
hackfests, but merely a conversation that I had while walking to lunch :)
</p>

]]></description>
</item>

<item>
  <title>TurboGears2 in Fedora &amp; EPEL</title>
  <link>http://lewk.org/blog/TurboGears2-in-Fedora.html</link>
  <description><![CDATA[
<img src="/img/tg-small.jpg" align="right"/>
<p>
I'm excited to announce that the <a
href="http://turbogears.org">TurboGears2</a> web application stack
is now available in Fedora 12, 11 and EPEL-5.
</p>
<p>
<h3>What is TurboGears2?</h3>
<blockquote>
TurboGears 2 is the built on top of the experience of several next
generation web frameworks including TurboGears 1 (of course), Django,
and Rails. All of these frameworks had limitations which were
frustrating in various ways, and TG2 is an answer to that
frustration. We wanted something that had:
<br/>
  <ul>
  <li>Real multi-database support</li>
  <li>Horizontal data partitioning (sharding)</li>
  <li>Support for a variety of JavaScript toolkits, and new widget system to make building ajax heavy apps easier</li>
  <li>Support for multiple data-exchange formats.</li>
  <li>Built in extensibility via standard WSGI components</li>
  </ul>

</blockquote>

</p>
<p>
<h3>Installing the TurboGears2 stack & development tools</h3>
<blockquote>
<b>Fedora 12</b>
<blockquote><code>yum install TurboGears2 python-tg-devtools</code></blockquote>
<b>Fedora 11</b>
<blockquote><code>yum --enablerepo=updates-testing install TurboGears2 python-tg-devtools</code></blockquote>
<b>Red Hat Enterprise Linux 5 (with <a href="http://fedoraproject.org/wiki/EPEL">EPEL</a>)</b>
<blockquote><code>yum --enablerepo=epel-testing install TurboGears2 python-tg-devtools</code></blockquote>
</blockquote>
</p>
<h3>Creating your first TG2 app</h3>
<blockquote><code>paster quickstart</code></blockquote>
<h3>Run your test suite</h3>
<blockquote><code>nosetests</code></blockquote>
<h3>Run your application</h3>
<blockquote><code>paster serve development.ini</code></blockquote>
<h3>Read the documentation</h3>
<blockquote>
    <a href="http://www.turbogears.org/2.0/docs">http://www.turbogears.org/2.0/docs</a>
</blockquote>

<h3>Contribute</h3>
<blockquote>
    If you're interested in helping maintain and improve the TG2/Pylons stack
    within Fedora/EPEL, please <a href="mailto:lmacken@redhat.com">let me know</a>.  We're always looking for new
    Python hackers to join the team.  There are still a few more components
    that need to be packaged and reviewed (eg: chameleon.genshi), so please
    take a look at the <a
        href="https://fedoraproject.org/wiki/TurboGears2">TurboGears2 page on
        the Fedora wiki</a> for more details..
</blockquote>

]]></description>
</item>

<item>
  <title>Fedora 12 is here!</title>
  <link>http://lewk.org/blog/f12-is-here.html</link>
  <description><![CDATA[
<p>
<center>
<a href="http://fedoraproject.org"><img src="http://fedoraproject.org/static/images/f12launch.png"/></a>
<br/><br/>
<b>Install it with the liveusb-creator!</b><br/><br/>
<a href="http://liveusb-creator.fedorahosted.org"><img
src="https://fedorahosted.org/liveusb-creator/attachment/wiki/img/liveusb-creator-logo.png?format=raw"/></a>
</center>
</p>

]]></description>
</item>

<item>
  <title>New liveusb-creator release!</title>
  <link>http://lewk.org/blog/liveusb-creator-3.8.6.html</link>
  <description><![CDATA[
<p>

<img
src="https://fedorahosted.org/liveusb-creator/attachment/wiki/img/fedorausb.png?format=raw" align="right" />

So I've gotten some pretty inspiring feedback from various users of the
liveusb-creator recently, so I decided to put some cycles into it this weekend and
crank out another release.

<blockquote><code>
"As a non-Linux person, Live-USB Creator has improved the quality of my life measurably!" --Dr. Arthur B. Hunkins
</code></blockquote>

Yesterday I released version 3.8.6 of the liveusb-creator.  Changes in this
release include:
<br/>
<ul>
<li>Added the F12 beta release</li>
<li>Updated to the latest Sugar on a Stick v2 beta snapshot (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=522240">#522240</a>)</li>
<li>Made our automatic device detection code more robust (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=519134">#519134</a>)</li>
<li>Fixed encoding of unicode strings from exceptions (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=471367">#471367</a>)</li>
<li>Made our Linux device detection more robust (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=517053">#517053</a>)</li>
<li>Intel Mac EFI directory preparation (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=526825">#526825</a>) thanks to Matt Domsch</li>
<li>Made our windows device detection more robust</li>
<li>Added a --device-checksum options, which calculates the checksum of the entire device.</li>
<li>Added a --liveos-checksum option, which takes the checksum of all LiveOS files, and then generate a checksum of the checksums</li>
<li>Added a --hash option for configuring the hash for the above checksum features</li>
<li>Made the LiveUSBCreator.bootable_partition method a little more robust</li>
<li>Better handling of file descriptors</li>
<li>Some Windows-specific optimizations & fixes</li>
<li>Fixed a bug with the overlay size on sticks with not much free space</li>
<li>Handle device paths containing spaces when running extlinux (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=490843">#490843</a>)</li>
<li>Remove some duplicate po files (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=516841">#516841</a>)</li>
<li>Many translation updates</li>
</ul>

<b>Windows</b>
<br/>
<a href="https://fedorahosted.org/releases/l/i/liveusb-creator/liveusb-creator-3.8.6.zip">https://fedorahosted.org/releases/l/i/liveusb-creator/liveusb-creator-3.8.6.zip</a>

<br/>
<br/>
<b>Fedora</b>

<br/>
<a
href="https://admin.fedoraproject.org/updates/liveusb-creator-3.8.6-1.fc11">https://admin.fedoraproject.org/updates/liveusb-creator-3.8.6-1.fc11</a>
<br/>
<a
href="https://admin.fedoraproject.org/updates/liveusb-creator-3.8.6-1.fc12">https://admin.fedoraproject.org/updates/liveusb-creator-3.8.6-1.fc12</a>
<br/>
<br/>

<b>Source</b>

<br/>
<a href="https://fedorahosted.org/releases/l/i/liveusb-creator/liveusb-creator-3.8.6.tar.bz2">https://fedorahosted.org/releases/l/i/liveusb-creator/liveusb-creator-3.8.6.tar.bz2</a>
<br/>
<br/>

<b>Trac</b>
<br/>
<a
href="http://liveusb-creator.fedorahosted.org">http://liveusb-creator.fedorahosted.org</a>


</p>

]]></description>
</item>

<item>
  <title>Good Python Habits: vim + pyflakes</title>
  <link>http://lewk.org/blog/python-vim-pyflakes.html</link>
  <description><![CDATA[
<p>
Here is a neat little hack for running <a
href="http://divmod.org/trac/wiki/DivmodPyflakes">pyflakes</a> on Python
files after you save them.  I like using pyflakes for quickly catching dumb
errors, but you could easily replace it with a more comprehensive tool like
<a href="http://pychecker.sourceforge.net">pychecker</a>, or <a href="http://www.logilab.org/857">pylint</a> for more strict <a href="http://www.python.org/dev/peps/pep-0008/">PEP8</a> compliance.
</p>
<p>
All you have to do is throw this in your ~/.vimrc
</p>

<blockquote><code>
au BufWritePost *.py !pyflakes %
</code></blockquote>

<p>
This has saved me *tons* of time and frustration over the past few weeks, and
I have no idea I lived without it.
</p>

]]></description>
</item>

<item>
  <title>Fedora 12 filesystem showdown</title>
  <link>http://lewk.org/blog/f12-filesystem-showdown.html</link>
  <description><![CDATA[
<p>
<img src="/img/metrics.png" align="right"/>
            <ul>
                <li><b>Kernel:</b> 2.6.31.1-56.fc12.i686.PAE</li>
                <li><b>I/O Scheduler:</b> CFQ</li>
                <li><b>Encryption</b>: LUKS/dm-crypt AES-XTS cipher 512 bit key</li>
                <li><b>Installation Media:</b> rawhide boot.iso (20091010)</li>
                <li><b>Benchmark</b>: <a href="http://www.coker.com.au/bonnie++/">bonnie++</a></li>
                <li><b>Graphing script</b>: <a href="http://hg.lewk.org/index.py/flotbonnie">flotbonnie.py</a></li>
                <li><b>Hardware profile: <a href="/bench/f12-dev-20091009-fs/2.6.31.1-56.fc12.i686.PAE-hardinfo">2.6.31.1-56.fc12.i686.PAE-hardinfo</a> (note: ancient hardware)</b></li>
                <li><b>Raw data: <a href="/bench/f12-dev-20091009-fs/2.6.31.1-56.fc12.i686.PAE-btrfs">2.6.31.1-56.fc12.i686.PAE-btrfs</a>, <a href="/bench/f12-dev-20091009-fs/2.6.31.1-56.fc12.i686.PAE-ext3">2.6.31.1-56.fc12.i686.PAE-ext3</a>, <a href="/bench/f12-dev-20091009-fs/2.6.31.1-56.fc12.i686.PAE-ext4">2.6.31.1-56.fc12.i686.PAE-ext4</a>, <a href="/bench/f12-dev-20091009-fs/2.6.31.1-56.fc12.i686.PAE-xfs">2.6.31.1-56.fc12.i686.PAE-xfs</a></b> </li>
    </ul>

<center>
<img src="/img/f12-filesystem-showdown.png" />
</center>
</p>

]]></description>
</item>

<item>
  <title>Fedora 9 Updates Metrics</title>
  <link>http://lewk.org/blog/f9-updates.html</link>
  <description><![CDATA[
<p>
<center>
<b>Fedora 9 Updates</b>
<br/>
<img src="/img/f9-updates.png" />
<br/><br/>
<b>Most updated packages</b>
<br>
<img src="/img/f9-most-updated.png" />
<br/><br/>
<b>Packages with the best karma</b>
<br>
<img src="/img/f9-best-karma.png" />
<br/><br/>
<b>Most updates per developer</b>
<br>
<img src="/img/f9-most-active-devs.png" />
<br/><br/>
<b>Most tested packages</b>
<br>
<img src="/img/f9-most-tested.png" />
<br/><br/>
<b>Top testers</b>
<br>
<img src="/img/f9-top-testers.png" />
</center>
</p>

]]></description>
</item>

</channel>
</rss>
