<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for badger</title>
    <link>http://www.advogato.org/person/badger/</link>
    <description>Advogato blog for badger</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Thu, 24 Jul 2008 22:35:22 GMT</pubDate>
    <item>
      <pubDate>Fri, 11 Jul 2008 01:08:46 GMT</pubDate>
      <title>11 Jul 2008</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=60</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=60</guid>
      <description>&lt;b&gt;Flatten a list in a python one-liner&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; I sometimes need to flatten a list in a list comprehension&#xD;
or generator expression (usually because I'm doing work&#xD;
inside of a template where keeping temporary variables is&#xD;
somewhat painful).  This has stumped me for a while but&#xD;
today I found &lt;a href="http://docs.python.org/lib/itertools-functions.html" &gt;itertools.chain()&lt;/a&gt;&#xD;
which worked wonderfully.  Here's how I found out I could&#xD;
make use of it:&#xD;
&lt;pre&gt;&#xD;
&amp;gt;&amp;gt;&amp;gt; import itertools&#xD;
&amp;gt;&amp;gt;&amp;gt; data = [(1,2), (3,4,5), (6,7)]&#xD;
&amp;gt;&amp;gt;&amp;gt; [i for i in itertools.chain(*data)]&#xD;
[1, 2, 3, 4, 5, 6, 7]&#xD;
&lt;/pre&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 13 Jun 2008 20:20:15 GMT</pubDate>
      <title>13 Jun 2008</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=59</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=59</guid>
      <description>&lt;b&gt;New Election Software&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; As Fedora folk know, the &lt;a href="https://admin.fedoraproject.org/voting" &gt;Fedora Board&#xD;
Election&lt;/a&gt; is currently taking place.  What people might&#xD;
not all be aware of is that the election software has been&#xD;
completely rewritten by one of our all-star contributors,&#xD;
Nigel Jones.  Since I wrote the former&#xD;
election software, I'm well aware of its shortcomings:&#xD;
a manual process for setting up an election, no&#xD;
confirmation pages, limited styles of voting, only a&#xD;
single election at a time, and it just plain looked ugly. &#xD;
Nigel looked at all the problems and&#xD;
wrote a new app in TurboGears that fixed them.  Not only does&#xD;
it solve all the problems we had before but it gives us a&#xD;
much more flexible framework for further enhancements.  If&#xD;
we want new styles of voting or a new Fedora theme, it will&#xD;
be &lt;b&gt;much&lt;/b&gt; easier to implement that with the new code.&#xD;
&#xD;
&lt;p&gt; So if you're on one of the Fedora IRC channels, give a warm&#xD;
thank-you to "G" for the excellent work he's done!</description>
    </item>
    <item>
      <pubDate>Thu, 8 May 2008 08:34:31 GMT</pubDate>
      <title>8 May 2008</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=58</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=58</guid>
      <description>&lt;p&gt;&lt;b&gt;Why I Love Open Source&lt;/b&gt;&lt;br&gt;&lt;br&gt;I've had a bunch of&#xD;
