<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://guaka.org"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Guaka! - Python</title>
 <link>http://guaka.org/tag/python</link>
 <description></description>
 <language>en</language>
<item>
 <title>code</title>
 <link>http://guaka.org/code</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;See &lt;a href=&quot;http://github.com/guaka&quot;&gt;my profile at github&lt;/a&gt;.&lt;/p&gt;


Some projects that I&#039;ve contributed code to, available under free software licenses:
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/trust-metrics/&quot;&gt;trustlet&lt;/a&gt;, analysis of trust metrics, Python, NetworkX, numpy&lt;/li&gt;
	&lt;li&gt;wik2dict, converter of MediaWiki dumps into the DICT format, currently in the trustlet codebase, Python&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://dev.bewelcome.org&quot;&gt;BeWelcome&lt;/a&gt;, hospitality exchange software, PHP, MySQL, XHTML, CSS&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mediawiki.org/wiki/Extension:GoogleCalendar&quot; target=&quot;_blank&quot;&gt;Google Calendar plugin for MediaWiki&lt;/a&gt;, PHP&lt;/li&gt;
&lt;/ul&gt;
Small patches:
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://cheesetracker.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;CheeseTracker&lt;/a&gt;, audio software, C++, JACK&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://bio2jack.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;bio2jack &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
I&#039;ve been involved in finding bugs, usability issues and new features for the following projects:
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://ipython.scipy.org/&quot; target=&quot;_blank&quot;&gt;IPython&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://audio.spoof-net.info/xmms-jack/&quot; target=&quot;_blank&quot;&gt;xmm-jack&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://qjackctl.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;qjackctl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
I&#039;ve also worked on code for the following companies and organizations:
&lt;ul&gt;
	&lt;li&gt;CouchSurfing.com (PHP, MySQL, CSS), I started developing in August 2006, right after the crash, I was the CS tech team coordinator from autumn 2006 till January 2007 and I remained core developer until May 2007.&lt;/li&gt;
	&lt;li&gt;structural analysis of audio from musical pieces (Python, numarray), for IRCAM&lt;/li&gt;
	&lt;li&gt;custom GNU Pascal libraries&lt;/li&gt;
	&lt;li&gt;ActionApps data migration (PHP on Windows and GNU/Linux) for CEPES in Peru&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.accessible.rotterdam.nl&quot;&gt;accessible.rotterdam.nl&lt;/a&gt; and more (ASP, MS SQL Server), for PPC&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-hidden clearfix&quot;&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/tag/free-software&quot;&gt;free software&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/tag/python&quot;&gt;Python&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/tag/php&quot;&gt;php&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-3&quot;&gt;&lt;a href=&quot;/tag/code&quot;&gt;code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
<pubDate>Mon, 01 Oct 2007 22:28:36 +0000</pubDate>
<dc:creator>Guaka</dc:creator>
<guid isPermaLink="false">177 at http://guaka.org</guid>
</item>
<item>
 <title>Recursively create lowercase symlinks to filenames with uppercase letters - in Python</title>
 <link>http://guaka.org/recursively-create-lowercase-symlinks-filenames-uppercase-letters-python</link>
 <description>&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;tag: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/tag/free-software&quot;&gt;free software&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/tag/python&quot;&gt;Python&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/tag/drupal&quot;&gt;drupal&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-3&quot;&gt;&lt;a href=&quot;/tag/drupal-planet&quot;&gt;drupal planet&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;I&#039;m working on a project to convert a big ASP website into Drupal.  On Windows OSes there is not really a distinction between upper and lower case characters in filenames.  At first I thought to just leave the capitals, but on web pages links were sometimes with capitals and sometimes lowercase.  So I added some stuff to the Apache configuration, usually inside the VirtualHost directive (this does &lt;em&gt;not&lt;/em&gt; work in &lt;tt&gt;.htaccess&lt;/tt&gt;):&lt;/p&gt;
&lt;pre&gt;        
        RewriteEngine on
        RewriteMap lc int:tolower
        RewriteCond %{REQUEST_URI} [A-Z]
        RewriteRule (.*) ${lc:$1} [R=301,L]
