<?xml version="1.0"?>
<rss version="2.0"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/" >
<channel>
<title>tags/planet-debian</title>
<link>http://blog.spang.cc/tags/planet-debian/</link>
<description>blog</description>
<item>

	<title>Debian on an X1 Carbon</title>


	<guid isPermaLink="false">http://blog.spang.cc/posts/Debian_on_an_X1_Carbon/</guid>

	<link>http://blog.spang.cc/posts/Debian_on_an_X1_Carbon/</link>


	<category>tags/planet-debian</category>

	<category>tags/thinkpad</category>


	<pubDate>Thu, 09 May 2013 01:09:25 +0000</pubDate>
	<dcterms:modified>2013-05-09T01:09:25Z</dcterms:modified>

	<description>&lt;p&gt;Installing fresh hot &lt;a href=&quot;http://www.debian.org/&quot;&gt;Debian 7.0&lt;/a&gt; on a shiny new
ThinkPad X1 Carbon laptop turns out to be easy as cake. You just need to
make sure to grab the wifi firmware from unstable instead of the
all-in-one firmware tarballs, which contain a version that is missing a
couple required files.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;wget http://cdimage.debian.org/debian-cd/7.0.0/multi-arch/iso-cd/debian-7.0.0-amd64-i386-netinst.iso
dd if=debian-7.0.0-amd64-i386-netinst.iso of=/dev/sdb
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(Make sure /dev/sdb is really the usb stick you want to overwrite with
the installer!)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;wget http://ftp.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-iwlwifi_0.38_all.deb
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And put that on a second usb stick for the installer to load the
firmware off of.&lt;/p&gt;

