<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Torsten Rehn Photography</title> <atom:link href="http://trehn.com/feed/" rel="self" type="application/rss+xml" /><link>http://trehn.com</link> <description>Personal website and blog of photographer Torsten Rehn</description> <lastBuildDate>Mon, 31 May 2010 07:16:37 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0</generator> <item><title>Chromium Auto-Update</title><link>http://trehn.com/2010/05/29/chromium-auto-update/</link> <comments>http://trehn.com/2010/05/29/chromium-auto-update/#comments</comments> <pubDate>Sat, 29 May 2010 00:28:01 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[System Administration]]></category> <category><![CDATA[Chromium]]></category> <category><![CDATA[Python]]></category><guid isPermaLink="false">http://trehn.com/?p=247</guid> <description><![CDATA[Posted a Python script to auto-update Chromium for Mac.]]></description> <content:encoded><![CDATA[<p>Just hacked together a small Python script to automatically update Chromium on my Mac to the latest SVN revision. I wrote this around 2am, so don&#8217;t expect bells and whistles. You can download it here:</p> &nbsp;&nbsp;&nbsp;&nbsp;<a href="http://files.trehn.com/chromium-updater.py">http://files.trehn.com/chromium-updater.py</a><p> The script is public domain, meant to be run interactively and provided without any warranties or batteries. It may or may not do bad things to your house and your cat, but mostly it just updates Chromium.</p> ]]></content:encoded> <wfw:commentRss>http://trehn.com/2010/05/29/chromium-auto-update/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Stuck with PyQt4</title><link>http://trehn.com/2010/02/24/stuck-with-pyqt4/</link> <comments>http://trehn.com/2010/02/24/stuck-with-pyqt4/#comments</comments> <pubDate>Wed, 24 Feb 2010 01:04:51 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Cocoa]]></category> <category><![CDATA[GUI]]></category> <category><![CDATA[nagify]]></category> <category><![CDATA[py2app]]></category> <category><![CDATA[PyObjC]]></category> <category><![CDATA[PyQt4]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Qt]]></category> <category><![CDATA[sqlite]]></category> <category><![CDATA[Xcode]]></category><guid isPermaLink="false">http://trehn.com/?p=124</guid> <description><![CDATA[Rant about Python GUI development on OS X with some insight into the future of nagify.]]></description> <content:encoded><![CDATA[<p> Been looking into GUI options for <a href="http://nagify.org">nagify</a> lately. Thought I&#8217;d give Cocoa via PyObjC a try. Learned that using PyObjC is at least just as hard as learning Objective-C from scratch. Which I can&#8217;t because of the infamous once-you-know-python-you-don&#8217;t-want-anything-else-anymore syndrome. Also, there are memory issues and I ran into some obscure failure that I can&#8217;t even recall anymore.</p><p style="text-align: center;"><img class="size-full wp-image-125  aligncenter" title="nagify.ui" src="http://trehn.com/wp-content/uploads/2010/02/nagify.ui_1.png" alt="" /></p><p> So, after a quick look at the even more arcane options, I&#8217;m back with PyQt4. Took me a while to figure layouting in Qt Designer out, just to notice that I still can&#8217;t build a working distribution with py2app. I&#8217;m really looking forward to when everything will be 64bit and we don&#8217;t have this multilib/universal pile of crap anymore. Yuck.</p><p> My total whackjob of a solution right now is to mutilate a PyObjC-Cocoa Xcode template into running a Qt4 app. It&#8217;s not pretty and will probably break sometime in the future, but right now I just want to get some .app out there. Qt also gives me platform independence, which I like.</p><p> I&#8217;m currently working on having nagify save Nagios data into a local sqlite database so I can generate stats from it later. Those stats will then be used in a fullscreen view mode designed for large displays. At least that&#8217;s the plan.</p>]]></content:encoded> <wfw:commentRss>http://trehn.com/2010/02/24/stuck-with-pyqt4/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Munin plugin graphing MySQL rows</title><link>http://trehn.com/2010/01/05/munin-plugin-graphing-mysql-rows/</link> <comments>http://trehn.com/2010/01/05/munin-plugin-graphing-mysql-rows/#comments</comments> <pubDate>Tue, 05 Jan 2010 21:44:14 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[System Administration]]></category> <category><![CDATA[monitoring]]></category> <category><![CDATA[Munin]]></category> <category><![CDATA[MySQL]]></category><guid isPermaLink="false">http://trehn.com/?p=107</guid> <description><![CDATA[Want to watch your tables grow? (okay, that screenshot isn&#8217;t great, but you get the idea) I just wrote a munin plugin that graphs the number of rows in your MySQL databases. If you haven&#8217;t heard of Munin yet, check it out &#8211; it&#8217;s pretty awesome.]]></description> <content:encoded><![CDATA[<p>Want to watch your tables grow?</p> <a href="http://trehn.com/wp-content/uploads/2010/01/munin_mysql_rowcount_nagify_wordpress.png"><img src="http://trehn.com/wp-content/uploads/2010/01/munin_mysql_rowcount_nagify_wordpress.png" alt="" title="munin_mysql_rowcount_nagify_wordpress" width="497" height="404" class="aligncenter size-full wp-image-108" /></a> <br /><i>(okay, that screenshot isn&#8217;t great, but you get the idea)</i><p>I just wrote a <a href="http://github.com/trehn/munin_mysql_rowcount/blob/master/mysql_rowcount_">munin plugin that graphs the number of rows</a> in your MySQL databases. If you haven&#8217;t heard of <a href="http://munin.projects.linpro.no">Munin</a> yet, check it out &#8211; it&#8217;s pretty awesome.</p>]]></content:encoded> <wfw:commentRss>http://trehn.com/2010/01/05/munin-plugin-graphing-mysql-rows/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>nagify 1.0 released</title><link>http://trehn.com/2010/01/01/nagify-1-0-released/</link> <comments>http://trehn.com/2010/01/01/nagify-1-0-released/#comments</comments> <pubDate>Fri, 01 Jan 2010 20:15:42 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[System Administration]]></category> <category><![CDATA[Growl]]></category> <category><![CDATA[nagify]]></category> <category><![CDATA[Nagios]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[release]]></category><guid isPermaLink="false">http://trehn.com/?p=95</guid> <description><![CDATA[I just released version 1.0 of nagify, a new Python library and utility for displaying notifications about Nagios alerts. The original purpose was to display Growl notifications for Nagios alerts, but nagify is designed to be very flexible and can be expanded to output notifications in pretty much any way. Please report any bugs to [...]]]></description> <content:encoded><![CDATA[<p> I just <a href="http://github.com/trehn/nagify/downloads">released</a> version 1.0 of <a href="http://nagify.org">nagify</a>, a new Python library and utility for displaying notifications about <a href="http://nagios.org">Nagios</a> alerts.</p><p> The original purpose was to display <a href="http://growl.info">Growl</a> notifications for Nagios alerts, but nagify is designed to be very flexible and can be expanded to output notifications in pretty much any way.</p><p> Please report any bugs to the <a href="http://github.com/trehn/nagify/issues">issue tracker at github</a>.</p><p> <b>Update:</b> 1.0.1 is out, now also available via the <a href="http://pypi.python.org/pypi/nagify">Python Package Index</a>.</p>]]></content:encoded> <wfw:commentRss>http://trehn.com/2010/01/01/nagify-1-0-released/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Add Python icons to TextMate</title><link>http://trehn.com/2009/11/21/add-python-icons-to-textmate/</link> <comments>http://trehn.com/2009/11/21/add-python-icons-to-textmate/#comments</comments> <pubDate>Sat, 21 Nov 2009 14:30:30 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[customization]]></category> <category><![CDATA[icon]]></category> <category><![CDATA[Mac OS]]></category> <category><![CDATA[TextMate]]></category><guid isPermaLink="false">http://trehn.com/?p=74</guid> <description><![CDATA[Instructions on how to add a custom Python icon to the TextMate text editor.]]></description> <content:encoded><![CDATA[I missed having an icon for Python files in TextMate, so I made one with a <a href="http://python.org/community/logos/">Python Logo</a> on it:<img style="display: block; margin: auto;" title="PBX-python-Icon" src="http://trehn.com/wp-content/uploads/2009/11/PBX-python-Icon.png" alt="PBX-python-Icon" width="16" height="16" /> <br /> You can add it to your TextMate by downloading <a href="http://files.trehn.com/PBX-python-Icon.tiff">this file</a> and putting it unter <em>Contents/Resources/File Icons/</em> within your TextMate.app folder (to open that folder in the Finder, go to Applications, right-click TextMate and choose &#8220;Show Package Contents&#8221;).<br /> Then open the file <em>Bindings.plist</em> (located in the same folder where you put the .tiff) in your favorite text editor and add this anywhere directly after a &#8220;&lt;/array&gt;&#8221;:<pre class="code">
&lt;key&gt;PBX-python-Icon&lt;/key&gt;
&lt;array&gt;
&lt;string&gt;py&lt;/string&gt;
&lt;/array&gt;
</pre>That&#8217;s it! Restart TextMate and you&#8217;re done.<br /><br /> If you&#8217;re looking for better folder icons, there&#8217;s <a href="http://www.creative-toolbox.com/2009/03/update-your-textmate-folder-icons-for-leopard/">a blog post for that</a>, too.]]></content:encoded> <wfw:commentRss>http://trehn.com/2009/11/21/add-python-icons-to-textmate/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Forking Wikipedia</title><link>http://trehn.com/2009/11/06/forking-wikipedia/</link> <comments>http://trehn.com/2009/11/06/forking-wikipedia/#comments</comments> <pubDate>Fri, 06 Nov 2009 20:40:20 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[git]]></category> <category><![CDATA[knowledge]]></category> <category><![CDATA[RFBW]]></category> <category><![CDATA[wiki]]></category> <category><![CDATA[wikipedia]]></category> <category><![CDATA[XML]]></category><guid isPermaLink="false">http://trehn.com/?p=71</guid> <description><![CDATA[Article about how the current problems with Wikipedia might be solved by creating a mostly unmoderated Really Friggin Big Wiki.]]></description> <content:encoded><![CDATA[<p>With the recent debate about the deletion practices in the german Wikipedia, a fork has been brought up as an option a couple of times. Right now, Wikipedia has a huge monopoly when it comes to online knowledge and a fork may be able to decentralize things a bit. While the content is under a free license, the policy governing it is not that flexible.</p><p> One of the problems is that Wikipedia is supposed to be an encyclopedia, not a system to store any and all knowledge. I wonder if it would be feasible to implement a Really Friggin Big Wiki where anyone can write about any topic. The only restriction would be that the article has to state facts in a neutral manner (citing the most dubious sources is ok, as long as it&#8217;s clear that the text in question is just the possibly biased opinion or completely insane claims of the source). No restrictions should be imposed when it comes to relevance or target audience.</p><p> Such a Really Friggin Big Wiki (maybe I should trademark that) could then be forked into an encyclopedia, a sysadmin wiki, a cookbook, &#8230; anything. Edits should be made by the general public in the RFBW and can then find their way into the subwikis where stronger moderation is imposed.</p><p> This leads to an interesting set of problems. On the technical side, people are already experimenting with <a href="http://scytale.name/blog/2009/11/announcing-levitation">converting MediaWiki XML dumps into a git repository</a>. The problem that remains is making that data available again for web-based editing. I&#8217;ve experimented with this in the past and created a very rudimentary wiki system that used git as a backend for both read and write operations. The code sucked, but I think in principle it is the right way to go about this.<br /> Another problem is namespacing and categorizing the data, using &#8220;John_Smith&#8221; as identifier for an article will no longer be sufficient &#8211; the disambiguation pages would be interesting.</p><p> I&#8217;m looking forward to what the community will come up with and how we&#8217;ll organize knowledge in ten years. Just too bad rfbw.org is already taken. Dammit.</p>]]></content:encoded> <wfw:commentRss>http://trehn.com/2009/11/06/forking-wikipedia/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Creative Quarantine</title><link>http://trehn.com/2009/07/25/creative-quarantine/</link> <comments>http://trehn.com/2009/07/25/creative-quarantine/#comments</comments> <pubDate>Sat, 25 Jul 2009 08:34:12 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[Photography]]></category> <category><![CDATA[creativity]]></category> <category><![CDATA[retouching]]></category> <category><![CDATA[technique]]></category><guid isPermaLink="false">http://blog.trehn.com/?p=12</guid> <description><![CDATA[A small article about choosing the right time to publish your work.]]></description> <content:encoded><![CDATA[There are a thousands of tutorials and tips on retouching and post-production out there, so it&#8217;s pretty hard to find new things worth sharing. Here&#8217;s one I use on <i>all</i> my photos:<br /><br /> I call it <i>Creative Quarantine</i>. It&#8217;s not a fancy technique, but a strict policy: <b>Whenever possible, I do not publish (or otherwise send off) images the same day I retouch them.</b><br /><br /> All my retouched photos go into quarantine for about 24hrs, usually meaning that I have got a good night&#8217;s sleep between looking at the close-to-final image and actually finishing it. What this does for me is giving me some distance, staring at and working on an image in Photoshop for hours doesn&#8217;t exactly improve your perception of it. Go to sleep. Eat something. What I noticed is that often I would spot areas that look overdone &#8211; lower that opacity a bit. How come I missed that spot yesterday? &#8211; heal it out. Uh, that skin softening looks just a little to gaussian &#8211; you get the idea.<br /> I suggest you try this the next time you get all excited about that gorgeous photo that you can&#8217;t wait to get some feedback on. Don&#8217;t rush things.]]></content:encoded> <wfw:commentRss>http://trehn.com/2009/07/25/creative-quarantine/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>iPhone Photography</title><link>http://trehn.com/2009/06/18/iphone-photography/</link> <comments>http://trehn.com/2009/06/18/iphone-photography/#comments</comments> <pubDate>Thu, 18 Jun 2009 20:33:45 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[Photography]]></category> <category><![CDATA[creativity]]></category> <category><![CDATA[iPhone]]></category><guid isPermaLink="false">http://blog.trehn.com/?p=26</guid> <description><![CDATA[Post about using a camera phone to keep the creative juices flowing at all times.]]></description> <content:encoded><![CDATA[Following the <a href="http://www.flickr.com/photos/chasejarvis/sets/72157612906060816/">example</a> of <a href="http://chasejarvis.com">Chase Jarvis</a>, I picked up the habit of taking more photos. With my iPhone. <br /><br /> Feels kind of like running around with a digital <a href="http://en.wikipedia.org/wiki/Holga">Holga</a> &#8211; OK, it&#8217;s not <i>that</i> awesome, but it smells the same. I also &#8220;retouch&#8221; <a href="http://www.flickr.com/photos/trehn/sets/72157618068138977/">my iPhone shapshots</a> (but only using native iPhone apps, no Photoshop involved), because I believe that retouching is part of the creative process of making the image. <br /><br /> You should try it!<br /><br /> <b>Update:</b> Looks like the iPhone is becoming the overall most <a href="http://www.flickr.com/cameras/">popular camera on flickr</a>&#8230;]]></content:encoded> <wfw:commentRss>http://trehn.com/2009/06/18/iphone-photography/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>A whacky storage solution</title><link>http://trehn.com/2009/05/02/a-whacky-storage-solution/</link> <comments>http://trehn.com/2009/05/02/a-whacky-storage-solution/#comments</comments> <pubDate>Sat, 02 May 2009 20:36:31 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[System Administration]]></category> <category><![CDATA[digital asset management]]></category> <category><![CDATA[encryption]]></category> <category><![CDATA[LVM]]></category> <category><![CDATA[RAID]]></category> <category><![CDATA[storage]]></category> <category><![CDATA[TrueCrypt]]></category><guid isPermaLink="false">http://blog.trehn.com/?p=28</guid> <description><![CDATA[Description of my self-made personal RAID storage system.]]></description> <content:encoded><![CDATA[<p>While photographers aren&#8217;t producing as much digital assets as video people, a couple of thousands of raw files and a good load of PSDs can build up quite a storage need over the years.</p><p>While I was looking for a storage solution, I had four priorities:</p><ul><li><b>Expandability</b>: I had to copy <i>all</i> my stuff once to get them onto a bigger drive &#8211; I never want to repeat that experience.</li><li><b>Encryption</b>: A good deal of my photos is not meant for everyone&#8217;s eyes &#8211; I think it&#8217;s my responsibility to protect the privacy of my models from anyone who might eventually get their hands on one of the drives.</li><li><b>Cost</b>: Storage systems can cost nearly unlimited amounts of money &#8211; money that I&#8217;d rather invest in a new lens.</li><li><b>Fault tolerance</b>: Obviously.</li></ul><p>After some testing I came up this totally insane solution:</p><p>Take my existing two 500GB WD USB drives and put two shiny (actually, they&#8217;re black.) new 1TB WD USB drives next to them. Next, using Linux <a href="http://en.wikipedia.org/wiki/RAID">software RAID 1</a>, I mirror the identical disks, so I get a redundant 500GB and 1TB volume. These volumes are now being encrypted with three different cipher algorithms (yay for paranoia) using <a href="http://truecrypt.org">TrueCrypt</a>. The final layer is an LVM volume group using the TrueCrypt volumes as PVs.</p><p>Here&#8217;s some ASCII art:</p><pre class="code">

  +-----------------------+
  |          LVM          |
  +-----------------------+
       |             |
   TrueCrypt     TrueCrypt
       |             |
     RAID1         RAID1
    |     |       |     |
  +---+ +---+   +---+ +---+
  | 5 | | 5 |   | 1 | | 1 |
  | 0 | | 0 |   | T | | T |
  | 0 | | 0 |   | B | | B |
  | G | | G |   +---+ +---+
  | B | | B |
  +---+ +---+

