<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Python on dennogumi.org</title>
    <link>https://www.dennogumi.org/tags/python/</link>
    <description>Recent content in Python on dennogumi.org</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>&amp;copy; 2026 Einar under a CC-BY-SA 4.0 license. Some images are AI-generated. Header design by [Melissa Adkins](https://melissaadkins.com) with [assets from Freepik](https://freepik.com).</copyright>
    <lastBuildDate>Sun, 02 Dec 2012 18:00:57 +0000</lastBuildDate><atom:link href="https://www.dennogumi.org/tags/python/feed/atom.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Making KDE applications Python 3 friendly</title>
      <link>https://www.dennogumi.org/2012/12/making-kde-applications-python-3-friendly/</link>
      <pubDate>Sun, 02 Dec 2012 18:00:57 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2012/12/making-kde-applications-python-3-friendly/</guid>
      <description>&lt;p&gt;When I&amp;rsquo;m not on &lt;a href=&#34;http://forum.kde.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;forum duty&lt;/a&gt; or handling &lt;a href=&#34;http://www.opensuse.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;openSUSE&lt;/a&gt;-related contributions, I try to improve my code contributions to KDE, even though I&amp;rsquo;m by no means an experienced programmer (I program all day long in Python, but I&amp;rsquo;m still a biologist after all). For the upcoming 4.10 release I&amp;rsquo;ve been polishing up Python 3 support.&lt;/p&gt;&#xA;&lt;p&gt;As you may know, Python 3 isn&amp;rsquo;t the standard in many distributions (Arch Linux excluded), but despite the slow start, it is slowly gaining steam. PyKDE4 was built keeping in mind Python 3 support, so theoretically we supported it right from the start.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Some more Nepomuk, please</title>
      <link>https://www.dennogumi.org/2012/02/some-more-nepomuk-please/</link>
      <pubDate>Sun, 12 Feb 2012 19:57:06 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2012/02/some-more-nepomuk-please/</guid>
      <description>&lt;p&gt;Recently we&amp;rsquo;ve seen &lt;a href=&#34;http://joerg-weblog.blogspot.com/2012/02/conquirere-joins-nepomuks-future.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;several&lt;/a&gt; &lt;a href=&#34;http://trueg.wordpress.com/2012/02/11/a-fun-release-nepomuk-tv-namer-0-2/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;blog posts&lt;/a&gt; on &lt;a href=&#34;http://planetkde.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Planet KDE&lt;/a&gt; related to Nepomuk. Reading those I thought that I could add some (little) semantic features to &lt;a href=&#34;https://www.dennogumi.org/projects/danbooru-client&#34; &gt;Danbooru Client&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Danbooru Client already makes use of Nepomuk: if enabled, tags extracted from Danbooru items are added as Nepomuk tags. But since at least some Danbooru boards are specialized in certain types of images (e.g., wallpapers only, for examples) I found it would be nice to have Nepomuk show me only the images that come from a specific Danbooru board.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>PyKDE4: Queries with Nepomuk</title>
      <link>https://www.dennogumi.org/2011/06/pykde4-queries-with-nepomuk/</link>
      <pubDate>Wed, 29 Jun 2011 19:27:42 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2011/06/pykde4-queries-with-nepomuk/</guid>
      <description>&lt;p&gt;In one of my previous blog posts I dealt with &lt;a href=&#34;https://www.dennogumi.org/2010/10/pykde4-tag-and-annotate-files-using-nepomuk/&#34; &gt;tagging files and resources with Nepomuk&lt;/a&gt;. But Nepomuk is not only about storing metadata, it is also about &lt;em&gt;retrieving&lt;/em&gt; and _interrogating _data. Normally, this would mean querying the metadata database directly, using queries written in SPARQL. But this is not intuitive, can be inefficient (if you do things the wrong way) and error prone (oops, I messed up a parameter!).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Multiscale bootstrap clustering with Python and R</title>
      <link>https://www.dennogumi.org/2011/05/multiscale-bootstrap-clustering-with-python-and-r/</link>
      <pubDate>Sun, 29 May 2011 12:11:40 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2011/05/multiscale-bootstrap-clustering-with-python-and-r/</guid>
      <description>&lt;p&gt;While reading the statistics for my blog, I noticed that a number of searches looked for hierarchical clustering with Python, which &lt;a href=&#34;https://www.dennogumi.org/2007/11/data-clustering-with-python/&#34; &gt;I covered quite a while ago&lt;/a&gt;. Today I&amp;rsquo;d like to present an updated version which uses more robust techniques.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Taking video snapshots quickly: KDE VLC Snapper</title>
      <link>https://www.dennogumi.org/2011/04/taking-video-snapshots-quickly-kde-vlc-snapper/</link>
      <pubDate>Sun, 10 Apr 2011 12:40:26 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2011/04/taking-video-snapshots-quickly-kde-vlc-snapper/</guid>
      <description>&lt;p&gt;Some of the oldest readers of this blog are well aware of &lt;a href=&#34;https://www.dennogumi.org/categories/anime/&#34; &gt;a certain hobby of mine&lt;/a&gt;. Over the years I&amp;rsquo;ve always wanted to write more about that, including the stuff I&amp;rsquo;m viewing nowadays, but I found a hassle to collect snapshots from videos / DVDs, selecting them, and so on.&lt;/p&gt;&#xA;&lt;p&gt;Recently I learnt that VLC has &lt;a href=&#34;http://wiki.videolan.org/Python_bindings&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;some rather complete Python bindings&lt;/a&gt;, and I thought, &lt;em&gt;why not make the process automated?&lt;/em&gt; Yesterday I had some free time on my hands and a quick session of hacking brought some results already.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>PyKDE4: Retrieve data using KIO</title>
      <link>https://www.dennogumi.org/2011/01/pykde4-retrieve-data-using-kio/</link>
      <pubDate>Sat, 01 Jan 2011 21:09:26 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2011/01/pykde4-retrieve-data-using-kio/</guid>
      <description>&lt;p&gt;One of the greatest strengths of KDE is undoubtedly the asynchronous and network-transparent I/O access, employed by the so-called &amp;ldquo;I/O&amp;rdquo; slaves, part of the KIO class. If you are developing an application that requires file or network access, those classes make things incredibly simple to do, and they don&amp;rsquo;t freeze your GUI when you are in the middle of a process.&lt;/p&gt;&#xA;&lt;p&gt;In this post I&amp;rsquo;ll show how to use KIO to retrieve files from network resources using PyKDE4. The whole example is also available &lt;a href=&#34;http://websvn.kde.org/trunk/KDE/kdeexamples/bindings/python/kio/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;in the kdeexamples module&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>PyKDE4: Tag and annotate files using Nepomuk</title>
      <link>https://www.dennogumi.org/2010/10/pykde4-tag-and-annotate-files-using-nepomuk/</link>
      <pubDate>Tue, 26 Oct 2010 19:37:16 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2010/10/pykde4-tag-and-annotate-files-using-nepomuk/</guid>
      <description>&lt;p&gt;Some time has passed since I last blogged&amp;hellip; this was not only due to lack of time but also due to motivation (writing long texts can be discouraging at times). In any case, I&amp;rsquo;d like to rectify for that. In this post, I&amp;rsquo;ll talk about Nepomuk, and in particular how to use it to tag and annotate arbitrary files using its API in PyKDE4.&lt;/p&gt;&#xA;&lt;p&gt;Before starting, let me say that creating this tutorial was only possible thanks to the help of Sebastian Trueg, who helped me by pointing out some mistakes I was doing.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>What this might ever be?</title>
      <link>https://www.dennogumi.org/2010/07/what-this-might-ever-be/</link>
      <pubDate>Tue, 27 Jul 2010 22:41:14 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2010/07/what-this-might-ever-be/</guid>
      <description>&lt;figure&gt;&#xA;      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;http://imagebin.ca/img/V-7GlD.png&#34; alt=&#34;&#34; /&gt;&#xA;  &#xA;  &#xA;  &lt;/figure&gt;&#xA;&lt;p&gt;The rest is up to you to figure out.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>OCS and KDE Forums - work continues</title>
      <link>https://www.dennogumi.org/2010/07/ocs-and-kde-forums-work-continues/</link>
      <pubDate>Sun, 25 Jul 2010 18:49:22 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2010/07/ocs-and-kde-forums-work-continues/</guid>
      <description>&lt;p&gt;With my last entry, I announced the start of the work for an OCS library for the KDE Community Forums. Today I&amp;rsquo;d like to blog again about the recent developments.&lt;/p&gt;&#xA;&lt;p&gt;First of all, now there isn&amp;rsquo;t one, but &lt;em&gt;two&lt;/em&gt; Python modules:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;_ocslib, _ a pure Python module that can be used to interface with OCS-based forum systems;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;ocslibkde&lt;/em&gt;, a PyKDE4 based module that can be used to interface with OCS-based forum system in KDE applications.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Currently ocslib supports reading and posting, while ocslibkde only reading (as of now). Both can be retrieved from the &lt;a href=&#34;http://gitorious.org/kde-forum-mods&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;kde-forum-mods repository&lt;/a&gt; under the &lt;em&gt;ocs-client&lt;/em&gt; subdirectory. The Python lib needs unit-testing, then I&amp;rsquo;ll be able to push a tarball soon for people to test (but you can always check out the Git repository). With regards to the PyKDE4 library, I plan on making a proof-of-concept plasmoid soon that shows how to use the API.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Open Collaboration Services and KDE Forums</title>
      <link>https://www.dennogumi.org/2010/07/open-collaboration-services-and-kde-forums/</link>
      <pubDate>Sun, 18 Jul 2010 10:00:39 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2010/07/open-collaboration-services-and-kde-forums/</guid>
      <description>&lt;p&gt;For KDE developers, web-based forums are often uncommon workflows. Indeed, for communication among developers mailing lists are much better tools, especially since you can handle everything inside a client (most of the time), compared to forums where you have to use a web browser. The ways of reading, replying and interacting with posters are dramatically different. And that is why some developers find themselves uncomfortable with the &lt;a href=&#34;http://forum.kde.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;KDE Community Forums&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A dedicated application would be usually much better than a browser, because you can work around the intrinsic limitations of the browser itself. The problem is that you can&amp;rsquo;t really access a forum with anything else than a browser. That is, it &lt;em&gt;used to be&lt;/em&gt; like this, but now things are changing.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>The world of KIO metadata - checking the HTTP response from a server</title>
      <link>https://www.dennogumi.org/2010/02/the-world-of-kio-metadata-checking-the-http-response-from-a-server/</link>
      <pubDate>Thu, 18 Feb 2010 21:42:46 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2010/02/the-world-of-kio-metadata-checking-the-http-response-from-a-server/</guid>
      <description>&lt;p&gt;Recently, I investigated how to perform some checks on web addresses using KIO for &lt;a href=&#34;http://kde-apps.org/content/show.php/Danbooru&amp;#43;Client?action=content&amp;amp;content=114343&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Danbooru Client&lt;/a&gt;. My old code was synchronous, so it blocked the application while checking, thus causing all sort of troubles (UI freezing, etc.). Therefore, making the switch to KIO was the best solution. However, I had one problem: &lt;em&gt;how could I check the HTTP response?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;I knew already that the various ioslaves can store metadata, consisting of key-value pairs which are specific on the slave used. Normally you can get the whole map by accessing the &lt;a href=&#34;http://api.kde.org/4.4-api/kdelibs-apidocs/kio/html/classKIO_1_1Job.html#a631cbc61c70e512ad91b2cf2c23ef029&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;em&gt;metaData&lt;/em&gt;&lt;/a&gt; function of the job you have used, in the slot connected from the &lt;em&gt;result&lt;/em&gt; signal.  For some reason, however, in PyKDE4 calling metaData() triggers an assert in SIP, which ends in a crash (at least in my application; I stil need to debug further).  KIO  jobs have also the &lt;a href=&#34;http://api.kde.org/4.4-api/kdelibs-apidocs/kio/html/classKIO_1_1Job.html#aafd31b4d9643bffb4cd75f3a31242bd4&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;em&gt;queryMetaData&lt;/em&gt;&lt;/a&gt; function, which returns the value of the key you have queried. Unfortunately, there was no way I could find the name.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Learning by example</title>
      <link>https://www.dennogumi.org/2010/01/learning-by-example/</link>
      <pubDate>Wed, 13 Jan 2010 21:37:38 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2010/01/learning-by-example/</guid>
      <description>&lt;p&gt;With my brand-new SVN account, &lt;a href=&#34;http://lists.kde.org/?l=kde-commits&amp;amp;m=126342017923323&amp;amp;w=2&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;I just committed some code&lt;/a&gt; to kdeexamples, KDE&amp;rsquo;s example code module. In particular, I  committed a simple example which shows how to use KConfigXT via PyKDE4, a simplified version of &lt;a href=&#34;https://www.dennogumi.org/2009/10/howto-kconfigxt-with-pykde4/&#34; &gt;what I wrote about here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;As most of KDE is C++, and the Python API docs are translated directly from the C++ API docs, it is essential to have good examples to help newcomers learn faster.  There are some PyKDE4 examples in the kdebindings module already, but I put mine in kdeexamples for a number of reasons:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Danbooru Client 0.5 is out</title>
      <link>https://www.dennogumi.org/2009/12/danbooru-client-0.5-is-out/</link>
      <pubDate>Sun, 27 Dec 2009 08:54:54 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2009/12/danbooru-client-0.5-is-out/</guid>
      <description>&lt;p&gt;Sometimes answering apparently harmless questions on instant messaging can have unexpected results. In particular, I was telling about Danbooru Client &lt;a href=&#34;http://www.clorophilla.net/blog&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;to someone&lt;/a&gt; and a question popped up &amp;ldquo;Why don&amp;rsquo;t you support pages?&amp;rdquo;. It seemed a nice idea, so I branched off the code (yay for git!) and started working on it.&lt;/p&gt;&#xA;&lt;p&gt;Well, it took me more than a &lt;em&gt;month&lt;/em&gt; to get this thing done&amp;hellip; I didn&amp;rsquo;t spend every day coding, but it was a challenge. Glad it&amp;rsquo;s over now, which means that Danbooru Client 0.5 is finally available. Grab it &lt;a href=&#34;http://kde-apps.org/content/show.php/Danbooru&amp;#43;Client?content=114343&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;at the usual place on kde-apps.org&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Danbooru Client - a client for Danbooru based sites</title>
      <link>https://www.dennogumi.org/2009/10/danbooru-client-a-client-for-danbooru-based-sites/</link>
      <pubDate>Sun, 25 Oct 2009 20:16:50 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2009/10/danbooru-client-a-client-for-danbooru-based-sites/</guid>
      <description>&lt;p&gt;A while ago I presented &lt;a href=&#34;https://www.dennogumi.org/2009/10/danbooru2nepomuk-a-nepomuk-tagger-for-danbooru-images/&#34; &gt;&amp;ldquo;danbooru2nepomuk&amp;rdquo;&lt;/a&gt;, a small program to tag images coming from &lt;a href=&#34;http://en.wikipedia.org/wiki/Imageboard#Danbooru-style_boards&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Danbooru-based image boards&lt;/a&gt;. Today I want to present the evolution of that program, that is a PyKDE4 client for those boards.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>HOWTO: KConfigXT with PyKDE4</title>
      <link>https://www.dennogumi.org/2009/10/howto-kconfigxt-with-pykde4/</link>
      <pubDate>Mon, 19 Oct 2009 21:43:10 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2009/10/howto-kconfigxt-with-pykde4/</guid>
      <description>&lt;p&gt;If you read around the &lt;a href=&#34;http://techbase.kde.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;KDE Techbase&lt;/a&gt;, or if you develop KDE applications, you may have heard about KDE&amp;rsquo;s &lt;a href=&#34;http://techbase.kde.org/Development/Tutorials/Using_KConfig_XT&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;KConfigXT&lt;/a&gt;. This is an extension of KDE&amp;rsquo;s KConfig, and can be used to generate nice configure dialogs with multiple pages with minimal effort, also taking care of saving and applying settings. In short, something really neat! But there are problems when using it with interpreted language bindings (such as PyKDE, which is the one I use):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;KConfigXT requires an XML file and an INI-like file to be compiled by kconfig_compiler in order to produce C++ files&lt;/li&gt;&#xA;&lt;li&gt;There is no such a tool (at least to my knowledge) that does the same job for bindings&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;So what to do? Either give up on the niceness of KConfigXT, or work around the issue. I chose the latter.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>DataMatrix 0.8 is finally out</title>
      <link>https://www.dennogumi.org/2009/06/datamatrix-0.8-is-finally-out/</link>
      <pubDate>Sat, 13 Jun 2009 13:29:40 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2009/06/datamatrix-0.8-is-finally-out/</guid>
      <description>&lt;p&gt;At last, after months of inactivity, I pushed out a new release of &lt;a href=&#34;https://www.dennogumi.org/projects/datamatrix&#34; &gt;&lt;em&gt;DataMatrix&lt;/em&gt;&lt;/a&gt;. Although the version bump is small (0.8) there are a lot of changes since last releases. The most notable include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ability to apply functions to elements of the matrix&lt;/li&gt;&#xA;&lt;li&gt;Ability to filter rows by column contents&lt;/li&gt;&#xA;&lt;li&gt;Ability to transpose rows with columns&lt;/li&gt;&#xA;&lt;li&gt;An option to load text files produced by R (which are, by design, broken)&lt;/li&gt;&#xA;&lt;li&gt;Removed the getter for columns, using dictionary-like syntax directly&lt;/li&gt;&#xA;&lt;li&gt;A lot of bug fixes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The download links on &lt;a href=&#34;https://www.dennogumi.org/projects/datamatrix&#34; &gt;the project page&lt;/a&gt; have been updated, along with &lt;a href=&#34;https://www.dennogumi.org/doc/datamatrix/&#34; &gt;the documentation&lt;/a&gt;.  Also, there is another change, because from now on the official Git repository &lt;a href=&#34;http://gitorious.org/datamatrix/datamatrix&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;is hosted on gitorious.org&lt;/a&gt;, and no longer on github, because gitorious (the software) is also free, while github.com&amp;rsquo;s is not. It&amp;rsquo;s mainly a philosophical issue (the same that prompted me to switch from twitter to identi.ca).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>DataMatrix 0.7 has been released</title>
      <link>https://www.dennogumi.org/2008/12/datamatrix-0.7-has-been-released/</link>
      <pubDate>Sat, 27 Dec 2008 15:33:07 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2008/12/datamatrix-0.7-has-been-released/</guid>
      <description>&lt;p&gt;Finally a new entry! I&amp;rsquo;ve been &lt;strong&gt;extremely&lt;/strong&gt; busy with other things, that is why I did not have time to write more. One of the main reason is related to an important landmark in my professional career, but I&amp;rsquo;ll write more about it after January 1st (hint: those who follow my Twitter updates may have already understood).&lt;/p&gt;&#xA;&lt;p&gt;As a nice way to break the hiatus, I&amp;rsquo;m releasing a new version of DataMatrix, my implementation of R&amp;rsquo;s data.frame in Python. Although the version bump is small, there are loads of improvements. First of all, there is proper support for file-like objects, as well as support for appending and inserting both rows and columns. writeMatrix has been substantially improved and now writes files correctly, and I have added (experimental) support for a DataMatrix object that does not require files - EmptyMatrix. Also, there is now &lt;a href=&#34;https://www.dennogumi.org/doc/datamatrix/&#34; &gt;proper documentation&lt;/a&gt;. Last but not least, unit tests have been added, a good way to watch out for regressions in the code.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>DataMatrix page up</title>
      <link>https://www.dennogumi.org/2008/10/datamatrix-page-up/</link>
      <pubDate>Sun, 12 Oct 2008 20:14:14 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2008/10/datamatrix-page-up/</guid>
      <description>&lt;p&gt;Ok, ok&amp;hellip; my definition of &amp;ldquo;tomorrow&amp;rdquo; is not like what most people use, apparently. Although I took quite a while, now &lt;a href=&#34;https://www.dennogumi.org/projects-2/datamatrix&#34; &gt;there is a static page on DataMatrix&lt;/a&gt;. There you will find a summary of wht I wrote in my other blog posts regarding this module. Of course, it will be kept up-to-date should I release a new version.&lt;/p&gt;&#xA;&lt;p&gt;Aside that, I put a contact form on this blog. It may be useful for reports that aren&amp;rsquo;t directly related to the posts.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>DataMatrix 0.5</title>
      <link>https://www.dennogumi.org/2008/09/datamatrix-0.5/</link>
      <pubDate>Fri, 19 Sep 2008 19:54:58 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2008/09/datamatrix-0.5/</guid>
      <description>&lt;p&gt;At last, since it&amp;rsquo;s been like ages, I decided to put out a new version of DataMatrix. For those who haven&amp;rsquo;t seen my previous post, DataMatrix is a Pythonic implementation of &lt;a href=&#34;http://stat.ethz.ch/R-manual/R-patched/library/base/html/data.frame.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;R&amp;rsquo;s data.frame&lt;/a&gt;. It enables you to manipulate a text file by columns or rows, to your liking, using a dictionary-like syntax.&lt;/p&gt;&#xA;&lt;p&gt;In this new version there have been a few improvements and correction to a couple bugs (for example saveMatrix did not really save) and the start (only a stub at the moment) of an append function to add more columns (I&amp;rsquo;ll also think about a function to add rows).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>data.frames in Python - DataMatrix</title>
      <link>https://www.dennogumi.org/2008/06/data.frames-in-python-datamatrix/</link>
      <pubDate>Sun, 29 Jun 2008 08:13:55 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2008/06/data.frames-in-python-datamatrix/</guid>
      <description>&lt;p&gt;For a long time I have tried to handle text files in Python in the same way that R&amp;rsquo;s &lt;a href=&#34;http://pbil.univ-lyon1.fr/library/base/html/data.frame.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;data.frame&lt;/a&gt; does - that is, direct access to columns and rows of a loaded text file. As I don&amp;rsquo;t like R at all, I struggled to find a Pythonic equivalent, and since I found none, I decided to eat my own food and write an implementation, which is what you&amp;rsquo;ll find below.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>QSql vs DB-API?</title>
      <link>https://www.dennogumi.org/2007/12/qsql-vs-db-api/</link>
      <pubDate>Fri, 28 Dec 2007 12:58:40 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2007/12/qsql-vs-db-api/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve recently begun trying to create GUIs for my Python applications with &lt;a href=&#34;http://www.riverbankcomputing.co.uk/pyqt/index.php&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PyQt&lt;/a&gt;, and I can say I&amp;rsquo;m absolutely loving the toolkit, relatively easy to use and featureful. As I&amp;rsquo;m trying to create a GUI for some module I wrote that deals with databases (using MySQLdb), I also learnt that Qt has a series of classes for dealing with databases, mainly QSql.&lt;/p&gt;&#xA;&lt;p&gt;My question, directed to whoever has experience with QSql and the Python DB-API, is: what are the advantages of one approach to the other? I&amp;rsquo;m leaning towards DB-API because like that I can create modules which work also in command line applications.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Gene identifiers</title>
      <link>https://www.dennogumi.org/2007/11/gene-identifiers/</link>
      <pubDate>Thu, 15 Nov 2007 19:57:16 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2007/11/gene-identifiers/</guid>
      <description>&lt;p&gt;While working today on an annotation class in Python I stumbled on a problem. Normally I work with lists of genes that are consistent, i.e. all Entrez Gene IDs (or RefSeq IDs, or Genome Browser IDs&amp;hellip;), but today I had a list of mixed identifiers.&lt;/p&gt;&#xA;&lt;p&gt;The subsequent idea was &amp;ldquo;let&amp;rsquo;s implement auto-detection of common identifiers in the class&amp;rdquo;. The problem is&amp;hellip; is there any actual documentation on how identifiers are made? So far, using regular expressions, I&amp;rsquo;ve tracked down a few:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Data clustering with Python</title>
      <link>https://www.dennogumi.org/2007/11/data-clustering-with-python/</link>
      <pubDate>Wed, 07 Nov 2007 18:15:29 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2007/11/data-clustering-with-python/</guid>
      <description>&lt;p&gt;**Notice:**Just now I realized this has been linked to &lt;a href=&#34;http://stackoverflow.com/questions/5002783/best-python-clustering-library-to-use-for-product-data-analysis&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;to a Stack Overflow question&lt;/a&gt;. I recently wrote a new post that uses a different technique and a combination of R and Python. &lt;a href=&#34;https://www.dennogumi.org/2011/05/multiscale-bootstrap-clustering-with-python-and-r/&#34; &gt;Check it out!&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Following up my recent post, I&amp;rsquo;ve been looking for alternatives to TMeV. So far I&amp;rsquo;ve found the R package pvclust and the &lt;a href=&#34;http://bonsai.ims.u-tokyo.ac.jp/~mdehoon/software/cluster/software.htm#pycluster&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Pycluster library&lt;/a&gt;, part of &lt;a href=&#34;http://biopython.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;BioPython&lt;/a&gt;.  The first one also performs bootstrapping (I&amp;rsquo;m not sure if it&amp;rsquo;s similar to what support trees do, but it&amp;rsquo;s still better than no resampling at all). I&amp;rsquo;ve found &lt;a href=&#34;http://python-cluster.sourceforge.net/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;another Python project&lt;/a&gt; but it is still too basic to perform what I need.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Script to make captures of movie files</title>
      <link>https://www.dennogumi.org/2007/10/script-to-make-captures-of-movie-files/</link>
      <pubDate>Tue, 16 Oct 2007 20:44:46 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2007/10/script-to-make-captures-of-movie-files/</guid>
      <description>&lt;p&gt;The other day I was thinking about how to make screencaps for the anime I watch. Windows users often use &lt;a href=&#34;http://sourceforge.net/projects/guliverkli/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Media Player Classic&lt;/a&gt;, which can create a video contact sheet (i.e., a series of captures) out of a movie file. I had two problems with this:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;The biggest is that it runs on Windows, and I don&amp;rsquo;t use Windows;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;The frames needed to be manually cropped every time, which was slow.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>SOFT file woes</title>
      <link>https://www.dennogumi.org/2007/10/soft-file-woes/</link>
      <pubDate>Tue, 09 Oct 2007 20:00:23 +0000</pubDate>
      
      <guid>https://www.dennogumi.org/2007/10/soft-file-woes/</guid>
      <description>&lt;p&gt;Today I started working on a data set published on &lt;a href=&#34;http://www.ncbi.nlm.nih.gov/geo/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;GEO&lt;/a&gt;. As the sample data were somehow inconsistent (they mentioned 23 controls when I found 28), I decided to parse the &lt;a href=&#34;http://www.ncbi.nlm.nih.gov/projects/geo/info/soft2.html#SOFTformat&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;SOFT&lt;/a&gt; file from GEO in order to get the exact sample information.&lt;/p&gt;&#xA;&lt;p&gt;I did a grave mistake. First of all, &lt;a href=&#34;http://www.biopython.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Biopython&lt;/a&gt;&amp;rsquo;s SOFT parser is horribly broken (doesn&amp;rsquo;t work at all) and quite undocumented: I could work around the lack of documentation (API docs) but not with the fact that it wouldn&amp;rsquo;t work. So I turned to &lt;a href=&#34;http://www.r-project.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;R&lt;/a&gt;, which offers a GEO query module through &lt;a href=&#34;http://www.bioconductor.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Bioconductor&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
