<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>z0d's blog</title>
	<atom:link href="http://pbarabas.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pbarabas.wordpress.com</link>
	<description>Nothing is good enough</description>
	<lastBuildDate>Fri, 15 Apr 2011 15:27:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='pbarabas.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/2a88227fbbf66e718a77fb7aabce6b76?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>z0d's blog</title>
		<link>http://pbarabas.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://pbarabas.wordpress.com/osd.xml" title="z0d&#039;s blog" />
	<atom:link rel='hub' href='http://pbarabas.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Pro tip of the day</title>
		<link>http://pbarabas.wordpress.com/2011/04/15/pro-tip-of-the-day/</link>
		<comments>http://pbarabas.wordpress.com/2011/04/15/pro-tip-of-the-day/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 14:58:34 +0000</pubDate>
		<dc:creator>pbarabas</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">https://pbarabas.wordpress.com/?p=83</guid>
		<description><![CDATA[Just saw on Twitter: &#8220;C++ Tip: Avoid the blame for bugs by placing all your code in namespaces named after other programmers on your team.&#8221; It&#8217;s not only the privilege of C++ coders: you can use it in any language which supports multiple namespaces. Time to amaze your colleagues! Filed under: Programming Tagged: programming<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=83&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just saw on Twitter: &#8220;C++ Tip: Avoid the blame for bugs by placing all your code in namespaces named after other programmers on your team.&#8221;</p>
<p>It&#8217;s not only the privilege of C++ coders: you can use it in any language which supports multiple namespaces.</p>
<p>Time to amaze your colleagues!</p>
<br />Filed under: <a href='http://pbarabas.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://pbarabas.wordpress.com/tag/programming-2/'>programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pbarabas.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pbarabas.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pbarabas.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pbarabas.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pbarabas.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pbarabas.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pbarabas.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pbarabas.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pbarabas.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pbarabas.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pbarabas.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pbarabas.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pbarabas.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pbarabas.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=83&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pbarabas.wordpress.com/2011/04/15/pro-tip-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3fef416766df050120500f1ec24ac469?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pbarabas</media:title>
		</media:content>
	</item>
		<item>
		<title>blog revived in 3D</title>
		<link>http://pbarabas.wordpress.com/2011/04/13/blog-revived-in-3d/</link>
		<comments>http://pbarabas.wordpress.com/2011/04/13/blog-revived-in-3d/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 11:49:32 +0000</pubDate>
		<dc:creator>pbarabas</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">https://pbarabas.wordpress.com/?p=61</guid>
		<description><![CDATA[Woa! It was quite a long time ago since I posted anything. I even forgot I had a blog. Well, time to start&#8230; I got my hands dirty with Python &#38; OpenGL (PyOpenGL) and started reading The Red Book. It&#8217;s now much easier to write fancy programs. What took days, now takes minutes. Back in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=61&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Woa! It was quite a long time ago since I posted anything. I even forgot I had a blog. Well, time to start&#8230;</p>
<p>I got my hands dirty with Python &amp; OpenGL (PyOpenGL) and started reading The Red Book. It&#8217;s now much easier to write fancy programs. What took days, now takes minutes. Back in the days you actually had to roll your own graphics library. It went something like this:</p>
<ol>
<li>Write a routine to display a point (pixel). It&#8217;s not difficult at all, but first you have to map 3D coordinates onto the 2D display. Then you can display it on the screen (preferably by directly addressing the video memory).</li>
<li>by using your awesome point routine, you can draw a line pixel-by-pixel</li>
<li>Ok, triangles next. All objects are made up of triangles, you know that, right? Even spheres.</li>
<li>Still there? Good. Now we can create rectangles, cubes, spheres and so on. You have to build them up by using triangles. Sometimes it can be rather tedious.</li>
</ol>
<p>We used to write it in <a href="http://en.wikipedia.org/wiki/Assembly_language">Assembly</a>, which further complicated things (especially x86 Assembly, which was a pain at that time (memory segmentation, too few registers, to name a few annoyances)). But anyway after writing these pretty basic things we have our shiny new library. It&#8217;s time to start working on funny stuff like animation, texture mapping, hidden surface elimination, transformations (scaling, translation etc.), lighting, shading&#8230; The list goes on. It&#8217;s a lot of work and maths (vectors, matrices, linear algebra etc.). And we&#8217;re still not cross-platform.</p>
<p>Well, that&#8217;s it for a start.</p>
<br />Filed under: <a href='http://pbarabas.wordpress.com/category/3d/'>3D</a>, <a href='http://pbarabas.wordpress.com/category/opengl/'>OpenGL</a> Tagged: <a href='http://pbarabas.wordpress.com/tag/3d/'>3D</a>, <a href='http://pbarabas.wordpress.com/tag/blog/'>blog</a>, <a href='http://pbarabas.wordpress.com/tag/opengl/'>OpenGL</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pbarabas.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pbarabas.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pbarabas.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pbarabas.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pbarabas.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pbarabas.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pbarabas.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pbarabas.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pbarabas.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pbarabas.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pbarabas.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pbarabas.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pbarabas.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pbarabas.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=61&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pbarabas.wordpress.com/2011/04/13/blog-revived-in-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3fef416766df050120500f1ec24ac469?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pbarabas</media:title>
		</media:content>
	</item>
		<item>
		<title>A killer app for Metacity users</title>
		<link>http://pbarabas.wordpress.com/2009/01/27/a-killer-app-for-metacity-users/</link>
		<comments>http://pbarabas.wordpress.com/2009/01/27/a-killer-app-for-metacity-users/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 08:59:23 +0000</pubDate>
		<dc:creator>pbarabas</dc:creator>
				<category><![CDATA[X11]]></category>
		<category><![CDATA[devilspie]]></category>
		<category><![CDATA[metacity]]></category>
		<category><![CDATA[window-managers]]></category>
		<category><![CDATA[xorg]]></category>

		<guid isPermaLink="false">http://pbarabas.wordpress.com/?p=43</guid>
		<description><![CDATA[Metacity (According to that page, there is no Metacity homepage. While there might be some truth to it, the site also says: But this is a place where you can find out about Metacity. (emphasis theirs), so we can treat it as such.) is my current window manager, because it&#8217;s simple, relatively fast and doesn&#8217;t [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=43&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.gnome.org/metacity/">Metacity</a> (According to that page, there is no Metacity homepage. While there might be some truth to it, the site also says: <q>But this <em>is</em> a place where you can find out about Metacity.</q> (emphasis theirs), so we can treat it as such.) is my current window manager, because it&#8217;s simple, relatively fast and doesn&#8217;t look like a Unix window manager from the &#8217;80s. I don&#8217;t need the eye-candy <a href="http://www.compiz-fusion.org/">Compiz Fusion</a> provides (though there are some useful not-only-for-the-eyes features in it, I prefer speed) and it&#8217;s not fast enough, since I don&#8217;t have a fast video card. Metacity also supports compositing, but that&#8217;s slow too.</p>
<p>One thing I always wanted in Metacity (and, for that matter, in every window manager) is forcing specific applications to specific workspaces. Metacity is meant to be a somewhat minimalist WM, so it doesn&#8217;t support placing windows according to user-definied rules. <a href="http://www.burtonini.com/blog/computers/devilspie">Devil&#8217;s Pie</a> to the rescue! It is:</p>
<blockquote><p>
A window-matching utility, inspired by Sawfish&#8217;s &#8220;Matched Windows&#8221; option and the lack of the functionality in Metacity.
</p></blockquote>
<p>Just what poor Metacity users need. Now one can do</p>
<p><code>
<pre>
(if (is (window_class) "Firefox")
    (begin
      (set_workspace 2)
      (undecorate)
      (maximize)))
</code></pre>
<p>to constrain <a href="http://www.mozilla.com/en-US/firefox/">Firefox</a> windows to the 2nd workspace, remove the borders (i.e. the WM decorations) and maximize it. Or</p>
<p><code>
<pre>
(if (and (is (window_class) "Skype")
         (is (window_role) "Chats"))
    (set_workspace 3))
</pre>
<p></code></p>
<p>to send <a href="http://www.skype.com/">Skype</a> chat windows to the 3rd workspace.</p>
<p>It can even resize the windows, make them sticky or transparent &amp;c. Basically everything what the WM can do. While the included documentation is very brief (to say the least), make sure you read it. There's a good article about its configuration (and supported expressions + examples) <a href="http://foosel.org/linux/devilspie">on this page</a>. I won't repeat it here. Basically the configuration file format is s-expression based, so I can almost feel at home.</p>
<br />Posted in X11 Tagged: devilspie, metacity, window-managers, X11, xorg <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pbarabas.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pbarabas.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pbarabas.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pbarabas.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pbarabas.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pbarabas.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pbarabas.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pbarabas.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pbarabas.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pbarabas.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pbarabas.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pbarabas.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pbarabas.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pbarabas.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=43&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pbarabas.wordpress.com/2009/01/27/a-killer-app-for-metacity-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3fef416766df050120500f1ec24ac469?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pbarabas</media:title>
		</media:content>
	</item>
		<item>
		<title>Monty Python on YouTube</title>
		<link>http://pbarabas.wordpress.com/2009/01/26/monty-python-on-youtube/</link>
		<comments>http://pbarabas.wordpress.com/2009/01/26/monty-python-on-youtube/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 11:34:47 +0000</pubDate>
		<dc:creator>pbarabas</dc:creator>
				<category><![CDATA[Movies]]></category>

		<guid isPermaLink="false">http://pbarabas.wordpress.com/?p=27</guid>
		<description><![CDATA[In case you didn&#8217;t know: the Monty Python team put some of their sketches online. See their YouTube page. Quote from the page: For 3 years you YouTubers have been ripping us off, taking tens of thousands of our videos and putting them on YouTube. Now the tables are turned. It&#8217;s time for us to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=27&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In case you didn&#8217;t know: the Monty Python team put some of their sketches online. See <a href="http://www.youtube.com/user/MontyPython">their YouTube page</a>. Quote from the page:</p>
<blockquote><p>
For 3 years you YouTubers have been ripping us off, taking tens of thousands of our videos and putting them on YouTube. Now the tables are turned. It&#8217;s time for us to take matters into our own hands.</p>
<p>We know who you are, we know where you live and we could come after you in ways too horrible to tell. But being the extraordinarily nice chaps we are, we&#8217;ve figured a better way to get our own back: We&#8217;ve launched our own Monty Python channel on YouTube.</p>
<p>No more of those crap quality videos you&#8217;ve been posting. We&#8217;re giving you the real thing &#8211; HQ videos delivered straight from our vault.</p>
<p>What&#8217;s more, we&#8217;re taking our most viewed clips and uploading brand new HQ versions. And what&#8217;s even more, we&#8217;re letting you see absolutely everything for free. So there!</p>
<p>But we want something in return.</p>
<p>None of your driveling, mindless comments. Instead, we want you to click on the links, buy our movies &amp; TV shows and soften our pain and disgust at being ripped off all these years.
</p></blockquote>
<p>I wish them good luck! It&#8217;s time to order <a href="http://www.amazon.com/gp/product/B001E77XNA?ie=UTF8&amp;tag=z0dsblog-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B001E77XNA">`The Complete Monty Pythons Flying Circus &#8211; Collectors Edition Megaset&#8217;</a><img src="http://www.assoc-amazon.com/e/ir?t=z0dsblog-20&amp;l=as2&amp;o=1&amp;a=B001E77XNA" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" />.</p>
<p>Some of my favorites include:</p>
<ul>
<li><a href="http://www.youtube.com/watch?v=YUhb0XII93I">Merchant Banker</a></li>
<li><a href="http://www.youtube.com/watch?v=Evc8KTGdF7E">Timmy Williams Interview</a> (not their upload)</li>
<li><a href="http://www.youtube.com/watch?v=npjOSLCR2hE">The Parrot Sketch</a></li>
<li><a href="http://www.youtube.com/watch?v=j1viagZK2-Q">Falling from Building</a></li>
<li><a href="http://www.youtube.com/watch?v=Qc7HmhrgTuQ">What Have The Romans&#8230;</a></li>
</ul>
<br />Posted in Movies Tagged: Movies <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pbarabas.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pbarabas.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pbarabas.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pbarabas.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pbarabas.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pbarabas.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pbarabas.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pbarabas.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pbarabas.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pbarabas.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pbarabas.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pbarabas.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pbarabas.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pbarabas.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=27&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pbarabas.wordpress.com/2009/01/26/monty-python-on-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3fef416766df050120500f1ec24ac469?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pbarabas</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.com/e/ir?t=z0dsblog-20&#038;l=as2&#038;o=1&#038;a=B001E77XNA" medium="image" />
	</item>
		<item>
		<title>CLOS hint #1</title>
		<link>http://pbarabas.wordpress.com/2009/01/26/clos-hint-1/</link>
		<comments>http://pbarabas.wordpress.com/2009/01/26/clos-hint-1/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 08:48:57 +0000</pubDate>
		<dc:creator>pbarabas</dc:creator>
				<category><![CDATA[Lisp]]></category>

		<guid isPermaLink="false">http://pbarabas.wordpress.com/?p=8</guid>
		<description><![CDATA[Keene&#8217;s `Object-oriented programming in Common Lisp&#8217; is the book generally recommended for starting with CLOS. While it&#8217;s a very good book and I too recommend it, it was written before the Common Lisp standardization process was finished. Therefore it has some inconsistencies (but so few that you don&#8217;t actually have to worry about them). One [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=8&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Keene&#8217;s <a href="http://www.amazon.com/gp/product/0201175894?ie=UTF8&amp;tag=z0dsblog-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0201175894">`Object-oriented programming in Common Lisp&#8217;</a><img src="http://www.assoc-amazon.com/e/ir?t=z0dsblog-20&amp;l=as2&amp;o=1&amp;a=0201175894" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" /> is the book generally recommended for starting with CLOS. While it&#8217;s a very good book and I too recommend it, it was written before the Common Lisp standardization process was finished. Therefore it has some inconsistencies (but so few that you don&#8217;t actually have to worry about them). One of them is specializing <code>describe</code> on page 40 (and 41, 49, 56 and 241):</p>
<pre><code>
(defmethod describe ((l lock))
  (format t "~&amp;~S is a lock of type ~S named ~A."
          l (type-of l)
          (if (slot-boundp l 'name)
              (lock-name l)
              "(no name)"))
  (values))
</code></pre>
<p>This won&#8217;t work, since <code>describe</code> is an ordinary function, so you can&#8217;t specialize it. You have to specialize <code>describe-object</code> instead, which takes a stream as its 2nd argument. Apart from that it&#8217;s the same:</p>
<pre><code>
(defmethod describe-object ((l lock) stream)
  (format stream "~&amp;~S is a lock of type ~S named ~A."
          l (type-of l)
          (if (slot-boundp l 'name)
              (lock-name l)
              "(no name)"))
  (values))
</code></pre>
<p>See the documentation of <code><a href="http://www.lispworks.com/documentation/HyperSpec/Body/f_descri.htm#describe">describe</a></code> and <code><a href="http://www.lispworks.com/documentation/HyperSpec/Body/f_desc_1.htm#describe-object">describe-object</a></code>.</p>
<p>Again, this is a good book on CLOS and the code examples are clean. Also, I recommend <a href="http://www.amazon.com/gp/product/1590592395?ie=UTF8&amp;tag=z0dsblog-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590592395">Practical Common Lisp</a><img src="http://www.assoc-amazon.com/e/ir?t=z0dsblog-20&amp;l=as2&amp;o=1&amp;a=1590592395" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" /> by Peter Seibel, though it&#8217;s not a book on object-oriented Common Lisp, but a general introductory book to the world of Common Lisp.</p>
<br />Posted in Lisp Tagged: Lisp <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pbarabas.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pbarabas.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pbarabas.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pbarabas.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pbarabas.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pbarabas.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pbarabas.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pbarabas.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pbarabas.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pbarabas.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pbarabas.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pbarabas.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pbarabas.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pbarabas.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pbarabas.wordpress.com&amp;blog=6321861&amp;post=8&amp;subd=pbarabas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pbarabas.wordpress.com/2009/01/26/clos-hint-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3fef416766df050120500f1ec24ac469?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pbarabas</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.com/e/ir?t=z0dsblog-20&#038;l=as2&#038;o=1&#038;a=0201175894" medium="image" />

		<media:content url="http://www.assoc-amazon.com/e/ir?t=z0dsblog-20&#038;l=as2&#038;o=1&#038;a=1590592395" medium="image" />
	</item>
	</channel>
</rss>