&lt;/pre&gt;&lt;p&gt;But that wasn&#039;t all.  For the project I&#039;m parsing thousands of ASP files and the plan is to do this everyday while the existing website is updated.  We&#039;re rsyncing files to be parsed, and the &lt;a href=&quot;http://www.linuxweblog.com/node/306&quot;&gt;recursively rename to lowercase&lt;/a&gt; script I found is nice but it&#039;s not very efficient to copy and rename almost 3 GB everyday.  I wrote a little Python script in the train today to create lowercase symbolic links to file and directory names with uppercase letters.  The hardest part was to properly change directories - it&#039;s important to change into the directory the symlink is created but at the end of an &lt;tt&gt;os.walk&lt;/tt&gt; it&#039;s necessary to get back to the current working directory.&lt;/p&gt;
&lt;p&gt;I&#039;m sure it can be useful to other people dealing with similar issues...&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;/sites/guaka.org/files/lowlink.py&quot;&gt;lowlink.py&lt;/a&gt;&lt;/h2&gt;
&lt;pre&gt;
#!/usr/bin/env python
&quot;&quot;&quot;
lowlink.py

Recursively creates lower case symlinks to filenames with uppercase letters.

Created by Guaka in 2010, consider this public domain, copy and re-use freely.
&quot;&quot;&quot;

import os

