<?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"
	>

<channel>
	<title>Johns Blog</title>
	<atom:link href="http://www.johnstowers.co.nz/blog/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.johnstowers.co.nz/blog</link>
	<description>Who needs facts when you have anecdotal evidence?</description>
	<pubDate>Sun, 04 Dec 2011 21:16:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>A Change</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2011/10/19/a-change/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2011/10/19/a-change/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 03:15:32 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Non Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=398</guid>
		<description><![CDATA[2011 has been an interesting year. Between the stupid earthquakes and the pressure of finishing my PhD, I have been silent because I have had nothing interesting to talk about (cf. twitter&#8230;).

But there is a light at the end, I&#8217;m on track to complete my thesis, &#8216;Biologically Inspired Visual Control of Flying Robots&#8217;, in December/January.
I&#8217;m excited to [...]]]></description>
			<content:encoded><![CDATA[<p>2011 has been an interesting year. Between the <a href="http://en.wikipedia.org/wiki/Christchurch_earthquake" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">stupid earthquakes</a> and the pressure of finishing my PhD, I have been silent because I have had nothing interesting to talk about (cf. twitter&#8230;).</p>
<div>
<p>But there is a light at the end, I&#8217;m on track to complete my thesis, <em>&#8216;Biologically Inspired Visual Control of Flying Robots&#8217;,</em> in December/January.</p>
<div id="attachment_399" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/10/chch1.jpg" ><img class="size-medium wp-image-399" title="chch1" src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/10/chch1.jpg" alt="Christchurch, demolished, the old..." width="300" height="225" /></a><p class="wp-caption-text">Christchurch, demolished, the old...</p></div>
<p>I&#8217;m excited to say that I have accepted a job at the <a href="http://www.imp.ac.at" onclick="javascript:pageTracker._trackPageview('/www.imp.ac.at');">Institute of Molecular pathology</a>, in a <a href="http://strawlab.org/" onclick="javascript:pageTracker._trackPageview('/strawlab.org');">research group</a> studying the mechanisms of visual flight control in insects. Technology wise, it is a perfect fit; the experimental apparatus involves a multi-camera real-time flight tracking system and estimator for multiple targets in an augmented reality flight arena. It is open-source (ish), and python/numpy. Research wise, it allows me to investigate some of the assumptions and unknowns in the biomimetic control systems I implemented during my PhD. And it is in Vienna, 1st Feb, 2012!</p>
<div id="attachment_400" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/10/vienna1.jpg" ><img class="size-medium wp-image-400" title="vienna1" src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/10/vienna1.jpg" alt="Vienna, the new..." width="300" height="300" /></a><p class="wp-caption-text">Vienna, the new...</p></div>
<p>This is a career change for me. In the last few years it became increasingly clear that I was morally uncomfortable with the use of UAVs as weapons (drones). Previously I had consoled myself with there existing an ethical and philosophical difference between &#8216;the application of research&#8217; and &#8216;the action of research&#8217;. When It came to looking for work, and considering who to work for, this difference was often eroded.</p>
<p>It has also been particularly frustrating being in New Zealand for the last 12 months and watching our flaccid national response to the three recent challenges here (<a href="http://en.wikipedia.org/wiki/Rugby_World_Cup" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">world cup</a>, <a href="http://en.wikipedia.org/wiki/Christchurch_earthquake" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">earthquake</a>, <a href="http://en.wikipedia.org/wiki/2011_Tauranga_oil_spill" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">rena oil spill</a>).</p>
<p><strong>Technology Tidbits</strong></p>
<ul>
<li><a href="https://live.gnome.org/GnomeTweakTool" onclick="javascript:pageTracker._trackPageview('/live.gnome.org');">gnome-tweak-tool</a> is coming along nicely. I have some things in bugzilla to address, but I am happy with the state and direction.</li>
<li>GNOME 3 has helped my productivity greatly, maximized windows, keyboard navigation and less distractions have been welcome changes.</li>
<li><a href="http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/" >Pygtk is in maintenance mode</a> (I need it to keep working for some of <a title="wasp UAV" href="http://waspuav.org/" onclick="javascript:pageTracker._trackPageview('/waspuav.org');">my UAV code</a>). python-gobject and gobject-introspection are awesome and easy ways to write new GNOME apps.</li>
<li>LaTeX is awesome, and I am happy <a href="http://blogs.gnome.org/nacho/2011/10/02/gedit-latex-a-powerful-plugin-to-work-with-latex" onclick="javascript:pageTracker._trackPageview('/blogs.gnome.org');">we have returned</a> the <a href="https://live.gnome.org/Gedit/LaTeXPlugin" onclick="javascript:pageTracker._trackPageview('/live.gnome.org');">gedit-latex plugin</a> to being the best way to write LaTeX on Linux.</li>
<li><a href="http://www.phoronix.com/scan.php?page=news_item&amp;px=MTAwMjY" onclick="javascript:pageTracker._trackPageview('/www.phoronix.com');">Nothing of value is ever said in comments on the internet.</a></li>
</ul>
<div>This post has been brought to you by procrastination.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2011/10/19/a-change/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Interfacing Python + C + OpenCV via ctypes</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2011/07/15/interfacing-python-c-opencv-via-ctypes/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2011/07/15/interfacing-python-c-opencv-via-ctypes/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 23:01:48 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=378</guid>
		<description><![CDATA[I was recently asked to help a colleague access his image processing C-library from python; quite a common task. As those of you who are familiar with Python might realise, there are a whole bag of ways that this can be accomplished;

SWIG
Cython
ctypes
PybindGen

In this case the colleague only needed to access a single function from the library returning image [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently asked to help a colleague access his image processing C-library from python; quite a common task. As those of you who are familiar with Python might realise, there are a whole bag of ways that this can be accomplished;</p>
<ul>
<li><a href="http://www.swig.org/" onclick="javascript:pageTracker._trackPageview('/www.swig.org');">SWIG</a></li>
<li><a href="http://cython.org/" onclick="javascript:pageTracker._trackPageview('/cython.org');">Cython</a></li>
<li>ctypes</li>
<li><a href="https://launchpad.net/pybindgen" onclick="javascript:pageTracker._trackPageview('/launchpad.net');">PybindGen</a></li>
</ul>
<div>In this case the colleague only needed to access a single function from the library returning image data, and then hand this result onto OpenCV. One happy side effect of the new (&gt; v2.1) python-opencv bindings is that they do <a href="http://opencv.willowgarage.com/documentation/python/cookbook.html#pil-image-to-opencv" onclick="javascript:pageTracker._trackPageview('/opencv.willowgarage.com');">no validation on CvImage.SetData</a>, which means you can pass an arbitrary string/pointer. Because of this I advised him I thought using something like SWIG was overkill, and he could just write a wrapper to his library using ctypes, or a thin python extension directly.</div>
<div>Image data contains embedded NULLs, and I could not find a concise example of dealing with non null-terminated, non-string char * arrays via ctypes so I wrote one.</div>
<div>
<pre># char *test_get_data_nulls(int *len);

func = lib.test_get_data_nulls
func.restype = POINTER(c_char)
func.argtypes = [POINTER(c_int)]

l = c_int()
data = func(byref(l))

print data,l,data.contents</pre>
</div>
<p>and, another approach</p>
<div>
<pre># void test_get_data_nulls_out(char **data, int *len);

func_out = lib.test_get_data_nulls_out
func_out.argtypes = [POINTER(POINTER(c_char)), POINTER(c_int)]
func.restype = None

l2 = c_int()
data2 = POINTER(c_char)()
func_out(byref(data2), byref(l2))

print data2,l2,data2.contents</pre>
</div>
<p>The full code can be found <a href="https://gist.github.com/990493" onclick="javascript:pageTracker._trackPageview('/gist.github.com');">here</a> and contains examples showing how to deal with data of this type using ctypes, and by writing a simple python extension linking with the library in question.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2011/07/15/interfacing-python-c-opencv-via-ctypes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>End of an Era: PyGTK</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 01:48:08 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=353</guid>
		<description><![CDATA[I just released PyGTK 2.24, which will almost certainly be the last major PyGTK release. The future of Python on the GNOME platform is PyGObject + GObject Introspection. From my experience over the last few months porting a number of my projects, the future is bright.
In a cruel twist of irony, the state of PyGTK [...]]]></description>
			<content:encoded><![CDATA[<p>I just <a href="http://mail.gnome.org/archives/gnome-announce-list/2011-April/msg00002.html" onclick="javascript:pageTracker._trackPageview('/mail.gnome.org');">released</a> PyGTK 2.24, which will almost certainly be the last major <a href="http://www.pygtk.org" onclick="javascript:pageTracker._trackPageview('/www.pygtk.org');">PyGTK</a> release. The future of Python on the GNOME platform is <a href="http://live.gnome.org/PyGObject" onclick="javascript:pageTracker._trackPageview('/live.gnome.org');">PyGObject + GObject Introspection</a>. From my experience over the last few months porting a number of my projects, the future is bright.</p>
<p>In a cruel twist of irony, the state of PyGTK on Windows and Mac has never been better. The credit for the windows work (and some great documentation improvements this cycle) must go to Dieter Verfaillie</p>
<ul>
<li>Windows installer (<a href="https://github.com/dieterv/pygtk-installer" onclick="javascript:pageTracker._trackPageview('/github.com');">homepage</a>) (<a href="http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/" onclick="javascript:pageTracker._trackPageview('/ftp.gnome.org');">download</a>)</li>
<li>Mac improvements (<a href="http://www.daa.com.au/pipermail/pygtk/2011-March/019520.html" onclick="javascript:pageTracker._trackPageview('/www.daa.com.au');">all in one installer work</a>) (<a href="http://blog.xebia.com/2011/03/31/bundling-a-python-application-on-mac-os-x-with-virtualenv/" onclick="javascript:pageTracker._trackPageview('/blog.xebia.com');">bundling advice</a>)</li>
</ul>
<p>I hope that the new stack will reach the same level of capability on other platforms as GTK+ 2.24, but in the large scheme of things the renewed development excitement surrounding GTK+ 3.0 and GNOME 3 is excellent consolation.</p>
<p>As a user I would like to thank those developers before me for creating PyGTK. It was the first &#8216;pythonic&#8217; UI toolkit for linux, and a pleasure to use. As the recent maintainer of PyGTK I would especially like to thank those recent developers who helped me, in particular Dieter Verfaillie who really pushed PyGTK over the line regarding Windows support, into the great state it is now.</p>
<p>I&#8217;ll leave you with some graphical statistics (<a href="https://gist.github.com/900087" onclick="javascript:pageTracker._trackPageview('/gist.github.com');">generated</a> using <a href="http://scm-pepper.sourceforge.net/" onclick="javascript:pageTracker._trackPageview('/scm-pepper.sourceforge.net');">pepper</a>) for the 12 year history of PyGTK. If planet strips the wordpress gallery then please <a href=" http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/" >click here</a>.</p>

<a href='http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/activity/' title='activity'><img src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/04/activity.png" width="150" height="112" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/activity-auth/' title='activity-auth'><img src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/04/activity-auth.png" width="150" height="112" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/activity-directories/' title='activity-directories'><img src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/04/activity-directories.png" width="150" height="112" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/authors/' title='authors'><img src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/04/authors.png" width="150" height="112" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/commit-counts/' title='commit-counts'><img src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/04/commit-counts.png" width="150" height="112" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/loc/' title='loc'><img src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/04/loc.png" width="150" height="112" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/loc-tags/' title='loc-tags'><img src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2011/04/loc-tags.png" width="150" height="28" class="attachment-thumbnail" alt="" /></a>

<p><strong>update:</strong> To clarify a point raised in the comments, <em>PyGTK will be maintained in the exact same was as the GTK+-2.0 series will be maintained</em>. Bug fix releases will be made if necessary, but no new features will be added. If you want the new GTK+-3.0 features then you should use <a href="http://live.gnome.org/PyGObject" onclick="javascript:pageTracker._trackPageview('/live.gnome.org');">PyGObject + GObject Introspection</a>.</p>
<p>The PyGTK code will not disappear from any servers, it will continue to be shipped in all distributions for the forseeable future, it will continue to work very well on windows, and many applications will continue to use it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2011/04/03/end-of-an-era-pygtk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PyGTK All-in-one Installer for Windows</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2010/12/24/pygtk-all-in-one-installer-for-windows/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2010/12/24/pygtk-all-in-one-installer-for-windows/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 07:18:25 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=349</guid>
		<description><![CDATA[The PyGTK team is pleased to announce the return of the highly popular all-in-one installer for Windows.
The PyGTK All-in-one installer provides an alternative installation method for PyGTK users on Windows. It bundles PyGTK, PyGObject, PyCairo, PyGtkSourceView2, PyGooCanvas, PyRsvg, the gtk+-bundle and Glade in one handy installer.
Currently 32 bit Python 2.6 and 2.7 versions are supported [...]]]></description>
			<content:encoded><![CDATA[<p>The PyGTK team is pleased to <a title="announcement email" href="http://www.daa.com.au/pipermail/pygtk/2010-December/019296.html" onclick="javascript:pageTracker._trackPageview('/www.daa.com.au');">announce</a> the return of the highly popular all-in-one installer for Windows.</p>
<blockquote><p>The PyGTK All-in-one installer provides an alternative installation method for PyGTK users on Windows. It bundles PyGTK, PyGObject, PyCairo, PyGtkSourceView2, PyGooCanvas, PyRsvg, the gtk+-bundle and Glade in one handy installer.</p>
<p>Currently 32 bit Python 2.6 and 2.7 versions are supported on Windows XP and above.</p></blockquote>
<ul>
<li><a href="http://download.gnome.org/binaries/win32/pygtk/2.22/" onclick="javascript:pageTracker._trackPageview('/download.gnome.org');">Download</a></li>
<li><a href="https://github.com/dieterv/pygtk-installer/blob/master/README.rst" onclick="javascript:pageTracker._trackPageview('/github.com');">README</a></li>
</ul>
<p><a href="https://github.com/dieterv" onclick="javascript:pageTracker._trackPageview('/github.com');">Dieter Verfaillie</a> deserves enormous thanks for this work. Firstly, he performed the tedious job of ensuring that all the component MSI installers were exactly correct, and secondly, the really difficult task of deconstructing these individual installers and reassembling their contents into a single cohesive executable.</p>
<p>This is a true all-in-one installer, it does not simply call out to launch the individual MSI files.</p>
<p><img class="aligncenter" src="https://github.com/dieterv/pygtk-installer/wiki/screenshots/2.22.4/1-welcome.png" alt="" width="499" height="385" /><img class="aligncenter" src="https://github.com/dieterv/pygtk-installer/wiki/screenshots/2.22.4/2-customize.png" alt="" width="499" height="385" /><img class="aligncenter" src="https://github.com/dieterv/pygtk-installer/wiki/screenshots/2.22.4/6-changerepairmodify.png" alt="" width="499" height="385" /></p>
<ul>
<li>More screenshots <a href="https://github.com/dieterv/pygtk-installer/wiki" onclick="javascript:pageTracker._trackPageview('/github.com');">here</a>.</li>
<li>Please <a href="https://github.com/dieterv/pygtk-installer/issues" onclick="javascript:pageTracker._trackPageview('/github.com');">file bugs</a> as appropriate.</li>
<li>We are looking to collaborate with others who want to create gtk+ (and friends) all-in-one installers for Windows. We anticipate the tools to generate these installers will move to GNOME in future - perhaps in a common repository. Suggestions and feedback welcome.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2010/12/24/pygtk-all-in-one-installer-for-windows/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GTK+ Viewer for Microsoft Kinect</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2010/11/19/gtk-viewer-for-microsoft-kinect/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2010/11/19/gtk-viewer-for-microsoft-kinect/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 12:09:11 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=346</guid>
		<description><![CDATA[I&#8217;m hacking on the new Kinect at the moment and the OpenGL viewer didn&#8217;t work for me so I threw together this terrible quality gtk+ one. I&#8217;ll clean up the code and try to get this into OpenKinect ASAP.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m hacking on the new <a title="Microsoft Kinect" href="http://en.wikipedia.org/wiki/Kinect" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">Kinect</a> at the moment and the <a href="https://github.com/OpenKinect/libfreenect/blob/master/c/examples/glview.c" onclick="javascript:pageTracker._trackPageview('/github.com');">OpenGL viewer</a> didn&#8217;t work for me so I threw together this <strong><a title="GTK+ viewer for Microsoft Kinect" href="https://gist.github.com/704902" onclick="javascript:pageTracker._trackPageview('/gist.github.com');">terrible</a></strong><a title="GTK+ viewer for Microsoft Kinect" href="https://gist.github.com/704902" onclick="javascript:pageTracker._trackPageview('/gist.github.com');"> quality gtk+ one.</a> I&#8217;ll clean up the code and try to get this into <a href="http://openkinect.org/wiki/Main_Page" onclick="javascript:pageTracker._trackPageview('/openkinect.org');">OpenKinect</a> ASAP.</p>
<div id="attachment_347" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.johnstowers.co.nz/blog/wp-content/uploads/2010/11/gtk-microsoft-kinect.jpg" ><img class="size-medium wp-image-347" title="gtk-microsoft-kinect" src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2010/11/gtk-microsoft-kinect.jpg" alt="GTK+ viewer for Microsoft Kinect" width="300" height="247" /></a><p class="wp-caption-text">GTK+ viewer for Microsoft Kinect</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2010/11/19/gtk-viewer-for-microsoft-kinect/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Map Updates</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2010/06/10/map-updates/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2010/06/10/map-updates/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 03:34:27 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=336</guid>
		<description><![CDATA[I recently made a number of improvements to osm-gps-map, the easy to use mapping widget. The motivation for these came at the request of the foxtrotGPS developers (foxtrotGPS is a community developed fork of TangoGPS). These changes enhanced the API for adding images and tracks to the map, and in addition allowed me to clean [...]]]></description>
			<content:encoded><![CDATA[<p>I recently made a number of <a href="http://mail.gnome.org/archives/gnome-announce-list/2010-June/msg00003.html" onclick="javascript:pageTracker._trackPageview('/mail.gnome.org');">improvements</a> to <a href="http://nzjrs.github.com/osm-gps-map/" onclick="javascript:pageTracker._trackPageview('/nzjrs.github.com');">osm-gps-map</a>, the easy to use mapping widget. The motivation for these came at the request of the <a href="http://www.foxtrotgps.org/" onclick="javascript:pageTracker._trackPageview('/www.foxtrotgps.org');">foxtrotGPS</a> developers (foxtrotGPS is a community developed fork of TangoGPS). These changes enhanced the API for adding <a href="http://github.com/nzjrs/osm-gps-map/blob/master/src/osm-gps-map-image.h" onclick="javascript:pageTracker._trackPageview('/github.com');">images</a> and <a href="http://github.com/nzjrs/osm-gps-map/blob/master/src/osm-gps-map-track.h" onclick="javascript:pageTracker._trackPageview('/github.com');">tracks</a> to the map, and in addition allowed me to clean up the <a href="http://github.com/nzjrs/osm-gps-map/blob/master/src/osm-gps-map-widget.h" onclick="javascript:pageTracker._trackPageview('/github.com');">basic API</a> making it easier to use for the common case. But, there is more, especially relevant to Gtk+/GNOME 3.0.</p>
<ul>
<li>Introspection Support (<a href="http://github.com/nzjrs/osm-gps-map/blob/master/examples/mapviewer.js" onclick="javascript:pageTracker._trackPageview('/github.com');">JavaScript example</a>)</li>
<li>GTK+ 3.0 Compatibility</li>
<li><a href="http://nzjrs.github.com/osm-gps-map/docs/reference/html/index.html" onclick="javascript:pageTracker._trackPageview('/nzjrs.github.com');">API Documentation</a> (finally&#8230;)</li>
<li>Improved examples (<a href="http://github.com/nzjrs/osm-gps-map/blob/master/examples/mapviewer.c" onclick="javascript:pageTracker._trackPageview('/github.com');">C</a>, <a href="http://github.com/nzjrs/osm-gps-map/blob/master/examples/mapviewer.py" onclick="javascript:pageTracker._trackPageview('/github.com');">Python</a>,  <a href="http://github.com/nzjrs/osm-gps-map/blob/master/examples/mapviewer.js" onclick="javascript:pageTracker._trackPageview('/github.com');">JavaScript</a>)</li>
</ul>
<div id="attachment_337" class="wp-caption aligncenter" style="width: 412px"><a href="http://www.johnstowers.co.nz/blog/wp-content/uploads/2010/06/screenshot-lt-mapviewer-070.png" ><img class="size-full wp-image-337" title="osm-gps-map demo application" src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2010/06/screenshot-lt-mapviewer-070.png" alt="osm-gps-map demo application" width="402" height="428" /></a><p class="wp-caption-text">osm-gps-map demo application</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2010/06/10/map-updates/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nautilus + Coverflow part two</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2010/02/05/nautilus-coverflow-part-two/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2010/02/05/nautilus-coverflow-part-two/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 13:21:19 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=331</guid>
		<description><![CDATA[After two complete rewrites following my initial experiments, the other gloobus developers (badchoice and kitkat) have continued to work on integrating this coverflow view into nautilus.

The implementation of the coverflow widget this time is a little more sane. It is passed a GtkTreeModel of GFiles, and basically does everything in isolation. The coupling to nautilus is [...]]]></description>
			<content:encoded><![CDATA[<p>After two complete rewrites following my initial experiments, the other <a href="http://gloobus.wordpress.com/" onclick="javascript:pageTracker._trackPageview('/gloobus.wordpress.com');">gloobus</a> developers <em>(badchoice and kitkat)</em> have <a href="http://gloobus.wordpress.com/2010/02/04/gloobus-flow/" onclick="javascript:pageTracker._trackPageview('/gloobus.wordpress.com');">continued to work</a> on integrating this coverflow view into nautilus.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/NeuVNAf7T2E&amp;hl=en_US&amp;fs=1&amp;rel=0" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/NeuVNAf7T2E&amp;hl=en_US&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The implementation of the coverflow widget this time is a little more sane. It is passed a GtkTreeModel of GFiles, and basically does everything in isolation. The coupling to nautilus is quite loose, so the idea is that the widget can be reused easily by others.</p>
<p>The code is available from the linked blog post, or <a href="http://github.com/nzjrs/nautilus" onclick="javascript:pageTracker._trackPageview('/github.com');">from github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2010/02/05/nautilus-coverflow-part-two/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Misc Hacking</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2010/01/22/misc-hacking/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2010/01/22/misc-hacking/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 22:22:39 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=322</guid>
		<description><![CDATA[I had two days off while I moved offices, so I got a chance to catch up on my backlog of random hacking.
osm-gps-map
I released osm-gps-map v0.5.0 which adds a few new features (such as keyboard navigation) but also contains many bugfixes and performance improvements. Check the release notes for more information. The next item on the [...]]]></description>
			<content:encoded><![CDATA[<p>I had two days off while I moved offices, so I got a chance to catch up on my backlog of random hacking.</p>
<p><strong>osm-gps-map</strong></p>
<p>I released <a href="http://nzjrs.github.com/osm-gps-map/" onclick="javascript:pageTracker._trackPageview('/nzjrs.github.com');">osm-gps-map</a> v0.5.0 which adds a few new features (such as keyboard navigation) but also contains many bugfixes and performance improvements. Check the <a href="http://mail.gnome.org/archives/gnome-announce-list/2010-January/msg00063.html" onclick="javascript:pageTracker._trackPageview('/mail.gnome.org');">release notes</a> for more information. The next item on the TODO is merging the OSD/layers branch.</p>
<p><strong>Conduit</strong></p>
<p>I <a href="http://mail.gnome.org/archives/gnome-announce-list/2010-January/msg00064.html" onclick="javascript:pageTracker._trackPageview('/mail.gnome.org');">released Conduit 0.3.17</a> which was long overdue. Mostly a bugfix release and updating to new API. The <a href="http://live.gnome.org/Conduit" onclick="javascript:pageTracker._trackPageview('/live.gnome.org');">Conduit homepage</a> has also moved to live.gnome.org. Progress on Conduit is a bit slow at the moment, it does everything I want it to (I have a budget cellphone so phone synce does not interest me), and is pretty stable. I have some SOC work I would like to merge, but basically I am looking for developers and inspiration&#8230;</p>
<p><strong>PyGTK for Windows</strong></p>
<p>I finished off the fixes to build correct PyGTK+ installers on windows, hopefully closing <a href="https://bugzilla.gnome.org/show_bug.cgi?id=589671" onclick="javascript:pageTracker._trackPageview('/bugzilla.gnome.org');">bug #589671</a>. I uploaded new installers with the fixes people have reported. I expect these installers to become the &#8216;final&#8217; installers at some point. Feedback welcome.</p>
<ul>
<li>Stable (requires the <a href="http://www.gtk.org/download-windows.html" onclick="javascript:pageTracker._trackPageview('/www.gtk.org');">Gtk+-2.16 bundle</a>)
<ul>
<li><a href="http://www.johnstowers.co.nz/files/win32/pygobject-2.20.0.win32-py2.6.exe" >PyGObject 2.20 for Windows</a></li>
<li><a href="http://www.johnstowers.co.nz/files/win32/pygtk-2.16.0.win32-py2.6.exe" >PyGTK 2.16 (no Glade) for Windows</a></li>
<li><a href="http://www.johnstowers.co.nz/files/win32/pygtk-2.16.0+glade.win32-py2.6.exe" >PyGTK 2.16 (with Glade) for Windows</a></li>
</ul>
</li>
<li><em>Update:</em> I also built
<ul>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=589671#c34" onclick="javascript:pageTracker._trackPageview('/bugzilla.gnome.org');">PyCairo 1.8.6 for Windows</a></li>
</ul>
</li>
</ul>
<p><strong>PyGTK Hacking</strong></p>
<p>I wanted to play with the new client side windows work in Gtk+, so I <a href="http://gist.github.com/280520" onclick="javascript:pageTracker._trackPageview('/gist.github.com');">ported the effects gtk-demo to Python</a>. This required a bit of ctypes magic to access the new API (good), and some more ctypes magic to interact with new signals that appears to have unfriendly prototypes (<a href="https://bugzilla.gnome.org/show_bug.cgi?id=607393" onclick="javascript:pageTracker._trackPageview('/bugzilla.gnome.org');">not so good, bug filed here</a>).</p>
<div id="attachment_324" class="wp-caption aligncenter" style="width: 376px"><a href="http://www.johnstowers.co.nz/blog/wp-content/uploads/2010/01/screenshot-mirrorpy.png" ><img class="size-full wp-image-324" title="screenshot-mirrorpy" src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2010/01/screenshot-mirrorpy.png" alt="PyGTK example using client side windows" width="366" height="129" /></a><p class="wp-caption-text">PyGTK example using client side windows</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2010/01/22/misc-hacking/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gtk+ Map Widget</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2010/01/11/gtk-map-widget/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2010/01/11/gtk-map-widget/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 12:14:06 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=310</guid>
		<description><![CDATA[It has been a long time between blogs. I thought I should talk about the piece of software that has been responsible for the most emails in my inbox over the last few days - osm-gps-map, the Gtk+ based map widget. What started as a widget for use in one small application of mine has [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a long time between blogs. I thought I should talk about the piece of software that has been responsible for the most emails in my inbox over the last few days - <a title="Gtk+ Map Widget" href="http://nzjrs.github.com/osm-gps-map/" onclick="javascript:pageTracker._trackPageview('/nzjrs.github.com');">osm-gps-map, the Gtk+ based map widget</a>. What started as a widget for use in one small application of mine has grown considerably.</p>
<ul>
<li>I recently r<a href="http://mail.gnome.org/archives/gnome-announce-list/2010-January/msg00020.html" onclick="javascript:pageTracker._trackPageview('/mail.gnome.org');">eleased 0.4.0</a>, a bugfix release.</li>
<li>I created a <a href="http://groups.google.com/group/osm-gps-map" onclick="javascript:pageTracker._trackPageview('/groups.google.com');">mailing list</a>, if you are a user or interested osm-gps-map, them please join.</li>
</ul>
<div>But I thought I should take some time to highlight some of the most interesting users of osm-gps-map, particualry those users on the <a href="http://maemo.org/" onclick="javascript:pageTracker._trackPageview('/maemo.org');">Maemo</a> platform.</div>
<p><strong>Maep, OSM2Go and GPXView (<a href="http://harbaum.org/till/maemo/index.shtml" onclick="javascript:pageTracker._trackPageview('/harbaum.org');">by Till Harbaum</a>)</strong></p>
<div>
<ul>
<li><a href="http://garage.maemo.org/projects/maep" onclick="javascript:pageTracker._trackPageview('/garage.maemo.org');">Maep</a> seems to be the <a href="http://my-maemo.com/software/applications.php?name=Maep&amp;fldAuto=1039&amp;faq=38" onclick="javascript:pageTracker._trackPageview('/my-maemo.com');">flagship tile mapping application</a> for the Nokia n900. Most notable is the wonderful onscreen display that Till has created on top of osm-gps-map.</li>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/nzjrs/4261506359/in/set-72157600285716789" onclick="javascript:pageTracker._trackPageview('/www.flickr.com');"><img title="Maep" src="http://farm3.static.flickr.com/2794/4261506359_b1cc82f94e_m.jpg" alt="Maep Screenshot" width="240" height="144" /></a> <a title="http://www.flickr.com/photos/nzjrs/4261505089/in/set-72157600285716789" href="http://" onclick="javascript:pageTracker._trackPageview('/');"><img title="Maep Screenshot" src="http://farm3.static.flickr.com/2760/4261505089_2039a7d8d4_m.jpg" alt="Maep" width="240" height="144" /></a><p class="wp-caption-text">Maep</p></div>
<li><a href="http://harbaum.org/till/maemo/index.shtml" onclick="javascript:pageTracker._trackPageview('/harbaum.org');">OSM2Go</a> is an editor for <a href="http://www.openstreetmap.org" onclick="javascript:pageTracker._trackPageview('/www.openstreetmap.org');">openstreetmap.org</a> map data</li>
<div class="wp-caption aligncenter" style="width: 250px"><a href="http://www.flickr.com/photos/nzjrs/4262257708/in/set-72157600285716789" onclick="javascript:pageTracker._trackPageview('/www.flickr.com');"><img title="OSM2Go screenshot" src="http://farm5.static.flickr.com/4001/4262257708_04fc93d1e0_m.jpg" alt="OSM2Go" width="240" height="144" /></a><p class="wp-caption-text">OSM2Go</p></div>
<li><a href="http://harbaum.org/till/maemo/index.shtml" onclick="javascript:pageTracker._trackPageview('/harbaum.org');">GPXView</a> is a viewer for <a href="http://www.geocaching.com" onclick="javascript:pageTracker._trackPageview('/www.geocaching.com');">Geocaching.com</a> GPX files.</li>
<p><div class="wp-caption aligncenter" style="width: 250px"><a href="http://www.flickr.com/photos/nzjrs/4261505507/in/set-72157600285716789" onclick="javascript:pageTracker._trackPageview('/www.flickr.com');"><img title="GPXView screenshot" src="http://farm3.static.flickr.com/2787/4261505507_a0a634999f_m.jpg" alt="GPXView" width="240" height="144" /></a><p class="wp-caption-text">GPXView</p></div></ul>
</div>
<p><strong>BrainStorm (by <a href="http://www.aircrafter.org/boggs" onclick="javascript:pageTracker._trackPageview('/www.aircrafter.org');">Adam Boggs</a>)</strong></p>
<ul>
<li><a href="http://www.aircrafter.org/boggs/stormchasing/BrainStorm/" onclick="javascript:pageTracker._trackPageview('/www.aircrafter.org');">BrainStorm</a> is a storm chasing application that plots your track, and overlays current radar and severe warning imagery on the map.</li>
<p><div class="wp-caption alignnone" style="width: 510px"><a href="http://www.flickr.com/photos/nzjrs/4262256864/in/set-72157600285716789" onclick="javascript:pageTracker._trackPageview('/www.flickr.com');"><img title="Brainview screenshot" src="http://farm5.static.flickr.com/4012/4262256864_1ab2c2c578_m.jpg" alt="Brainview" width="240" height="163" /></a><a href="http://www.flickr.com/photos/nzjrs/4262255904/in/set-72157600285716789/" onclick="javascript:pageTracker._trackPageview('/www.flickr.com');"><img class="alignnone" title="Brainview screenshot" src="http://farm5.static.flickr.com/4007/4262255904_3e88b74927_m.jpg" alt="" width="240" height="163" /></a><p class="wp-caption-text">Brainview</p></div></ul>
<p><strong>eCoach</strong></p>
<div>
<ul>
<li><a href="http://ecoach.garage.maemo.org/" onclick="javascript:pageTracker._trackPageview('/ecoach.garage.maemo.org');">eCoach</a> is an application for recording and managing sport activities with Nokia N900, it records heart rate data from various monitors, and plots your path on the map as you exercise.</li>
<p><div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/nzjrs/4261504055/in/set-72157600285716789/" onclick="javascript:pageTracker._trackPageview('/www.flickr.com');"><img title="eCoach screenshot" src="http://farm5.static.flickr.com/4058/4261504055_fa389699be_m.jpg" alt="eCoach" width="240" height="144" /></a><a href="http://www.flickr.com/photos/nzjrs/4261588493/in/set-72157600285716789/" onclick="javascript:pageTracker._trackPageview('/www.flickr.com');"><img class="alignnone" title="eCoach screenshot" src="http://farm3.static.flickr.com/2711/4261588493_602e681ebd_m.jpg" alt="" width="240" height="144" /></a><p class="wp-caption-text">eCoach</p></div></ul>
<p><strong>Conclusion</strong></p>
<div>
<ul>
<li>With the help of these users, the future of osm-gps-map looks very positive.</li>
<li>I am currently working on merging <a href="http://github.com/nzjrs/osm-gps-map/tree/master-till" onclick="javascript:pageTracker._trackPageview('/github.com');">Till&#8217;s improvements</a> to master to discourage people from copying osm-gps-map source into their application.</li>
<li>If you are a user of osm-gps-map and I have forgotten you then I am sorry. Please <a href="http://www.johnstowers.co.nz/blog/index.php/about-me/" >contact me</a> and join the osm-gps-map <a href="http://groups.google.com/group/osm-gps-map" onclick="javascript:pageTracker._trackPageview('/groups.google.com');">mailing list</a>.</li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2010/01/11/gtk-map-widget/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Playing With Clutter</title>
		<link>http://www.johnstowers.co.nz/blog/index.php/2009/05/27/playing-with-clutter/</link>
		<comments>http://www.johnstowers.co.nz/blog/index.php/2009/05/27/playing-with-clutter/#comments</comments>
		<pubDate>Wed, 27 May 2009 09:08:51 +0000</pubDate>
		<dc:creator>John Stowers</dc:creator>
		
		<category><![CDATA[Nerd]]></category>

		<category><![CDATA[Planet GNOME]]></category>

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

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

		<guid isPermaLink="false">http://www.johnstowers.co.nz/blog/?p=279</guid>
		<description><![CDATA[Some of you out there might be familiar with Gloobus. Over the last few nights I spent some time integrating Gloobus inside nautilus.

This is a proof of concept. I have done very little so far - it shows the first 8 files in the directory, and allows you to navigate between them with animation. It [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you out there might be familiar with <a href="https://launchpad.net/gloobus" onclick="javascript:pageTracker._trackPageview('/launchpad.net');">Gloobus</a>. Over the last few nights I spent some time integrating Gloobus inside nautilus.</p>
<p style="text-align: left;"><a href="http://www.johnstowers.co.nz/blog/wp-content/uploads/2009/05/nautilus-clutter.png" ><img class="aligncenter size-medium wp-image-280" title="Nautilus Clutter Integration Screenshot" src="http://www.johnstowers.co.nz/blog/wp-content/uploads/2009/05/nautilus-clutter-300x168.png" alt="" width="300" height="168" /></a></p>
<p style="text-align: left;">This is a proof of concept. I have done very little so far - it shows the first 8 files in the directory, and allows you to navigate between them with animation. It is mostly just a port of Gloobus from C++ into a ClutterGroup derived Actor in C, most of the thanks should go to the <a href="http://gloobus.wordpress.com/" onclick="javascript:pageTracker._trackPageview('/gloobus.wordpress.com');">Gloobus author</a>.</p>
<p style="text-align: left;">It features the same bugs as Gloobus, like poor support for resizing the window, positioning bugs, and it does not scale to very many files. It also leaks like a sieve (that one&#8217;s on me). Here is my inadequacy represented in <a href="http://www.youtube.com/watch?v=1oZyFQM-m3E" onclick="javascript:pageTracker._trackPageview('/www.youtube.com');">video form</a>.</p>
<p style="text-align: left;">Those of you who regularly work with computers and other technology will be aware of how important it is to have a good quality internet connection. If you are looking into getting a new broadband connection then I recommend you look at <a href="http://www.o2.co.uk/broadband/" onclick="javascript:pageTracker._trackPageview('/www.o2.co.uk');">O2 uk broadband reviews</a>.</p>
<p>However, if you would still like to take a look and perhaps fix all the bugs, the steps for testing it are</p>
<ol>
<li>Install <a href="http://www.clutter-project.org/sources/clutter-gtk/0.9/" onclick="javascript:pageTracker._trackPageview('/www.clutter-project.org');">clutter-gtk-0.9</a></li>
<li>Download nautilus from my Git repository (the clutter branch)<br />
<a href="https://github.com/nzjrs/nautilus/tree" onclick="javascript:pageTracker._trackPageview('/github.com');" target="_blank">https://github.com/nzjrs/nautilus/tree</a></li>
<li>Build the test program<br />
cd src/file-manager<br />
make -f Makefile.covflow &amp;&amp; ./test-covflow</li>
<li>Built nautilus with &#8211;enable-clutter-view</li>
<li>Run the newly build nautilus<br />
cd src<br />
./nautilus -q<br />
./nautilus &#8211;no-desktop</li>
</ol>
<p>This is very early work so the standard disclaimers apply. I needed to get this off my chest so I could get back to PhD work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johnstowers.co.nz/blog/index.php/2009/05/27/playing-with-clutter/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

