<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>fredericiana &#187; OSU OSL Crosspost</title>
	<atom:link href="http://fredericiana.com/category/english/osl/feed/" rel="self" type="application/rss+xml" />
	<link>http://fredericiana.com</link>
	<description>Open Source, The Web, And German-American Oddities</description>
	<lastBuildDate>Sat, 30 Jan 2010 23:28:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Deploying a Django Application on Lighttpd with fastcgi and virtualenv</title>
		<link>http://fredericiana.com/2010/01/31/deploying-a-django-application-on-lighttpd-with-fastcgi-and-virtualenv/</link>
		<comments>http://fredericiana.com/2010/01/31/deploying-a-django-application-on-lighttpd-with-fastcgi-and-virtualenv/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 23:28:30 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[fastcgi]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[virtualenv]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2569</guid>
		<description><![CDATA[So you wrote a fancy little Django app and want to run it on a lighttpd webserver? There&#8217;s plenty of documentation on this topic online, including official Django documentation.
Problem is, most of these sources do not mention how to use virtualenv, but the cool kids don&#8217;t install their packages into the global site-packages directory. So [...]]]></description>
			<content:encoded><![CDATA[<p>So you wrote a fancy little Django app and want to run it on a lighttpd webserver? There&#8217;s plenty of documentation on this topic online, including <a href="http://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/">official Django documentation</a>.</p>
<p>Problem is, most of these sources do not mention how to use virtualenv, but the cool kids don&#8217;t install their packages into the global site-packages directory. So I put some <a href="http://gist.github.com/285758">scripts together</a> for your enjoyment.</p>
<p>I assume that you&#8217;ve put your django app somewhere convenient, and that you have a virtualenv containing its packages (including django itself).</p>
<h2>1. <a href="http://gist.github.com/285758#file_manage.py">manage.py</a></h2>
<p>You want to set up this file so it adds the virtualenv&#8217;s <code>site-packages</code> path to its site-packages: <code>site.addsitedir('path/to/mysite-env/lib/python2.6/site-packages')</code>. Note that you need to point directly to the site-packages dir inside the virtualenv, not only the main virtualenv dir. For obvious reasons, this line needs to come before the django-provided <code>from django... import</code>, because you can&#8217;t import django files if Python doesn&#8217;t know where they are.</p>
<h2>2. <a href="http://gist.github.com/285758#file_settings.py">settings.py</a></h2>
<p>The lighttpd setup will result in <code>mysite.fcgi</code> showing up in all your URLs, unless you set <code>FORCE_SCRIPT_NAME</code> <a href="http://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/#forcing-the-url-prefix-to-a-particular-value">correctly</a>. If your django app is supposed to live right at the root of your domain, set this to the empty string, for example.</p>
<h2>3. <a href="http://gist.github.com/285758#file_django_servers.sh">django-servers.sh</a></h2>
<p>This is an initscript (for Debian, but you can modify it to work with most distros, I presume). Copy it to <code>/etc/init.d</code>, adjust the settings on top (and possibly other places, depending on your setup), then start the Django fastcgi servers. Note that you need to have the <code>flup</code> package installed in your virtualenv.</p>
<h2>4. <a href="http://gist.github.com/285758#file_lighttpd_vhost.conf">lighttpd-vhost.conf</a></h2>
<p>Set up your lighttpd vhost pretty much like the <a href="http://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/">Django documentation</a> suggests. Match up the host and port with the settings from your init script. By using <code>mod_alias</code> for the media and admin media paths, you&#8217;ll have lighttpd serve them instead of passing them on to Django as well.</p>
<p>That&#8217;s it! You&#8217;ve deployed your first Django application on lighttpd. If you have any questions or suggestions, feel free to comment here or fork my code.</p>
<p>You can look at <a href="http://gist.github.com/285758">all the scripts together over on github</a> or <a href="http://gist.github.com/gists/285758/download">download them in a package</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2010/01/31/deploying-a-django-application-on-lighttpd-with-fastcgi-and-virtualenv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Annoying Browser-Related Blog Spam</title>
		<link>http://fredericiana.com/2010/01/29/annoying-browser-related-blog-spam/</link>
		<comments>http://fredericiana.com/2010/01/29/annoying-browser-related-blog-spam/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 10:52:37 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2562</guid>
		<description><![CDATA[Over the recent weeks I&#8217;ve got frequent blog spam along the lines of:
Hi. I just noticed that your site looks like it has a few code problems at the very bottom of your site&#8217;s page. I&#8217;m not sure if everybody is getting this same problem when browsing your blog? I am employing a totally different [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://fredericiana.com/wp-content/uploads/2010/01/spam-polaroid-150x150.jpg" alt="" title="Spam" width="150" height="150" class="size-thumbnail wp-image-2563 alignright" align="right" />Over the recent weeks I&#8217;ve got frequent blog spam along the lines of:</p>
<blockquote><p>Hi. I just noticed that your site looks like it has a <strong>few code problems at the very bottom of your site&#8217;s page</strong>. I&#8217;m not sure if everybody is getting this same problem when browsing your blog? I am employing a totally different browser than most people, referred to as <strong>Opera</strong>, so that is what might be causing it? I just wanted to make sure you know. Thanks for posting some great postings and I&#8217;ll try to return back with a completely different browser to check things out!</p></blockquote>
<p><small>(emphasis: mine)</small></p>
<p>Not only does my blog display just fine in Opera (yes, I checked), I get even more bogus comments at times claiming that my blog looks horrible in <strong>Firefox</strong>, of all browsers. Dear spammers, now you&#8217;re just making fools of yourselves.</p>
<p>The main thing identifying this kind of comment as spam (other than the bogus claim that my blog doesn&#8217;t render correctly in non-Internet-Explorer browsers) is the URL these comments come with. Usually, they promise a &#8220;free&#8221; iPod, MacBook, car, house, airplane or ride to the moon (<em>exaggeration: mine</em>).</p>
<p>I wonder how many bloggers actually publish these, thinking it&#8217;s well-meant advice. <img src='http://fredericiana.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><span class="credits">Photo credit: <a href="http://www.flickr.com/photos/30713600@N00/4303749670/">&#8220;Spam&#8221;</a> CC by-sa licensed by twicepics on flickr</span></p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2010/01/29/annoying-browser-related-blog-spam/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Things-Bugzilla or: Embedding Python into AppleScript</title>
		<link>http://fredericiana.com/2010/01/21/things-bugzilla-or-embedding-python-into-applescript/</link>
		<comments>http://fredericiana.com/2010/01/21/things-bugzilla-or-embedding-python-into-applescript/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 12:05:21 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[things]]></category>
		<category><![CDATA[to-do]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2551</guid>
		<description><![CDATA[To keep track of my ever-growing to-do list, I am using a fabulous little application called &#8220;Things&#8221;. And most of my work-related to-do items are bugs in Mozilla&#8217;s bugzilla bug tracker.
So, me being a geek and all, I quite naturally wanted to integrate the two and wrote a little AppleScript that asks the user for [...]]]></description>
			<content:encoded><![CDATA[<p>To keep track of my ever-growing to-do list, I am using a fabulous little application called <a href="http://culturedcode.com/things/">&#8220;Things&#8221;</a>. And most of my work-related to-do items are bugs in <a href="https://bugzilla.mozilla.org">Mozilla&#8217;s bugzilla bug tracker</a>.</p>
<p>So, me being a geek and all, I quite naturally wanted to integrate the two and wrote a little AppleScript that asks the user for a bugzilla.mozilla.org <strong>bug number</strong>, obtains its <strong>bug title</strong>, and makes a new <strong>to-do item</strong> for it in Things&#8217; Inbox folder.</p>
<p>The script is available as a <a href="http://gist.github.com/282373">gist on github</a>. <a href="http://gist.github.com/gists/282373/download">Click here to download it.</a></p>
<p>If you look at the code, you&#8217;ll notice that I went ahead and embedded some Python code to the script to do the heavy lifting. The problem with AppleScript is not only that it has a hideous syntax, it also completely lacks a standard library for things like downloading websites and regex-parsing strings. Let&#8217;s look at it a little closer:</p>
<pre><code>set bugtitle to do shell script "echo \"" &amp; bugzilla_url &amp; "\" | /usr/bin/env python -c \"
import re
import sys
import urllib2
bug = urllib2.urlopen(sys.stdin.read())
title = re.search('&lt;title&gt;([^&lt;]+)&lt;/title&gt;', bug.read()).group(1)
title = title.replace('&amp;ndash;', '-')
print title
\""</code></pre>
<ul>
<li><code>set bugtitle to do shellscript ""</code> means, assign whatever this shell expression returns to the variable <code>bugtitle</code>. This way, we just need to <code>print</code> our final result to <em>stdout</em> and keep using it in AppleScript.</li>
<li><code>echo \&quot;&quot; &amp; bugzilla_url &amp; &quot;\&quot; | /usr/bin/env python</code> feeds some input data into the Python script through <em>stdin</em>. We read that a few lines later with <code>sys.stdin.read()</code>. Another method, especially for more than one input values, would be command-line parameters, all the way at the end of the Python block (after the source code).</li>
<li>Finally, in <code>python -c \"mycode\"</code> the <code>-c</code> marks an inline code block to be executed by the Python interpreter. Other languages, such as Perl, PHP, or Ruby, have similar operating modes, so you can use those as well.</li>
</ul>
<p>If you want to install the Things-Bugzilla AppleScript, make sure to download <a href="http://gist.github.com/282373">the entire Gist</a> as it also contains an install script for your convenience.</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2010/01/21/things-bugzilla-or-embedding-python-into-applescript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing Young Sys Admins At Oregon State Open Source Lab</title>
		<link>http://fredericiana.com/2010/01/14/managing-young-sys-admins-at-oregon-state-open-source-lab/</link>
		<comments>http://fredericiana.com/2010/01/14/managing-young-sys-admins-at-oregon-state-open-source-lab/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 10:40:25 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Corvallis]]></category>
		<category><![CDATA[OSU]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2546</guid>
		<description><![CDATA[A few days ago techtarget published a short interview about the OSU Open Source Lab, where I worked while studying at OSU:
&#8220;Lance Albertson, architect and systems administrator at the Oregon State University Open Source Lab, uses a sys admin staff of 18-21-year-old undergrads to manage servers for some high-profile, open-source projects (Linux Master Kernel, Linux [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago techtarget published a short <a href="http://searchdatacenter.stage.techtarget.com/news/article/0,289142,sid80_gci1378294,00.html">interview</a> about the <a href="http://osuosl.org/">OSU Open Source Lab</a>, where I worked while studying at OSU:</p>
<blockquote><p>&#8220;Lance Albertson, architect and systems administrator at the Oregon State University Open Source Lab, uses a sys admin staff of <a href="http://searchdatacenter.stage.techtarget.com/news/article/0,289142,sid80_gci1378294,00.html">18-21-year-old undergrads to manage servers for some high-profile, open-source projects</a> (Linux Master Kernel, Linux Foundation, Apache Software Foundation, and Drupal to name a few). In this Q&#038;A, Albertson talks about the challenges of using young sys admins and the lab&#8217;s plans to move from Cfengine to Puppet for systems management.&#8221;</p></blockquote>
<p>(via <a href="http://it.slashdot.org/story/10/01/08/1734234/Managing-Young-Sys-Admins-At-Oregon-State-Open-Source-Lab">slashdot</a>).</p>
<p>I must say, the work I&#8217;ve seen student sys admins do at the OSL is outstanding, and I&#8217;ve met some of the sharpest people there I&#8217;ve ever worked with. Glad to hear they are still going strong.</p>
<p><small>Thanks for the link, Justin!</small></p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2010/01/14/managing-young-sys-admins-at-oregon-state-open-source-lab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using SVN repositories as git submodules</title>
		<link>http://fredericiana.com/2010/01/12/using-svn-repositories-as-git-submodules/</link>
		<comments>http://fredericiana.com/2010/01/12/using-svn-repositories-as-git-submodules/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 19:30:13 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2532</guid>
		<description><![CDATA[With the Subversion VCS, one way to import external modules or libraries into a code tree is by defining the svn:externals property of your repository. Subversion will then check out the specified revision (or the latest revision) of the other repository into your source tree when checking out your code.
Submodules are basically the same thing [...]]]></description>
			<content:encoded><![CDATA[<p>With the <a href="http://subversion.tigris.org/">Subversion <acronym title="Version Control System">VCS</acronym></a>, one way to import external modules or libraries into a code tree is by defining the <a href="http://svnbook.red-bean.com/en/1.0/ch07s03.html">svn:externals property</a> of your repository. Subversion will then check out the specified revision (or the latest revision) of the other repository into your source tree when checking out your code.</p>
<p><a href="http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html">Submodules</a> are basically the same thing in the &#8220;git&#8221; world.</p>
<p>And since git can talk to subversion repositories with <a href="http://www.kernel.org/pub/software/scm/git/docs/git-svn.html">git svn</a>, we should be able to <strong>specify a third-party SVN repository as a submodule in our own git repository</strong>, right? Sadly the answer is currently: <a href="http://stackoverflow.com/questions/465042/is-it-possible-to-have-a-subversion-repository-as-a-git-submodule">No.</a></p>
<p>Here is a <strong>workaround</strong> that I have been using to at least achieve a similar effect, while keeping both SVN and git happy. This assumes that you have a local git repository that is also available somewhere else &#8220;up-stream&#8221; (such as <a href="http://github.com">github</a>), and you want to import an external SVN repository into your source tree.</p>
<h2>1: Add a tracking branch for SVN</h2>
<p>Add a section referring to your desired SVN repository to your <code>.git/config</code> file:</p>
<pre>(...)
[svn-remote "product-details"]
    url = http://svn.mozilla.org/libs
    fetch = product-details:refs/remotes/product-details-svn
</pre>
<p>Note that in the <code>fetch</code> line, the part before the colon refers to the branch you want to check out of SVN (for example: <code>trunk</code>), and the part after that will be our local remote branch location, i.e. <code>product-details-svn</code> will be our remote branch name.</p>
<p>Now, fetch the remote data from SVN, specifying a revision range unless you want to check out the entire history of that repository:</p>
<pre>git svn fetch product-details -r59506:HEAD</pre>
<p>git will check out the remote branch.</p>
<h2>2: clone the tracking branch locally</h2>
<p>Now we have a checked-out SVN tracking branch, but to use it as a submodule, we must make a real git repository from it &#8212; a branch of our current repository will keep everything in one place and work as well. So let&#8217;s check out the tracking branch into a new branch:</p>
<pre>git checkout -b product-details-git product-details-svn</pre>
<p>As <code>git status</code> can confirm, you&#8217;ll now have (at least) two branches: <em>master</em> and <em>product-details-git</em>.</p>
<h2>3: Import the branch as a submodule</h2>
<p>Now let&#8217;s make the new branch available upstream:</p>
<pre>git push --all</pre>
<p>After that&#8217;s been pushed, we can import the new branch as a submodule where we want it in the tree:</p>
<pre>git checkout master
git submodule add -b product-details-git ../reponame.git my/submodules/dir/product-details
</pre>
<p>Note that <code>../reponame.git</code> refers to the up-stream repository&#8217;s name, and <code>-b ...</code> defines the name of the branch we&#8217;ve created earlier. Git will check out your remote repository and point to the right branch automatically.</p>
<p>Don&#8217;t forget to <code>git commit</code> and you&#8217;re done!</p>
<h2>Updating from SVN</h2>
<p>Updating the &#8220;external&#8221; from SVN is unfortunately a tedious three-step process <img src='http://fredericiana.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . First, fetch changes from SVN:</p>
<pre>git svn fetch product-details</pre>
<p>Second, merge these changes into your local git branch and push the changes up-stream:</p>
<pre>git checkout product-details-git
git merge product-details-svn
git push origin HEAD</pre>
<p>And finally, update the submodule and &#8220;pin it&#8221; at the newer revision:</p>
<pre>git checkout master
cd my/submodules/dir/product-details
git pull origin product-details-git
cd ..
git add product-details
git commit -m 'updating product details'</pre>
<h2>Improvements?</h2>
<p>This post is as much a set of instructions as it is a call for improvements. If you have an easier way to do this, or if you know how to speed up or simplify any of this, a comment to this post would be very much appreciated!</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2010/01/12/using-svn-repositories-as-git-submodules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 3.6 RC1</title>
		<link>http://fredericiana.com/2010/01/11/firefox-3-6-rc1/</link>
		<comments>http://fredericiana.com/2010/01/11/firefox-3-6-rc1/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 12:26:30 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2525</guid>
		<description><![CDATA[The Firefox 3.6 Release Candidate 1 has been released and its new features are just fantastic! From the first-run page:

Select a new persona from the Personas Gallery.
More than 75% of Add-ons work. Test your favorites!
Try watching a video in full screen mode.
Have you seen websites using WOFF fonts?
Kick the tires with improved JavaScript performance, browser [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://blog.mozilla.com/blog/2010/01/10/firefox-3-6-release-candidate-available-for-download/">Firefox 3.6 Release Candidate 1 has been released</a> and its new features are just fantastic! From the first-run page:</p>
<blockquote><ul>
<li>Select a new persona from the <a href="http://www.getpersonas.com/">Personas Gallery</a>.</li>
<li>More than 75% of Add-ons work. <a href="https://addons.mozilla.org/addon/15003?src=external-fxfirstrun">Test your favorites</a>!</li>
<li>Try watching a <a href="http://www.spreadfirefox.com/5years">video</a> in <a href="http://mozillalinks.org/wp/2009/10/firefox-3-6-gets-full-screen-native-video/">full screen mode</a>.</li>
<li>Have you seen websites using <a href="http://hacks.mozilla.org/2009/10/woff/"><acronym title="Web Open Font Format">WOFF</acronym> fonts</a>?</li>
<li>Kick the tires with improved JavaScript performance, browser responsiveness, and startup time.</li>
<li>See the <a href="http://www.mozilla.com/en-US/firefox/3.6rc1/releasenotes/">release notes</a> for more details.</li>
</ul>
</blockquote>
<p>Go check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2010/01/11/firefox-3-6-rc1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Partial &#8217;svn dcommit&#8217; with git</title>
		<link>http://fredericiana.com/2009/12/31/partial-svn-dcommit-with-git/</link>
		<comments>http://fredericiana.com/2009/12/31/partial-svn-dcommit-with-git/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 13:50:25 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[commit]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2516</guid>
		<description><![CDATA[Here at Mozilla, a bunch of webdevs use git svn instead of plain Subversion to interact with our svn repositories &#8212; mostly because of in-place branching, better merging, and all these things that make a dev&#8217;s life happier.
As you probably know when reading this article, you push all uncommitted changes to the remote svn repository [...]]]></description>
			<content:encoded><![CDATA[<p>Here at Mozilla, a bunch of webdevs use <a href="http://progit.org/book/ch8-1.html">git svn</a> instead of plain Subversion to interact with our <a href="http://viewvc.svn.mozilla.org/">svn repositories</a> &#8212; mostly because of in-place branching, better merging, and all these things that make a dev&#8217;s life happier.</p>
<p>As you probably know when reading this article, you push all uncommitted changes to the remote svn repository by typing <code>git svn dcommit</code>. This will take your last, say, five commits, push them to SVN, and mark them locally as committed. But what if you <strong>only want to <code>dcommit</code> some of your changes</strong>?</p>
<p><em>(If you don&#8217;t need explanations, jump straight to the <a href="#svn-dcommit-summary">summary</a>).</em></p>
<h2>Step 1 (optional): Reorder commits</h2>
<p>I am not going to go into a lot of detail on <em>interactive rebasing</em> (<code>git rebase -i</code>), but to start off, make sure your commits are ordered, so that the ones you <strong>do</strong> want to commit to SVN are <strong>before</strong> the ones you <strong>do not</strong> want to push up-stream for now. Example: If in the following history, you want to commit <strong>all changes but <code>a023fea</code></strong>, you want to rebase your commits so <code>a023fea</code> is last:</p>
<p>In <code>git rebase -i HEAD~4</code>, change&#8230;</p>
<pre><code>pick 07c26c5 some de L10n
pick a023fea adding free-text messages to localizer dashboards
pick 8597f47 adding featured collections as l10n category
pick 19f3df3 making existing localizer pages work with amo2009 layout
</code></pre>
<p>&#8230; to&#8230;</p>
<pre><code>pick 07c26c5 some de L10n
pick 8597f47 adding featured collections as l10n category
pick 19f3df3 making existing localizer pages work with amo2009 layout
pick a023fea adding free-text messages to localizer dashboards
</code></pre>
<p>Make sure to resolve any merging problems that might occur due to the reordering.</p>
<h2>Step 2: Step in between commits</h2>
<p>To only push the desired commits to svn, execute another <code>git rebase -i</code> and mark the last desired commit for editing (by changing <code>pick</code> to <code>edit</code>):</p>
<pre><code>pick 07c26c5 some de L10n
pick 8597f47 adding featured collections as l10n category
edit 19f3df3 making existing localizer pages work with amo2009 layout
pick a023fea adding free-text messages to localizer dashboards
</code></pre>
<p>When exiting the editor, git will drop you off <strong>after the marked commit</strong>, but <strong>before</strong> the one you don&#8217;t want, as a quick look at <code>git log</code> can tell you.</p>
<h2>Step 3: dcommit desired changes</h2>
<p>After making sure this is really what you want, just execute <code>git svn dcommit</code> as usual and watch git push all desired changes to SVN, while omitting the rest.</p>
<h2>Step 4: Fast-forward to HEAD</h2>
<p>When the dcommit is done, remember we are still in the middle of a <em>rebase</em>, so just run <code>git rebase --continue</code> to fast-forward to the HEAD of your branch. Again, a quick look at <code>git log</code> can reassure you that only the changes you wanted to have been pushed to SVN.</p>
<p>Success!</p>
<h2 id="svn-dcommit-summary">Summary: Quick cheat sheet</h2>
<p>Here&#8217;s a quick cheat sheet for you (and me) to come back to in case you forget:</p>
<ul>
<li>Reorder commits (<code>git rebase -i HEAD~4</code>) so that the undesired ones are after the ones you want to push</li>
<li>In your commit history, jump right after the <strong>last wanted commit</strong> by marking it for <code>edit</code>ing in <code>git rebase -i</code></li>
<li><code>git svn dcommit</code></li>
<li><code>git rebase --continue</code></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2009/12/31/partial-svn-dcommit-with-git/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Another Fail-Pet: Github</title>
		<link>http://fredericiana.com/2009/12/16/another-fail-pet-github/</link>
		<comments>http://fredericiana.com/2009/12/16/another-fail-pet-github/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 11:47:15 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[websights]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[failpet]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[unicorn]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2510</guid>
		<description><![CDATA[Here&#8217;s another, beautiful specimen in my little collection of what I have called &#8220;fail pets&#8221; for awhile now: Github.

I wonder if their pink fail-unicorn is somehow related to the similarly colored (but less angry) Django Pony. A distant relative, maybe &#8212; especially since the &#8220;original&#8221; Django pony was, in fact, a unicorn.
(Before someone is urged [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s another, beautiful specimen in <a href="http://fredericiana.com/tag/failpet/">my little collection</a> of what I have called &#8220;fail pets&#8221; for awhile now: <a href="http://github.com">Github</a>.</p>
<p><a href="http://fredericiana.com/wp-content/uploads/2009/12/github-fail-unicorn.JPG"><img src="http://fredericiana.com/wp-content/uploads/2009/12/github-fail-unicorn-477x400.jpg" alt="Github Fail-Unicorn" title="Github Fail-Unicorn" width="477" height="400" class="alignnone size-large wp-image-2513" /></a></p>
<p>I wonder if their <strong>pink fail-unicorn</strong> is somehow related to the similarly colored (but less angry) <a href="http://djangopony.com/">Django Pony</a>. A distant relative, maybe &#8212; especially since the &#8220;original&#8221; Django pony was, in fact, a <a href="http://twothirty.am/blog/2009/10/07/blessing-mythical-django-pony/">unicorn</a>.</p>
<p><em>(Before someone is urged to remind me, yes, to my knowledge, github is written in ruby, not Python/Django.)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2009/12/16/another-fail-pet-github/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mac Superdrive Noise-B-Gone Update?</title>
		<link>http://fredericiana.com/2009/12/15/mac-superdrive-noise-b-gone-update/</link>
		<comments>http://fredericiana.com/2009/12/15/mac-superdrive-noise-b-gone-update/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 08:25:34 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[noise]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[superdrive]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2503</guid>
		<description><![CDATA[When skimming through my pending Mac OS&#160;X upgrades this morning I noticed one saying:
This update eliminates the noise made by the optical disk drive during system startup and wake from sleep on MacBook computers.
Wow. As long as I&#8217;ve been using a Mac, the sweep-sweep noise has been characteristical for a Mac startup sound, reminiscent of [...]]]></description>
			<content:encoded><![CDATA[<p>When skimming through my pending Mac OS&nbsp;X upgrades this morning I noticed one saying:</p>
<blockquote><p>This update eliminates the <strong>noise made by the optical disk drive</strong> during system startup and wake from sleep on MacBook computers.</p></blockquote>
<p>Wow. As long as I&#8217;ve been using a Mac, the <em>sweep-sweep</em> noise has been characteristical for a Mac startup sound, reminiscent of the <em>floppy drive seek</em> sound computers made when they still came with floppy drives (yes, dear children, I am that old).</p>
<p>I wonder what this was for in the first place. Maybe to find out reliably if there is a disc in the drive already? &lt;crystal ball&gt;Possibly, the operating system did not check again and just relied on the hardware status flag being set correctly on startup, and if it was wrong, evil things could happen?&lt;/crystal ball&gt; And now, almost suddenly, the Mac engineers found out that it is unnecessary altogether? The wonders of Snow Leopard.</p>
<p>What comes next? Removing the <strong>gong</strong> on boot to avoid Mac-obsessed college kids from making fools of themselves during lectures? <img src='http://fredericiana.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2009/12/15/mac-superdrive-noise-b-gone-update/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Zombie-MacBook Wakes Itself up from Sleep</title>
		<link>http://fredericiana.com/2009/11/29/zombie-macbook-wakes-itself-up-from-sleep/</link>
		<comments>http://fredericiana.com/2009/11/29/zombie-macbook-wakes-itself-up-from-sleep/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 21:19:52 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[OSU OSL Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[hibernation]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[sleep]]></category>
		<category><![CDATA[zombie]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=2496</guid>
		<description><![CDATA[For the longest time, I was sending my laptop to &#8220;hibernation&#8221; mode every night. Why? Not because I particularly mind the minute power consumption it might have while sleeping, but because it would randomly wake up during the course of the night. My &#8220;zombie laptop&#8221; would particularly annoy me because it&#8217;d log back into my [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/27403767@N00/219581402"><img src="http://farm1.static.flickr.com/62/219581402_4cd89ec4cc_m.jpg" alt="Zombies Invade San Francisco!" title="Zombies Invade San Francisco!" height="150" width="240" class="alignright" align="right"/></a>For the longest time, I was sending my laptop to <a href="http://en.wikipedia.org/wiki/Hibernate_%28OS_feature%29">&#8220;hibernation&#8221; mode</a> every night. Why? Not because I particularly mind the minute power consumption it might have while sleeping, but because it would <strong>randomly wake up</strong> during the course of the night. My <strong>&#8220;zombie laptop&#8221;</strong> would particularly annoy me because it&#8217;d log back into my messaging service in my absence (thus prompting people to think I am awake at 3 a.m.), get unnecessarily warm (due to its being closed), and when I opened it back up, it&#8217;d not switch its monitor back on (due to a feature that OS&nbsp;X calls <a href="http://www.macosxhints.com/article.php?story=20060607121656766">&#8220;clamshell mode&#8221;</a>).</p>
<p>Today, I had enough, and after a little more googling, I stumbled across a comment in a <a href="http://www.macosxhints.com/article.php?story=20070729205103490">macosxhints article</a> mentioning <strong>Bluetooth settings</strong>: Apparently, there&#8217;s a setting for letting bluetooth devices power your Mac up from sleep. As I have a bluetooth-based wireless Mac keyboard, I tried out switching that setting off &#8212; and long story short, it seems to have worked.</p>
<p>If you have the same problem, uncheck the following box in <em>System Settings</em> / <em>Bluetooth</em> / <em>Advanced Settings</em> to give it a shot:</p>
<p><img src="http://fredericiana.com/wp-content/uploads/2009/11/bluetooth-wake.jpg" alt="Bluetooth Wake" title="Bluetooth Wake" class="alignnone size-full wp-image-2497" height="482" width="566"/></p>
<p>Happy zombie-Mac killing!</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2009/11/29/zombie-macbook-wakes-itself-up-from-sleep/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