items on my TODO queue for the pkgdb that would be major&#xD;
enhancements to its usability but haven't been able to work&#xD;
on them due to higher priority things constantly coming up&#xD;
(FAS, figuring out why common operations are so slow,&#xD;
eliminating unicode crashes, mass branching, etc)  This&#xD;
doesn't mean that I don't know there are usability issues&#xD;
with the pkgdb, though.  And every time I see those issues I&#xD;
have to shudder and promise myself that I'll have time to&#xD;
fix them soon.&lt;br&gt;&lt;br&gt;Well, for at least a few of those most&#xD;
requested features that's no longer necessary!  Christopher&#xD;
Aillon (caillon) submitted a patch to add UI to the user&#xD;
package page to filter packages according to whether you own&#xD;
them or not.  This is great as it means I'll be able to set&#xD;
the default filter to owner, approveacls, and commit and&#xD;
people will be able to easily change the settings&#xD;
themselves.&lt;br&gt;&lt;br&gt;An even bigger enhancment is being worked&#xD;
on by Ionu&amp;#539; Ar&amp;#539;&amp;#259;ri&amp;#537;i (maploin) who has&#xD;
recently started hacking on the PackageDB.  He's adding&#xD;
search capability so that we can find packages by keyword a&#xD;
la yum search.  Because of the infrastructure change freeze&#xD;
that we're enforcing until Fedora 9 is out the door, I don't&#xD;
have a test server running his code yet.  If you want to try&#xD;
it out, though, it's available by checking out the bzr&#xD;
repository:&lt;br&gt;&lt;pre&gt;&lt;br&gt;bzr branch&#xD;
bzr://bzr.fedorahosted.org/bzr/packagedb/mapleoin-devel&lt;br&gt;&lt;/pre&gt;&lt;br&gt;Instructions&#xD;
for configuring a test server are in the README&#xD;
file.&lt;br&gt;&lt;br&gt;Here's a few screenshots to whet your&#xD;
whistles:&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;a href="http://www.flickr.com/photos/kuratomi/2475763366/" &gt;&lt;img src="http://farm3.static.flickr.com/2011/2475763366_5ef58e3056_o.png" width="598" height="382" alt="pkgdb-search-front.png"&gt;&lt;/a&gt;&lt;br&gt;Front Page with Search&#xD;
Box&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;a href="http://www.flickr.com/photos/kuratomi/2475763278/" &gt;&lt;img src="http://farm3.static.flickr.com/2078/2475763278_049909c849_o.png" width="657" height="371" alt="pkgdb-search-results.png"&gt;&lt;/a&gt;&lt;br&gt;Results!&lt;br&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 27 Feb 2008 07:24:08 GMT</pubDate>
      <title>27 Feb 2008</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=57</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=57</guid>
      <description>&lt;b&gt;Mugshot to the Rescue!&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;img src="http://toshio.fedorapeople.org/blog-images/mugshot.png"/&gt;&#xD;
&#xD;
&lt;p&gt; While doing other things after dinner I happened to see this&#xD;
entry go by in my mugshot stacker and thought, hmmm... I&#xD;
should look at that.  &lt;a href="https://fedorahosted.org/fas2/changeset/2a8e369daa3db77769d00ff2270566a02e9759a5" &gt;One&#xD;
click&lt;/a&gt; later I was looking at the suspect changeset on&#xD;
fedorahosted's trac instance and confirmed that it would&#xD;
break bugzilla sync.  A few minutes of editing and a fix was&#xD;
committed.&#xD;
&#xD;
&lt;p&gt; Moral of the story #1: When set up to watch the RSS feed for&#xD;
your project's commits mugshot can help get the right eyes&#xD;
on a problem quickly.&#xD;
&#xD;
&lt;p&gt; Moral of the story #2: If you have any doubts about a&#xD;
change make sure to mention them in the first line of your&#xD;
commit message.</description>
    </item>
    <item>
      <pubDate>Fri, 8 Feb 2008 19:04:51 GMT</pubDate>
      <title>8 Feb 2008</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=56</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=56</guid>
      <description>
&lt;p&gt;Does it say good things about inkscape or bad things about the other programs we have available that it's what I use to model objects and relationships when I program?</description>
    </item>
    <item>
      <pubDate>Tue, 15 Jan 2008 12:28:55 GMT</pubDate>
      <title>15 Jan 2008</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=55</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=55</guid>
      <description>Mmm... Matzo ball soup and roasted tomatoes.</description>
    </item>
    <item>
      <pubDate>Wed, 12 Dec 2007 22:43:33 GMT</pubDate>
      <title>12 Dec 2007</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=54</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=54</guid>
      <description>Thanks to Mike McGrath and a host of other Fedora&#xD;