&lt;p&gt;As far as I can tell, everything works. (Did not mess around with the
fingerprint reader, don&#39;t care.)&lt;/p&gt;
</description>


	<comments>/posts/Debian_on_an_X1_Carbon/#comments</comments>

</item>
<item>

	<title>on transparency</title>


	<guid isPermaLink="false">http://blog.spang.cc/posts/on_transparency/</guid>

	<link>http://blog.spang.cc/posts/on_transparency/</link>


	<category>tags/communication</category>

	<category>tags/debian</category>

	<category>tags/planet-debian</category>


	<pubDate>Fri, 18 Mar 2011 22:45:03 +0000</pubDate>
	<dcterms:modified>2011-03-18T22:45:03Z</dcterms:modified>

	<description>&lt;p&gt;I found the following quote from Stefano&#39;s &lt;acronym title=&quot;Debian
Project Leader&quot;&gt;DPL&lt;/acronym&gt;
&lt;a href=&quot;http://www.debian.org/vote/2011/platforms/zack&quot;&gt;platform&lt;/a&gt; interesting:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;When faced with the dilemma, I&#39;ve favored ditching some DPL tasks
and communicating or taking notes about the others, instead of the
other way around.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;It takes someone who really knows Debian to realize that sometimes
communicating about what&#39;s being done is more important than doing more.&lt;/p&gt;
</description>


	<comments>/posts/on_transparency/#comments</comments>

</item>
<item>

	<title>DebConf 10 postmortem and SD talk followup</title>


	<guid isPermaLink="false">http://blog.spang.cc/posts/DebConf_10_postmortem_and_SD_talk_followup/</guid>

	<link>http://blog.spang.cc/posts/DebConf_10_postmortem_and_SD_talk_followup/</link>


	<category>tags/debconf</category>

	<category>tags/planet-debian</category>


	<pubDate>Sun, 22 Aug 2010 18:58:55 +0000</pubDate>
	<dcterms:modified>2010-10-02T02:53:54Z</dcterms:modified>

	<description>&lt;p&gt;DebConf launched with a bang&amp;mdash;the day I arrived
&lt;a href=&quot;http://blog.spang.cc/posts/lolbikeride_to_debconf/&quot;&gt;by bike&lt;/a&gt; I was up
until 3am meeting and greeting in the basement lounge of the Carmen
Columbia dormitory, where I was staying. No idea how I managed to be so
awake for that.&lt;/p&gt;

&lt;p&gt;The rest of the week alternated between hacking like crazy on code
for &lt;a href=&quot;http://penta.debconf.org/dc10_schedule/events/591.en.html&quot;&gt;my talk&lt;/a&gt;
and spending a lot of time socializing with Debian folks new and old.&lt;/p&gt;

&lt;p&gt;For the day trip to Coney Island, I joined the
&lt;a href=&quot;http://fifthhorseman.net/&quot;&gt;dkg&lt;/a&gt;-led bike expedition which ended up
running to nearly 30 miles, which was a bit more than expected. The fact
that this was all in actual dense city really drove home the scale
difference between Boston and New York (I&#39;d never been to NYC before
this). We took several breaks to lounge around and eat and drink, so it
took quite a long time even given the distance. I hadn&#39;t planned on
seeing the baseball game that was a part of the trip, but I ended up
going anyway and it turns out that a bunch of geeks at a minor league
game is actually quite a lot of fun! I hope someone else will put some
pictures from the bike ride and game online soon, since I didn&#39;t really
take any myself.&lt;/p&gt;

&lt;p&gt;This was the first DebConf where I gave a talk, which resulted in me
skipping almost all of the other talks, because my talk was on the last
day and I reaaally wasn&#39;t ready at the start of the conference due to
the rest of life being pretty crazy this summer. I missed some things I
would have liked to see because of this, but ultimately I think it was
worth it. The good news is: it went well! I was nervous until I actually
started talking (never given a talk at a conference before), and then it
was fine. If you missed it, the talk video is on the web in
&lt;a href=&quot;http://meetings-archive.debian.net/pub/debian-meetings/2010/debconf10/low/1574_1574_Handling_Debian_bugs_with_SD.ogv&quot;&gt;low&lt;/a&gt;
and
&lt;a href=&quot;http://meetings-archive.debian.net/pub/debian-meetings/2010/debconf10/high/1574_1574_Handling_Debian_bugs_with_SD.ogv&quot;&gt;high&lt;/a&gt;
quality; slides are &lt;a href=&quot;http://spang.cc/data/talks/debconf10/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The audience was great&amp;mdash;there were excellent questions and people
were excited and interested in the project. I couldn&#39;t have asked for a
better reception. After the talk finished I spent some time aisle-chatting
with some folks, and totally failed to recognize
&lt;a href=&quot;http://kitenet.net/~joey/&quot;&gt;Joey&lt;/a&gt; despite having met him before, because
he&#39;d shaved off his hair.&lt;/p&gt;

&lt;p&gt;DebConf was, like usual, both inspiring and exhausting. I haven&#39;t
managed to follow up on much that happened during the conference yet. I
definitely plan to do so, though, now that real life is calming down
again. I&#39;d hate to waste the post-conference buzz about
&lt;a href=&quot;http://syncwith.us/&quot;&gt;SD&lt;/a&gt;.  My todo list includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Working more on the SD debbugs bridge to make it more stable.

&lt;ul&gt;
&lt;li&gt;I ran into &lt;a href=&quot;http://blog.fsck.com/&quot;&gt;Jesse&lt;/a&gt; soon after coming back
and now have a better idea of how I&#39;m going to handle a lack of
history properly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Getting my patch to the Debbugs SOAP interface merged.&lt;/li&gt;
&lt;li&gt;Looking into the read-write SOAP interface work that was done as a
Summer of Code project.&lt;/li&gt;
&lt;li&gt;After talking with Jesse I also kind of want to hack up a RESTful
interface that could be used alongside the SOAP interface. It seems
like doing so will make development of and using the Debbugs web API
less painful in the future. This may be a rabbit hole that I don&#39;t
actually want to jump down, but it&#39;s an idea.&lt;/li&gt;
&lt;li&gt;Maybe other help on Debbugs proper!&lt;/li&gt;
&lt;li&gt;Fixing SD bugs and generating more documentation.&lt;/li&gt;
&lt;li&gt;Thinking about and thanking people for talk feedback!&lt;/li&gt;
&lt;li&gt;Playing around with &lt;a href=&quot;http://web.monkeysphere.info/&quot;&gt;monkeysphere&lt;/a&gt; for
authentication on my personal machines.&lt;/li&gt;
&lt;li&gt;Watching videos of talks I missed (this includes basically everything
that didn&#39;t have to do with bugtracking).&lt;/li&gt;
&lt;/ul&gt;

</description>


	<comments>/posts/DebConf_10_postmortem_and_SD_talk_followup/#comments</comments>

</item>
<item>

	<title>lolbikeride to debconf</title>


	<guid isPermaLink="false">http://blog.spang.cc/posts/lolbikeride_to_debconf/</guid>

	<link>http://blog.spang.cc/posts/lolbikeride_to_debconf/</link>


	<category>tags/cycling</category>

	<category>tags/debconf</category>

	<category>tags/planet-debian</category>


	<pubDate>Mon, 02 Aug 2010 21:58:17 +0000</pubDate>
	<dcterms:modified>2010-10-02T02:53:54Z</dcterms:modified>

	<description>&lt;p&gt;DebConf being in New York City this year, clearly the right way to get
there was to bike, together with &lt;a href=&quot;http://mmillions.blogspot.com/&quot;&gt;Molly&lt;/a&gt;
and &lt;a href=&quot;http://rhydd.org/&quot;&gt;Daf&lt;/a&gt;. Being touring newbs, there were a few
mishaps.&lt;/p&gt;

&lt;h1&gt;Day 1&lt;/h1&gt;

&lt;p&gt;We aimed to catch the 10:00 commuter rail train from Boston to
Providence, Rhode Island, but we ran late (predictable) and had problems
with the bicycle rack for my racing bike, which attaches without frame
mounts (also predictable, since &lt;a href=&quot;http://mako.cc/&quot;&gt;Mako&lt;/a&gt; and Mika
test-rode it earlier in the week), so we didn&#39;t make it in to the
station until around 10:20. We used the extra time to eat and fix up the
bikes, though, so it&#39;s not clear how much of a setback that was.&lt;/p&gt;

&lt;p&gt;Here are our bikes ready to go at the Providence commuter rail station.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://blog.spang.cc/images/debconf10/bikes_in_providence.jpg&quot; alt=&quot;bikes at Providence&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We then had some problems with Molly&#39;s brakes, and it took a long time
to navigate out of the city, but eventually we found ourself on the
&quot;Washington Secondary Trail&quot;&amp;mdash;a wonderful bike path along an old
rail line. Every couple miles there&#39;d be an old covered rail bridge over
the river, and it was a well-paved straight shot for about ten miles,
with no cars and no need to navigate.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://blog.spang.cc/images/debconf10/molly_on_train_bridge.jpg&quot; alt=&quot;Molly on a train bridge&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Just as we were getting into things after the bike trail ended,
something completely unexpected happened.&lt;/p&gt;

&lt;p&gt;This is Daf&#39;s derailleur after it sheared off in the middle as we
attempted to start after a red light outside Tractor Supply Co.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://blog.spang.cc/images/debconf10/broken_derailleur.jpg&quot; alt=&quot;broken derailleur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Luckily, John and his son Chris lent us a hand and hauled Daf and his
bike to the nearest bicycle shop in the back of their pickup truck.
They&#39;d just come from there, where John had bought Chris a new helmet.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://greenwaycycles.com/&quot;&gt;Greenway Cycles&lt;/a&gt;, the only bike shop in a
twenty mile radius, was
&lt;a href=&quot;http://maps.google.com/maps?f=d&amp;amp;source=s_d&amp;amp;saddr=1175+tiogue+avenue,+coventry,+ri&amp;amp;daddr=greenway+cycles&amp;amp;hl=en&amp;amp;geocode=FYX4ewIdAbm7-ylZvksKUjXkiTE3PjecTDlp8g%3BFd9AfAIdtlO8-yEn71t2SLtX2ynbrvAL8krkiTFLsc1VfkP_oA&amp;amp;mra=ls&amp;amp;dirflg=b&amp;amp;sll=41.68817,-71.56371&amp;amp;sspn=0.032945,0.055189&amp;amp;ie=UTF8&amp;amp;z=14&amp;amp;lci=bike&quot;&gt;three miles away&lt;/a&gt;.
We got there an hour before it closed and Rick replaced the derailleur
and straightened the hanger in a jiffy.&lt;/p&gt;

&lt;p&gt;Due to all these things, we didn&#39;t get as far as we&#39;d planned in the
first day and ended up camping in Seaport Campground in Mystic,
Connecticut, rolling in at around 22:00. We did about 65 miles, including
six due to the detour to the cycle shop. Carrying camping gear is heavy!
Several delicious peanut butter and jelly bagels and some wheatberry and
couscous salad later, we were passed out.&lt;/p&gt;

&lt;h1&gt;Day 2&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;http://blog.spang.cc/images/debconf10/molly_at_camp.jpg&quot; alt=&quot;Molly at the campground&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The second day included less bike trouble, but was no less eventful, and
we were tired from the previous day&#39;s riding. The highlights included
taking a tiny sidewalk path that I&#39;m baffled how Google knows about up
onto a sidewalk alongside the I-95 bridge across the Thames to New
London, Connecticut.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://blog.spang.cc/images/debconf10/thames_bridge.jpg&quot; alt=&quot;the Thames bridge&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The 13:00 ferry from New London to Orient Point, New York, where we got
some remarkably good veggie burgers (whole edamame visible!) for lunch.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://blog.spang.cc/images/debconf10/orient_point_ferry.jpg&quot; alt=&quot;Cross Sound Ferry&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And a vineyard on the north fork of Long Island, where we stopped for a
quick tasting and ended up picking up a bottle of
&lt;a href=&quot;http://www.theoldfield.com/list.php&quot;&gt;barrel-fermented chardonnay&lt;/a&gt;. The
vineyard was small&amp;mdash;23 acres, with 11 acres of grapes&amp;mdash;and the
proprietors were friendly and extremely interested in our trip. They
gave us a dollar off on the bottle due to our method of transport.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://blog.spang.cc/images/debconf10/vineyard.jpg&quot; alt=&quot;The Old Field Vineyard&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It turns out there are only two trains a day on the Long Island rail,
and we just barely caught the 18:52 return from Riverhead. We had mere
seconds in the station and ended up without enough cash to pay for
tickets onboard, but the conductor just took what we had and gave us
tickets to Penn Station anyway.&lt;/p&gt;

&lt;p&gt;Outside Penn, a girl with a mohawk and a messenger bag overheard us
talking about biking up Broadway and told us to bike up 8th Avenue
instead. &quot;Always bike up 8th and down Broadway because they have bike
lanes in those directions.&quot; Thus, we didn&#39;t die dodging taxis in the
dark.&lt;/p&gt;

&lt;p&gt;So basically, due to various people being extremely nice to us for no
good reason, we made it to Columbia University around 22:30, on the
correct day. Warm fuzzies for humanity all around. &lt;img src=&quot;http://blog.spang.cc/tags/planet-debian/../../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;
</description>


	<comments>/posts/lolbikeride_to_debconf/#comments</comments>

</item>
<item>

	<title>downloading a directory via HTTP with wget</title>


	<guid isPermaLink="false">http://blog.spang.cc/posts/downloading_a_directory_via_HTTP_with_wget/</guid>

	<link>http://blog.spang.cc/posts/downloading_a_directory_via_HTTP_with_wget/</link>


	<category>tags/planet-debian</category>

	<category>tags/tips</category>

	<category>tags/unix</category>

	<category>tags/web</category>


	<pubDate>Mon, 12 Jul 2010 18:13:00 +0000</pubDate>
	<dcterms:modified>2010-07-12T18:16:04Z</dcterms:modified>

	<description>&lt;p&gt;From the department of
things-that-I-know-are-possible-but-can-never-remember-how-to-do-so-hey-I-read-the-manpage-and-now-I&#39;m-blogging-it,
I bring you &quot;downloading a directory of photos from a website&quot;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; wget --recursive http://example.com/photos/some-event/ --no-directories --directory-prefix &amp;lt;local-folder-name&amp;gt; --accept JPG,RW2
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I always remember &lt;code&gt;wget --recursive&lt;/code&gt; (or &lt;code&gt;wget -r&lt;/code&gt;
for short), but that produces an annoying tree of directories starting
with the website&#39;s domain and working its way up to the directory you
actually want. In the command above, &lt;code&gt;--no-directories&lt;/code&gt;
removes the tree, and &lt;code&gt;--directory-prefix&lt;/code&gt; tells
&lt;code&gt;wget&lt;/code&gt; to put the downloaded files somewhere that&#39;s not the
current working directory. The &lt;code&gt;--accept&lt;/code&gt; option tells
&lt;code&gt;wget&lt;/code&gt; to discard files with extensions other than those
mentioned, so your downloaded directory is not cluttered with
webserver-generated files like &lt;code&gt;index.html&lt;/code&gt; if you don&#39;t want
it to be.&lt;/p&gt;

&lt;p&gt;Here&#39;s the short version, since the long version is nice to remember but
not so nice to type:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;wget -r http://example.com/photos/some-event/ -nd -P &amp;lt;local-folder-name&amp;gt; -A JPG,RW2
&lt;/code&gt;&lt;/pre&gt;
</description>


	<comments>/posts/downloading_a_directory_via_HTTP_with_wget/#comments</comments>

</item>
<item>

	<title>Christine Spang: [h]ledger rocks my world</title>
	<dcterms:creator>Christine Spang</dcterms:creator>


	<guid isPermaLink="false">http://blog.spang.cc/posts/hledger_rocks_my_world/</guid>

	<link>http://blog.spang.cc/posts/hledger_rocks_my_world/</link>


	<category>tags/money</category>

	<category>tags/planet-debian</category>

	<category>tags/tools</category>


	<pubDate>Sun, 04 Jul 2010 17:52:42 +0000</pubDate>
	<dcterms:modified>2010-07-05T17:49:53Z</dcterms:modified>

	<description>&lt;p&gt;I hate keeping track of money. Bank accounts, credit cards,
investing&amp;mdash;it&#39;s such a hassle. Hell, sometimes I even hate the fact
that money exists and &lt;em&gt;needs&lt;/em&gt; to be dealt with in the first place. But I
admit that it&#39;s an easier system than bartering for everything.&lt;/p&gt;

&lt;p&gt;In college I pretty much ignored most things financial. I rarely had
more money than I needed, and put little financial planning into
deciding what I could and could not spend money on besides, &quot;I&#39;m going
to make X dollars this summer,&quot; and, &quot;think twice.&quot; But now that I
have a steady paycheck, it seems like a good idea to know where all my
money goes, so I can make better decisions about how I&#39;m spending (and
saving) it.&lt;/p&gt;

&lt;p&gt;But I&#39;ve kept procrastinating starting to do so, because GUI programs
like &lt;a href=&quot;http://gnucash.org/&quot;&gt;Gnucash&lt;/a&gt; and
&lt;a href=&quot;http://homebank.free.fr&quot;&gt;HomeBank&lt;/a&gt; seem like such a hassle. Their first
screen is dauntingly complex, and if you don&#39;t know much about
accounting it&#39;s scary and difficult to be asked to set up a big set of
accounts when first starting to use the program, without having any
prior experience with what you personally would find useful to keep
track of. Entering data through menus and dialogs is tedious and slow.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://hledger.org/&quot;&gt;hledger&lt;/a&gt; (or
&lt;a href=&quot;http://wiki.github.com/jwiegley/ledger/&quot;&gt;ledger&lt;/a&gt;, which came first) had
been appearing on my radar recently, not least because
&lt;a href=&quot;http://iron-blogger.mit.edu/the-rules/&quot;&gt;Iron Blogger&lt;/a&gt; uses it). hledger
changed my opinion of accounting software. In about 15 minutes, using
only the sample transactions from
&lt;a href=&quot;http://hledger.org/MANUAL.html&quot;&gt;the manual&lt;/a&gt;, I was able to enter all my
assets and liabilities&amp;mdash;bank accounts, credit card, student loans,
money I&#39;ve borrowed from people and never paid back though I said I
would, etc. And then, I could run &#39;hledger balance&#39; and it would tell me
what sorts of things I had spent money on in the past few days, as far
back as I could bother looking up actual transactions for, rather than
entering a single transaction with a balance forward. Duuude, awesome!&lt;/p&gt;

&lt;p&gt;I&#39;m a geek. I like statistics and data about my life, as long as it&#39;s
not a huge pain to collect the data in the first place. More data means
more on which to base decisions, decisions which will then be freer from
the bias of what I find memorable enough to remember having done.&lt;/p&gt;

&lt;p&gt;Here&#39;s what I like best about ledger:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Command-line interface for the hacker in me.&lt;/li&gt;
&lt;li&gt;Pre-existing facility with a text editor transfers over to facility of
data entry.&lt;/li&gt;
&lt;li&gt;No need to set up accounts separately from transactions. Transactions
are the important thing, and accounts just automagically appear when
the account name appears in a transaction. Mistakes are trivial to
correct in a text editor.&lt;/li&gt;
&lt;li&gt;Easy to start out with &quot;use text editor to add transactions&quot; and
&quot;hledger balance&quot; and then branch out to more advanced features as
necessary.&lt;/li&gt;
&lt;li&gt;Text file format is well-suited to storing in a version control
system.&lt;/li&gt;
&lt;li&gt;It easily replaces two text files that I used to keep: &quot;money owed to
others&quot; and &quot;checks written but not yet cashed by the other party.&quot;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I don&#39;t think I&#39;d be enjoying keeping track of my money nearly so much
without a tool like hledger. It gets out of your way to let you focus on
the hard things, like choosing categories for the things you spend money
on and remembering to record the data in the first place.&lt;/p&gt;
</description>


	<comments>/posts/hledger_rocks_my_world/#comments</comments>

</item>
<item>

	<title>Christine Spang: RC bug squashing</title>
	<dcterms:creator>Christine Spang</dcterms:creator>


	<guid isPermaLink="false">http://blog.spang.cc/posts/RC_bug_squashing/</guid>

	<link>http://blog.spang.cc/posts/RC_bug_squashing/</link>


	<category>tags/debian</category>

	<category>tags/planet-debian</category>


	<pubDate>Sun, 27 Jun 2010 04:01:39 +0000</pubDate>
	<dcterms:modified>2010-06-27T04:11:55Z</dcterms:modified>

	<description>&lt;p&gt;Inspired by various Planet Debian postings, I&#39;ve spent some time
recently looking into a few RC bugs to help with the Squeeze release.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=581227&quot;&gt;mpg123-el #581227&lt;/a&gt;&lt;/strong&gt; A
previous commenter on this bug suggested a proposed fix, which I tested
and uploaded. I think the bug&#39;s severity was inflated to begin with, so
I downgraded the bug as well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=580246&quot;&gt;doclifter #580246&lt;/a&gt;&lt;/strong&gt; This
one had to do with the python2.6 transition. I
pointed out a patch against Ubuntu&#39;s version of the package that fixes
this problem, and someone else made an NMU based on that. (Seemed like a
good idea to look in the PTS for Ubuntu patches since Ubuntu always
transitions to newer Python before Debian proper.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=580110&quot;&gt;gnuvd #580110&lt;/a&gt;&lt;/strong&gt; I
checked upstream and a new version that&#39;s supposed to fix this bug was
released &lt;em&gt;today&lt;/em&gt;, so I updated the bug report to make note of this and
give the maintainer a chance to look at it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=583820&quot;&gt;libtommath #583820&lt;/a&gt;&lt;/strong&gt; This
FTBFS bug was caused by a previous NMU that fixed a different FTBFS and
also made some unrelated changes. I sent a message to the previous NMUer
noting this fact and made a new upload fixing the new FTBFS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=580820&quot;&gt;fceu #580820&lt;/a&gt;&lt;/strong&gt; Needs
new upstream packaged to fix. The maintainer seems pseudo-MIA but has
shown some signs of returning to activity; I sent an email inquiring as
to whether he intends to fix the critical issue in this package.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=571427&quot;&gt;op-panel #582377 and #571427&lt;/a&gt;&lt;/strong&gt;
These were not merged when I started out, so I merged them after
noticing they were the same. I spent some poking at the bug itself and
made a simple patch, only to find out that there was a pending patch in
pkg-voip&#39;s subversion repo. I hopped onto #debian-voip to prod the
person who&#39;d prepared the patch in subversion about the importance of
updating the BTS when working on bugs. These bugs are currently blocking
on testing the patch.&lt;/p&gt;

&lt;p&gt;Most all of these bugs I&#39;ve subscribed to in case of follow-up. (Geez,
challenge-response subscription via email is kind of a pain.)&lt;/p&gt;
</description>


	<comments>/posts/RC_bug_squashing/#comments</comments>

</item>
<item>

	<title>Christine Spang: the end of an era</title>
	<dcterms:creator>Christine Spang</dcterms:creator>


	<guid isPermaLink="false">http://blog.spang.cc/posts/the_end_of_an_era/</guid>

	<link>http://blog.spang.cc/posts/the_end_of_an_era/</link>


	<category>tags/ksplice</category>

	<category>tags/life</category>

	<category>tags/mit</category>

	<category>tags/planet-debian</category>


	<pubDate>Mon, 14 Jun 2010 01:27:32 +0000</pubDate>
	<dcterms:modified>2010-06-14T01:34:10Z</dcterms:modified>

	<description>&lt;p&gt;The world around me seems to whirl these days. One week ago, I graduated
from &lt;a href=&quot;http://web.mit.edu/&quot;&gt;MIT&lt;/a&gt;. People I&#39;ve known during the last four
years have been dispelling to various parts of the globe one by one,
day by day. California, Canada, Indonesia, Seattle. Some will be back
again.  Some will not, or if so only to visit. &lt;a href=&quot;http://pika.mit.edu/&quot;&gt;pika&lt;/a&gt;
is a continuous bustle of activity as the summer has commenced and it
has filled with creative and adventurous MIT students who&#39;ve suddenly
found themselves having free time. A hammock being built on the
roofdeck.  Thrice-weekly icecream forays. Common areas overflowing with
people playing musical instruments, chatting, and messing around on
laptops.  Summer&#39;s warmth has arrived, bringing with it farmer&#39;s
markets, strawberry picking, and swimming expeditions.&lt;/p&gt;

&lt;p&gt;While it&#39;s wonderful to get to meet so many new people living in a
college environment, I can&#39;t help but feel sadness thinking about
everyone who&#39;s left.  There are always more friends to be made as new
people arrive, but old ones moving away leave bittersweet memories, and
the new relationships are always a bit different as the age discrepancy
between me and others changes. Or the
me-the-ephemeral-collection-of-thoughts-which-when-regarding-other-people-sometimes-involve-the-mentor/mentee-distinctions-caused-by-one-party-being-older-or-more-knowledgeable-than-the-other-at-least-in-certain-areas changes.
The end of a semester always feels like this, but this year even more so
as the people I started university with start down new paths.&lt;/p&gt;

&lt;p&gt;For me, that was going to involve staying on at MIT to complete a
one-year master&#39;s program, the
&lt;a href=&quot;http://www.eecs.mit.edu/ug/mengadm.html&quot;&gt;&quot;M.Eng.&quot;&lt;/a&gt; in electrical
engineering and computer science. That plan, too, has changed. I&#39;ve
deferred the degree and accepted a full-time engineering position at
&lt;a href=&quot;http://www.ksplice.com/&quot;&gt;Ksplice&lt;/a&gt;, an exciting early-stage Linux
startup here in Cambridge. I&#39;d been working at Ksplice part-time since
January before joining full-time immediately following graduation.
Ksplice is the realization of ideas I saw being born on the whiteboard
at &lt;a href=&quot;http://sipb.mit.edu/&quot;&gt;SIPB&lt;/a&gt; when I was a freshman, and it&#39;s fun to
see that play out in a small, ever-changing, low-bullshit company.&lt;/p&gt;

&lt;p&gt;All in all, there are many more exciting things down the road, and,
working at an MIT startup, I haven&#39;t even escaped the MIT/Cambridge
reality-distortion bubble yet. Still, it&#39;s tempting to resist change
and let myself romanticize the good old days, hoping to catch every
person I&#39;ve ever enjoyed spending time with and hold them down here
forever. That&#39;s not the way life works, though. Change happens.&lt;/p&gt;
</description>


	<comments>/posts/the_end_of_an_era/#comments</comments>

</item>
<item>

	<title>Christine Spang: Django form fields with the same name as Python keywords</title>
	<dcterms:creator>Christine Spang</dcterms:creator>


	<guid isPermaLink="false">http://blog.spang.cc/posts/Django_form_fields_with_the_same_name_as_Python_keywords/</guid>

	<link>http://blog.spang.cc/posts/Django_form_fields_with_the_same_name_as_Python_keywords/</link>


	<category>tags/django</category>

	<category>tags/planet-debian</category>

	<category>tags/python</category>


	<pubDate>Fri, 04 Jun 2010 00:58:11 +0000</pubDate>
	<dcterms:modified>2010-06-04T03:50:45Z</dcterms:modified>

	<description>&lt;p&gt;For &lt;a href=&quot;http://www.ksplice.com/&quot;&gt;work&lt;/a&gt; recently I&#39;ve been doing some
Django-related tasks that involve talking to an external API with
POSTed forms. Django forms objects are declared by creating a class that
inherits from &lt;code&gt;django.forms.Form&lt;/code&gt;, with the fields of the
form declared by declaring attributes of that class. Which works well
and is clean and easy to remember&amp;mdash;unless the API you&#39;re working
with requires a field with the same name as a Python keyword, such as
&lt;code&gt;return&lt;/code&gt;. You can&#39;t declare a field like this as an
attribute; it will trigger a syntax error.&lt;/p&gt;

&lt;p&gt;I spent some time scratching my head over this, and came up with this as
a workaround after source-diving to find out how &lt;code&gt;Form&lt;/code&gt;
objects actually work:&lt;/p&gt;

&lt;pre class=&quot;hl&quot;&gt;&lt;span class=&quot;hl kwa&quot;&gt;from&lt;/span&gt; django &lt;span class=&quot;hl kwa&quot;&gt;import&lt;/span&gt; forms

&lt;span class=&quot;hl kwa&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;hl kwd&quot;&gt;ExampleForm&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;(&lt;/span&gt;forms&lt;span class=&quot;hl opt&quot;&gt;.&lt;/span&gt;Form&lt;span class=&quot;hl opt&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;hl kwa&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;hl kwd&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;(&lt;/span&gt;self&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; data&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;hl kwa&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; files&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;hl kwa&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; auto_id&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;hl str&quot;&gt;&#39;id_%s&#39;&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; prefix&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;hl kwa&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt;
            initial&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;hl kwa&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; errorclass&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;ErrorList&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; label_suffix&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;hl str&quot;&gt;&#39;:&#39;&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; empty_permitted&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;hl kwa&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; return_url&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;hl kwa&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;):&lt;/span&gt;
        forms&lt;span class=&quot;hl opt&quot;&gt;.&lt;/span&gt;Form&lt;span class=&quot;hl opt&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;hl kwd&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;(&lt;/span&gt;self&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; data&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; files&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; auto_id&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; prefix&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; initial&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt;
            errorclass&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; label_suffix&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; empty_permitted&lt;span class=&quot;hl opt&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;hl kwa&quot;&gt;if&lt;/span&gt; return_url &lt;span class=&quot;hl kwa&quot;&gt;is not None&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;:&lt;/span&gt;
            self&lt;span class=&quot;hl opt&quot;&gt;.&lt;/span&gt;fields&lt;span class=&quot;hl opt&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;hl str&quot;&gt;&#39;return&#39;&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;] =&lt;/span&gt; forms&lt;span class=&quot;hl opt&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;hl kwd&quot;&gt;CharField&lt;/span&gt;&lt;span class=&quot;hl opt&quot;&gt;(&lt;/span&gt;widget&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;forms&lt;span class=&quot;hl opt&quot;&gt;.&lt;/span&gt;HiddenInput&lt;span class=&quot;hl opt&quot;&gt;,&lt;/span&gt; initial&lt;span class=&quot;hl opt&quot;&gt;=&lt;/span&gt;return_url&lt;span class=&quot;hl opt&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;It turns out that the attribute declaration is just syntactic sugar for
creating a dictionary of key/value pairs, which is then stored in the
&lt;code&gt;fields&lt;/code&gt; attribute. So we can monkeypatch in extra values after
the translation. Which is somewhat more awkward and ugly, but works in a pinch.&lt;/p&gt;

&lt;p&gt;Note that I haven&#39;t extensively tested what interactions this may cause with
other forms code, so use with some caution.&lt;/p&gt;
</description>


	<comments>/posts/Django_form_fields_with_the_same_name_as_Python_keywords/#comments</comments>

</item>
<item>

	<title>Christine Spang: out with the old&#44; in with the new&#40;er&#41;</title>
	<dcterms:creator>Christine Spang</dcterms:creator>


	<guid isPermaLink="false">http://blog.spang.cc/posts/out_with_the_old__44___in_with_the_new__40__er__41__/</guid>

	<link>http://blog.spang.cc/posts/out_with_the_old__44___in_with_the_new__40__er__41__/</link>


	<category>tags/hardware</category>

	<category>tags/planet-debian</category>


	<pubDate>Mon, 24 May 2010 05:03:09 +0000</pubDate>
	<dcterms:modified>2010-05-24T05:05:07Z</dcterms:modified>

	<description>&lt;p&gt;I just replaced my aging 2004-era PC with&amp;mdash;wait for it&amp;mdash;a 2005-era PC.
A friend is moving across the country so I&#39;m taking it off his hands.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://blog.spang.cc/images/freyja_earlgrey.jpg&quot; alt=&quot;Swapping hardware between Freyja and Earlgrey&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The differences between the two are more than just the year of time,
though: one was hand-built from parts, while the other was a commodity
off-the-shelf Compaq. So the new machine, while not strictly faster by
the clock, is 64-bit and is much more amenable to upgrades.&lt;/p&gt;

&lt;p&gt;While the added bulk is a bit annoying, the case has a lot more space in
it&amp;mdash;up to 8 or so drive slots (I can&#39;t imagine ever needing that
many), and 4 RAM slots&amp;mdash;which is a sure step up from the limitation of
two drive slots and two RAM slots in my old machine.&lt;/p&gt;

&lt;p&gt;The most visibly shiny parts in the new desktop experience are 4G RAM
versus 1G, and a nice ATI GPU. While I&#39;m glad my
&lt;a href=&quot;http://www.debian.org/&quot;&gt;OS&lt;/a&gt; allowed me to squeeze six years out of my
main machine, I&#39;ll be happy to stop shaking my fist at Chromium for
eating all my memory!&lt;/p&gt;

&lt;p&gt;The new machine will keep its old name: earlgrey.&lt;/p&gt;
</description>


	<comments>/posts/out_with_the_old__44___in_with_the_new__40__er__41__/#comments</comments>

</item>

</channel>
</rss>