def lowlink(path = &#039;.&#039;):
    cwd = os.getcwd()  # os.walk can&#039;t handle path changes very well 
    for root, dirs, files in os.walk(path):
        # change directory for symlink creation
        os.chdir(os.path.join(cwd, root))
        print root
        for name in files + dirs:
            lowname = name.lower()
            if name != lowname and not os.path.exists(lowname):
                os.symlink(name, lowname)
        os.chdir(cwd) # restore path for os.walk

lowlink()
&lt;/pre&gt;&lt;div style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;http://sphotos.ak.fbcdn.net/hphotos-ak-ash1/hs533.ash1/31270_443942522208_611107208_5835466_349375_n.jpg&quot; alt=&quot;my working setup&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
<pubDate>Tue, 04 May 2010 17:51:54 +0000</pubDate>
<dc:creator>Guaka</dc:creator>
<guid isPermaLink="false">435 at http://guaka.org</guid>
</item>
<item>
 <title>wik2dict</title>
 <link>http://guaka.org/project/wik2dict</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;wik2dict is a tool I wrote in Python. It converts MediaWiki SQL dumps into the DICT format.&lt;/p&gt;
&lt;p&gt;I&#039;m not actively maintaining this anymore, &lt;a href=&quot;http://aarddict.org/&quot;&gt;Aard Dictionary&lt;/a&gt; seems the way to go.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-hidden clearfix&quot;&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/tag/free-software&quot;&gt;free software&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/tag/mediawiki&quot;&gt;mediawiki&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/tag/python&quot;&gt;Python&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-3&quot;&gt;&lt;a href=&quot;/tag/wiki&quot;&gt;wiki&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-4&quot;&gt;&lt;a href=&quot;/tag/wik2dict&quot;&gt;wik2dict&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-5&quot;&gt;&lt;a href=&quot;/tag/code&quot;&gt;code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
<pubDate>Sat, 06 Mar 2010 00:54:52 +0000</pubDate>
<dc:creator>Guaka</dc:creator>
<guid isPermaLink="false">401 at http://guaka.org</guid>
</item>
<item>
 <title>Google&#039;s issue tracker is not great</title>
 <link>http://guaka.org/2007/10/10/googles-issue-tracker-is-not-great</link>
 <description>&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;tag: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/tag/coding&quot;&gt;coding&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/tag/google-code&quot;&gt;Google Code&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/tag/google-issue-tracking&quot;&gt;google issue tracking&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-3&quot;&gt;&lt;a href=&quot;/tag/python&quot;&gt;Python&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-4&quot;&gt;&lt;a href=&quot;/tag/sucks&quot;&gt;sucks&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-5&quot;&gt;&lt;a href=&quot;/tag/trac&quot;&gt;Trac&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-6&quot;&gt;&lt;a href=&quot;/tag/trust-metrics&quot;&gt;trust metrics&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;We&#039;re using &lt;a href=&quot;http://code.google.com/p/trust-metrics/&quot;&gt;Google Code&lt;/a&gt; for our &lt;a href=&quot;http://trustlet.org&quot;&gt;trust metrics project&lt;/a&gt;, out of sheer convenience, and because of lack of political correctness. Well, I&#039;ve given up on worrying about privacy a while ago anyway.  I just tried to use the issue tracker that comes with Google Code, but first I got a time-out, there were &lt;a href=&quot;http://code.google.com/p/trust-metrics/issues/list&quot; target=&quot;_blank&quot;&gt;two identical issues&lt;/a&gt; because I refreshed. And on top of that, even though I am administrator of the project, I can not delete it.

So I guess I&#039;m going to install &lt;a href=&quot;http://trac.edgewall.org/&quot;&gt;Trac&lt;/a&gt; in the near future and forget about Google Code.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
<pubDate>Wed, 10 Oct 2007 19:55:43 +0000</pubDate>
<dc:creator>Guaka</dc:creator>
<guid isPermaLink="false">186 at http://guaka.org</guid>
</item>
<item>
 <title>numpy documentation</title>
 <link>http://guaka.org/2007/10/04/numpy-documentation</link>
 <description>&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;tag: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/tag/attribution&quot;&gt;attribution&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/tag/creativecommons&quot;&gt;creative_commons&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/tag/graphs&quot;&gt;graphs&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-3&quot;&gt;&lt;a href=&quot;/tag/money&quot;&gt;money&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-4&quot;&gt;&lt;a href=&quot;/tag/noncommercial&quot;&gt;noncommercial&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-5&quot;&gt;&lt;a href=&quot;/tag/numpy&quot;&gt;numpy&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-6&quot;&gt;&lt;a href=&quot;/tag/prediction&quot;&gt;prediction&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-7&quot;&gt;&lt;a href=&quot;/tag/python&quot;&gt;Python&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-8&quot;&gt;&lt;a href=&quot;/tag/scientificcommunity&quot;&gt;scientific_community&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-9&quot;&gt;&lt;a href=&quot;/tag/softwaredocumentation&quot;&gt;software_documentation&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-10&quot;&gt;&lt;a href=&quot;/tag/trustmetrics&quot;&gt;trust_metrics&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;With &lt;a href=&quot;http://trustlet.org&quot; target=&quot;_blank&quot;&gt;trustlet&lt;/a&gt;, I&#039;m finally getting to a point where we can do cool stuff, evaluating prediction graphs of trust metrics. Now I need to refresh my Python array stuff. Since last time I was using that stuff, in 2004, they have refactored it (once more) and called it numpy. That&#039;s fine. But, in order to read an important part of the &lt;a href=&quot;http://www.scipy.org/Documentation&quot; target=&quot;_blank&quot;&gt;documentation&lt;/a&gt; you need to pay 39.99 US$. Now, that&#039;s &lt;a href=&quot;http://finance.yahoo.com/currency/convert?amt=1&amp;amp;from=CAD&amp;amp;to=USD&amp;amp;submit=Convert&quot; title=&quot;CA$ &amp;gt; US$&quot;&gt;less and less&lt;/a&gt;  by the day, but still, it&#039;s very inconvenient, and probably holding back wider acceptation of  Python in the scientific community. Like software, documentation should be free. I might even pay if the author would have chosen to use the &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;Creative Commons ShareAlike NonCommercial Attribution&lt;/a&gt; license - but then I would be able to pass on the information to my friends (even they are all over the internet).

I think it would have been a wiser choice to find a job at some institute or company to further the development of numpy and scipy, and its documentation in a freer way. That &lt;a href=&quot;http://www.oreillynet.com/onlamp/blog/2005/12/python_creator_guido_van_rossu.html&quot; title=&quot;Python creator working for Google&quot; target=&quot;_blank&quot;&gt;shouldn&#039;t be too hard&lt;/a&gt; these days.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
<pubDate>Thu, 04 Oct 2007 00:08:39 +0000</pubDate>
<dc:creator>Guaka</dc:creator>
<guid isPermaLink="false">181 at http://guaka.org</guid>
</item>
</channel>
</rss>