Infrastructure people, the new Fedora Hosted server has&#xD;
better support for Bazaar Repositories than the old one! &#xD;
Under the old setup we had sftp for authenticated checkout&#xD;
and http for anonymous checkout.  In the new scheme we have&#xD;
smart servers replacing both of those.&#xD;
&#xD;
&lt;p&gt; Here's a bit of preliminary timing to show you the&#xD;
difference.  Note that these times have several inaccuracies&#xD;
and should only be used as an extremely general indication&#xD;
of speed.  A few caveats that I know of:&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;These times don't test push, merge, and pull speed,&#xD;
which are the networked operations that you'll be using most&#xD;
frequently.  They only show the inital branch operation&#xD;
(which, however, is the first impression that most people&#xD;
get of an SCM's speed.)&#xD;
&#xD;
&lt;li&gt;rsync doesn't understand the bzr repository structure so&#xD;
I have to download the entire repository with rsync instead&#xD;
of just the branch I'm interested in.  In this case, the&#xD;
difference is 4876K for rsync vs 4556K for the bzr protocol.&#xD;
&#xD;
&lt;li&gt;Although I have a bazaar repository setup on the server,&#xD;
I don't have one setup on the client.  In normal operation,&#xD;
I'd already have most of the data checked out in a&#xD;
repository in a different branch so a new branch would have&#xD;
to transfer a lot less data.&#xD;
&#xD;
&lt;li&gt;This test is performed with bzr's dirstate-tags branch&#xD;
format.  The latest bzr has a new "pack" format that is&#xD;
supposed to be faster.  We currently have 1.0rc3 on the&#xD;
server and I'm running 0.92 on the client.  I'll likely be&#xD;
experimenting with the new format after I get 1.0 installed&#xD;
on both sides.&#xD;
&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Baseline rsync&lt;/b&gt;  This runs rsync and then does a&#xD;
lightweight&#xD;
checkout in the directory (leaving us with a branch and&#xD;
working tree just like a &lt;tt&gt;bzr branch&lt;/tt&gt; operation.)&#xD;
&lt;pre&gt;&#xD;
rsync -a rsync://bzr.fedorahosted.org/bzr/packagedb/ .&#xD;
cd fedora-packagedb-devel&#xD;
bzr checkout --lightweight &#xD;
&#xD;
&lt;p&gt; real    0m16.548s&#xD;
&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;bzr over http&lt;/b&gt;  This is equivalent to what we have had to&#xD;
use on the old server:&#xD;
&lt;pre&gt;&#xD;
bzr branch&#xD;
http://bzr.fedorahosted.org/bzr/packagedb/fedora-packagedb-devel&#xD;
Branched 258 revision(s).                                  &#xD;
                  &#xD;
real    1m2.844s&#xD;
&lt;/pre&gt;&#xD;
Ouch!&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;A fresh branch using the smart server&lt;/b&gt;&#xD;
&lt;pre&gt;&#xD;
bzr branch&#xD;
bzr://bzr.fedorahosted.org/bzr/packagedb/fedora-packagedb-devel&#xD;
Copying repository content as tarball...&#xD;
Branched 258 revision(s).&#xD;
&#xD;
&lt;p&gt; real    0m23.192s&#xD;
&lt;/pre&gt;&#xD;
Much better!  This is only 7 seconds slower than using rsync.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;bzr+ssh smart server&lt;/b&gt; for rw access:&#xD;
&lt;pre&gt;&#xD;
bzr branch&#xD;
bzr+ssh://bzr.fedorahosted.org/bzr/packagedb/fedora-packagedb-devel&#xD;
Copying repository content as tarball...&#xD;
Branched 258 revision(s).&#xD;
&#xD;
&lt;p&gt; real    0m25.501s&#xD;
&lt;/pre&gt;&#xD;
The ssh protocol adds a few seconds to the total time but&#xD;
it's also quite speedy.&#xD;
&#xD;
&lt;p&gt; One interesting point is that the smart server times are&#xD;
much better than the ones I posted in &lt;a&#xD;
href="http://www.advogato.org/person/badger/diary.html?start=49"&#xD;
&gt;October&lt;/a&gt;.  This could be because we're dealing with a&#xD;
different server on a different network or it could be that&#xD;
we've gone from using bazaar-0.18 to bazaar-1.0rc3 on the&#xD;
server.  I'll have to do more timings after we get settled&#xD;
into the new machine to tell more.</description>
    </item>
    <item>
      <pubDate>Wed, 12 Dec 2007 18:32:33 GMT</pubDate>
      <title>12 Dec 2007</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=53</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=53</guid>
      <description>My last week was largely spent working on Fedora&#xD;
Infrastructure tasks: fixing a lot of annoyances, creating&#xD;
scripts to automate tasks, and helping to get the new hosted&#xD;
infrastructure up and running.  This week has started off&#xD;
the same but I'm hoping to get some work done on some new&#xD;
authentication code for python-fedora before next week&#xD;
starts.    J5, Ricky Zhou, and I have been talking about&#xD;
what it would take to get single sign on, certificate&#xD;
authentication, and openid working and I want to start&#xD;
modifying code to make that happen.&#xD;
&#xD;
&lt;p&gt; Note: I did get to cross one of my PackageDB tasks off&#xD;
without doing much of anything -- porting to RHEL5 turned&#xD;
out to only be a matter of getting a few packages branched&#xD;
for EPEL.  No coding required.</description>
    </item>
    <item>
      <pubDate>Sun, 25 Nov 2007 17:53:22 GMT</pubDate>
      <title>25 Nov 2007</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=52</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=52</guid>
      <description>&lt;b&gt;Appalachian Trail Memories&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; I dozed off after dinner last night and dreamt of a hiker&#xD;
named Raindancer (after some googling, I'm pretty sure I&#xD;
never hiked with a Raindancer but it seems to have been a&#xD;
suitable mental prod).  On waking, I felt compelled to scour&#xD;
the Internet for people from my 1999 hike of the Appalachian&#xD;
Trail.  It was somewhat depressing to do.  There's a lot of&#xD;
memories of the 1999 hikers on the web but not as much that&#xD;
can be used to reconnect to them.  So, for Lank, Butterfly,&#xD;
Hummingbird, Shortcut, Flame, Irie, Moose of the New FBI,&#xD;
Llama, Wadi, Lu the Wanderer, Walking Pine, Hobbit, Algae,&#xD;
Beaner, Wild Turkey, Mouse's Motor, Rockfish, Buzzard, Jojo&#xD;
Smiley, T-Bone, Captain, Monifa, Wide Brim, Dingo,&#xD;
Dragonfly, Cassiopia and Freak Dog, Goat, Tenderfoot, and&#xD;
all the hikers that may try to reconnect to me at some&#xD;
unspecified future date, Anonymous Badger is still thinking&#xD;
of you -- a.badger+gmail.</description>
    </item>
    <item>
      <pubDate>Mon, 12 Nov 2007 18:18:49 GMT</pubDate>
      <title>12 Nov 2007</title>
      <link>http://www.advogato.org/person/badger/diary.html?start=51</link>
      <guid>http://www.advogato.org/person/badger/diary.html?start=51</guid>
      <description>&lt;b&gt;Giflib 4.1.6&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; The story so far...&#xD;
&#xD;
&lt;p&gt; I posted a new giflib-4.1.6 release over the weekend since&#xD;
it was brought to my attention that several seg faults were&#xD;
present when corrupted gif images were fed into the&#xD;
utilities.  At the same time, I posted a notice that I was&#xD;
no longer going to be updating the libungif package due to&#xD;
the Unisys LZW patent expiring.&#xD;
&#xD;
&lt;p&gt; Today I was wondering if many people still used giflib so I&#xD;
had a quick look at the sourceforge statistics:&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Downloads for project giflib&lt;/b&gt;&#xD;
&lt;pre&gt;&#xD;
Date            Downloads Bandwidth&#xD;
12 Nov 2007 *  	1,693  	  819.3 MB&#xD;
11 Nov 2007 	2,568     1.2 GB&#xD;
10 Nov 2007 	187 	  80.6 MB&#xD;
09 Nov 2007 	147 	  74.1 MB&#xD;
&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt; Definite bump from the release.  Cool!  But wait, there's more:&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Downloads for Package giflib&lt;/b&gt;&#xD;
&lt;pre&gt;&#xD;
12 Nov 2007 *  	57  	30.3 MB&#xD;
11 Nov 2007 	150 	75.2 MB&#xD;
10 Nov 2007 	60 	22.9 MB&#xD;
09 Nov 2007 	37 	19.0 MB&#xD;
&lt;/pre&gt;&#xD;
Only a hundred extra people are downloading giflib now? &#xD;
Where are the extra two thousand downloads coming from?&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Downloads for Package libungif&lt;/b&gt;&#xD;
&lt;pre&gt;&#xD;
12 Nov 2007 *  	1,784  	862.5 MB&#xD;
11 Nov 2007 	2,418 	1.1 GB&#xD;
10 Nov 2007 	127 	57.7 MB&#xD;
09 Nov 2007 	110 	55.0 MB&#xD;
&lt;/pre&gt;&#xD;
Hmm....&#xD;
&#xD;
&lt;p&gt; So despite the fact that I sent a note that libungif is now&#xD;
unmaintained and the fact that I did not make a new release&#xD;
for it this time around, everyone is rushing to download&#xD;
&lt;em&gt;the old libungif package&lt;/em&gt; instead of the new giflib.&#xD;
&#xD;
&lt;p&gt; This is a little worrisome as the segfaults fixed in giflib&#xD;
are still present in the libungif package everyone's&#xD;
downloading.  So here's my intarweb plea for the day: &#xD;
&#xD;
&lt;p&gt; If you actually find libungif useful, please contact&#xD;
me about becoming a maintainer for it.  Otherwise, please&#xD;
switch to giflib!</description>
    </item>
  </channel>
</rss>
