<?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>axelio</title>
	<atom:link href="http://axelio.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://axelio.wordpress.com</link>
	<description>... and the art of debugging a blank sheet of paper.</description>
	<lastBuildDate>Mon, 17 Oct 2011 15:19:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='axelio.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>axelio</title>
		<link>http://axelio.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://axelio.wordpress.com/osd.xml" title="axelio" />
	<atom:link rel='hub' href='http://axelio.wordpress.com/?pushpress=hub'/>
		<item>
		<title>new year, new blog: spreading the word with tekuti</title>
		<link>http://axelio.wordpress.com/2010/12/23/new-year-new-blog-spreading-the-word-with-tekuti/</link>
		<comments>http://axelio.wordpress.com/2010/12/23/new-year-new-blog-spreading-the-word-with-tekuti/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 00:22:55 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://axelio.wordpress.com/2010/12/23/new-year-new-blog-spreading-the-word-with-tekuti/</guid>
		<description><![CDATA[This will be my last post in wordpress.com after using the service since 2006. At the time of this writing the blog has received 27122 visits which is not very much, but at least it means someone is reading (&#8230;may be the crawlers?). WordPress is provided with statistics, anti spam filters, themes and much more [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=127&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This will be my last post in wordpress.com after using the service since 2006. At the time of this writing the blog has received 27122 visits which is not very much, but at least it means someone is reading (&#8230;may be the crawlers?).</p>
<p>WordPress is provided with statistics, anti spam filters, themes and much more (that I do not really use)&#8230; So, why am I leaving? Simply, because I want to learn new things (I&#8217;ve been feeling quite stuck lately). But, shouldn&#8217;t I be worried with the &#8220;what&#8221; instead of the &#8220;how&#8221;? Like solving the problem instead of worrying about the language I use? Well, I guess so, but I like to learn new languages even I don&#8217;t solve any problem (at the end this is not true, but I don&#8217;t want to get recursive here).</p>
<p>My new blog (<a href="http://hacks-galore.org/aleix/blog">http://hacks-galore.org/aleix/blog</a>) is based on <a href="http://wingolog.org/software/tekuti/">tekuti</a>, a weblog software written in Scheme, using Git as its persistent store. All axelio&#8217;s posts have been imported to the new blog, so don&#8217;t panic!</p>
<p>Happy hacking!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/127/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=127&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2010/12/23/new-year-new-blog-spreading-the-word-with-tekuti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>
	</item>
		<item>
		<title>ropemacs and remote files (fuse)</title>
		<link>http://axelio.wordpress.com/2010/11/16/ropemacs-and-remote-files-fuse/</link>
		<comments>http://axelio.wordpress.com/2010/11/16/ropemacs-and-remote-files-fuse/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 18:27:08 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">https://axelio.wordpress.com/2010/11/16/ropemacs-and-remote-file-editing-fuse/</guid>
		<description><![CDATA[This morning I needed to edit some python scripts from a local server at work and, as always, used the TRAMP Emacs mode, but immediately found a problem. A few months ago I installed the great python refactoring library rope and its Emacs mode ropemacs. It comes out that ropemacs asks you for the location [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=116&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This morning I needed to edit some python scripts from a local server at work and, as always, used the  <a href="http://www.gnu.org/software/tramp/">TRAMP</a> Emacs mode, but immediately found a problem. A few months ago I installed the great python refactoring library <a href="http://rope.sourceforge.net/">rope</a> and its Emacs mode <a href="http://rope.sourceforge.net/ropemacs.html">ropemacs</a>. It comes out that ropemacs asks you for the location of your rope project if it cannot find it (this always happens the first time you start a project).</p>
<p>TRAMP URLs look like this:</p>
<pre>
/ssh:user@server:/path
</pre>
<p>So, you can now imagine what happens when Emacs gives an URL like this to rope (which is a python library and doesn&#8217;t know anything about TRAMP URLs) as if it was a local file name&#8230;</p>
<pre>
Traceback (most recent call last):
  ...
  ...
  File "/usr/lib/python2.6/.../ropemode/interface.py", line 88, in open_project
    self.project = rope.base.project.Project(root)
  File "/usr/lib/python2.6/.../rope/base/project.py", line 134, in __init__
    os.mkdir(self._address)
OSError: [Errno 2] No such file or directory: '/ssh:user@server:/path'
</pre>
<p>The worst is that you are continuously being asked by Emacs to enter a valid rope project location.</p>
<p>The solution? Simply use the <a href="http://fuse.sourceforge.net/sshfs.html">FUSE SSH Filesystem</a>.</p>
<pre>
$ sudo apt-get install sshfs
$ sshfs user@server:path mountpoint
</pre>
<p>FUSE stands for <em>Filesystem in Userspace</em>. With FUSE you will end up editing remote files as if they were in your computer and the great thing is that you don&#8217;t need root access, so any user can mount a FUSE filesystem.</p>
<p><b>Update 2010/11/17</b>: FUSE mounted directory can be unmounted with:</p>
<pre>
$ fusermount -u mountpoint
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=116&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2010/11/16/ropemacs-and-remote-files-fuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>
	</item>
		<item>
		<title>Land of Lisp: Come back here, you cowards!</title>
		<link>http://axelio.wordpress.com/2010/10/29/land-of-lisp-come-back-here-you-cowards/</link>
		<comments>http://axelio.wordpress.com/2010/10/29/land-of-lisp-come-back-here-you-cowards/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 15:47:00 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[Lisp]]></category>

		<guid isPermaLink="false">https://axelio.wordpress.com/2010/10/29/land-of-lisp-come-back-here-you-cowards/</guid>
		<description><![CDATA[I must admit it, I just don&#8217;t know Common Lisp, nor Scheme, nor any other Lisp dialect, only some notions and ideas. However, I&#8217;ve been always fascinated with the people behind them and with their defense on what they say is the most powerful and beautiful programming language. Articles, user groups, books, conferences&#8230; and basically [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=114&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I must admit it, I just don&#8217;t know Common Lisp, nor Scheme, nor any other Lisp dialect, only some notions and ideas. However, I&#8217;ve been always fascinated with the people behind them and with their defense on what they say is the most powerful and beautiful programming language. Articles, user groups, books, conferences&#8230; and basically a lot of fun.</p>
<p>Today, even I do not understand most of the articles in <a href="http://lambda-the-ultimate.org/">LtU</a>, I read about the <a href="http://landoflisp.com/">Land of Lisp</a>. Check out the music video and interactive comic (note: this is not for everyone).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=114&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2010/10/29/land-of-lisp-come-back-here-you-cowards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>
	</item>
		<item>
		<title>More on easy acronyms generation</title>
		<link>http://axelio.wordpress.com/2010/10/22/more-on-easy-acronyms-generation/</link>
		<comments>http://axelio.wordpress.com/2010/10/22/more-on-easy-acronyms-generation/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 05:59:35 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">https://axelio.wordpress.com/?p=105</guid>
		<description><![CDATA[About four years ago I posted an article about easy acronyms generation in LaTeX. Yesterday, I did some updates to the script (tex-acronyms.py) that I wanted to share with you (if anyone is reading&#8230;). Basically, the updates are: A user defined acronyms file can be specified via the -u argument. User defined acronyms take precedence [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=105&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>About four years ago I posted an article about <a href="http://axelio.wordpress.com/2007/02/22/easy-acronyms-generation/">easy acronyms generation</a> in LaTeX. Yesterday, I did some updates to the script (<a href="http://hacks-galore.org/aleix/files/scripts/tex-acronyms.py">tex-acronyms.py</a>) that I wanted to share with you (if anyone is reading&#8230;). Basically, the updates are:</p>
<ul>
<li>
A user defined acronyms file can be specified via the <em>-u</em> argument. User defined acronyms take precedence over global acronyms definition.
</li>
<li>
Global excluded acronyms file has been removed. Now, the user must define acronyms to be excluded in the user defined acronyms file as an empty acronym. For example:</p>
<pre>
\nomenclature{GHH}{}
</pre>
<p>Then, the definition of GHH will not be included in the list of acronyms.
</li>
<li>
To facilitate the read of acronyms conflicts, it is now specified if the conflict is because of a &#8220;<em>Duplicated</em>&#8220;, &#8220;<em>Undefined</em>&#8221; or &#8220;<em>Excluded</em>&#8221; acronym.
</li>
</ul>
<p>So, the script is called as before but a new optional argument <em>-u</em> can be specified for the user defined acronyms file:</p>
<pre>
tex-acronyms.py [-r] -d /path/to/acronyms \
                -i article.tex \
                [-u user_acronyms.tex] \
                -o acronyms.tex \
                -e acronyms.errors
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=105&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2010/10/22/more-on-easy-acronyms-generation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>
	</item>
		<item>
		<title>BitPacket: Python 2.x and 3.0 compatibility</title>
		<link>http://axelio.wordpress.com/2010/10/14/bitpacket-python-2-x-and-3-0-compatibility/</link>
		<comments>http://axelio.wordpress.com/2010/10/14/bitpacket-python-2-x-and-3-0-compatibility/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 20:09:39 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[BitPacket]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">https://axelio.wordpress.com/?p=96</guid>
		<description><![CDATA[Lately, I&#8217;ve been porting BitPacket to Python 3.0. I wanted to keep backwards compatibility with Python 2.6 (which is the 2.x I have in my Debian) and, thankfully, I only had to fix three minor issues: Unicode strings Dictionary keys Bytes vs. strings StringIO and unicode strings If you have ever used the StringIO module [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=96&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lately, I&#8217;ve been porting <a href="http://www.nongnu.org/bitpacket/">BitPacket</a> to <a href="http://www.python.org/download/releases/3.0/">Python 3.0</a>. I wanted to keep backwards compatibility with Python 2.6 (which is the 2.x I have in my Debian) and, thankfully, I only had to fix three minor issues:</p>
<ul>
<li>Unicode strings</li>
<li>Dictionary keys</li>
<li>Bytes vs. strings</li>
</ul>
<p><strong>StringIO and unicode strings</strong></p>
<p>If you have ever used the <em><a href="http://docs.python.org/library/stringio.html">StringIO</a></em> module you should be familiar with this:</p>
<pre>
try:
    from cStringIO import StringIO
except ImportError:
    from StringIO import StringIO
</pre>
<p>In Py3k the <em>StringIO</em> is located under the <em>io</em> package, so you should changed the above by:</p>
<pre>
from io import StringIO
</pre>
<p>which is also compatible with Python 2.6.</p>
<p>Once I did the change my code only worked in Py3k, Python 2.6 complained when trying to use the write method with a simple string:</p>
<pre>
&gt;&gt;&gt; from io import StringIO
&gt;&gt;&gt; stream = StringIO()
&gt;&gt;&gt; stream.write("test")
Traceback (most recent call last):
  File "", line 1, in
  File "/usr/lib/python2.6/io.py", line 1515, in write
    s.__class__.__name__)
TypeError: can't write str to text stream
</pre>
<p>You should note that in Py3k all the strings are unicode strings by default. This is not true in Python 2.6, so my first approach was the following:</p>
<pre>
&gt;&gt;&gt; stream.write(u"test")
4
</pre>
<p>Unfortunately, this only worked in Python 2.6. Py3k does not recognize the unicode prefix &#8220;<em>u</em>&#8220;, giving you this error:</p>
<pre>
&gt;&gt;&gt; stream.write(u"test")
  File "", line 1
    stream.write(u"test")
                       ^
SyntaxError: invalid syntax
</pre>
<p>I googled a bit and find out a <a href="http://eli.thegreenplace.net/2010/05/19/making-code-compatible-with-python-2-and-3/">Making code compatible with Python 2 and 3</a> post (from the <a href="http://eli.thegreenplace.net/about/">guy</a> that finished all the <a href="http://eli.thegreenplace.net/category/programming/lisp/sicp/"> SICP exercices</a>) where it explained some similar issues, so I came up with this solution:</p>
<pre>
def u_str(string):
    if sys.hexversion &gt;= 0x03000000:
        return string
    else:
        return unicode(string)

&gt;&gt;&gt; stream.write(u_str("test"))
4
</pre>
<p>In Py3k, unicode does not exist but as that line is never executed we don&#8217;t get any error.</p>
<p>Even that worked well, I was not very happy with it. It was too slow and I had to use the custom <em>u_str </em> function everywhere. So, I googled a bit more and I found a nice <a href="http://us.pycon.org/2009/about/">pycon 2009</a> talk about <a href="http://us.pycon.org/media/2009/talkdata/PyCon2009/074/Python_3_Compatibility.pdf">Python 3.0 compatibility</a>. Finally, I had which I think is the best solution (for both speed and clearness):</p>
<pre>
try:
    # This will raise an exception in Py3k, as unicode doesn't exist
    str = unicode
except:
    pass
</pre>
<p>So, instead of defining a new <em>u_str</em> function, the <em>str</em> type is re-defined as unicode for Python 2.6. Then, I only had to update all the strings in the code to use <em>str</em>:</p>
<pre>
&gt;&gt;&gt; stream.write(str("test"))
4
</pre>
<p><strong>Note:</strong> I put this code in a compatibility.py file and import it everywhere I need it.</p>
<p><strong>Dictionary keys</strong></p>
<p>The next problem was reported by the <a href="http://docs.python.org/library/2to3.html">2to3</a> tool that comes with Py3k.</p>
<pre>
-                for k in field.keys():
+                for k in list(field.keys()):
</pre>
<p>Basically, it told me that the dictionary <em>keys()</em> method returns a view in Py3k not a list, so it needs to be converted to a list as explained <a href="http://docs.python.org/release/3.0.1/whatsnew/3.0.html">here</a>:</p>
<blockquote><p>
dict methods dict.keys(), dict.items() and dict.values() return &#8220;views&#8221; instead of lists. For example, this no longer works: k = d.keys(); k.sort(). Use k = sorted(d) instead (this works in Python 2.5 too and is just as efficient).
</p></blockquote>
<p><strong>Bytes vs. strings</strong></p>
<p>Finally, the last issue was about the difference between strings and bytes in Python 2.x and 3.0. In Python 2.x, <em>bytes</em> is just an alias for <em>str</em>:</p>
<pre>
&gt;&gt;&gt; bytes
&lt;type 'str'&gt;
</pre>
<p>In Py3k, <em>bytes</em> and <em>str</em> are different classes and behave differently, see below:</p>
<pre>
&gt;&gt;&gt; s = "AB"
&gt;&gt;&gt; s[0]
'A'
&gt;&gt;&gt; s[1]
'B'
&gt;&gt;&gt; b = b"AB"
&gt;&gt;&gt; b[0]
65
&gt;&gt;&gt; b[1]
66
</pre>
<p>This means that one needs to take care of functions returning <em>bytes</em> (e.g. <em><a href="http://docs.python.org/library/struct.html">struct</a>.pack</em>) and the operations performed with the returned data, in my case a call to the <em>ord</em> function, that failed with the typical error message:</p>
<pre>
TypeError: ord() expected string of length 1, but int found
</pre>
<p>So, following the approaches mentioned above I added the following function to my <em>compatibility.py</em>:</p>
<pre>
def u_ord(c):
    if sys.hexversion &gt;= 0x03000000:
        return c
    else:
        return ord(c)
</pre>
<p>which I used instead of the built-in <em>ord</em> in the <em>struct.pack</em> case.</p>
<p>Hope this helps to someone.</p>
<p>Happy hacking!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=96&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2010/10/14/bitpacket-python-2-x-and-3-0-compatibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>
	</item>
		<item>
		<title>Snow town!</title>
		<link>http://axelio.wordpress.com/2010/03/08/snow-town/</link>
		<comments>http://axelio.wordpress.com/2010/03/08/snow-town/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 17:32:51 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://axelio.wordpress.com/?p=83</guid>
		<description><![CDATA[I just wanted to share with you some pictures of my town during the unusual and unexpected snow&#8230;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=83&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just wanted to share with you some pictures of my town during the unusual and unexpected snow&#8230;</p>
<div style="text-align:center;"><img src="http://axelio.files.wordpress.com/2010/03/img_03931.jpg?w=384&#038;h=288" alt="IMG_0393.JPG" border="0" width="384" height="288" /></div>
<p></p>
<div style="text-align:center;"><img src="http://axelio.files.wordpress.com/2010/03/img_03941.jpg?w=288&#038;h=384" alt="IMG_0394.JPG" border="0" width="288" height="384" /></div>
<p></p>
<div style="text-align:center;"><img src="http://axelio.files.wordpress.com/2010/03/img_0382.jpg?w=384&#038;h=288" alt="IMG_0382.JPG" border="0" width="384" height="288" /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=83&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2010/03/08/snow-town/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>

		<media:content url="http://axelio.files.wordpress.com/2010/03/img_03931.jpg" medium="image">
			<media:title type="html">IMG_0393.JPG</media:title>
		</media:content>

		<media:content url="http://axelio.files.wordpress.com/2010/03/img_03941.jpg" medium="image">
			<media:title type="html">IMG_0394.JPG</media:title>
		</media:content>

		<media:content url="http://axelio.files.wordpress.com/2010/03/img_0382.jpg" medium="image">
			<media:title type="html">IMG_0382.JPG</media:title>
		</media:content>
	</item>
		<item>
		<title>16C950 UART 9-bit and custom baud rates support for Linux</title>
		<link>http://axelio.wordpress.com/2010/02/21/16c950-uart-9-bit-and-custom-baud-rates-support-for-linux/</link>
		<comments>http://axelio.wordpress.com/2010/02/21/16c950-uart-9-bit-and-custom-baud-rates-support-for-linux/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 08:06:06 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[GNU/Linux]]></category>

		<guid isPermaLink="false">http://axelio.wordpress.com/?p=63</guid>
		<description><![CDATA[Last friday I found myself patching the Linux kernel sources to be able to add custom baud rates support for 16C950 UART cards. I needed to communicate, via a serial port, with one of the devices built by the hardware guys at work. Unfortunately, a non-standard baud rate and 9-bits were needed. The Sealevel Ultra [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=63&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last friday I found myself patching the <a href="http://www.kernel.org/">Linux</a> kernel sources to be able to add custom baud rates support for <a href="http://www.semiconductorstore.com/pdf/newsite/oxford/ox16c950b.pdf">16C950 UART</a> cards. I needed to communicate, via a serial port, with one of the devices built by the hardware guys at work. Unfortunately, a non-standard baud rate and 9-bits were needed.</p>
<p>The <a href="http://www.sealevel.com/store/7204-sn-pci-rs-422-rs-485-serial-interface-with-16c950-uarts.html">Sealevel Ultra COMM+422 PCI</a> card we are using is already provided with a patch that adds 9-bit support. However, I was not able to found how to change the baud rate to a non-standard one.</p>
<p>Following the 9-bit patch approach, I added extra requests to <a href="http://www.kernel.org/doc/man-pages/online/pages/man2/ioctl.2.html">ioctl</a> in order to modify the 16C950 registers needed to achieve custom baud rates. Here is the list of added extra <em>ioctl</em> requests (also the 9-bit ones) with the necessary parameters and updated/accessed 16C950 registers:</p>
<table width="100%">
<tr>
<td><strong><font size="0.9em">Request</font></strong></td>
<td><strong><font size="0.9em">Parameters</font></strong></td>
<td><strong><font size="0.9em">16C950 registers</font></strong></td>
<td><strong><font size="0.9em">Description</font></strong></td>
</tr>
<tr>
<td><font size="0.9em">TIOC9BITGET</font></td>
<td><font size="0.9em">out: integer</font></td>
<td><font size="0.9em">NMR</font></td>
<td><font size="0.9em">Get current 9-bit status</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOC9BITSET</font></td>
<td><font size="0.9em"></font></td>
<td><font size="0.9em">NMR</font></td>
<td><font size="0.9em">Enable 9-bit support</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOC9BITCLR</font></td>
<td><font size="0.9em"></font></td>
<td><font size="0.9em">NMR</font></td>
<td><font size="0.9em">Disable 9-bit support</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOCPRESCALERGET</font></td>
<td><font size="0.9em">out: integer</font></td>
<td><font size="0.9em">EFR, MCR</font></td>
<td><font size="0.9em">Get prescaler status</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOCPRESCALERSET</font></td>
<td><font size="0.9em"></font></td>
<td><font size="0.9em">EFR, MCR</font></td>
<td><font size="0.9em">Enable prescaler</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOCPRESCALERCLR</font></td>
<td><font size="0.9em"></font></td>
<td><font size="0.9em">EFR, MCR</font></td>
<td><font size="0.9em">Disable prescaler</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOCDIVLATCHGET</font></td>
<td><font size="0.9em">out: integer</font></td>
<td><font size="0.9em">LCR, DLL/DLM</font></td>
<td><font size="0.9em">Get divisor latch register</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOCDIVLATCHSET</font></td>
<td><font size="0.9em">in: integer</font></td>
<td><font size="0.9em">LCR, DLL/DLM</font></td>
<td><font size="0.9em">Set divisor latch register</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOCSAMPLINGCLKGET</font></td>
<td><font size="0.9em">out: integer</font></td>
<td><font size="0.9em">TCR</font></td>
<td><font size="0.9em">Get sampling clock</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOCSAMPLINGCLKSET</font></td>
<td><font size="0.9em">in: integer</font></td>
<td><font size="0.9em">TCR</font></td>
<td><font size="0.9em">Set sampling clock</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOCPRESCALERCLKGET</font></td>
<td><font size="0.9em">out: integer</font></td>
<td><font size="0.9em">CPR</font></td>
<td><font size="0.9em">Get prescaler clock</font></td>
</tr>
<tr>
<td><font size="0.9em">TIOCPRESCALERCLKSET</font></td>
<td><font size="0.9em">in: integer</font></td>
<td><font size="0.9em">CPR</font></td>
<td><font size="0.9em">Set prescaler clock</font></td>
</tr>
</table>
<p>I&#8217;m not sure if this is the best way to do it, but it works. So, if you need 9-bit and custom baud rates support, apply one the following patches to the kernel (I have aslo updated the Sealevel patch for older and newer kernels than the one provided):</p>
<table width="100%">
<tr>
<td><strong>9-bit</strong></td>
<td><a href="http://hacks-galore.org/aleix/files/kernel/linux-2.6.24-sealevel-950-9-bit.patch">2.6.24</a></td>
<td><a href="http://hacks-galore.org/aleix/files/kernel/linux-2.6.26-sealevel-950-9-bit.patch">2.6.26</a></td>
<td><a href="http://hacks-galore.org/aleix/files/kernel/linux-2.6.31-sealevel-950-9-bit.patch">2.6.31</a></td>
<td><a href="http://hacks-galore.org/aleix/files/kernel/linux-2.6.32-sealevel-950-9-bit.patch">2.6.32</a></td>
</tr>
<tr>
<td><strong>9-bit and baud rate</strong></td>
<td><a href="http://hacks-galore.org/aleix/files/kernel/linux-2.6.24-sealevel-950-9-bit-baudrate.patch">2.6.24</a></td>
<td><a href="http://hacks-galore.org/aleix/files/kernel/linux-2.6.26-sealevel-950-9-bit-baudrate.patch">2.6.26</a></td>
<td><a href="http://hacks-galore.org/aleix/files/kernel/linux-2.6.31-sealevel-950-9-bit-baudrate.patch">2.6.31</a></td>
<td><a href="http://hacks-galore.org/aleix/files/kernel/linux-2.6.32-sealevel-950-9-bit-baudrate.patch">2.6.32</a></td>
</tr>
</tr>
</table>
<p>I am not responsible for any damage that these patches can cause to your hardware. No warranty is provided, so use them at your own risk.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=63&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2010/02/21/16c950-uart-9-bit-and-custom-baud-rates-support-for-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>
	</item>
		<item>
		<title>SCEW 1.1.1 released</title>
		<link>http://axelio.wordpress.com/2009/12/11/scew-1-1-1-released/</link>
		<comments>http://axelio.wordpress.com/2009/12/11/scew-1-1-1-released/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 19:43:35 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[BitPacket]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[SCEW]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://axelio.wordpress.com/?p=49</guid>
		<description><![CDATA[Finally, character escaping has been added to SCEW. This new release only features this and fixes output on Windows console for UTF-16 characters. Stay tuned, major BitPacket updates come next! Happy hacking!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=49&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Finally, character escaping has been added to <a href="http://www.nongnu.org/scew/">SCEW</a>. This new release only features this and fixes output on Windows console for UTF-16 characters.</p>
<p>Stay tuned, major <a href="http://hacks-galore.org/aleix/BitPacket">BitPacket</a> updates come next!</p>
<p>Happy hacking!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=49&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2009/12/11/scew-1-1-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>
	</item>
		<item>
		<title>SCEW 1.1.0 released</title>
		<link>http://axelio.wordpress.com/2009/11/30/scew-1-1-0-released/</link>
		<comments>http://axelio.wordpress.com/2009/11/30/scew-1-1-0-released/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 20:29:35 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[SCEW]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://axelio.wordpress.com/?p=45</guid>
		<description><![CDATA[I&#8217;m pleased to announce SCEW 1.1.0. This is a minor release including two minor bug fixes and improvements for XML tree and element comparisons. Users can now provide their own XML tree and element comparison hooks. Check out the release notes. Happy hacking!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=45&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce SCEW 1.1.0. This is a minor release including two minor bug fixes and improvements for XML tree and element comparisons. Users can now provide their own XML tree and element comparison hooks.</p>
<p>Check out the <a href="http://www.nongnu.org/scew/NEWS.txt">release notes</a>.</p>
<p>Happy hacking!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=45&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2009/11/30/scew-1-1-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>
	</item>
		<item>
		<title>SCEW 1.0.0 released</title>
		<link>http://axelio.wordpress.com/2009/10/30/scew-1-0-0-released/</link>
		<comments>http://axelio.wordpress.com/2009/10/30/scew-1-0-0-released/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 17:08:10 +0000</pubDate>
		<dc:creator>aleix</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[SCEW]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://axelio.wordpress.com/?p=43</guid>
		<description><![CDATA[I&#8217;m pleased to announce SCEW 1.0.0. It has been a long time since the last release in May 2004. This new release includes a lot of improvements: unit tests, homogenized API, a lot of new functions, support for custom I/O sources, documentation updates, Windows support improved and many others. Please, have a look at the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=43&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce <a href="http://www.nongnu.org/scew">SCEW</a> 1.0.0. It has been a long time since the last release in May 2004.</p>
<p>This new release includes a lot of improvements: unit tests, homogenized API, a lot of new functions, support for custom I/O sources, documentation updates, Windows support improved and many others.</p>
<p>Please, have a look at the <a href="http://www.nongnu.org/scew/NEWS.txt">changes</a> for more details.</p>
<p><a href="http://savannah.gnu.org/">Savannah</a> mirrors are being updated, so until then use the no-redirected <a href="http://download.savannah.gnu.org/releases-noredirect/scew/scew-1.0.0.tar.gz">download</a>.</p>
<p>As usual, bugs, comments, criticisms, etc. are more than welcome.</p>
<p>Happy hacking!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/axelio.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/axelio.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/axelio.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/axelio.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/axelio.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/axelio.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/axelio.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/axelio.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/axelio.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/axelio.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/axelio.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/axelio.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/axelio.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/axelio.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=axelio.wordpress.com&amp;blog=531926&amp;post=43&amp;subd=axelio&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://axelio.wordpress.com/2009/10/30/scew-1-0-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3b7f33cf385adab602c156205e7291e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aleix</media:title>
		</media:content>
	</item>
	</channel>
</rss>