</pre><p>This setup covers all of my four priorities (the only limitation is that you have to expand it in steps of two identical disks). Naturally, this monster isn&#8217;t that fast. According to bonnie++, I get about 10MB/s for writing and about 18MB/s for reading. Enough for me.</p><p>If you know a better way to get 1.5 TB expandable, encrypted and fault tolerant storage for less than 250 EUR, feel free to email me.</p>]]></content:encoded> <wfw:commentRss>http://trehn.com/2009/05/02/a-whacky-storage-solution/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Turbocharging BCFG2</title><link>http://trehn.com/2009/04/30/turbocharging-bcfg2/</link> <comments>http://trehn.com/2009/04/30/turbocharging-bcfg2/#comments</comments> <pubDate>Thu, 30 Apr 2009 20:41:47 +0000</pubDate> <dc:creator>Torsten Rehn</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[System Administration]]></category> <category><![CDATA[BCFG2]]></category> <category><![CDATA[config management]]></category> <category><![CDATA[Genshi]]></category> <category><![CDATA[XML]]></category><guid isPermaLink="false">http://blog.trehn.com/?p=30</guid> <description><![CDATA[How to use XInclude to make your BCFG2 bundles even more powerful.]]></description> <content:encoded><![CDATA[<p>I&#8217;ve spent a lot of time at work tinkering around with the <a href="http://bcfg2.org">BCFG2</a> configuration management system. Here&#8217;s a neat stunt you can pull off in your bcfg2 repo to achieve great flexibility when it comes to templating.</p><p>First off, <i>all</i> my bundles are defined in SGenshi. Now you can obviously use &lt;ConfigFile&gt; and point to a TGenshi template. But you might run into a problem here: A TGenshi template always has a static owner/group/perms tuple set in the info.xml file (which is bad if you need multiple instances of the template that belong to different users). I tried working around this via an extra &lt;Permissions&gt;, but the default info from &lt;ConfigFile&gt; seems to have a higher priority (see <a href="http://trac.mcs.anl.gov/projects/bcfg2/ticket/627">BCFG2 bug #627</a>).</p><p>My next shot was to use &lt;BoundConfigFile&gt;, which lets you inline the template in the bundle file. However, this method has a number of problems as it tends to clutter your bundle files and forces you to use XML templating for text files.</p><p>So here&#8217;s my <i>ingenious</i> solution: Genshi allows the use of XInclude in XML templates, but with a special twist: You can tell Genshi to parse the referenced file as a text template! So here we go:</p><pre class="code">
&lt;BoundConfigFile 
    name="/foo/bar" owner="${owner}" group="${group}" perms="0644">
  &lt;xi:include parse="text" href="templates/foo/bar.newtxt" />
&lt;/BoundConfigFile>
</pre>Remember to include the xi namespace reference in your &lt;Bundle&gt;. ]]></content:encoded> <wfw:commentRss>http://trehn.com/2009/04/30/turbocharging-bcfg2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached (user agent is rejected)
Database Caching 10/16 queries in 0.005 seconds using memcached
Object Caching used 347/583 cached requests

Served from: trehn.com @ 2010-07-29 19:26:33 -->