<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>exit's /dev/urandom blog &#187; Linux</title>
	<atom:link href="http://ascending.wordpress.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://ascending.wordpress.com</link>
	<description>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;birds came flying from the underground</description>
	<lastBuildDate>Mon, 21 Sep 2009 02:15:46 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='ascending.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/b6e8e892573f88911a54257b3e4d5fde?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>exit's /dev/urandom blog &#187; Linux</title>
		<link>http://ascending.wordpress.com</link>
	</image>
			<item>
		<title>Why Open Source Rocks (and the music industry does not)</title>
		<link>http://ascending.wordpress.com/2009/08/09/why-open-source-rocks-and-the-music-industry-does-not/</link>
		<comments>http://ascending.wordpress.com/2009/08/09/why-open-source-rocks-and-the-music-industry-does-not/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 13:28:53 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Money]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[amarok]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[license]]></category>
		<category><![CDATA[licensing]]></category>
		<category><![CDATA[lyric]]></category>
		<category><![CDATA[lyrics]]></category>
		<category><![CDATA[lyricwiki]]></category>
		<category><![CDATA[mediawiki]]></category>
		<category><![CDATA[music industry]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[planetkde]]></category>
		<category><![CDATA[record companies]]></category>
		<category><![CDATA[riaa]]></category>
		<category><![CDATA[stupidity]]></category>
		<category><![CDATA[wiki]]></category>
		<category><![CDATA[wikipedia]]></category>
		<category><![CDATA[wrong]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=543</guid>
		<description><![CDATA[If you ever looked for song lyrics online, you know how most lyrics sites are. Plenty of ads, popups, silly scrolling flash gadgets, bad punctuation, and no easy way to send in corrections. Why not apply to lyrics the same  community-driven editing model that has made Wikipedia so successful?
LyricWiki.org has done exactly that, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=543&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">If you ever looked for song lyrics online, you know how most lyrics sites are. Plenty of ads, popups, silly scrolling flash gadgets, bad punctuation, and no easy way to send in corrections. Why not apply to lyrics the same  community-driven editing model that has made Wikipedia so successful?</p>
<p style="text-align:justify;">LyricWiki.org has done exactly that, and more. They have provided an API, making it easy for media players to query the database and fetch the lyrics for a specific song. To get an idea of this project&#8217;s success, check out <a href="http://meta.wikimedia.org/wiki/List_of_largest_wikis#List_of_largest_MediaWiki_wikis">these stats</a>. At the time of this writing, LyricWiki is the fifth largest MediaWiki in existence, and the largest wiki that is not a Wikipedia or Wiktionary. What an inspiring example of a community built around the ideals of improving content and making information available. What could go wrong?</p>
<p style="text-align:justify;"><span id="more-543"></span></p>
<p style="text-align:justify;">Well, how about this. Who owns the copyright on song lyrics? Right, the artist who wrote them. And who represents the artist? Right, a record company. And what do record companies do to nice sites like LyricWiki?</p>
<p style="text-align:justify;">The following message appeared in the lyrics applet of my beloved Amarok earlier this week:</p>
<blockquote><p>Unfortunately, due to licensing restrictions from some of the major music publishers we can no longer return lyrics through the LyricWiki API (where this application gets some or all of its lyrics).</p></blockquote>
<p style="text-align:justify;">My first thought when seeing that was, <em>&#8220;Huh?! It used to work yesterday.&#8221;</em> Apparently, less than 24 hours have passed between the <a href="http://groups.google.com/group/lyricwiki-api/browse_thread/thread/733ccd919d654040">announcement that developers need to change their applications</a>, and the <a href="http://bugs.kde.org/show_bug.cgi?id=202366">moment the LyricWiki API actually stopped working</a> for retrieving lyrics. In a way, this is a good thing. I hope a lot of users put the pieces together and figured out who is really to blame.</p>
<p style="text-align:justify;">Now let&#8217;s see how Amarok handled the situation. Within 12 hours, the bug report had a patch. In the next two hours, the patch was tested, and a glitch was found and fixed. The next day (still less than 24 hours from the time the bug was reported), the patch was <a href="http://gitorious.org/amarok/amarok/commit/1a1b30fe892afc0c9c7988c4c928c27521640d02">pushed</a> to Git. As an Amarok user observing this process from outside, I thought the turnaround time was pretty darn good!</p>
<p style="text-align:justify;">Unfortunately, getting this fix to the users was not as quick and painless. Since lyrics fetching is done in a script, there is no need to recompile Amarok. Furthermore, we have KNewStuff for installing and updating scripts (among other things). So we are just a step away from allowing users to fix the lyrics problem using Amarok&#8217;s Script Manager. Why not take it?</p>
<p style="text-align:justify;">(Besides the fact that the script is not on kde-apps, another minor issue is that it only works for Amarok 2.1.1 and trunk. Because of <a href="http://websvn.kde.org/?view=rev&amp;revision=977050">this</a>, the script needs modifications to work with Amarok 2.1, which is still shipped by Kubuntu. But nothing that can&#8217;t be fixed in code in 5 minutes.)</p>
<p style="text-align:justify;">Congrats to the Amarok team for being so close to greatness! Amarok was one of the apps that switched me towards KDE in my early days with Linux (the other one was K3B). So I&#8217;m glad to see it rocking even harder today.</p>
<p style="text-align:justify;">Now let me return to LyricWiki for a minute. Can someone enlighten me as to why the music publishers would impose such a restriction on them? If I were an artist and you came asking for my lyrics, I would gladly give them to you and thank you for listening to my stuff. I&#8217;ve heard of people selling music, but&#8230; selling lyrics?!</p>
<p style="text-align:justify;">I hope that as technology makes recording and distribution cheaper, <a href="http://en.wikipedia.org/wiki/Ghosts_I%E2%80%93IV#Release">more artists</a> will take matters into their own hands and release their stuff independently.</p>
<p style="text-align:justify;">PS. If you are reading this on Planet KDE and wondering who I am, Hi! <img class="alignnone size-full wp-image-544" title="wave-smiley" src="http://ascending.files.wordpress.com/2009/08/wave-smiley.gif?w=29&#038;h=24" alt="wave-smiley" width="29" height="24" /> I am doing a <a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/kde/t124022559857">GSoC project</a> in Akonadi / KMail, mentored by <a href="http://thomasmcguire.wordpress.com/">Thomas McGuire</a>. I may provide an update about that later, if the mood strikes.</p>
Posted in KDE, Linux, Money, Programming, Technology, Thoughts Tagged: amarok, api, bug, business, copyright, development, industry, license, licensing, lyric, lyrics, lyricwiki, mediawiki, music industry, open, open source, planetkde, record companies, riaa, stupidity, wiki, wikipedia, wrong, wtf <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/543/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=543&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2009/08/09/why-open-source-rocks-and-the-music-industry-does-not/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>

		<media:content url="http://ascending.files.wordpress.com/2009/08/wave-smiley.gif" medium="image">
			<media:title type="html">wave-smiley</media:title>
		</media:content>
	</item>
		<item>
		<title>Slow KDE / Plasma on Intel Integrated Graphics?</title>
		<link>http://ascending.wordpress.com/2009/06/25/slow-kde-plasma-on-intel-integrated-graphics/</link>
		<comments>http://ascending.wordpress.com/2009/06/25/slow-kde-plasma-on-intel-integrated-graphics/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 18:12:05 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[acceleration]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[plasma]]></category>
		<category><![CDATA[slow]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[uxa]]></category>
		<category><![CDATA[x11]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=509</guid>
		<description><![CDATA[Got a laptop with an Intel GMA? Is Alt+Tab slower than you would like? Does Plasma take forever to move or resize an applet? Maybe you didn&#8217;t think it could get better?
Try playing with the options in xorg.conf. This is a good starting place.
In my case lspci shows &#8216;Intel Corporation Mobile 4 Series Chipset Integrated [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=509&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Got a laptop with an Intel GMA? Is Alt+Tab slower than you would like? Does Plasma take forever to move or resize an applet? Maybe you didn&#8217;t think it could get better?</p>
<p style="text-align:justify;">Try playing with the options in <code>xorg.conf</code>. <a href="http://userbase.kde.org/GPU-Performance">This</a> is a good starting place.</p>
<p style="text-align:justify;">In my case <code>lspci</code> shows <em>&#8216;Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42]&#8216;</em>, and putting</p>
<blockquote><p>Option  &#8220;AccelMethod&#8221;   &#8220;UXA&#8221;</p></blockquote>
<p style="text-align:justify;">in <code>/etc/X11/xorg.conf</code> has improved things significantly. UXA acceleration has been <a href="https://wiki.ubuntu.com/X/UxaTesting">disabled by default in Ubuntu</a> because it caused problems for some people, but in my case enabling it has made everything snappier, and also gotten rid of the drawing artifacts I used to see.</p>
<p style="text-align:justify;">It also caused suspend to stop working (assert in X upon waking), but a <a href="https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/347587/comments/21">recent fix</a> to <code>xserver-xorg-video-intel</code> takes care of that. Distros might have released an update by now, but if you&#8217;re using Kubuntu and can&#8217;t wait, you can grab the packages from <a href="http://ppa.launchpad.net/xorg-edgers/">this ppa</a>.</p>
<p style="text-align:justify;">Snappy plasma, working suspend, happy user.</p>
<p style="text-align:justify;"><strong>Update:</strong> Here is <a href="http://kdemonkey.blogspot.com/2009/05/konsole-under-jaunty.html">a post with another trick</a>, using the <code>-graphicssystem raster</code> option of Qt programs. It makes switching tabs in Konsole faster, and it does wonders for long lines in Kate!</p>
Posted in KDE, Linux Tagged: acceleration, intel, KDE, kubuntu, Linux, plasma, slow, ubuntu, uxa, x11 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/509/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=509&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2009/06/25/slow-kde-plasma-on-intel-integrated-graphics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>
	</item>
		<item>
		<title>Two OpenOffice.org Writer Tricks</title>
		<link>http://ascending.wordpress.com/2009/02/16/two-openoffice-org-writer-tricks/</link>
		<comments>http://ascending.wordpress.com/2009/02/16/two-openoffice-org-writer-tricks/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 02:46:24 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Shortcut]]></category>
		<category><![CDATA[auto text]]></category>
		<category><![CDATA[autotext]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[formula]]></category>
		<category><![CDATA[office]]></category>
		<category><![CDATA[open office]]></category>
		<category><![CDATA[openoffice]]></category>
		<category><![CDATA[trick]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[word editor]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=493</guid>
		<description><![CDATA[Trick #1: Stop AutoText from switching to Times New Roman
I often edit files in fonts other than Times New Roman, just because that font is so ubiquitous. And I sometimes use AutoText to insert frequently used phrases, or Romanian words in an English text (so that I don&#8217;t have to switch languages constantly). One thing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=493&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><strong>Trick #1: Stop AutoText from switching to Times New Roman</strong></p>
<p style="text-align:justify;">I often edit files in fonts other than Times New Roman, just because that font is so ubiquitous. And I sometimes use AutoText to insert frequently used phrases, or Romanian words in an English text (so that I don&#8217;t have to switch languages constantly). One thing that has always annoyed me is that after invoking an AutoText completion (<code>F3</code>), the next characters will always be in Times New Roman (even if the AutoText itself is in another font).</p>
<p style="text-align:justify;">As it turns out, this happens because Times New Roman is the font of the Default paragraph style. So hit <code>F11</code> and modify your style to use the desired font. In fact (and this is a topic for another day), styles should be used in most cases and formatting a selection of text (bold, italic, font, font size, paragraph indentation) should rarely be done by hand. This is very unintuitive to people who have been using text editors before the GUI era.</p>
<p style="text-align:justify;"><strong>Trick #2: Insert Formula without switching into formula-edit mode</strong></p>
<p style="text-align:justify;"><span id="more-493"></span>Assume you have a shortcut such as <code>F2</code> for the menu entry Insert &gt; Object &gt; Formula. When editing text, this allows you to hit <code>F2</code> to enter the formula editor, edit your formula, and then press <code>Esc</code> to go back to normal text editing*. Once you&#8217;ve been doing this a lot**, you&#8217;ll notice that typing</p>
<blockquote><p>{ 1 + sqrt 5 } over 2</p></blockquote>
<p style="text-align:justify;">into the formula editor is much faster than hunting for the &#8220;square root&#8221; and &#8220;over&#8221; symbols. Everything has a textual notation (<code>%pi%</code>, <code>drarrow</code>, <code>~</code>).</p>
<p style="text-align:justify;">To take this one step further, you can type your formula as plain text <em>into your actual document</em>, and then select it and press <code>F2</code>. This will transform the selection into a formula, without taking you into the formula editor. Saves a lot of time!</p>
<p style="text-align:justify;">* When exiting the formula editor with the <code>Esc</code> key, the formula box is still &#8220;active&#8221; and you have to press <code>Esc</code> again to go back to editing text. This is very annoying and I wish there were a way around this. (But the current behavior does make sense as far as keyboard-only editing goes&#8230; perhaps.)</p>
<p style="text-align:justify;">** Learn LaTeX.</p>
Posted in Linux, Random, Shortcut Tagged: auto text, autotext, font, formula, office, open office, openoffice, trick, word, word editor <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/493/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/493/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/493/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/493/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/493/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/493/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/493/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/493/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/493/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/493/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=493&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2009/02/16/two-openoffice-org-writer-tricks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>
	</item>
		<item>
		<title>pv: Progress Bar for md5sum et al.</title>
		<link>http://ascending.wordpress.com/2009/02/04/pv-progress-bar-for-md5sum-et-al/</link>
		<comments>http://ascending.wordpress.com/2009/02/04/pv-progress-bar-for-md5sum-et-al/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 22:00:00 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bzip]]></category>
		<category><![CDATA[bzip2]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[decompression]]></category>
		<category><![CDATA[md5]]></category>
		<category><![CDATA[md5 sum]]></category>
		<category><![CDATA[md5sum]]></category>
		<category><![CDATA[pipe]]></category>
		<category><![CDATA[progress]]></category>
		<category><![CDATA[progress bar]]></category>
		<category><![CDATA[pv]]></category>
		<category><![CDATA[tar]]></category>
		<category><![CDATA[throughput]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[trick]]></category>
		<category><![CDATA[unzip]]></category>
		<category><![CDATA[zip]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=491</guid>
		<description><![CDATA[Tools that know they will take a long time often come with a built-in progress indicator, but there are other utilities on Linux that often leave the user frustratedly tapping their fingers, wondering how much longer they will have to wait.
Luckily, there is a nifty little tool called pv that will donate a progress bar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=491&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Tools that know they will take a long time often come with a <a href="http://ascending.wordpress.com/2008/01/02/linux-tip-fsck-progress-indicator/">built-in progress indicator</a>, but there are other utilities on Linux that often leave the user frustratedly tapping their fingers, wondering how much longer they will have to wait.</p>
<p style="text-align:justify;">Luckily, there is a nifty little tool called <a href="http://ivarch.com/programs/pv.shtml"><code>pv</code></a> that will donate a progress bar to any program that can read from standard input or a pipe. pv probably stands for pipe viewer.</p>
<p style="text-align:justify;"><strong>1. Simple example: figure out how long an <code>md5sum</code> will take:</strong></p>
<blockquote><p>pv eternal.avi |md5sum</p></blockquote>
<p style="text-align:justify;">will display something like</p>
<blockquote><p>96.5MB 0:00:05 [25.3MB/s] [=======&gt;                                    ]  9% ETA 0:00:48</p></blockquote>
<p style="text-align:justify;"><span id="more-491"></span></p>
<p style="text-align:justify;">Notes:</p>
<ul style="text-align:justify;">
<li><code>pv</code> reads from file and prints to stdout.</li>
<li><code>md5sum</code> reads from stdin.</li>
<li><code>pv</code> outputs the progress bar to stderr so as not to interfere with the piped data. See the man page for ways to customize <code>pv</code>&#8217;s output.</li>
<li>since the bottleneck of such an operation is the media you&#8217;re reading from, not the CPU, there will be no noticeable overhead.</li>
</ul>
<p style="text-align:justify;"><strong>2. Complex example: add a progress bar to <code>tar</code>/<code>bzip2</code> compression/decompression:</strong></p>
<blockquote><p>tar cf &#8211; mydir | pv -n -s $(du -sb mydir | awk &#8216;{print $1}&#8217;) | bzip2 &gt;mydir.tar.bz2</p></blockquote>
<p style="text-align:justify;">Notes:</p>
<ul style="text-align:justify;">
<li>this example is adapted from the <code>pv</code> man page.</li>
<li>the <code>-n</code> switch makes <code>pv</code> output only percentage values.</li>
<li>no file is passed to <code>pv</code>, so it reads from stdin (piped to the output of <code>tar</code>).</li>
<li>on a system with good cache and enough memory, doing the extra <code>du -s mydir</code> shouldn&#8217;t hurt much, since tar will go through the entire directory anyway.</li>
</ul>
<p style="text-align:justify;">Now let&#8217;s decompress it:</p>
<blockquote><p>pv mydir.tar.bz2 |tar xjf -</p></blockquote>
<p style="text-align:justify;">By now you realize how awesome this is.</p>
<p style="text-align:justify;"><strong>3. Fun example: measure <code>/dev/null</code> throughput:</strong></p>
<blockquote><p>pv /dev/zero &gt;/dev/null</p></blockquote>
<p style="text-align:justify;">is close to 3.3GB/s on my 3-year-old system.</p>
<p style="text-align:justify;">Notes:</p>
<ul style="text-align:justify;">
<li>this is not a benchmark &#8482;.</li>
<li><code>pv</code> can&#8217;t know the size of its input in this case (infinity), so it obviously can&#8217;t display an ETA.</li>
</ul>
<p style="text-align:justify;"><code>pv</code> is a brilliant example of the UNIX philosophy: simple puzzle pieces combining to create useful results. A couple of last-word remarks:</p>
<ul style="text-align:justify;">
<li>There is apparently a very similar tool called <a href="http://debaday.debian.net/2007/12/23/cpipe-determine-the-throughput-of-a-pipe/"><code>cpipe</code></a>.</li>
<li>There are, unfortunately, programs for which you will not be able to use <code>pv</code>. One example is <code>dpkg</code>, which apparently tries seeking in its input, thus failing to work with pipes.</li>
<li>Thanks to <a href="http://asunix.tufts.edu/staff/current/shawndoughty">my boss</a> for pointing me to this awesome tool.</li>
</ul>
Posted in Linux, Shell, Technology Tagged: bzip, bzip2, compression, decompression, md5, md5 sum, md5sum, pipe, progress, progress bar, pv, tar, throughput, tool, trick, unzip, zip <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/491/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=491&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2009/02/04/pv-progress-bar-for-md5sum-et-al/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>
	</item>
		<item>
		<title>HOWTO: Read Vista-burnt UDF DVDs on Ubuntu Linux</title>
		<link>http://ascending.wordpress.com/2008/06/14/howto-read-vista-burnt-udf-dvds-on-ubuntu-linux/</link>
		<comments>http://ascending.wordpress.com/2008/06/14/howto-read-vista-burnt-udf-dvds-on-ubuntu-linux/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 11:56:36 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[dvd]]></category>
		<category><![CDATA[dvd-r]]></category>
		<category><![CDATA[dvd-rw]]></category>
		<category><![CDATA[fileset]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[standard]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[udf]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=410</guid>
		<description><![CDATA[Recently I got my hands on a DVD which I couldn&#8217;t get to mount. The message that appeared consistently in dmesg was:
UDF-fs: No fileset found
Searching the forums I found out that this is a widespread problem. Vista uses some kind of non-standard UDF which only Windows can read. I was very tempted to run to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=410&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Recently I got my hands on a DVD which I couldn&#8217;t get to mount. The message that appeared consistently in <strong>dmesg</strong> was:</p>
<blockquote><p>UDF-fs: No fileset found</p></blockquote>
<p style="text-align:justify;">Searching the forums I found out that this is a widespread problem. Vista uses some kind of non-standard UDF which only Windows can read. I was very tempted to run to the Windows PC in the other room and let it eat the disc, but I was curious if there was any other solution.</p>
<p style="text-align:justify;">Many suggested mounting manually with <strong>-t udf</strong>, but that didn&#8217;t work. Another suggestion was patching and recompiling the kernel. I was obviously NOT in the mood to do that. Digging a bit deeper I found that there is actually a less greasy solution. The two relevant links are <a href="http://ubuntuforums.org/showthread.php?t=718744">one</a> and <a href="http://www.thinkwiki.org/wiki/UDF_2.01_on_Linux">two</a>. I will describe now the exact procedure I used to get my Linux box to recognize the Vista-burnt DVD. Note that, because of the rapidly changing environment, this will probably NOT work on anything OTHER than <strong>*Ubuntu Hardy</strong> with <strong>kernel version 2.6.24</strong>.</p>
<p style="text-align:justify;"><span id="more-410"></span></p>
<p style="text-align:justify;"><strong>Step 1. Preparation:</strong></p>
<ol style="text-align:justify;">
<li>Make sure you have the proper linux kernel headers installed. For example, if you have <strong>linux-image-2.6.24-18<span style="color:#008000;">-386</span></strong> and <strong>linux-headers-2.6.24-18<span style="color:#ff0000;">-generic</span></strong>, that will not work. You will need <strong>linux-headers-2.6.24-18<span style="color:#008000;">-386</span></strong>.</li>
<li>Download <a href="http://ubuntuforums.org/attachment.php?s=7f470a356f191d803b15d0ca8c259f6a&amp;attachmentid=61993&amp;d=1205001057">udf-filesystem-2.5.tar.gz</a> and unpack it into <strong>~/root/udf-vista/udf-filesystem-2.5</strong>.<br />
I have a directory <strong>~/root/</strong> where I keep all the software I install myself, i.e. not through APT.</li>
<li>Copy the patch from <a href="http://www.thinkwiki.org/wiki/UDF_2.01_on_Linux">here</a> into a file, <strong>~/root/udf-vista/udf-filesystem-2.5/vista-patch</strong>, skipping the first line (the one that starts with <strong>diff</strong>).</li>
</ol>
<p style="text-align:justify;"><strong>Step 2. Compilation:</strong></p>
<ol style="text-align:justify;">
<li>Apply the patch in the <strong>~/root/udf-vista/udf-filesystem-2.5/src</strong> directory. Note that because I copy-pasted the patch into <strong>vista-patch</strong>, the tabs got converted into spaces, and I had to use the <strong>-l</strong> switch to make it ignore this.<br />
<blockquote><p>cd src<br />
patch -l &lt;../vista-patch</p></blockquote>
<p>If something fails at this step, don&#8217;t go any further, and investigate where the patch went wrong.</li>
<li>Compile the thing. <span style="color:#008000;">This is the magic bit. Instead of recompiling the entire kernel, you only have to build the UDF module!</span><br />
<blockquote><p>cd ..<br />
make</p></blockquote>
<p>If this fails, you probably have the wrong kernel version or headers.</li>
</ol>
<p style="text-align:justify;"><strong>Step 3. Testing:</strong></p>
<ol style="text-align:justify;">
<li>Remove any currently loaded UDF module.<br />
<blockquote><p>sudo rmmod udf</p></blockquote>
</li>
<li>Now you need to actually replace the <strong>udf.ko</strong> file in the running kernel. I chose not to remove the original file, and instead moved it to a safe place.<br />
<blockquote><p>sudo mv /lib/modules/$(uname -r)/kernel/fs/udf/udf.ko ./udf.ko-old<br />
sudo cp src/udf.ko /lib/modules/$(uname -r)/kernel/fs/udf/udf.ko</p></blockquote>
</li>
<li>Load the actual module.<br />
<blockquote><p>sudo modprobe -v udf</p></blockquote>
<p>(Alternatively, you can try doing <strong>sudo insmod src/udf.ko</strong> before moving it to <strong>/lib</strong>.)</li>
<li>Eject the DVD, put it back in, and watch it automount magically.</li>
</ol>
<p style="text-align:justify;"><strong>Step 4. Victory Dance!</strong> (In your face, Vista! <img src="http://faq.wordpress.com/wp-includes/images/smilies/icon_twisted.gif" alt="" width="15" height="15" />)</p>
<p style="text-align:justify;">A better solution would be, obviously, to somehow convince Vista to obey the UDF standards. Since that&#8217;s not going to happen anytime soon, I really hope that this patch will some day be included in the default kernel. Other than that, I&#8217;m glad it worked, and I hope this helps. Warm thanks to the people who made this possible (<a href="http://ubuntuforums.org/showthread.php?t=718744">link</a>, <a href="http://www.thinkwiki.org/wiki/UDF_2.01_on_Linux">link</a>).</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ascending.wordpress.com/410/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ascending.wordpress.com/410/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/410/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/410/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/410/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/410/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/410/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/410/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/410/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/410/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/410/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/410/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=410&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2008/06/14/howto-read-vista-burnt-udf-dvds-on-ubuntu-linux/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>

		<media:content url="http://faq.wordpress.com/wp-includes/images/smilies/icon_twisted.gif" medium="image" />
	</item>
		<item>
		<title>Shortcut: Delete an Entire Word</title>
		<link>http://ascending.wordpress.com/2008/05/27/shortcut-delete-an-entire-word/</link>
		<comments>http://ascending.wordpress.com/2008/05/27/shortcut-delete-an-entire-word/#comments</comments>
		<pubDate>Tue, 27 May 2008 17:34:46 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Shortcut]]></category>
		<category><![CDATA[efficiency]]></category>
		<category><![CDATA[habit]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[short]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[typing]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=402</guid>
		<description><![CDATA[Before I began using VIM I didn&#8217;t care much that my typing habits were very inefficient, but now I&#8217;m looking everywhere for possible optimizations 
There are two simple shortcuts that work on KDE, Gnome and (AFAIK) even Windows, and that will probably become second nature once you start using them. Perhaps they are regarded as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=402&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Before I began using VIM I didn&#8217;t care much that my typing habits were very inefficient, but now I&#8217;m looking everywhere for possible optimizations <img src="http://faq.wordpress.com/wp-includes/images/smilies/icon_cool.gif" alt="" /></p>
<p style="text-align:justify;">There are two simple shortcuts that work on KDE, Gnome and (AFAIK) even Windows, and that will probably become second nature once you start using them. Perhaps they are regarded as common knowledge, but I&#8217;ve only stumbled across them this year.</p>
<p style="text-align:justify;"><strong>Ctrl+Backspace</strong> deletes the last word.</p>
<p style="text-align:justify;"><strong>Ctrl+Delete</strong> deletes the next word.</p>
<p style="text-align:justify;">And of course <strong>Ctrl+W</strong> in bash (as in VIM) is very useful when the length of your command gets out of control.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ascending.wordpress.com/402/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ascending.wordpress.com/402/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/402/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/402/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/402/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/402/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/402/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/402/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/402/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/402/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/402/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/402/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=402&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2008/05/27/shortcut-delete-an-entire-word/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>

		<media:content url="http://faq.wordpress.com/wp-includes/images/smilies/icon_cool.gif" medium="image" />
	</item>
		<item>
		<title>long long on Windows/Dev-C++/MinGW</title>
		<link>http://ascending.wordpress.com/2008/04/22/long-long-on-windows-dev-c-mingw/</link>
		<comments>http://ascending.wordpress.com/2008/04/22/long-long-on-windows-dev-c-mingw/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 13:35:27 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[c99]]></category>
		<category><![CDATA[dev-c++]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[long long]]></category>
		<category><![CDATA[mingw]]></category>
		<category><![CDATA[printf]]></category>
		<category><![CDATA[scanf]]></category>
		<category><![CDATA[standard]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=387</guid>
		<description><![CDATA[[sarcasm on]
(because Moldova is probably the last country where programming competitions are still held on Windows)
[sarcasm off]
The long long data type has been introduced in C as part of the C99 standard. On 32-bit machines it is a 64-bit signed integer data type. The printf/scanf formatting string for this type is %lld.
Using Dev-C++ and the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=387&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><em>[sarcasm on]</em><br />
(because Moldova is probably the last country where programming competitions are still held on Windows)<br />
<em>[sarcasm off]</em></p>
<p>The <strong>long long</strong> data type has been introduced in C as part of the C99 standard. On 32-bit machines it is a 64-bit signed integer data type. The printf/scanf formatting string for this type is <strong>%lld</strong>.</p>
<p>Using Dev-C++ and the <a href="http://mingw.org/">MinGW</a> port of the GNU C Compiler on Windows, one would expect programs to run the same way they do with GCC on Linux. But no! Apparently MinGW calls the Windows libraries, so every time you call printf or scanf you&#8217;ll end up using Microsoft&#8217;s version of the functions!</p>
<p>And of course Microsoft <em>cares</em> about backwards compatibility, so when C99 was published they didn&#8217;t switch to the standard, keeping their non-standard <strong>%I64d</strong> formatting string instead!</p>
<p><em>[subsides into an angry stream of unintelligible muttering]</em></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ascending.wordpress.com/387/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ascending.wordpress.com/387/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/387/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=387&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2008/04/22/long-long-on-windows-dev-c-mingw/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>
	</item>
		<item>
		<title>How Linux Handles Summer Time</title>
		<link>http://ascending.wordpress.com/2008/04/03/how-linux-handles-summer-time/</link>
		<comments>http://ascending.wordpress.com/2008/04/03/how-linux-handles-summer-time/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 13:37:17 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[dst]]></category>
		<category><![CDATA[summer time]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[time zones]]></category>
		<category><![CDATA[zoneinfo]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=383</guid>
		<description><![CDATA[Daylight Saving Time is a controversial policy, but if you live in a region where it&#8217;s used, there&#8217;s not much you can do about it.
Linux adjusts the clock automatically, using zoneinfo. You can find out when these changes happened / are scheduled to happen using the zdump tool:
zdump -v Europe/Chisinau
The argument should be a path [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=383&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Daylight Saving Time is a controversial policy, but if you live in a region where it&#8217;s used, there&#8217;s not much you can do about it.</p>
<p>Linux adjusts the clock automatically, using <a href="http://en.wikipedia.org/wiki/Zoneinfo">zoneinfo</a>. You can find out when these changes happened / are scheduled to happen using the <b>zdump</b> tool:</p>
<p><code>zdump -v Europe/Chisinau</code></p>
<p>The argument should be a path relative to /usr/share/zoneinfo/. A quick hint that you got it wrong is if you only get four entries (for the limits of time ;) ), 1901 and 2038 here, for instance.</p>
<p>P.S. If you have other operating systems on your machine, you should only allow one of them to change the time, otherwise you&#8217;ll get your clock shifted by more than one hour.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ascending.wordpress.com/383/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ascending.wordpress.com/383/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/383/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=383&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2008/04/03/how-linux-handles-summer-time/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>
	</item>
		<item>
		<title>Python Trick: Subtracting Dates</title>
		<link>http://ascending.wordpress.com/2008/04/03/python-trick-subtracting-dates/</link>
		<comments>http://ascending.wordpress.com/2008/04/03/python-trick-subtracting-dates/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 13:23:24 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[newbie]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=382</guid>
		<description><![CDATA[I&#8217;m not the Python genius I want to be, so here&#8217;s this, for future reference:
How to subtract one date from another, and get the result in days:

from datetime import date
(date(2008, 3, 31) - date(2005, 2, 1)).days
A simple application:

party = date(2008, 6, 1)
(party -  date.today()).days
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=382&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m not the Python genius I want to be, so here&#8217;s this, for future reference:</p>
<p>How to subtract one date from another, and get the result in days:</p>
<pre class="brush: python;">
from datetime import date
(date(2008, 3, 31) - date(2005, 2, 1)).days</pre>
<p>A simple application:</p>
<pre class="brush: python;">
party = date(2008, 6, 1)
(party -  date.today()).days</pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ascending.wordpress.com/382/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ascending.wordpress.com/382/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/382/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=382&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2008/04/03/python-trick-subtracting-dates/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>
	</item>
		<item>
		<title>Konvert2Ogg 0.2 is here</title>
		<link>http://ascending.wordpress.com/2008/03/21/konvert2ogg-02-is-here/</link>
		<comments>http://ascending.wordpress.com/2008/03/21/konvert2ogg-02-is-here/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 19:59:02 +0000</pubDate>
		<dc:creator>Constantin</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[audio books]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[konvert2ogg]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[ogg vorbis]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://ascending.wordpress.com/?p=379</guid>
		<description><![CDATA[Finally,
after a complete redesign,
and a complete code rewrite,
released under a full moon,
feature-complete and usable,
[drum roll],
[fireworks],
Konvert2Ogg 0.2 is here.
(updated) Home page
SourceForge.net project page
KDE-Apps.org page
I am especially thrilled about what I&#8217;ve learned while developing this project:

How to implement a factory in C++, so that when I want to add a new class, I don&#8217;t need to add [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=379&subd=ascending&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Finally,</p>
<p>after a complete redesign,</p>
<p>and a complete code rewrite,</p>
<p>released under a full moon,</p>
<p>feature-complete and usable,</p>
<p>[drum roll],</p>
<p>[fireworks],</p>
<p><a href="https://sourceforge.net/project/showfiles.php?group_id=198617&amp;package_id=235869&amp;release_id=586052">Konvert2Ogg 0.2</a> is here.</p>
<p align="right"><a href="http://konvert2ogg.sourceforge.net/">(updated) Home page</a><br />
<a href="https://sourceforge.net/projects/konvert2ogg/">SourceForge.net project page</a><br />
<a href="http://www.kde-apps.org/content/show.php?content=77365">KDE-Apps.org page</a></p>
<p>I am especially thrilled about what I&#8217;ve learned while developing this project:</p>
<ul>
<li>How to implement a factory in C++, so that when I want to add a new class, I don&#8217;t need to add references to it all over the place.</li>
<li>As a bonus, make that factory a singleton ;)</li>
<li>Lots of things about Qt, KDE, and even svn, XHTML and CSS, that I could only learn hands-on. (too many to list)</li>
<li>I even fixed some bugs / made some improvements to kdelibs while working on K2O!</li>
<li>Probably a bunch of other stuff I am forgetting right now.</li>
</ul>
<p>Although the program now works and does what I want, this is no way the end of the journey. There are many more cool things in the can :D</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ascending.wordpress.com/379/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ascending.wordpress.com/379/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ascending.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ascending.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ascending.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ascending.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ascending.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ascending.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ascending.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ascending.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ascending.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ascending.wordpress.com/379/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ascending.wordpress.com&blog=641345&post=379&subd=ascending&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ascending.wordpress.com/2008/03/21/konvert2ogg-02-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14485c804228347f17007e2fa773ea70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ascending</media:title>
		</media:content>
	</item>
	</channel>
</rss>