<?xml version="1.0" encoding="utf-8"?>
<!--
    This web page is actually a data file that is meant to be read by
    RSS reader programs.

    See http://interglacial.com/rss/about.html to learn more about
    RSS.
-->
<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/">
<channel>
  <title>Michael Olson - Blog - /Tech</title>
  <link>http://blog.mwolson.org</link>
  <atom:link href="http://blog.mwolson.org/tech/index.rss" rel="self" type="application/rss+xml" />
  <description><![CDATA[
<p>Michael Olson's blog.</p>
<p>Topics: personal entries, project-related stuff (Emacs Muse and ERC in particular), tech, quotes, cooking tips, and website updates.</p>
<p>Many of these topics have their own category.</p>
]]></description>
  <language>en</language>
  <copyright>Copyright 2004, 2005, 2006, 2007 Michael Olson</copyright>
  <lastBuildDate>Wed, 04 Jun 2008 11:28 GMT</lastBuildDate>
  <pubDate>Wed, 04 Jun 2008 11:28 GMT</pubDate>
  <managingEditor>mwolson@member.fsf.org (Michael Olson)</managingEditor>
  <generator>PyBlosxom http://pyblosxom.sourceforge.net/ 1.4.2 8/16/2007</generator>
<item>
  <title>[tech] Tech tip: Modifying authorship information in git repos</title>
  <guid isPermaLink="true">http://blog.mwolson.org/tech/tech_tip__modifying_authorship_information_in_git_repos</guid>
  <link>http://blog.mwolson.org/tech/tech_tip__modifying_authorship_information_in_git_repos.html</link>
  <category domain="http://blog.mwolson.org">tech</category>
  <author>mwolson@member.fsf.org (Michael Olson)</author>
  <comments>http://blog.mwolson.org/tech/tech_tip__modifying_authorship_information_in_git_repos.html#comments</comments>
  <slash:comments>1</slash:comments>
  <wfw:comment>http://blog.mwolson.org/commentAPI/tech/tech_tip__modifying_authorship_information_in_git_repos</wfw:comment>
  <wfw:commentRss>http://blog.mwolson.org/tech/tech_tip__modifying_authorship_information_in_git_repos.rss</wfw:commentRss>
  <pubDate>Wed, 04 Jun 2008 11:28 GMT</pubDate>
  <description><![CDATA[
<p>So you've recently converted a darcs repo into a git repo.  Good
choice!  Unfortunately, the conversion process made it so that people
who used a short login name rather than a full name when committing
now have the email address for their commits set to your own email
address.  Not good.  Here's how to fix that, by changing the email
address in their commits to be just their short login name.</p>

<pre class="example">
git checkout master
git checkout -b rebased
git-filter-branch --env-filter \
  'if test &quot;$GIT_AUTHOR_NAME&quot; = $(echo $GIT_AUTHOR_NAME | cut -f 1 -d&quot; &quot;); \
  then export GIT_AUTHOR_EMAIL=$GIT_AUTHOR_NAME; fi' HEAD
</pre>

<p>If you like what you see, then it suffices to do the following to make
the master branch point to the new commit history.</p>

<pre class="example">
git checkout master
git reset --hard rebased
git branch -D rebased
</pre>

]]></description>
</item>
<item>
  <title>[tech] Tech tip: Enabling kqemu properly</title>
  <guid isPermaLink="true">http://blog.mwolson.org/tech/tech_tip__enabling_kqemu_properly</guid>
  <link>http://blog.mwolson.org/tech/tech_tip__enabling_kqemu_properly.html</link>
  <category domain="http://blog.mwolson.org">tech</category>
  <author>mwolson@member.fsf.org (Michael Olson)</author>
  <comments>http://blog.mwolson.org/tech/tech_tip__enabling_kqemu_properly.html#comments</comments>
  <slash:comments>0</slash:comments>
  <wfw:comment>http://blog.mwolson.org/commentAPI/tech/tech_tip__enabling_kqemu_properly</wfw:comment>
  <wfw:commentRss>http://blog.mwolson.org/tech/tech_tip__enabling_kqemu_properly.rss</wfw:commentRss>
  <pubDate>Sun, 01 Jun 2008 16:11 GMT</pubDate>
  <description><![CDATA[
<p>For a while I thought I was using kqemu, but in fact was not.  Here's
how to fix that.</p>

<ol>
<li><code>sudo module-assistant a-i kqemu</code></li>

<li>Edit <code>/etc/modules</code> and add the line:

<p><code>kqemu</code></p></li>

<li><code>modprobe kqemu</code></li>

<li>Make a new file called <code>/etc/udev/rules.d/60-kqemu.rules</code>.  It
should contain the line:

<p><code>KERNEL==&quot;kqemu&quot;, NAME=&quot;%k&quot;, MODE=&quot;0660&quot;, GROUP=&quot;mwolson&quot;</code></p>

<p>Change the group to something appropriate for your setup.</p></li>

<li>Run <code>udevtrigger</code> to make the previous step take effect.</li>

<li>Run qemu, passing it the <code>--kernel-kqemu</code> option.</li>
</ol>

]]></description>
</item>
<item>
  <title>[tech] Tech tip: MPD and Pulseaudio using too much CPU</title>
  <guid isPermaLink="true">http://blog.mwolson.org/tech/tech_tip__mpd_and_pulseaudio_using_too_much_cpu</guid>
  <link>http://blog.mwolson.org/tech/tech_tip__mpd_and_pulseaudio_using_too_much_cpu.html</link>
  <category domain="http://blog.mwolson.org">tech</category>
  <author>mwolson@member.fsf.org (Michael Olson)</author>
  <comments>http://blog.mwolson.org/tech/tech_tip__mpd_and_pulseaudio_using_too_much_cpu.html#comments</comments>
  <slash:comments>0</slash:comments>
  <wfw:comment>http://blog.mwolson.org/commentAPI/tech/tech_tip__mpd_and_pulseaudio_using_too_much_cpu</wfw:comment>
  <wfw:commentRss>http://blog.mwolson.org/tech/tech_tip__mpd_and_pulseaudio_using_too_much_cpu.rss</wfw:commentRss>
  <pubDate>Sat, 31 May 2008 19:17 GMT</pubDate>
  <description><![CDATA[
<p>When I switched to Pulseaudio recently, I noticed that MusicPD started
consuming way more CPU time than it used to.  The culprit is the
following lines in <code>~/.mpdconf</code>.</p>

<pre class="example">
mixer_type                      &quot;alsa&quot;
mixer_device                    &quot;default&quot;
mixer_control                   &quot;Master&quot;
</pre>

<p>The fix is to use the software mixer instead:</p>

<pre class="example">
mixer_type                      &quot;software&quot;
</pre>

]]></description>
</item>
<item>
  <title>[tech] Goodbye, Python: Part 2</title>
  <guid isPermaLink="true">http://blog.mwolson.org/tech/goodbye__python__part_2</guid>
  <link>http://blog.mwolson.org/tech/goodbye__python__part_2.html</link>
  <category domain="http://blog.mwolson.org">tech</category>
  <author>mwolson@member.fsf.org (Michael Olson)</author>
  <comments>http://blog.mwolson.org/tech/goodbye__python__part_2.html#comments</comments>
  <slash:comments>4</slash:comments>
  <wfw:comment>http://blog.mwolson.org/commentAPI/tech/goodbye__python__part_2</wfw:comment>
  <wfw:commentRss>http://blog.mwolson.org/tech/goodbye__python__part_2.rss</wfw:commentRss>
  <pubDate>Fri, 23 May 2008 02:45 GMT</pubDate>
  <description><![CDATA[
<p>Delving further into what makes Python difficult for me to debug, I
think part of the problem might be the backtraces.  Emacs Lisp and
Perl backtraces display the affected functions and files from the
inside out, while Python takes the unnatural step of reversing the
order.</p>

<p>Another specific problem that I have with some Python programs is the
sheer number of small classes that they are composed of, often with
many classes per file.  Better is to have one class per file, with
that class having more than just 3 or 4 methods.  If it has less, you
are abstracting too much!  (Aside: This is not to say that Java gets
it right.  Hell no.  The compiler should not care what you name the
file that happens to contain your class.)</p>

<p>As for replacing existing programs: I don't really care what language
the program is written in, as long as it works.  I enjoy <a href="http://getmiro.com">Miro</a> now, but
when it was broken in the alpha days for Ubuntu Gutsy, it was a huge
pain to try to figure out what was going wrong.  Things that I enjoy
extending and hacking on, such as blogging software (PyBlosxom), are
prime candidates for replacement.  In the case of PyBlosxom, I am
going to try out <a href="http://ikiwiki.info">ikiwiki</a>.  I have even done some initial work on
getting Emacs Muse to work as a potential extension for it, so that I
can push .muse files to my webserver using git, and have them
published automatically once there.  I still need to buckle down and
write the Perl glue to connect to this Emacs Muse &quot;compiler&quot;, though.</p>

]]></description>
</item>
<item>
  <title>[tech] Goodbye, Python</title>
  <guid isPermaLink="true">http://blog.mwolson.org/tech/goodbye__python</guid>
  <link>http://blog.mwolson.org/tech/goodbye__python.html</link>
  <category domain="http://blog.mwolson.org">tech</category>
  <author>mwolson@member.fsf.org (Michael Olson)</author>
  <comments>http://blog.mwolson.org/tech/goodbye__python.html#comments</comments>
  <slash:comments>5</slash:comments>
  <wfw:comment>http://blog.mwolson.org/commentAPI/tech/goodbye__python</wfw:comment>
  <wfw:commentRss>http://blog.mwolson.org/tech/goodbye__python.rss</wfw:commentRss>
  <pubDate>Thu, 22 May 2008 03:07 GMT</pubDate>
  <description><![CDATA[
<p>Dear Python,</p>

<p>I love some of your applications, but I hate debugging them.  You
enable programmers to write shitty and ill-advised objects and your
advocates call it &quot;magic&quot;.  The magic is gone from our relationship &mdash;
it's time to call it quits.  Any Python program that I've ever wanted
to extend or fix will now be replaced with something that is written
in a saner language.  Goodbye, Pyblosxom.  Good times, MoinMoin.  Good
riddance, Bazaar &mdash; being a GNU project can't fix what ails you.
Tailor, you are a horrible and poorly-documented siren of version
control interoperability, and I have wasted enough time on you.</p>

]]></description>
</item>
<item>
  <title>[tech] On Twitter</title>
  <guid isPermaLink="true">http://blog.mwolson.org/tech/on_twitter</guid>
  <link>http://blog.mwolson.org/tech/on_twitter.html</link>
  <category domain="http://blog.mwolson.org">tech</category>
  <author>mwolson@member.fsf.org (Michael Olson)</author>
  <comments>http://blog.mwolson.org/tech/on_twitter.html#comments</comments>
  <slash:comments>0</slash:comments>
  <wfw:comment>http://blog.mwolson.org/commentAPI/tech/on_twitter</wfw:comment>
  <wfw:commentRss>http://blog.mwolson.org/tech/on_twitter.rss</wfw:commentRss>
  <pubDate>Sun, 27 Apr 2008 15:29 GMT</pubDate>
  <description><![CDATA[
<p>I'm on twitter now: <a href="http://twitter.com/mwolson">http://twitter.com/mwolson</a>.  I'd like to use it as
a way to drive facebook status updates.  That means posts will be in
third-person present tense.  I've added Twitter updates to my
<a href="http://mwolson.org/web/AboutMe.html">Website: About Me</a> page.  I like the look of having the list of updates
be inside of a single-item definition list.</p>

]]></description>
</item>
<item>
  <title>[projects] Remember 2.0 released</title>
  <guid isPermaLink="true">http://blog.mwolson.org/tech/projects/remember_2.0_released</guid>
  <link>http://blog.mwolson.org/tech/projects/remember_2.0_released.html</link>
  <category domain="http://blog.mwolson.org">tech/projects</category>
  <author>mwolson@member.fsf.org (Michael Olson)</author>
  <comments>http://blog.mwolson.org/tech/projects/remember_2.0_released.html#comments</comments>
  <slash:comments>1</slash:comments>
  <wfw:comment>http://blog.mwolson.org/commentAPI/tech/projects/remember_2.0_released</wfw:comment>
  <wfw:commentRss>http://blog.mwolson.org/tech/projects/remember_2.0_released.rss</wfw:commentRss>
  <pubDate>Thu, 17 Apr 2008 01:22 GMT</pubDate>
  <description><![CDATA[
<p>I am pleased to announce the release of Remember 2.0.</p>

<p>Remember is an Emacs mode for quickly remembering data. It uses
whatever back-end is appropriate to record and correlate the data, but
its main intention is to allow you to express as little structure as
possible up front.</p>

<h3>Release info</h3>

<dl>
<dt><strong>Tarball</strong></dt>
<dd><a href="http://download.gna.org/remember-el/remember-2.0.tar.gz">http://download.gna.org/remember-el/remember-2.0.tar.gz</a></dd>

<dt><strong>Zip file</strong></dt>
<dd><a href="http://download.gna.org/remember-el/remember-2.0.zip">http://download.gna.org/remember-el/remember-2.0.zip</a></dd>

<dt><strong>Commit ID</strong></dt>
<dd><code>79f69e6188e4e084c9761b24ecb54b5cac9f41e3</code></dd>
</dl>

<p>Instructions follow for those who track the source code using git.  If
you wish to track the development of Remember, visit
&lt;<a href="http://www.emacswiki.org/cgi-bin/wiki/MuseDevelopment">http://www.emacswiki.org/cgi-bin/wiki/MuseDevelopment</a>&gt; for
instructions and substitute &quot;remember&quot; whenever you see &quot;muse&quot; :^) .</p>

<p>This release has the signed git tag &quot;<code>v2.0</code>&quot;.  The tag points at a
commit object with the Commit ID mentioned above.  To verify the tag,
do:</p>

<pre class="example">
git fetch origin
git tag -v v2.0
</pre>

<p>To check out the release, do:</p>

<pre class="example">
git checkout v2.0
</pre>

<p>To switch back to the master branch, do:</p>

<pre class="example">
git checkout master
</pre>


<h3>News Items</h3>

<p class="first">Remember is now a part of Emacs 23, and will be included with that
release of Emacs when it comes out.</p>

<p>The NEWS items for this release are available <a href="http://repo.or.cz/w/remember-el.git?a=blob_plain;f=NEWS;hb=79f69e6188e4e084c9761b24ecb54b5cac9f41e3">here</a>.</p>



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