<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Intuitionistically Uncertain</title>
	<atom:link href="http://hircus.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://hircus.wordpress.com</link>
	<description>Michel explores computing and assorted gadgetries</description>
	<pubDate>Tue, 15 Jul 2008 20:45:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>ABI breakage and package naming</title>
		<link>http://hircus.wordpress.com/2008/07/15/abi-breakage-and-package-naming/</link>
		<comments>http://hircus.wordpress.com/2008/07/15/abi-breakage-and-package-naming/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 15:03:36 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Fedora]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/?p=230</guid>
		<description><![CDATA[Planète Béranger has raised the ABI issue surrounding Fedora and RHEL&#8217;s recent upgrade to Firefox 3. In short, RHEL 5.2 ships with Firefox updated to the new xulrunner-based Firefox 3, but its Eclipse and libswt3-gtk2 is still at 3.2, which depends on the old gtkmozembed interface.
This seems like a good argument in favour of adopting [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Planète Béranger has <a href="http://beranger.org/index.php?page=diary&amp;2008/07/13/20/22/20-sun-fights-to-invalidate-the-fir">raised the ABI issue</a> surrounding Fedora and RHEL&#8217;s recent upgrade to Firefox 3. In short, RHEL 5.2 ships with Firefox updated to the new xulrunner-based Firefox 3, but its Eclipse and libswt3-gtk2 is still at 3.2, which depends on the old gtkmozembed interface.</p>
<p>This seems like a good argument in favour of adopting Debian-style package naming, when it comes to libraries: append the ABI version to the (sub)package name containing libraries that are linked to from other packages. So the old Firefox 1.5 would have a libgtkmozembed18 subpackage, that can be shipped with RHEL 5.2 without shipping the rest of Firefox 1.5 (technically speaking, the ABI version is 1.8.x.y, as prior to XULRunner 1.9 the ABI is ever-changing, but packages already handle this by depending on the specific version and release number anyway)</p>
<p>This is already done from time to time in the RHEL/Fedora world, in the form of compatibility packages, but making it the default would avoid this kind of breakage, where a package <em>/has/</em> to be updated (due to upstream EOL) but parts of it are needed downstream.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/230/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/230/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/230/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=230&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2008/07/15/abi-breakage-and-package-naming/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Midori : NT/Vista :: NT : Win95</title>
		<link>http://hircus.wordpress.com/2008/07/08/midori-ntvista-nt-win95/</link>
		<comments>http://hircus.wordpress.com/2008/07/08/midori-ntvista-nt-win95/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 04:09:55 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[FLOSS]]></category>

		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2008/07/08/midori-ntvista-nt-win95/</guid>
		<description><![CDATA[ Looks like Microsoft is preparing for their next great leap forward in OS design. Just as Windows NT&#8217;s kernel is a clean room without any DOS baggage, Midori is based on the Singularity research kernel, that is written in .NET and utilizes a new compiler backend to output native code.
This will be rather interesting [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div> Looks like Microsoft is preparing for their next great leap forward in OS design. Just as Windows NT&#8217;s kernel is a clean room without any DOS baggage, Midori is based on the Singularity research kernel, that is written in .NET and utilizes a new compiler backend to output native code.</p>
<p>This will be rather interesting to watch. The idea of writing an OS kernel in a strongly-typed language makes sense &#8212; witness House and Singularity. The effort is not expected to be ready for years &#8212; this is not Windows 7, and I&#8217;d guess there will still be a traditional Windows 8, even if Midori is ready by then.</p>
<p>Incidentally, the OSS community already has a strongly-typed virtual machine designed for efficient native code generation: LLVM. If one takes a Unix kernel (or, more practically, microkernel) and get it to compile using LLVM&#8217;s C front-end, one then has the opportunity to gradually rewrite it one module at a time in any language with LLVM front-ends. In the time it will take for Midori to get ready, would there perhaps be an ML-like front-end to LLVM? </div>
<table cellpadding="0" cellspacing="0" width="100%" style="font-family:arial;color:#333333;background:#ffffff;border:solid 4px #e5e5e5;width:100%;clear:left;margin:12px 0;">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%" class="CM_CTB_Content_Wrap" style="background-color:#ffffff;margin:0;padding:0;">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%" style="border-bottom:solid 1px #dcdcdc;white-space:nowrap;margin-bottom:8px;background-color:#eeeeee;background-image:url('http://clipmarks.com/images/source-bg.gif');background-repeat:repeat-x;height:24px;line-height:24px;vertical-align:middle;padding-bottom:4px;color:#666666;font-size:10px;">
<tr>
<td valign="top"><a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"><img src="http://content.clipmarks.com/blog_icon/43b16aa0-53c8-4dde-82be-1c92e6859880/58FBD3ED-011C-42EE-B540-AB69DD8E34C7/" alt="" width="19" height="19" border="0" style="vertical-align:middle;display:inline;border:none;float:none;margin:0 4px;" /></a>clipped from <a title="http://arstechnica.com/journals/microsoft.ars/2008/07/08/midori-a-non-windows-os-in-the-works-not-just-experimental?bub" href="http://arstechnica.com/journals/microsoft.ars/2008/07/08/midori-a-non-windows-os-in-the-works-not-just-experimental?bub">arstechnica.com</a></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" width="100%" style="text-align:left;background:transparent;border:none;margin:4px 0 8px;padding:0 8px;">
<tr>
<td valign="top"><!-- CLIPPED FROM: http://arstechnica.com/journals/microsoft.ars/2008/07/08/midori-a-non-windows-os-in-the-works-not-just-experimental?bub --><P>Every once in a while, an article gets posted somewhere in the blogosphere about how Microsoft needs to release a complete Windows rewrite, something along the lines of what Apple did with Mac OS X. Most people realize that Microsoft is in no position to pull a stunt like that at the moment; it&#8217;s hard to see Microsoft phasing out support for a billion-Windows-PC-strong user base, but that day may one day come, perhaps thanks to robust virtualization technology.
</p>
<p> <P><br />
But in the meantime, Microsoft has settled on rewriting bits and parts of the Windows operating system as it sees fit, with Vista being one of the biggest rewrites (a fact which partially explains the many hardware and software compatibility issues XP&#8217;s successor experienced at launch). Speculation around a non-Windows operating system in the works at Microsoft has been present for years, but recent trustworthy tidbits of information have found their way into the hands of Microsoft ZDNet bloggers Mary Jo Foley and Ed Bott.<br />
</P></td>
</tr>
</table>
</td>
</tr>
</table>
<div style="margin:0 6px 6px 4px;">
<table style="font-size:11px;border-spacing:0;padding:0;" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="background:transparent;border-width:0;padding:0;">&nbsp;</td>
<td align="right" style="background:transparent;width:107px;border-width:0;padding:0;" width="107"><a href="http://clipmarks.com/share/58FBD3ED-011C-42EE-B540-AB69DD8E34C7/blog/" title="blog or email this clip"><img src="http://content8.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0;margin:0;padding:0;" /></a></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/229/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/229/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/229/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=229&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2008/07/08/midori-ntvista-nt-win95/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>

		<media:content url="http://content.clipmarks.com/blog_icon/43b16aa0-53c8-4dde-82be-1c92e6859880/58FBD3ED-011C-42EE-B540-AB69DD8E34C7/" medium="image" />

		<media:content url="http://content8.clipmarks.com/images/c2b-foot.png" medium="image">
			<media:title type="html">blog it</media:title>
		</media:content>
	</item>
		<item>
		<title>Python tail-call optimization, done right</title>
		<link>http://hircus.wordpress.com/2008/06/21/python-tail-call-optimization-done-right/</link>
		<comments>http://hircus.wordpress.com/2008/06/21/python-tail-call-optimization-done-right/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 18:08:11 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2008/06/21/python-tail-call-optimization-done-right/</guid>
		<description><![CDATA[ It occured to me this morning to revisit the issue of tail-call-optmization using function decorators in Python. Last time I checked, the working trick involves stack inspection (works only in CPython) and throwing an exception whenever a tail call is detected. In short: non-portable and slow. I posted an enhancement here that allows for [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div> It occured to me this morning to revisit the issue of tail-call-optmization using function decorators in Python. Last time I checked, the working trick involves stack inspection (works only in CPython) and throwing an exception whenever a tail call is detected. In short: non-portable and slow. I posted <a href="http://hircus.wordpress.com/2006/03/02/python-tail-call-decorator/">an enhancement</a> here that allows for mutual recursion (function A tail-calling function B tail-calling function A &#8230;), but it did not occur to me that the stack inspection hack, clever as it is, could be improved on.</p>
<p>Improved on it has: Miguel Perez is reporting that his solution runs pretty much as fast as normal looping. Supports mutual recursion and is completely portable too.</p>
</p></div>
<table cellpadding="0" cellspacing="0" width="100%" style="font-family:arial;color:#333333;background:#ffffff;border:solid 4px #e5e5e5;width:100%;clear:left;margin:12px 0;">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%" class="CM_CTB_Content_Wrap" style="background-color:#ffffff;margin:0;padding:0;">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%" style="border-bottom:solid 1px #dcdcdc;white-space:nowrap;margin-bottom:8px;background-color:#eeeeee;background-image:url('http://clipmarks.com/images/source-bg.gif');background-repeat:repeat-x;height:24px;line-height:24px;vertical-align:middle;padding-bottom:4px;color:#666666;font-size:10px;">
<tr>
<td valign="top"><a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"><img src="http://content.clipmarks.com/blog_icon/5e0b9106-9353-47d8-a185-a9db888200bc/05F53D18-6896-4275-901A-4194F4D18B4C/" alt="" width="19" height="19" border="0" style="vertical-align:middle;display:inline;border:none;float:none;margin:0 4px;" /></a>clipped from <a title="http://groups.google.com/group/comp.lang.python/msg/9b047d1392f2b8ec" href="http://groups.google.com/group/comp.lang.python/msg/9b047d1392f2b8ec">groups.google.com</a></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" width="100%" style="text-align:left;background:transparent;border:none;margin:4px 0 8px;padding:0 8px;">
<tr>
<td valign="top"><!-- CLIPPED FROM: http://groups.google.com/group/comp.lang.python/msg/9b047d1392f2b8ec --><FONT face="Courier, Monospaced">Please critique this tail call optimizing decorator I&#8217;ve written. I&#8217;ve tried to fix the pitfalls of other proposed decorators, and the result is this one that supports mutual recursion, does not use exceptions, stack inspection or any implementation-dependent hack, and is pretty short and fast - the fastest out of the ones I could find and try. In fact, in tail-recursive environments I tested the impact of using the decorator is difficult to even measure, as the extra time the decorator takes to run is probably saved by the better use of cache memory. The only caveat is that if used in a function that&#8217;s not called in a tail-recursive fashion, bad things will happen.</FONT></td>
</tr>
</table>
</td>
</tr>
</table>
<div style="margin:0 6px 6px 4px;">
<table style="font-size:11px;border-spacing:0;padding:0;" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="background:transparent;border-width:0;padding:0;">&nbsp;</td>
<td align="right" style="background:transparent;width:107px;border-width:0;padding:0;" width="107"><a href="http://clipmarks.com/share/05F53D18-6896-4275-901A-4194F4D18B4C/blog/" title="blog or email this clip"><img src="http://content8.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0;margin:0;padding:0;" /></a></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/227/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/227/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/227/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=227&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2008/06/21/python-tail-call-optimization-done-right/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>

		<media:content url="http://content.clipmarks.com/blog_icon/5e0b9106-9353-47d8-a185-a9db888200bc/05F53D18-6896-4275-901A-4194F4D18B4C/" medium="image" />

		<media:content url="http://content8.clipmarks.com/images/c2b-foot.png" medium="image">
			<media:title type="html">blog it</media:title>
		</media:content>
	</item>
		<item>
		<title>Wide Finder: take 2</title>
		<link>http://hircus.wordpress.com/2008/06/15/wide-finder-take-2/</link>
		<comments>http://hircus.wordpress.com/2008/06/15/wide-finder-take-2/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 04:05:05 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[FLOSS]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/?p=226</guid>
		<description><![CDATA[Tim Bray&#8217;s revised Wide Finder project [ongoing.org] has been ongoing for a few weeks now, and I&#8217;ve finally took the time to design and prototype an implementation.
What
The goal is to evaluate the performance of middle-of-the-road, not embarrassingly parralelizable tasks on modern-day multi-core hardware. Such as the Sun T2000 servers. Fittingly, the task is to parse [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Tim Bray&#8217;s <a href="http://www.tbray.org/ongoing/When/200x/2008/05/01/Wide-Finder-2">revised Wide Finder project</a> [ongoing.org] has been ongoing for a few weeks now, and I&#8217;ve finally took the time to design and prototype an implementation.</p>
<p><strong>What</strong><br />
The goal is to evaluate the performance of middle-of-the-road, not embarrassingly parralelizable tasks on modern-day multi-core hardware. Such as the Sun T2000 servers. Fittingly, the task is to parse a multi-gigabyte web server log file and compile some aggregate statistics.</p>
<p><strong>Design</strong><br />
The solution I came up with for the earlier iteration of the contest, coded in different versions (C++, OCaml and JoCaml) is fundamentally sound, though rather unoptimized (picking up two-and-a-half different languages in one weekend is a good way to find out how much there is to know about, say, C++ stream buffering). With the benefit of hindsight, and given that we are several weeks into the project and there are <a href="http://wikis.sun.com/display/WideFinder/Results">strong implementations already</a> [wikis.sun.com], the idea is to find an unexplored niche.</p>
<p>Short recap of the main implementations:</p>
<ul>
<li>OCaml: Fernandez is ahead of the pack again, the only solution in the 7 minutes</li>
<li>make+C+awk+sh: Perl is dead, but shell scripting is enjoying a renaissance with parallelizable tasks. 8 minutes</li>
<li>Java-based solutions: in the 13-17 minutes range are the various JVM solutions, from Java, Groovy and Scala to Fan, an interesting Ruby-like language for the JVM. Reminds me of .NET&#8217;s Boo.
</li>
<li>Python, Ruby: in the 20+ minutes range. Python multiprocessing is not that efficient yet; I believe an improved Stackless Python solution might be forthcoming</li>
</ul>
<p>I dabbled with a Common Lisp solution; it works and appears to be competitive, when tried on a partial log file. Exploring the available options for parallelism, however, revealed the disconcerting fact: no freely-available Common Lisp compilers have good multi-threading, or even multi-processing (without shared memory) on Solaris! Even worse, the SBCL incompatibility with GCC 4.3 means that even the Linux version on my Fedora machine is several months old, and does not have the threading library.</p>
<p>So it&#8217;s back to Java. Perusing the blogs of the Java and Scala programmers, it appears that the common complain is .. regular expressions. So the hunt was on for a good regular expression library. Joni, a port of the Ruby Oniguruma regex library to the JVM used by the JRuby project, appears ideal: low-level and supposedly very fast. Until one hits the total lack of documentation. So that&#8217;s off the table. Ended up using <a href="http://www.brics.dk/automaton/">dk.brics.automaton</a>, which appears to perform well enough, even when parsing Unicode strings.</p>
<p>The nice thing about using Java is that, if you hit a performance brick wall, chances are that many other people have been there before you. The problem I have, the need to have random access within a file (so different threads can start at different offsets (Java&#8217;s RandomAccessFile is good for this) combined with the need for buffered I/O (BufferedReader is good, but there is no RandomAccessReader !) is solved by the nice folks at Biojava.com. Great!</p>
<p>On my system (2 GHz Core 2, 2 GB RAM, 5400 rpm HDD, Fedora 9 x64), Ruby takes about 2.2 seconds, while my Java implementation running on OpenJDK 1.6 (64-bit) takes about 1.6-1.7 seconds with 1 thread and 1.4-1.5 seconds with 2 threads. Close to <a href="http://grep.ro/blog/2008/05/wide_finder_going_parallel">the 1.2+ seconds time</a> that Alex reported for Python, but hey, we&#8217;re paying the Java start-up cost here.</p>
<p>Will update when I get an account on the test server. 40GB dataset, here I come! In the meantime, time to look for opportunities to use a JVM-based language better suited for the task. The Java code is a tad bit verbose.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/226/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/226/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/226/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=226&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2008/06/15/wide-finder-take-2/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Patents: to settle or not to settle</title>
		<link>http://hircus.wordpress.com/2008/06/11/patents-to-settle-or-not-to-settle/</link>
		<comments>http://hircus.wordpress.com/2008/06/11/patents-to-settle-or-not-to-settle/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 21:09:20 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Legal]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/?p=225</guid>
		<description><![CDATA[@Béranger:
The comparison between Red Hat&#8217;s patent settlement and the MS-Novell covenant is instructive, but the two settlements are not exactly identical.
The downstream impact of both certainly only protect the respective companies&#8217; customers. It is the upstream protection of developers that make the settlement&#8217;s coverage &#8220;broad&#8221; (you used the term &#8220;visionary&#8221; under quotation as if it [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>@<a href="http://beranger.org/index.php?page=diary&amp;2008/06/11/10/13/42-settling-is-not-winning-">Béranger</a>:</p>
<p>The comparison between Red Hat&#8217;s <a href="http://www.redhat.com/about/news/prarchive/2008/patent.html">patent settlement</a> and <a href="http://www.microsoft.com/interop/msnovellcollab/patent_agreement.mspx">the MS-Novell covenant</a> is instructive, but the two settlements are not exactly identical.</p>
<p>The downstream impact of both certainly only protect the respective companies&#8217; customers. It is the upstream protection of developers that make the settlement&#8217;s coverage &#8220;broad&#8221; (you used the term &#8220;visionary&#8221; under quotation as if it was claimed by Red Hat; they did no such thing). Contrast to the MS-Novell deal that only covers Novell developers!</p>
<p>It would have been better to fight the lawsuit to completion, I agree, and considering the FLOSS world consider settlements in GPL licensing disputes to be a victory in their favour, the nature of this settlement is definitely ambiguous at best. Hopefully RH legal is using their resources to fight bigger battles. Abolish software patents &#8212; and curtail most patents in general, <a href="http://www.dklevine.com/general/intellectual/againstfinal.htm">it&#8217;s not as if they lead to significant innovation anyway</a> (Boldrin and Levine [2008]).</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/225/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/225/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/225/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=225&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2008/06/11/patents-to-settle-or-not-to-settle/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>C types 101</title>
		<link>http://hircus.wordpress.com/2008/06/08/c-types-101/</link>
		<comments>http://hircus.wordpress.com/2008/06/08/c-types-101/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 01:12:17 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[FLOSS]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2008/06/08/c-types-101/</guid>
		<description><![CDATA[ I was cleaning up the code of an application that I&#8217;m packaging for Fedora, and was Googling for information on size_t (in the code, a size_t variable was being printed as a normal integer (%d), which triggered a compiler warning, and I forgot what the relevant option is. Ended up finding it in printf&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div> I was cleaning up the code of an application that I&#8217;m packaging for Fedora, and was Googling for information on <strong>size_t</strong> (in the code, a size_t variable was being printed as a normal integer (<tt>%d</tt>), which triggered a compiler warning, and I forgot what the relevant option is. Ended up finding it in printf&#8217;s manpage) when I discovered this rather well-written gem. </div>
<table cellpadding="0" cellspacing="0" width="100%" style="font-family:arial;color:#333333;background:#ffffff;border:solid 4px #e5e5e5;width:100%;clear:left;margin:12px 0;">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%" class="CM_CTB_Content_Wrap" style="background-color:#ffffff;margin:0;padding:0;">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%" style="border-bottom:solid 1px #dcdcdc;white-space:nowrap;margin-bottom:8px;background-color:#eeeeee;background-image:url('http://clipmarks.com/images/source-bg.gif');background-repeat:repeat-x;height:24px;line-height:24px;vertical-align:middle;padding-bottom:4px;color:#666666;font-size:10px;">
<tr>
<td valign="top"><a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"><img src="http://content.clipmarks.com/blog_icon/fb0e31ea-247b-4396-b879-55723cb0754c/7AF356FF-F474-45F5-AE3E-808FDE1D80F8/" alt="" width="19" height="19" border="0" style="vertical-align:middle;display:inline;border:none;float:none;margin:0 4px;" /></a>clipped from <a title="http://www.embedded.com/columns/programmingpointers/200900195" href="http://www.embedded.com/columns/programmingpointers/200900195">www.embedded.com</a></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" width="100%" style="text-align:left;background:transparent;border:none;margin:4px 0 8px;padding:0 8px;">
<tr>
<td valign="top"><!-- CLIPPED FROM: http://www.embedded.com/columns/programmingpointers/200900195 --><P><FONT size="3" face="Verdana" color="#003366"><B>Using size_t appropriately can improve the portability, efficiency, or readability of your code. Maybe even all three.</B></FONT></p>
<p> <P><br />
</P><P><br />
Numerous functions in the Standard C library accept arguments or return values that represent object sizes in bytes. For example, the lone argument in <FONT size="2" face="Courier"><B>malloc(n)</B></FONT> specifies the size of the object to be allocated, and the last argument in <FONT size="2" face="Courier"><B>memcpy(s1, s2, n)</B></FONT> specifies the size of the object to be copied. The return value of <FONT size="2" face="Courier"><B>strlen(s)</B></FONT> yields the length of (the number of characters in) null-terminated character array s excluding the null character, which isn&#8217;t exactly the size of <FONT size="2" face="Courier"><B>s</B></FONT>, but it&#8217;s in the ballpark.</p>
<p> <P><br />
</P><P><br />
You might reasonably expect these parameters and return types that represent sizes to be declared with type <FONT size="2" face="Courier"><B>int</B></FONT> (possibly <FONT size="2" face="Courier"><B>long</B></FONT> and/or <FONT size="2" face="Courier"><B>unsigned</B></FONT>), but they aren&#8217;t. Rather, the C standard declares them as type <FONT size="2" face="Courier"><B>size_t</B></FONT>. According to the standard, the declaration for <FONT size="2" face="Courier"><B>malloc</B></FONT> should appear in <FONT size="2" face="Courier"><B>&lt;stdlib.h&gt;</B></FONT> as something equivalent to:</p>
<p> <P><br />
</P><P><br />
</P><PRE><CODE><FONT size="2" face="Courier"><B>void *malloc(<SPAN>size_t</SPAN> n);</B></FONT></CODE></PRE></td>
</tr>
</table>
</td>
</tr>
</table>
<div style="margin:0 6px 6px 4px;">
<table style="font-size:11px;border-spacing:0;padding:0;" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="background:transparent;border-width:0;padding:0;">&nbsp;</td>
<td align="right" style="background:transparent;width:107px;border-width:0;padding:0;" width="107"><a href="http://clipmarks.com/share/7AF356FF-F474-45F5-AE3E-808FDE1D80F8/blog/" title="blog or email this clip"><img src="http://content9.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0;margin:0;padding:0;" /></a></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/223/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/223/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/223/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=223&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2008/06/08/c-types-101/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>

		<media:content url="http://content.clipmarks.com/blog_icon/fb0e31ea-247b-4396-b879-55723cb0754c/7AF356FF-F474-45F5-AE3E-808FDE1D80F8/" medium="image" />

		<media:content url="http://content9.clipmarks.com/images/c2b-foot.png" medium="image">
			<media:title type="html">blog it</media:title>
		</media:content>
	</item>
		<item>
		<title>The ultimate Fedora 9 setup: Part 1 - UI</title>
		<link>http://hircus.wordpress.com/2008/06/02/the-ultimate-fedora-9-setup-part-1-ui/</link>
		<comments>http://hircus.wordpress.com/2008/06/02/the-ultimate-fedora-9-setup-part-1-ui/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 20:55:24 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Fedora]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/?p=221</guid>
		<description><![CDATA[Unlike the commercial OSes (and commercially-supported  Linux distributions), community Linux distributions tend to have fast-paced release cycles. Notably, Fedora and Ubuntu releases every 6 months.
Every OS upgrade entails several decision: do you do a clean install, or upgrade your current installation? Do you start with a clean home directory, or re-use your previous one? [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Unlike the commercial OSes (and commercially-supported  Linux distributions), community Linux distributions tend to have fast-paced release cycles. Notably, Fedora and Ubuntu releases every 6 months.</p>
<p>Every OS upgrade entails several decision: do you do a clean install, or upgrade your current installation? Do you start with a clean home directory, or re-use your previous one? Any combination works fine, though my personal preference is to do a clean install and use a clean home directory, having archived the older directory. I think of it as house-cleaning &#8212; and it&#8217;s nice to experience the desktop as it ships out of the box, before customization (naturally, I then restore my music database, my address books, browser and e-mail client profiles, etc. This is not <em>Memento</em>!)</p>
<p>So, now that Fedora 9 has been released, what needs to be added to / changed from the base setup? As it turns out, not that many:</p>
<p><strong>Compositing</strong><br />
Some people swear by Compiz; I personally find Metacity much more usable (Compiz does not support cycling through all windows of a given application &#8212; Ctrl+F6 in Metacity; Cmd+~ in OS X). Metacity now has a compositing manager that&#8217;s turned off by default; turning it on involves either using <tt>gconftool-2</tt> (only for advanced users) or <tt>gconf-editor</tt>, and setting the <tt>/apps/metacity/general/compositing_manager</tt> key to <tt>true</tt>.</p>
<p>The support in the stable version is a bit flaky still; the metacity package in Rawhide is much better behaved and appears quite stable. Upgrade by issuing <tt>yum &#8211;enablerepo=rawhide update metacity</tt>. As of the moment it does not pull in any other Rawhide package so you can rest easy.</p>
<p>Try pressing the volume up/down/mute keys on your keyboard (if you don&#8217;t have a multimedia keyboard, change the bindings in <tt>System-&gt;Preferences-&gt;Personal-&gt;Keyboard Shortcuts</tt>) and be amazed at the translucency coolness (no, this is not bling). The brightness pop-up windows have not been changed yet, alas.</p>
<p><strong>Firefox</strong><br />
Ever cursed Firefox&#8217;s font rendering in silence? Type <tt>about:config</tt> in the address bar, and add the following boolean keys:</p>
<p><tt>font.FreeType2.autohinted = true<br />
font.FreeType2.enable = true</tt></p>
<p><strong>Keyboard</strong><br />
For the English-speakers among us specifically, and those who use the US keyboard layout in general (it&#8217;s the standard layout in Indonesia, for instance), the occasional times when one has to type an accented character is rather annoying.</p>
<p>There are various work-arounds &#8212; launch the character map (under <tt>Accessories</tt>), add the Character Palette applet to the panel (so that it consumes RAM even when you don&#8217;t use it!)&#8230;<strong>*or*</strong> you can just fix your keyboard layout. The die-hard command-line junkie would be able to tell you what option to pass to <tt>setxkbmap</tt> to achieve this. The rest of us can just use <tt>System-&gt;Preferences-&gt;Hardware-&gt;Keyboard</tt>. In the &#8220;Layouts&#8221; tab, select &#8220;Layout Options&#8221;. The option you want is &#8220;Compose key position&#8221;; I use Right Alt, but Caps Lock haters will rejoice to know that, yes, you can use that dreaded key as your compose key as well. To type an accented character, now the only thing you need to do is hit the Compose+accent followed by the letter you want to accent (using shift as necessary, e.g. for ^).</p>
<p>While you&#8217;re here, you might want to change the Alt/Win key behavior, and map either Meta, Super or Hyper to one of your Win-keys. The GNOME default is inexplicably for the Win-key to be a normal key and not a modifier (so it cannot be combined with other keys).</p>
<p><strong>Coming up: Applications</strong><br />
<em>Et voilà!</em> You should have a nice-looking, and more importantly, functional desktop right now. In the next instalment, I&#8217;ll comment on the applications I use. Until then, <em>à bientôt!</em></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/221/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/221/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/221/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=221&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2008/06/02/the-ultimate-fedora-9-setup-part-1-ui/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Passionate for change</title>
		<link>http://hircus.wordpress.com/2008/04/26/passionate-for-change/</link>
		<comments>http://hircus.wordpress.com/2008/04/26/passionate-for-change/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 07:19:54 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/?p=220</guid>
		<description><![CDATA[Some men see things as they are and say, &#8220;Why?&#8221; I dream of things that never were and say, &#8220;Why not?&#8221;
&#8211; George Bernard Shaw
It is easy to be apathetically indifferent. The world has its problems, sure, but hey, life is short and one should take care of oneself first, no? Yet the danger is that [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p><em>Some men see things as they are and say, &#8220;Why?&#8221; I dream of things that never were and say, &#8220;Why not?&#8221;</em><br />
&#8211; <strong>George Bernard Shaw</strong></p></blockquote>
<p>It is easy to be apathetically indifferent. The world has its problems, sure, but hey, life is short and one should take care of oneself first, no? Yet the danger is that there are a <strong>*lot*</strong> of issues on which the silent majority is not sufficiently aware to care one way or another, and a small but outspoken minority gets to drive their agenda, because the other people who know the first group is wrong find it too uncouth to engage them in debate. To spread the word to the masses. To <em>do something</em>.</p>
<p>People have various reasons for being apathetic, and most of them certainly make sense. At the time, anyway. Life is short. Or, I know this guy is deluded on some issues, but how much harm can he/she do anyway? Or, people will come to their senses (how, if the only passionate people are on two diametric opposites, the mainstream media too busy triangulating and the moderates too indifferent to make their voice heard?). Or they believe in the &#8220;great leader&#8221; myth: mere mortals can&#8217;t lead movements for change, let&#8217;s wait for an inspired leader to set things right.</p>
<p>The latter is a particularly pernicious argument. Just because what you do does not have a great impact, does it mean you should not do it? We too often underestimate our potential impact. Whether negative (how much can a single SUV affect the environment anyway? Or taking those cheap flights in Europe. Or watching movies that glorify senseless violence). You&#8217;re just an anonymous consumer, right? Yet collectively our negative contributions add up to something significant.</p>
<p>It is the same with the positive things we can do. When you buy food from a local farm, who knows how many people are affected by your example? If stores and supermarkets notice that their customers are starting to buy up local produce, market economics dictate that they will allocate more shelf space to these produces. It&#8217;s a virtuous cycle.</p>
<p>Perhaps the feeling might be that meaningful change cannot be achieved within one&#8217;s lifetime. Yet is that reason for apathy? If the suffragettes became disillusioned early on, would women have the right to vote in the Western world today? If black Americans get discouraged by the post-Reconstruction setbacks, would the civil rights movement come into being?</p>
<p>Change does not crystallize magically once the right leader emerges. Were Stalin to be struck by lightning and decide to democratize overnight, would the system he had a hand in building let him do that? Even the most tyrannical dictator relies on a support structure, and thus is constrained in his/her (mostly his) actions. Education can work, no matter how plodding, slow and fraught with setbacks the process might seem at times.</p>
<p>Moral of the story? Put your efforts behind what you believe in. No matter how futile the cause might be, nothing feels more emasculating than not even talking about an issue you care about deeply, let alone doing something about it.</p>
<p>Personally, my #1 bugbear is electoral reform. A healthy discussion of issues is impossible within a two-party system: they are either too polarized for their supporters to talk to each other (and the center too indifferent), or in their attempt to appeal to centrists, too indistinct and amorphous. Paradoxically, they can even swing between the two at short notice. Politicians pander to the base during primaries and swing to the center for the actual election. In the end, nobody&#8217;s happy.</p>
<p>Or take feminism. Or anti-racism. Indifference abounds here &#8212; just because our society does not discriminate openly, does not mean that institutional discrimination does not still occur. Most women are still unfairly expected to do double duty between house and work. Yet how many of us question the way the workplace is structured, leaving most men (the traditional breadwinner) no choice but to work long hours? In the end it&#8217;s mostly the women who are forced to sacrifice career once they start families.</p>
<p>Affirmative action programs are flawed. Too targeted at specific minorities, and thus open to attacks on the grounds (ironically) of equality. Yet the problem is real, and even <a href="http://www.realclearpolitics.com/articles/2008/04/sen_moynihan_the_neoconservati.html">conservatives like George Will agrees</a>. Fairness demands that we help those born with socio-economical disadvantage. That we try and make sure everyone gets to pursue the American Dream (or the equivalent), rather than using the Dream as a <em>deus ex machina</em> (oh look, here&#8217;s another rags-to-riches success story! (s)he can do it, so if you can&#8217;t, you must be lazy and it&#8217;s your fault).</p>
<p>Magic wands do not exist in the real world. Not everyone will be fêted as heroes, and no problem will magically go away. Yet is being an unsung hero so bad?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/220/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/220/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/220/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=220&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2008/04/26/passionate-for-change/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Nokia acquiring Qt-maker Trolltech</title>
		<link>http://hircus.wordpress.com/2008/01/28/nokia-acquiring-qt-maker-trolltech/</link>
		<comments>http://hircus.wordpress.com/2008/01/28/nokia-acquiring-qt-maker-trolltech/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 17:23:35 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/?p=217</guid>
		<description><![CDATA[From LWN:
&#8220;The acquisition of Trolltech will help Nokia accelerate its cross-platform software strategy for mobile devices and desktop applications, and develop its Internet services business&#8230;&#8221;
This is an interesting development. Presumably, given Maemo&#8217;s an entrenched investment in the GTK+/GNOME toolchain, Nokia will find itself in the same boat as Novell, supporting two directly competing platforms.
Though considering [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>From <a href="http://lwn.net/Articles/266744/">LWN</a>:</p>
<blockquote><p>&#8220;The acquisition of Trolltech will help Nokia accelerate its cross-platform software strategy for mobile devices and desktop applications, and develop its Internet services business&#8230;&#8221;</p></blockquote>
<p>This is an interesting development. Presumably, given Maemo&#8217;s an entrenched investment in the GTK+/GNOME toolchain, Nokia will find itself in the same boat as Novell, supporting two directly competing platforms.</p>
<p>Though considering they are also heavily invested in Symbian, hopefully they can manage this properly.. unlike some other tech companies (hello, Compaq!)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/217/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/217/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/217/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=217&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2008/01/28/nokia-acquiring-qt-maker-trolltech/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming languages, in a nutshell</title>
		<link>http://hircus.wordpress.com/2007/12/04/programming-languages-in-a-nutshell/</link>
		<comments>http://hircus.wordpress.com/2007/12/04/programming-languages-in-a-nutshell/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 08:21:22 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/12/04/programming-languages-in-a-nutshell/</guid>
		<description><![CDATA[Task: List the programming languages you consider important or interesting. Describe each of them in one sentence.


C
High-level assembler


Lua
Table-based, functional and embeddable


Python
Great RAD language crippled by dogma


Scala
Java done (almost) right, with Erlang- and Haskell-inspired features


Posting this from the new N810 using its built-in keyboard. Typing those tags was painful, and as a result, more languages will [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Task: <span style='font-style:italic;'>List the programming languages you consider important or interesting. Describe each of them in one sentence.</span></p>
<table>
<tr>
<td>C</td>
<td>High-level assembler</td>
</tr>
<tr>
<td>Lua</td>
<td>Table-based, functional and embeddable</td>
</tr>
<tr>
<td>Python</td>
<td>Great RAD language crippled by dogma</td>
</tr>
<tr>
<td>Scala</td>
<td>Java done (almost) right, with Erlang- and Haskell-inspired features</td>
</tr>
</table>
<p>Posting this from the new N810 using its built-in keyboard. Typing those tags was painful, and as a result, more languages will be added to the table tomorrow &#8212; from the workstation.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/216/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/216/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/216/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=216&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/12/04/programming-languages-in-a-nutshell/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Why you should conditionally promise to buy the upcoming Nokia N810 tablet</title>
		<link>http://hircus.wordpress.com/2007/10/17/why-you-should-conditionally-promise-to-buy-the-upcoming-nokia-n810-tablet/</link>
		<comments>http://hircus.wordpress.com/2007/10/17/why-you-should-conditionally-promise-to-buy-the-upcoming-nokia-n810-tablet/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 03:57:22 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[FLOSS]]></category>

		<category><![CDATA[Gadgets]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[maemo]]></category>

		<category><![CDATA[multimedia]]></category>

		<category><![CDATA[Nokia]]></category>

		<category><![CDATA[ogg-vorbis]]></category>

		<category><![CDATA[petitions]]></category>

		<category><![CDATA[pledges]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/10/17/why-you-should-conditionally-promise-to-buy-the-upcoming-nokia-n810-tablet/</guid>
		<description><![CDATA[

It looks gorgeous
It runs Linux, and showcases what can be done with more vertical integration
Nokia has been improving their interaction with the developer community
Video camera and Skype (no Skype video support yet, though)
Rhapsody subscription service
New: Now with GPS, spacious internal storage, and sliding keyboard built-in!
New: More video codecs, Flash 9, Mozilla-based browser

So commercial software providers [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://farm3.static.flickr.com/2301/1599334793_fcb8a41497.jpg" alt="Nokia N810 tablet" /></p>
<ul>
<li>It looks gorgeous</li>
<li>It runs Linux, and showcases what can be done with more vertical integration</li>
<li>Nokia has been improving their interaction with the developer community</li>
<li>Video camera and Skype (no Skype video support yet, though)</li>
<li>Rhapsody subscription service</li>
<li>New: Now with GPS, spacious internal storage, and sliding keyboard built-in!</li>
<li>New: More video codecs, Flash 9, Mozilla-based browser</li>
</ul>
<p>So commercial software providers (Skype, Real Networks) will provide Linux ports if they judge that the userbase is big enough. Which is good news.</p>
<p>The same thing applies to Nokia itself, naturally, and sadly in this case, <a href="http://jaaksi.blogspot.com/2007/10/nokia-n810-announced.html#5850386669965110378">they do not think there is demand for Ogg Vorbis playback</a>.</p>
<p>So if, like me, you find the product attractive, but have a personal collection of Ogg Vorbis files (or FLAC, which transcodes seamlessly to Vorbis), then this is what you can do:</p>
<ul>
<li>E-mail Nokia about it</li>
<li>Inform outlets that stock the tablet (e.g. Best Buy, CompUSA)</li>
<li>Sign <a href="http://www.pledgebank.com/nokia-ogg">this pledge</a> and pass it around</li>
</ul>
<p>All the software for the new device (minus GPS &#8212; though perhaps it&#8217;s the same software that comes with the GPS kit for N800? Oh, and the ambient light sensor) will run on the N800, so holding back won&#8217;t be <strong>that</strong> painful.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/215/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/215/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/215/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=215&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/10/17/why-you-should-conditionally-promise-to-buy-the-upcoming-nokia-n810-tablet/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2301/1599334793_fcb8a41497.jpg" medium="image">
			<media:title type="html">Nokia N810 tablet</media:title>
		</media:content>
	</item>
		<item>
		<title>Wide Finder: OCaml and JoCaml</title>
		<link>http://hircus.wordpress.com/2007/10/17/wide-finder-ocaml-and-jocaml/</link>
		<comments>http://hircus.wordpress.com/2007/10/17/wide-finder-ocaml-and-jocaml/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 17:40:48 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[ML]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/10/17/wide-finder-ocaml-and-jocaml/</guid>
		<description><![CDATA[Spent last night getting a crash course in using OCaml to do non-functional things (hash tables, file I/O, regular expressions) and the result is now up.
The JoCaml version does the file-partitioning trick used in the C++ implementation, with each finder workers being run inside a JoCaml channel; the channels share a single lock so they [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Spent last night getting a crash course in using OCaml to do non-functional things (hash tables, file I/O, regular expressions) and the result <a href="http://hircus.org/widefinder/widefinder-ml.tar.bz2">is now up</a>.</p>
<p>The JoCaml version does the file-partitioning trick used in the C++ implementation, with each finder workers being run inside a JoCaml channel; the channels share a single lock so they can update the hash table serially.</p>
<p>Interestingly, current implementation does not get a speed-up from the input file being cached (Ilmari&#8217;s <a href="http://fhtr.blogspot.com/2007/10/wide-finder-ocaml.html">wf.ml</a> does). Will have to peruse his to see what&#8217;s slowing things down.</p>
<p>Lesson: not all techniques for processing a file line-wise are equally good!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/214/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/214/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/214/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=214&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/10/17/wide-finder-ocaml-and-jocaml/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Wide Finder: C++ update</title>
		<link>http://hircus.wordpress.com/2007/10/16/wide-finder-c-update/</link>
		<comments>http://hircus.wordpress.com/2007/10/16/wide-finder-c-update/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 21:15:21 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/10/16/wide-finder-c-update/</guid>
		<description><![CDATA[Talked with a colleague about the slow single-threaded performance of my Wide Finder implementation, and we narrowed it down to two possibilities:

Boost regular expression is not compiled?
C++ strings have higher overhead than null-terminated c_str

First point can be ruled out: Boost compiles regular expressions when you assign them. Second point &#8212; well, reading in the file [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Talked with a colleague about the slow single-threaded performance of my Wide Finder implementation, and we narrowed it down to two possibilities:</p>
<ul>
<li>Boost regular expression is not compiled?</li>
<li>C++ strings have higher overhead than null-terminated <tt>c_str</tt></li>
</ul>
<p>First point can be ruled out: Boost compiles regular expressions when you assign them. Second point &#8212; well, reading in the file using <tt>std::getline</tt> turns out to consume the bulk of time.</p>
<p>I&#8217;ve reorganized the code a bit, using a multimap rather than a vector to rank the URLs by count, with no effect on speed. With two and four threads on a dual-core Intel notebook, the performance is at least on par with Ruby.</p>
<p><a href="http://girtby.net/archives/2007/10/9/wide-finder-in-c">Alastair Rankine</a> has a C++ implementation that is slightly faster, but uses Boost memory-mapped IO that I avoided for the same reason he put as caveat: that it will not scale to files that are too large. Which Tim&#8217;s log file might well be. Again, that is not significantly faster than the Ruby code.</p>
<p>Moral of the question: Perl and Ruby can be faster than C++! The C implementations out there are blindingly fast, but the way they do regular expression handling are really painful.</p>
<p>Will turn my (limited) spare time to doing a clean JoCaml implementation &#8212; it might not be faster but it definitely will look cleaner!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/213/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/213/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/213/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=213&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/10/16/wide-finder-c-update/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>JoCaml</title>
		<link>http://hircus.wordpress.com/2007/10/15/jocaml/</link>
		<comments>http://hircus.wordpress.com/2007/10/15/jocaml/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 23:36:20 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[ML]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/10/15/jocaml/</guid>
		<description><![CDATA[After turning in the C/C++ monster (cleanest C code I reckon it is possible to write, thus the total lack of memory-mapped I/O and other optimizations), I turned my attention to picking a better implementation language.
Requirements:

Functional
Good support for threading
If possible, support for distributed computing

As it turns out, JoCaml fits the bill perfectly. It&#8217;s an extension [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>After turning in the C/C++ monster (cleanest C code I reckon it is possible to write, thus the total lack of memory-mapped I/O and other optimizations), I turned my attention to picking a better implementation language.</p>
<p>Requirements:</p>
<ul>
<li>Functional</li>
<li>Good support for threading</li>
<li>If possible, support for distributed computing</li>
</ul>
<p>As it turns out, JoCaml fits the bill perfectly. It&#8217;s an extension of Ocaml, so it combines a rich library with a familiar syntax (not to me, but having used both Scheme and Haskell, how different can it be) &#8212; and a very nice process calculus!</p>
<p>Example: this is a concurrent stack that blocks if there is no input available</p>
<blockquote><p>
let new_stack () =<br />
  def state (s) &amp; push (v) = state (v::s) &amp; reply to push<br />
    or state (x::s) &amp; pop () = state s &amp; reply x to pop in<br />
  spawn state([]);<br />
  pop, push<br />
;;
</p></blockquote>
<p>This defines a private <tt>state</tt> channel, and then export the <tt>pop</tt> and <tt>push</tt> synchronous channels (that to the user behave just like ordinary functions)</p>
<p>and this is how you use it:</p>
<blockquote><p>
let pop, push = new_stack ();;<br />
spawn echo(pop());;<br />
push(1);;
</p></blockquote>
<p>Note that the <tt>echo</tt> channel will block, since pop can&#8217;t return a value until the stack contains something! This value is then pushed into the stack and &#8216;1&#8242; printed.</p>
<p>More of this at the <a href="http://jocaml.infria.fr/">JoCaml site</a>. And, as it turns out, there already is <a href="http://fhtr.blogspot.com/2007/10/wide-finder-ocaml.html">a JoCaml implementation of the Wide Finder</a>, by Ilmari Heikkinen. Will have to grok the finer details from him.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/212/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/212/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/212/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=212&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/10/15/jocaml/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Tim Bray&#8217;s Wide Finder: a minimalist implementation</title>
		<link>http://hircus.wordpress.com/2007/10/12/tim-brays-wide-finder-a-minimalist-implementation/</link>
		<comments>http://hircus.wordpress.com/2007/10/12/tim-brays-wide-finder-a-minimalist-implementation/#comments</comments>
		<pubDate>Fri, 12 Oct 2007 23:45:21 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[boost]]></category>

		<category><![CDATA[c++]]></category>

		<category><![CDATA[pthreads]]></category>

		<category><![CDATA[tim-bray]]></category>

		<category><![CDATA[wide-finder]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/10/12/tim-brays-wide-finder-a-minimalist-implementation/</guid>
		<description><![CDATA[Several weeks ago, Tim Bray posted his Wide Finder project: take the Ruby script that parses an Apache log file and report the top 10 hits, and parallelize it in your language of choice.
It occurred to me a while back that this is a perfect job for a C multi-process program, taking advantage of Linux&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Several weeks ago, Tim Bray posted his Wide Finder project: take the Ruby script that parses an Apache log file and report the top 10 hits, and parallelize it in your language of choice.</p>
<p>It occurred to me a while back that this is a perfect job for a C multi-process program, taking advantage of Linux&#8217;s cheap copy-on-write <tt>fork</tt>, if not for the need to merge the result. So it would probably be easier to write it using the <tt>pthreads</tt> library instead. One would want to reduce inter-thread communication as much as possible, though.</p>
<p>I did not have time to touch the code until today, but now it&#8217;s done. Two key insights:</p>
<ul>
<li>The input file can be partitioned cleanly into multiple chunks of roughly identical sizes without communication, as long as each thread follows the same protocol. i.e. a common chunk size is used, and all but the first thread needs to check if the character before their starting offset is the end-of-line. If not, they need to skip until the end of line, yielding that line to the previous thread.</li>
<li>When merging the hash maps, the first thread to acquire the lock does not need to insert its items one by one, but can just set the main hash map to point to its own</li>
</ul>
<p>On a data set size of 200MB, with a single thread, performs slightly slower as Ruby by wall clock:</p>
<p>Ruby timing<br />
<code><br />
2.99user 1.88system 0:05.26elapsed 92%CPU (0avgtext+0avgdata 0maxresident)k<br />
152inputs+0outputs (3major+853minor)pagefaults 0swaps<br />
3.04user 1.84system 0:05.33elapsed 91%CPU (0avgtext+0avgdata 0maxresident)k<br />
0inputs+0outputs (0major+856minor)pagefaults 0swaps<br />
2.84user 2.01system 0:05.19elapsed 93%CPU (0avgtext+0avgdata 0maxresident)k<br />
0inputs+0outputs (0major+856minor)pagefaults 0swaps<br />
</code></p>
<p>C++ timing, one thread<br />
<code><br />
2.70user 5.21system 0:07.95elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k<br />
0inputs+0outputs (0major+655minor)pagefaults 0swaps<br />
2.78user 5.14system 0:07.96elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k<br />
0inputs+0outputs (0major+655minor)pagefaults 0swaps<br />
2.72user 5.12system 0:07.90elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k<br />
0inputs+0outputs (0major+654minor)pagefaults 0swaps<br />
</code></p>
<p>With two threads, though, it runs faster, almost at Ruby speed.</p>
<p>C++ timing, two threads<br />
<code><br />
3.33user 5.40system 0:05.51elapsed 158%CPU (0avgtext+0avgdata 0maxresident)k<br />
0inputs+0outputs (0major+675minor)pagefaults 0swaps<br />
3.40user 5.33system 0:05.86elapsed 148%CPU (0avgtext+0avgdata 0maxresident)k<br />
0inputs+0outputs (0major+672minor)pagefaults 0swaps<br />
3.41user 5.36system 0:05.60elapsed 156%CPU (0avgtext+0avgdata 0maxresident)k<br />
0inputs+0outputs (0major+674minor)pagefaults 0swaps<br />
</code></p>
<p>So, as Tim observed, the problem is not entirely IO-bound. More testing is needed, but will probably need to be done on a machine with faster IO (and more CPUs). Like Tim&#8217;s new Niagara T2 testbed.</p>
<p>Will edit this post later &#8212; need to run now, and wanted to get this out as soon as possible. Code is available  <a href="http://hircus.org/widefinder/">here</a>&#8230; now I just need to find Tim&#8217;s email, since his blog is down. Argh!</p>
<p><b>Update:</b> switched to the new <tt>std::tr1::unsorted_map</tt>. Performance seems identical with a single thread, but slightly higher (within margin of error) on two threads &#8212; which makes sense: a multithreaded run exercises the map more, because each thread&#8217;s map has to be merged into the final map.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/211/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/211/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/211/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=211&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/10/12/tim-brays-wide-finder-a-minimalist-implementation/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Silverlight for Linux. And it&#8217;s open source!</title>
		<link>http://hircus.wordpress.com/2007/09/07/silverlight-for-linux-and-its-open-source/</link>
		<comments>http://hircus.wordpress.com/2007/09/07/silverlight-for-linux-and-its-open-source/#comments</comments>
		<pubDate>Fri, 07 Sep 2007 14:28:27 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Adobe]]></category>

		<category><![CDATA[Browsing]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Mono]]></category>

		<category><![CDATA[Novell]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/09/07/silverlight-for-linux-and-its-open-source/</guid>
		<description><![CDATA[As reported by Linux Weekly News, Microsoft has just announced version 1.0 of their Adobe Flash competitor, Silverlight.
An interesting development is that they are also working with Novell to bring the technology to Linux (to be known as Moonlight). Moonlight supposedly will be GPL&#8217;ed, with the exception of the binary codecs needed for playback of [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As <a href="http://lwn.net/Articles/248198/">reported</a> by Linux Weekly News, Microsoft has just <a href="http://www.prnewswire.com/cgi-bin/stories.pl?ACCT=104&amp;STORY=/www/story/09-05-2007/0004656397&amp;EDATE=">announced</a> version 1.0 of their Adobe Flash competitor, Silverlight.</p>
<p>An interesting development is that they are also working with Novell to bring the technology to Linux (to be known as Moonlight). Moonlight supposedly <a href="http://lwn.net/Articles/248685/">will be GPL&#8217;ed</a>, with the exception of the binary codecs needed for playback of proprietary Windows Media formats.</p>
<p>So Linux is still a second-hand citizen (version 1.0 is out, and development on the Linux port is just announced?), but this might be interesting for those of us (read: most Linux desktop users) that have been waiting for a decent Flash playback (forget authoring) solutions. Still no x86_64 support after all these years, forcing people to stick to 32-bit browsers (or use nspluginwrapper). And unless Adobe has changed things since acquiring Macromedia, anyone who has merely used the Flash plugin is tainted and can&#8217;t work on Flash reimplementations!</p>
<p>(From this <a href="http://lwn.net/Articles/228637/">interview</a> [lwn.net] with principal developers of Swfdec and Gnash)</p>
<blockquote><p>Rob: The Adobe EULA for Flash forbids anyone who has installed their Flash tools or plugin from working on Flash technologies. This has had a chilling effect on the development of free Flash players, since a developer must either choose to decide that Adobe won&#8217;t sue them over this, or to do what Gnash does, which is a slow and inefficient, clean room, reverse engineering project.</p></blockquote>
<p>As I <a href="http://lwn.net/Articles/248748/">argued</a>, Novell would most likely require copyright assignments on contributions to Moonlight, and thus the use of GPL is not going to hinder Microsoft benefiting from community contribution (interesting, from a once anti-GPL company). The framework is conveniently written in C# as well, so it&#8217;s not going to directly benefit the Gnash and Swfdec projects (Flash), but depending on how clearly Novell marks up their code for patent-encumbrance, it could still either benefit or act as a time bomb for Flash projects..</p>
<p>Naturally, I&#8217;d still advise anyone to refrain from using Silverlight/Moonlight unless it&#8217;s being used as a container for standard (H.263/4)  codecs. WMV is an abomination dating back to the AVI days &#8212; note how most HD- and BD-DVDs are encoded in H.264, not VC-1 which is basically WMV.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/210/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/210/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/210/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=210&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/09/07/silverlight-for-linux-and-its-open-source/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Embeddable Google Maps!</title>
		<link>http://hircus.wordpress.com/2007/08/22/embeddable-google-maps/</link>
		<comments>http://hircus.wordpress.com/2007/08/22/embeddable-google-maps/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 08:55:46 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/08/22/embeddable-google-maps/</guid>
		<description><![CDATA[This is cool beyond belief. For example, here&#8217;s a map showing the ridiculousness of US-style hub-and-spoke flying arrangements (unless you book enough in advance, or pay more, to get more direct routes), if you live in a remote place like Bloomington, Indiana (as yours truly do).
Due to WordPress.com limitations, though, you&#8217;d have to check my [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This is cool beyond belief. For example, here&#8217;s a map showing the ridiculousness of US-style hub-and-spoke flying arrangements (unless you book enough in advance, or pay more, to get more direct routes), if you live in a remote place like Bloomington, Indiana (as yours truly do).</p>
<p>Due to WordPress.com limitations, though, you&#8217;d have to <a href="http://hircus.vox.com/library/post/embeddable-google-maps.html">check my personal blog</a> for it.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/209/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/209/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/209/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=209&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/08/22/embeddable-google-maps/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>The death of Salon Audiofile</title>
		<link>http://hircus.wordpress.com/2007/08/20/the-death-of-salon-audiofile/</link>
		<comments>http://hircus.wordpress.com/2007/08/20/the-death-of-salon-audiofile/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 03:41:49 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[Music]]></category>

		<category><![CDATA[Podcast]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/08/20/the-death-of-salon-audiofile/</guid>
		<description><![CDATA[Salon.com&#8217;s Audiofile, a remarkable music blog that provides regular song reviews, complete with downloads of the reviewed songs in MP3 format, closed its door last month.
The archives, thankfully, are still (largely) available. But how, pray, would you download hundreds of songs scattered over 26 pages? (one per each letter in the alphabet)
If you use Firefox [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Salon.com&#8217;s <a href="http://www.salon.com/ent/audiofile/">Audiofile</a>, a remarkable music blog that provides regular song reviews, complete with downloads of the reviewed songs in MP3 format, <a href="http://www.salon.com/opinion/walsh/salon/2007/07/13/audiofile/index.html">closed its door</a> last month.</p>
<p>The archives, thankfully, are still (largely) available. But how, pray, would you download hundreds of songs <a href="http://www.salon.com/ent/audiofile/archive_by_alpha/index.html">scattered over 26 pages</a>? (one per each letter in the alphabet)</p>
<p>If you use Firefox (and if not, you should. Not because it&#8217;s the best browser, but becaue of the add-ons), then it&#8217;s simple &#8212; look up <a href="https://addons.mozilla.org/en-US/firefox/addon/220">FlashGot</a> or <a href="https://addons.mozilla.org/en-US/firefox/addon/201">DownThemAll!</a>. The former is more configurable, I believe (you get to use your own download manager), but the latter is probably simpler to use.</p>
<p><em>Caveat lector</em>: the (rough guess) 70% or so of the songs that still have functional links total up to more than 2GB&#8217;s worth. Will probably post a Torrent link on Mininova once I tidy them up a bit.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/208/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/208/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/208/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=208&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/08/20/the-death-of-salon-audiofile/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Dear Interweb: Watching YouTube in H.264 *without* paying the Apple Tax?</title>
		<link>http://hircus.wordpress.com/2007/08/19/dear-interweb-watching-youtube-in-h264-without-paying-the-apple-tax/</link>
		<comments>http://hircus.wordpress.com/2007/08/19/dear-interweb-watching-youtube-in-h264-without-paying-the-apple-tax/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 03:46:20 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Dear Interweb]]></category>

		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/08/19/dear-interweb-watching-youtube-in-h264-without-paying-the-apple-tax/</guid>
		<description><![CDATA[Dear Interweb,
I&#8217;ve heard this great news [apple.com] that Google is transcoding its videos to high-quality MP4 format for AppleTV and iPhone users. To my surprise (and disappointment), however, there are no instructions on how to use it from non-Apple devices (or even a non-appliance Mac).
 
I have been to YouTube Mobile, and as reported by [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Dear Interweb,</p>
<p>I&#8217;ve heard this <a href="http://www.apple.com/pr/library/2007/06/20youtube.html">great news</a> [apple.com] that Google is transcoding its videos to high-quality MP4 format for AppleTV and iPhone users. To my surprise (and disappointment), however, there are no instructions on how to use it from non-Apple devices (or even a non-appliance Mac).</p>
<p><iframe src='http://digg.com/api/diggthis.php?u=http%3A%2F%2Fdigg.com%2Fapple%2FA_Dear_Interweb_query_by_a_Google_Tech_Talks_fan' height='82' width='55' frameborder='0' scrolling='no' style='float: right; margin-left: 10px; margin-bottom: 5px; padding: 4px 0 2px 4px; background: #fff;'></iframe> </p>
<p>I have been to <a href="http://www.apple.com/pr/library/2007/06/20youtube.html">YouTube Mobile</a>, and as <a href="http://www.allaboutsymbian.com/news/item/5470_YouTube_H264_windfall_to_benef.php">reported by jukkaeklund</a> [allaboutsymbian.com] the video available to other mobile users (or PC users who use the URL) are still H.263, though in a saner container than those horrible FLVs. Not all the videos are there too.</p>
<p>Is Google giving Apple preferential treatment? Is Google becoming like the IBM of the past, with balkanized teams not coordinating with each other? (Hope not). Funny thing is, <a href="http://www.youtube.com/watch?v=4XpnKHJAok8">the video that motivated this question</a> was a Linus Torvalds tech talk at Google, on distributed SCM. Unlike earlier Tech Talk videos hosted on Google Video, this one is on YouTube only &#8212; meaning no decent-quality downloads!</p>
<p>I can imagine even ordinary Mac users (as opposed to those on the consumer appliances) getting disappointed at this. They have paid the Apple Tax already, after all.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/207/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/207/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/207/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=207&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/08/19/dear-interweb-watching-youtube-in-h264-without-paying-the-apple-tax/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>USPTO and Microsoft&#8217;s patent FUD: an incentives-based solution</title>
		<link>http://hircus.wordpress.com/2007/05/13/uspto-and-microsofts-patent-fud-an-incentives-based-solution/</link>
		<comments>http://hircus.wordpress.com/2007/05/13/uspto-and-microsofts-patent-fud-an-incentives-based-solution/#comments</comments>
		<pubDate>Mon, 14 May 2007 04:47:47 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Legal]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/05/13/uspto-and-microsofts-patent-fud-an-incentives-based-solution/</guid>
		<description><![CDATA[As Linux Weekly News reports, Microsoft&#8217;s general counsel has intensified the company&#8217;s sabre-rattling against Open Source projects, this time putting numbers on the alleged patent infringements in the Linux kernel, desktop projects and Open Office.
Conveniently left out is the one-sidedness of this smear campaign. Microsoft could take all their time to look at open-sourced code, [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As <a href="http://lwn.net/Articles/234150/">Linux Weekly News</a> reports, Microsoft&#8217;s general counsel has intensified the company&#8217;s sabre-rattling against Open Source projects, this time putting numbers on the alleged patent infringements in the Linux kernel, desktop projects and Open Office.</p>
<p>Conveniently left out is the one-sidedness of this smear campaign. Microsoft could take all their time to look at open-sourced code, but on the other hand, Microsoft&#8217;s code is sacrosanct. One wonders if Microsoft&#8217;s &#8220;Shared Source&#8221; licenses and EULAs allows the licensee to sue Microsoft for patent violation? One would suspect otherwise.</p>
<p>The patent system is broken. And it&#8217;s a matter of incentives. As I <a href="http://lwn.net/Articles/234164/">wrote in response</a>, <a href="http://www.uspto.gov/">the US Patent and Trademark Office</a> grants overly-broad patents without checking carefully for prior art. Thus Microsoft&#8217;s claim is probably true in a very twisted way: nobody can write anything meaningful without violating some patent that one of the big tech companies (IBM, Sun, Microsoft, etc.) holds. Any company with a legal team worth their salt would play the system and file for as many patents as they can, no matter how dubious. Some even <a href="http://www.unwiredview.com/2007/01/16/apples-iphone-is-it-really-well-protected-by-patents/">boast about it</a> (Steve Jobs, about Apple&#8217;s iPhone). The culprit is thus the patent system, not the owners of the dubious patents (who are ethically responsible to their shareholders only. Corporate law is also very flawed, but that&#8217;s the subject of another post), and certainly not the authors of the infringing software.</p>
<p>Regardless of whether software patents is a good idea or not (I personally think it&#8217;s not), the USPTO and Congress have a serious conflict-of-interest problem here. Granting more patents earn them more money, and examining patent applications carefully cost them money. Plus, they don&#8217;t lose anything for patents that are overturned. The Justice department should charge USPTO for the time wasted by patent challenges, if the patent ends up overturned because of USPTO&#8217;s fault. That way they&#8217;d have an incentive to be more careful.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/206/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/206/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/206/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=206&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/05/13/uspto-and-microsofts-patent-fud-an-incentives-based-solution/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft-Yahoo rumours resurface</title>
		<link>http://hircus.wordpress.com/2007/05/04/microsoft-yahoo-rumours-resurface/</link>
		<comments>http://hircus.wordpress.com/2007/05/04/microsoft-yahoo-rumours-resurface/#comments</comments>
		<pubDate>Fri, 04 May 2007 22:50:52 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Companies]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/05/04/microsoft-yahoo-rumours-resurface/</guid>
		<description><![CDATA[From New York Post, via Monsters and Critics:
According to the New York Post, Microsoft is asking Yahoo to re-enter formal talks in order to finalize a merger of the two companies. This move was attempted in the past just shortly after Google emerged, but in the end went nowhere. After the huge loss last month [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>From <em>New York Post</em>, via <a href="http://tech.monstersandcritics.com/news/article_1300361.php/Microsoft_looks_to_enter_formal_talks_in_order_to_buy_Yahoo">Monsters and Critics</a>:</p>
<blockquote><p>According to the New York Post, Microsoft is asking Yahoo to re-enter formal talks in order to finalize a merger of the two companies. This move was attempted in the past just shortly after Google emerged, but in the end went nowhere. After the huge loss last month to Google over the DoubleClick purchase, Microsoft is intensifying their plans to acquire Yahoo.
</p></blockquote>
<p>This is disturbing. Yahoo has traditionally been quite open-source friendly (Yahoo! Toolbar is available for Firefox, their AJAX library is open-sourced, and they even produced a Linux client of Yahoo Messenger, long time ago &#8212; it still works, though not updated), or at any rate, more platform-agnostic.</p>
<p>Of the three companies, Yahoo Messenger supports OS X on par with Windows, with Linux being an afterthought, while Microsoft&#8217;s Messenger client is a joke on a Mac, and GTalk .. is currently Windows-only (Google employs a key Pidgin developer, so now that the dispute with AOL over their old name, Gaim, has been settled, hopefully audio chat support will be coming to the free Unices (and OS X) soon.</p>
<p>What will a Microsoft buy-out entail? First of all, presumably the downgrading of Mac support (look at Virtual PC, or IE for Mac). Microsoft would cancel a product that&#8217;s making them money (VPC), and forbid the use of home editions of Vista under virtualization, to sabotage Mac interoperability, while at the same time <a href="http://www.macrumors.com/2007/05/01/microsoft-silverlight-supports-ie-safari-and-firefox/">offer (read: promise) a free version of their Flash competitor Silverlight</a> for the platform (not authoring tools, naturally. Everyone knows digital artists &lt;<em>prefers</em>&gt; working in Windows). Imagine the fate of Yahoo Messenger, what with Apple aggressively pushing iChat into the corporate market. Microsoft will probably calculate that they are better served undermining OS X&#8217;s viability as a business platform, at the expense of a miniscule loss of marketshare.</p>
<p>So we in the FLOSS world are in this unconfortable situation of hitching our wagons to Google as the lesser of the two evils (despite privacy concerns). I&#8217;m personally using GTalk (through Pidgin) at least until Jabber becomes the established IM protocol standard, but if anyone has a suggestion for a good non-big-3 search engine, I&#8217;m definitely considering putting my eggs in more baskets.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/205/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/205/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/205/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=205&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/05/04/microsoft-yahoo-rumours-resurface/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Vista is a failure, but is Microsoft doomed?</title>
		<link>http://hircus.wordpress.com/2007/04/23/vista-is-a-failure-but-is-microsoft-doomed/</link>
		<comments>http://hircus.wordpress.com/2007/04/23/vista-is-a-failure-but-is-microsoft-doomed/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 15:27:49 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Companies]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/04/23/vista-is-a-failure-but-is-microsoft-doomed/</guid>
		<description><![CDATA[The Inquirer would have you think so (Microsoft admits Vista failure). Dell has bowed to the lack of consumer enthusiasm about Vista (especially those laptop users dismayed at power management issues, but people whose applications suddenly break won&#8217;t be amused either), reinstating Windows XP availability on their customer line-ups. This is, at best, a grace [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The Inquirer would have you think so (<a href="http://www.theinquirer.net/default.aspx?article=39087">Microsoft admits Vista failure</a>). Dell has bowed to the lack of consumer enthusiasm about Vista (especially those laptop users dismayed at power management issues, but people whose applications suddenly break won&#8217;t be amused either), reinstating Windows XP availability on their customer line-ups. This is, at best, a grace period of one year, since Microsoft currently plans to stop XP sales entirely in 2008.</p>
<p>They have a point there. I have a problem with their assertion that <a href="http://news.com.com/Microsoft+aims+to+reach+next+billion+PC+users/2100-1003_3-6177431.html">the $3 Windows edition</a>&nbsp;is another admission of failure. True, the stronger anti-piracy controls on Vista means that Microsoft&#8217;s closing one eye on piracy no longer reduces Linux&#8217;s price advantage as much. But there&#8217;s the point of government tie-in: to be eligible for the cheap Windows licenses, governments have to step in and subsidize the hardware!</p>
<p>So Microsoft might have a weakened hold on its current OEMs, but it is hoping to gain <em>entire countries</em> as new clients. In which case the price drop cannot be compared against the full price of Windows, but what Dell, HP etc. gets charged (less than $50 a piece, I&#8217;m sure). An order of magnitude less. Which is a side issue &#8212; Microsoft is not currently gaining anything from those pirated copies anyway (apart from mindshare). The main worry is that another generation will be locked into Microsoft products, and want to bet there&#8217;s a clause in the fine print promoting the so-called Open XML over Open Doc?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/204/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/204/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/204/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=204&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/04/23/vista-is-a-failure-but-is-microsoft-doomed/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>HP, HP, lama sabachthani?</title>
		<link>http://hircus.wordpress.com/2007/04/14/hp-hp-lama-sabachthani/</link>
		<comments>http://hircus.wordpress.com/2007/04/14/hp-hp-lama-sabachthani/#comments</comments>
		<pubDate>Sun, 15 Apr 2007 00:41:29 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Companies]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/04/14/hp-hp-lama-sabachthani/</guid>
		<description><![CDATA[There was a Slashdot story a few weeks ago, on HP voiding your warranty if you install Linux. Linux geeks responded with an outrage, predictably, claiming that ever since CRT monitors come with safeguards that prevent the screen being fried through out-of-range settings, there is no way that a piece of software could destroy a [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There was a Slashdot story a few weeks ago, on <a href="http://linux.slashdot.org/article.pl?sid=07/03/27/1753218">HP voiding your warranty if you install Linux</a>. Linux geeks responded with an outrage, predictably, claiming that ever since CRT monitors come with safeguards that prevent the screen being fried through out-of-range settings, there is no way that a piece of software could destroy a hardware, and even if that&#8217;s the case, then it&#8217;s a bug in the hardware design itself.</p>
<p>In the case of the woman mentioned in the story, Linux is clearly not at fault &#8212; the keyboard was just broken, and the tech support person was too clueless (or the support regulations structured in such a way) to notice. However, there could be valid cases where the combination of crappy hardware and running Linux *would* ruin your hardware. I know, because it just happened to me.</p>
<p>The recipe is as such:</p>
<ol>
<li>Broken ACPI implementation (hello, HP! To be fair, the most recent dv2000, dv6000 and equivalent Compaq lines are probably fixed; by the lack of complaints), so that Linux&#8217;s ACPI subsystem cannot control the fan and CPU voltage properly
<li>A CPU that runs hot (first-generation &#8220;mobile&#8221; Turion 64)
<li>2 years of frequent use, tolerating occasional crashes due to overheating
<li>OMG!!! LINUKS KILLZ ME PC!!</li>
</ol>
<p>I guess the writing is on the wall when I had to remove my second memory module to keep the laptop running at all. The poor fans must be getting to&nbsp;their end of life. And today, after a&nbsp;freeze while the laptop was on battery power (previously&nbsp;almost unheard-of, it&#8217;s normally stable if running at 800 MHz, which it does when unplugged), it just never woke up again. The&nbsp;power indicators would be on,&nbsp;the optical drive would operate properly, and the AC indicator too, but apart from that, zilch. Nothing displayed to the screen, no error&nbsp;beep, nothing.</p>
<p>One begins to wonder whether&nbsp;the&nbsp;buggy Microsoft ACPI AML compiler&nbsp;was actually intentionally buggy. After all, if you load Windows onto your machine&nbsp;&#8221;as it is intended&#8221;, you&#8217;ll be using a Microsoft-written AML interpreter, and everything would be just fine. If you use the Intel reference AML interpreter, well, &#8230; Very disturbing indeed. The same way Microsoft abused its IE market share by intentionally not making it standards-compliant, making life a nightmare for web designers and thus the easy way out is to only support IE ..</p>
<p>RIP, HP L2000 &#8220;Lance Armstrong special edition&#8221;. It&#8217;s ironic that a record winner of an endurance cycling race, who also happens to be a cancer survivor, would lend his name to a buggy laptop with poor noise insulation and heat issues that didn&#8217;t even last two years. I was planning to replace it with an HP dv2000t once the Santa Rosa models are out (late April &#8212; early May), but after this, I wonder. I&#8217;ve never had a laptop dying on me before; my previous write-offs are either due to inexpert disassembly (Vaio C1) or drop damage (Vaio C140). Perhaps I&#8217;ll get a Macbook after all, though my Apple purchasing track record is notoriously bad (I&#8217;d buy just before a new model is launched &#8211;&nbsp;I&nbsp;barely managed to cancel a Dell laptop purchase when the Powerbook G4 12&#8243; was released, and I jumped the gun and bought the Sony C140 &#8212; now with a broken LCD &#8212; and before it even arrived, the Core 2 Macbooks came out).</p>
<p>Could I wait this time for the don&#8217;t-know-when Santa Rosa? Come on, Apple, update the line before Leopard comes out!</p>
<p><b>Update</b> - <i>2007/04/16</i> - OSnews has an article on <a href="http://www.osnews.com/story.php/17689/Bill-Gates-on-Making-ACPI-Not-Work-with-Linux/">a Bill Gates memo showing Microsoft&#8217;s intention to cripple ACPI</a>. You&#8217;re not paranoid if people really are out to get you! And shame on that abusive monopolist &#8212; this is straight out of The Corporate, folks. It figures that after screwing over DR-DOS in a very similar way, they&#8217;d try the same trick again.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/203/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/203/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/203/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=203&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/04/14/hp-hp-lama-sabachthani/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Les médias français, qui ne comprennent pas la compatibilité de croix-plateforme</title>
		<link>http://hircus.wordpress.com/2007/04/01/les-medias-francais-qui-ne-comprennent-pas-la-compatibilite-de-croix-plateforme/</link>
		<comments>http://hircus.wordpress.com/2007/04/01/les-medias-francais-qui-ne-comprennent-pas-la-compatibilite-de-croix-plateforme/#comments</comments>
		<pubDate>Mon, 02 Apr 2007 01:07:21 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/04/01/les-medias-francais-qui-ne-comprennent-pas-la-compatibilite-de-croix-plateforme/</guid>
		<description><![CDATA[Periodically, I&#8217;d scour the Internet for French-language streaming media broadcast. Unfortunately, despite the European Commission&#8217;s much-publicized anti-trust case against Microsoft, and the French&#8217;s famously anti-American attitude, when it comes to Internet broadcasting they are all in hock to Microsoft.
Case in point: France 24, the French answer to CNN and BBC. While most Anglo-American site would [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Periodically, I&#8217;d scour the Internet for French-language streaming media broadcast. Unfortunately, despite the European Commission&#8217;s much-publicized anti-trust case against Microsoft, and the French&#8217;s famously anti-American attitude, when it comes to Internet broadcasting they are all in hock to Microsoft.</p>
<p>Case in point: <a href="http://www.france24.com/">France 24</a>, the French answer to CNN and BBC. While most Anglo-American site would at least offer you a choice between Real and Windows Media (I don&#8217;t see QuickTime used much), most French sites, including the aforementioned, serves only WMV. This, at a time where the BBC is even sponsoring the development of an open-source video codec, <a href="http://en.wikipedia.org/wiki/Dirac_(codec)">Dirac</a> [wikipedia.org].</p>
<p>The site&#8217;s design also feels rather sluggish, and the aspect ratio is wrong unless you go full-screen. <i>Alors&#8230; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </i></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/201/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/201/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/201/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=201&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/04/01/les-medias-francais-qui-ne-comprennent-pas-la-compatibilite-de-croix-plateforme/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Death threats are not cool</title>
		<link>http://hircus.wordpress.com/2007/03/26/death-threats-are-not-cool/</link>
		<comments>http://hircus.wordpress.com/2007/03/26/death-threats-are-not-cool/#comments</comments>
		<pubDate>Tue, 27 Mar 2007 03:48:17 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/03/26/death-threats-are-not-cool/</guid>
		<description><![CDATA[Found out from Maírín Duffy&#8217;s post that Kathy Sierra, of Creating Passionate Users, have been receiving death threats.
This saddened me greatly, that the Internet&#8217;s perceived anonymity is freedom of speech is used as an opportunity for making such hateful, vitriolic (and in this case, illegal) speech.
Having found out about Kathy&#8217;s amazing blog not too long [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Found out from <a href="http://mihmo.livejournal.com/40059.html">Maírín Duffy&#8217;s post</a> that Kathy Sierra, of <a href="http://headrush.typepad.com/"><em>Creating Passionate Users</em></a>, <a href="http://headrush.typepad.com/creating_passionate_users/2007/03/as_i_type_this_.html">have been receiving death threats</a>.</p>
<p>This saddened me greatly, that the Internet&#8217;s perceived anonymity is freedom of speech is used as an opportunity for making such hateful, vitriolic (and in this case, illegal) speech.</p>
<p>Having found out about Kathy&#8217;s amazing blog not too long ago from <a href="http://direct2dell.com/one2one/archive/2007/03/19/8881.aspx">Simon Menchaca&#8217;s Direct2Dell post on the SXSW conference</a>, I can only hope she won&#8217;t be deterred from posting for long.</p>
<p>Kathy, if you&#8217;re reading this (Trackback magic!), please don&#8217;t give up. Some people just cannot handle your success; precisely why you should not give in. Hopefully they will be cowed by the fact that the police is taking this seriously, and won&#8217;t bother you again.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/200/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/200/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/200/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=200&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/03/26/death-threats-are-not-cool/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Laptop overheating solved</title>
		<link>http://hircus.wordpress.com/2007/02/27/laptop-overheating-solved/</link>
		<comments>http://hircus.wordpress.com/2007/02/27/laptop-overheating-solved/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 17:01:25 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/02/27/laptop-overheating-solved/</guid>
		<description><![CDATA[My L2000 laptop has been experiencing random lock-ups under Linux for a long time; I&#8217;ve been attributing it to kernel issues (ACPI, APIC, sound and network drivers) because said lock-ups do not occur under Windows.
As it turns out, removing one of the two memory modules seems to have solved the problem (more than two days&#8217; [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My L2000 laptop has been experiencing random lock-ups under Linux for a long time; I&#8217;ve been attributing it to kernel issues (ACPI, APIC, sound and network drivers) because said lock-ups do not occur under Windows.</p>
<p>As it turns out, removing one of the two memory modules seems to have solved the problem (more than two days&#8217; worth of almost continuous running and no crash yet!). The comparative vulnerability to overheating is still disturbing, considering Linux is quite aggressive in turning on the fan &#8212; perhaps it&#8217;s due to Linux&#8217;s more aggressive use of available physical RAM: if the other memory module is less well-cooled (the remaining memory stick is 1GB and wider than the 512 Mb I took out) it might be more likely to start randomly flipping bits.</p>
<p>Considering the laptop is certified for up to 2&#215;1GB sticks, it is still a bit disturbing. Perhaps HP fits smaller-sized sticks if someone requested the maximum amount of RAM..</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hircus.wordpress.com/199/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hircus.wordpress.com/199/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hircus.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hircus.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hircus.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hircus.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hircus.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hircus.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hircus.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hircus.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hircus.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hircus.wordpress.com/199/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hircus.wordpress.com&blog=561873&post=199&subd=hircus&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hircus.wordpress.com/2007/02/27/laptop-overheating-solved/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/hircus-128.jpg" medium="image">
			<media:title type="html">hircus</media:title>
		</media:content>
	</item>
		<item>
		<title>Wireless goodness</title>
		<link>http://hircus.wordpress.com/2007/02/24/wireless-goodness/</link>
		<comments>http://hircus.wordpress.com/2007/02/24/wireless-goodness/#comments</comments>
		<pubDate>Sat, 24 Feb 2007 18:30:58 +0000</pubDate>
		<dc:creator>hircus</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hircus.wordpress.com/2007/02/24/wireless-goodness/</guid>
		<description><![CDATA[Buffalo WHR-HP-G54 Wireless-G MIMO Performance Router and Access Point
At our apartment we&#8217;ve been struggling recently with our old Linksys WRT54GC &#8212; we bought it almost two years ago for its size (costs the same as the full-sized WRT54G which has two antennas, but is as big as Apple&#8217;s Airport Express), but came to regret it [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.amazon.com/gp/product/B000AOKTJ8?ie=UTF8&amp;tag=michelsmusing-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000AOKTJ8">Buffalo WHR-HP-G54 Wireless-G MIMO Performance Router and Access Point</a><img src="http://www.assoc-amazon.com/e/ir?t=michelsmusing-20&amp;l=as2&amp;o=1&amp;a=B000AOKTJ8" width="1" height="1" border="0" alt="" style="border:none !important;margin:0 !important;" /></p>
<p>At our apartment we&#8217;ve been struggling rec