<?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>suelz0mat.de &#187; Software</title>
	<atom:link href="http://suelzomat.de/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://suelzomat.de</link>
	<description>labern was das zeug hält, hauptsache der mund bewegt sich</description>
	<lastBuildDate>Mon, 19 Jul 2010 15:54:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ZendDebugger unter Mac OS X Snow Leopard PHP 5.3</title>
		<link>http://suelzomat.de/2010/07/zenddebugger_unter_mac_os_x_snow_leopard_php_5-3/</link>
		<comments>http://suelzomat.de/2010/07/zenddebugger_unter_mac_os_x_snow_leopard_php_5-3/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 15:54:14 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://suelzomat.de/2010/07/zenddebugger_unter_mac_os_x_snow_leopard_php_5-3/</guid>
		<description><![CDATA[Leider findet man auf Zend.com keinen ZendDebugger für Mac OS X Snow Leopards PHP 5.3. Keine Ahnung warum. Ist mir jetzt mittlerweile egal. Auch wenn PHP 5.3 bei Snow Leopard dabei ist und Zend meint auch das OS von Apple bei den meisten seiner Applikationen unterstützen zu wollen. Nach lange Suche am Wochenende bin ich [...]]]></description>
			<content:encoded><![CDATA[<p>Leider findet man auf <a href="http://www.zend.com">Zend.com</a> keinen ZendDebugger für Mac OS X Snow Leopards PHP 5.3. Keine Ahnung warum. Ist mir jetzt mittlerweile egal. Auch wenn PHP 5.3 bei Snow Leopard dabei ist und Zend meint auch das OS von Apple bei den meisten seiner Applikationen unterstützen zu wollen. Nach lange Suche am Wochenende bin ich einen Lösungsansatz gestolpert der eigentlich für Linux diente. In der Zend Server Community Edition befindet sich ein PHP 5.3 kompatible Version des ZendDebugger. Zwar etwas versteckt, aber man kann sie finden und die ZendDebugger.so als Zend_Extension der php.ini bekannt machen. Doch funktioniert diese Version nicht unter Mac. Welch Überraschung. Die Community Edition des Zend Servers gibt es nicht für Mac OS X. Dafür gibt es aber eine Macversion des Zend Studios. Rein zufällig hatte ich diese auch schon installiert. Man schaue mal unter</p>

<pre><code>/Applications/Zend/Zend Studio - 7.2.1/plugins/org.zend.php.debug.debugger.macosx_5.3.7.v20100625/resources/php53
</code></pre>

<p>nach. Dort gibt es eine ZendDebugger.so-Datei, die, zu meiner Freude, auch wunderbar mit &#8220;Apples&#8221; PHP 5.3 funktioniert.</p>

<p>Die Datei habe ich vorsichtshalber mal nach <code>/usr/lib/php/extensions/ZendDebugger.so</code> kopiert. Falls ich mal auf die Idee kommenden sollte das aus meiner Sicht nicht wirklich gelungene Zend Studio zu löschen, meckert mein PHP nicht rum, das es die Extension nicht gefunden hat.</p>

<p>Folgendes fügt man ans Ende php.ini an:</p>

<pre><code>[Zend]
zend_extension="/usr/lib/php/extensions/ZendDebugger.so"
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always
zend_debugger.connector_port=10000
</code></pre>

<p>Und nun startet man den Apache neu, im CLI steht der Debugger schon zur Verfügung.</p>

<pre><code>butters$ sudo apachectl restart
</code></pre>

<p>Nun sollte ein <code>php -i</code> auf der Konsole oder eine <code>phpinfo()</code>-Ausgabe im Webserver bestätigen, worauf man, vor allem ich, so lange gewartet hat:</p>

<p><img src="http://img844.imageshack.us/img844/3420/phpinfo.jpg" alt="phpinfo(), Mac OS X mit ZendDebugger" /></p>

<pre><code>This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
    with Zend Debugger v5.3, Copyright (c) 1999-2009, by Zend Technologies
</code></pre>

<p>@Zend: Warum so kompliziert?</p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/07/zenddebugger_unter_mac_os_x_snow_leopard_php_5-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ICQ über SSL in Adium, ohne SSH</title>
		<link>http://suelzomat.de/2010/05/icq-uber-ssl-in-adium-ohne-ssh/</link>
		<comments>http://suelzomat.de/2010/05/icq-uber-ssl-in-adium-ohne-ssh/#comments</comments>
		<pubDate>Tue, 25 May 2010 09:36:24 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Adium]]></category>
		<category><![CDATA[ICQ]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=350</guid>
		<description><![CDATA[Um ICQ in Adium, der Instantmessenger unter Mac OS X schlechthin, an einer Firewall vorbei zu Tunneln habe ich lange Zeit auf meinen Server und SSH gesetzt.

1ssh -N -D 1080 user@mein.server.de

In Adium habe ich dann als Proxy SOCKS4, Server localhost und Port 1080 eingestellt. Das lief wunderbar. Nur musste ich immer schön die SecureShell von [...]]]></description>
			<content:encoded><![CDATA[<p>Um <a href="http://www.icq.com">ICQ</a> in <a href="http://adium.im/">Adium</a>, der Instantmessenger unter Mac OS X schlechthin, an einer Firewall vorbei zu Tunneln habe ich lange Zeit auf meinen Server und SSH gesetzt.</p>

<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-N</span> <span style="color: #660033;">-D</span> <span style="color: #000000;">1080</span> user<span style="color: #000000; font-weight: bold;">@</span>mein.server.de</div></td></tr></tbody></table></div>

<p>In Adium habe ich dann als Proxy <strong>SOCKS4</strong>, Server <strong>localhost</strong> und Port <strong>1080</strong> eingestellt. Das lief wunderbar. Nur musste ich immer schön die SecureShell von Hand starten. Das hätte ich zwar auch automatisieren können, ein Shellscript hat da schon geholfen, aber es war doch immer nervig.</p>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/05/adium_ssh_proxy.jpg"><img src="http://suelzomat.de/wp-content/uploads/2010/05/adium_ssh_proxy.jpg" alt="" title="Adium SSH Proxy" width="718" height="491" class="alignnone size-full wp-image-354" /></a></p>

<p>ICQ bietet aber auch eine direkte SSL-Verbindung auf Port <strong>443</strong> drei an. Die URL des Loginservers lautet: <strong>slogin.oscar.aol.com</strong>.</p>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/05/adium_ssl.jpg"><img src="http://suelzomat.de/wp-content/uploads/2010/05/adium_ssl.jpg" alt="" title="Adium SSL" width="724" height="496" class="alignnone size-full wp-image-355" /></a></p>

<p>Und wenn man das dann entsprechend im Adium einstellt braucht man keinen SSH mehr und man kommt trotzdem an den meisten Firewalls vorbei <img src='http://suelzomat.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/05/icq-uber-ssl-in-adium-ohne-ssh/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tabellenverlauf der Fußball Bundesliga, 1963 &#8211; 2008</title>
		<link>http://suelzomat.de/2010/04/tabellenverlauf-der-fusball-bundesliga-1963-2008/</link>
		<comments>http://suelzomat.de/2010/04/tabellenverlauf-der-fusball-bundesliga-1963-2008/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 18:15:58 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Fussball]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Bundesliga]]></category>
		<category><![CDATA[Fußball]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=212</guid>
		<description><![CDATA[Die Tage zuvor hatte ich schon mit den Punkten rumgespielt, nun gibt es hier den gesamten Verlauf aller Spieltage von 1963 bis 2008 zu sehen. Selbstverstänlich habe ich wieder Python, die Google Chart API und pygooglechart verwendet.

1963 &#8211; 1964




1964 &#8211; 1965



1965 &#8211; 1966



1966 &#8211; 1967



1967 &#8211; 1968



1968 &#8211; 1969



1969 &#8211; 1970



1970 &#8211; 1971



1971 &#8211; 1972



1972 [...]]]></description>
			<content:encoded><![CDATA[<p>Die Tage zuvor hatte ich schon mit den Punkten rumgespielt, nun gibt es hier den gesamten Verlauf aller Spieltage von 1963 bis 2008 zu sehen. Selbstverstänlich habe ich wieder <a href="http://www.python.org/">Python</a>, die <a href="http://code.google.com/intl/de/apis/charttools/">Google Chart API</a> und <a href="http://pygooglechart.slowchop.com/">pygooglechart</a> verwendet.</p>

<h2>1963 &#8211; 1964</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1963.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1963.png" title="Bundesliga 1963 - 1964" class="alignnone size-full wp-image-201"></a>
<span id="more-212"></span></p>

<h2>1964 &#8211; 1965</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1964.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1964.png" title="Bundesliga 1964 - 1965" class="alignnone size-full wp-image-201"></a></p>

<h2>1965 &#8211; 1966</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1965.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1965.png" title="Bundesliga 1965 - 1966" class="alignnone size-full wp-image-201"></a></p>

<h2>1966 &#8211; 1967</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1966.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1966.png" title="Bundesliga 1966 - 1967" class="alignnone size-full wp-image-201"></a></p>

<h2>1967 &#8211; 1968</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1967.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1967.png" title="Bundesliga 1967 - 1968" class="alignnone size-full wp-image-201"></a></p>

<h2>1968 &#8211; 1969</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1968.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1968.png" title="Bundesliga 1968 - 1969" class="alignnone size-full wp-image-201"></a></p>

<h2>1969 &#8211; 1970</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1969.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1969.png" title="Bundesliga 1969 - 1970" class="alignnone size-full wp-image-201"></a></p>

<h2>1970 &#8211; 1971</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1970.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1970.png" title="Bundesliga 1970 - 1971" class="alignnone size-full wp-image-201"></a></p>

<h2>1971 &#8211; 1972</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1971.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1971.png" title="Bundesliga 1971 - 1972" class="alignnone size-full wp-image-201"></a></p>

<h2>1972 &#8211; 1973</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1972.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1972.png" title="Bundesliga 1972 - 1973" class="alignnone size-full wp-image-201"></a></p>

<h2>1973 &#8211; 1974</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1973.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1973.png" title="Bundesliga 1973 - 1974" class="alignnone size-full wp-image-201"></a></p>

<h2>1974 &#8211; 1975</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1974.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1974.png" title="Bundesliga 1974 - 1975" class="alignnone size-full wp-image-201"></a></p>

<h2>1975 &#8211; 1976</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1975.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1975.png" title="Bundesliga 1975 - 1976" class="alignnone size-full wp-image-201"></a></p>

<h2>1976 &#8211; 1977</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1976.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1976.png" title="Bundesliga 1976 - 1977" class="alignnone size-full wp-image-201"></a></p>

<h2>1977 &#8211; 1978</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1977.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1977.png" title="Bundesliga 1977 - 1978" class="alignnone size-full wp-image-201"></a></p>

<h2>1978 &#8211; 1979</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1978.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1978.png" title="Bundesliga 1978 - 1979" class="alignnone size-full wp-image-201"></a></p>

<h2>1979 &#8211; 1980</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1979.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1979.png" title="Bundesliga 1979 - 1980" class="alignnone size-full wp-image-201"></a></p>

<h2>1980 &#8211; 1981</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1980.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1980.png" title="Bundesliga 1980 - 1981" class="alignnone size-full wp-image-201"></a></p>

<h2>1981 &#8211; 1982</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1981.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1981.png" title="Bundesliga 1981 - 1982" class="alignnone size-full wp-image-201"></a></p>

<h2>1982 &#8211; 1983</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1982.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1982.png" title="Bundesliga 1982 - 1983" class="alignnone size-full wp-image-201"></a></p>

<h2>1983 &#8211; 1984</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1983.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1983.png" title="Bundesliga 1983 - 1984" class="alignnone size-full wp-image-201"></a></p>

<h2>1984 &#8211; 1985</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1984.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1984.png" title="Bundesliga 1984 - 1985" class="alignnone size-full wp-image-201"></a></p>

<h2>1985 &#8211; 1986</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1985.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1985.png" title="Bundesliga 1985 - 1986" class="alignnone size-full wp-image-201"></a></p>

<h2>1986 &#8211; 1987</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1986.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1986.png" title="Bundesliga 1986 - 1987" class="alignnone size-full wp-image-201"></a></p>

<h2>1987 &#8211; 1988</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1987.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1987.png" title="Bundesliga 1987 - 1988" class="alignnone size-full wp-image-201"></a></p>

<h2>1988 &#8211; 1989</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1988.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1988.png" title="Bundesliga 1988 - 1989" class="alignnone size-full wp-image-201"></a></p>

<h2>1989 &#8211; 1990</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1989.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1989.png" title="Bundesliga 1989 - 1990" class="alignnone size-full wp-image-201"></a></p>

<h2>1990 &#8211; 1991</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1990.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1990.png" title="Bundesliga 1990 - 1991" class="alignnone size-full wp-image-201"></a></p>

<h2>1991 &#8211; 1992</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1991.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1991.png" title="Bundesliga 1991 - 1992" class="alignnone size-full wp-image-201"></a></p>

<h2>1992 &#8211; 1993</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1992.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1992.png" title="Bundesliga 1992 - 1993" class="alignnone size-full wp-image-201"></a></p>

<h2>1993 &#8211; 1994</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1993.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1993.png" title="Bundesliga 1993 - 1994" class="alignnone size-full wp-image-201"></a></p>

<h2>1994 &#8211; 1995</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1994.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1994.png" title="Bundesliga 1994 - 1995" class="alignnone size-full wp-image-201"></a></p>

<h2>1995 &#8211; 1996</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1995.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1995.png" title="Bundesliga 1995 - 1996" class="alignnone size-full wp-image-201"></a></p>

<h2>1996 &#8211; 1997</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1996.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1996.png" title="Bundesliga 1996 - 1997" class="alignnone size-full wp-image-201"></a></p>

<h2>1997 &#8211; 1998</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1997.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1997.png" title="Bundesliga 1997 - 1998" class="alignnone size-full wp-image-201"></a></p>

<h2>1998 &#8211; 1999</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1998.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1998.png" title="Bundesliga 1998 - 1999" class="alignnone size-full wp-image-201"></a></p>

<h2>1999 &#8211; 2000</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_1999.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_1999.png" title="Bundesliga 1999 - 2000" class="alignnone size-full wp-image-201"></a></p>

<h2>2000 &#8211; 2001</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_2000.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_2000.png" title="Bundesliga 2000 - 2001" class="alignnone size-full wp-image-201"></a></p>

<h2>2001 &#8211; 2002</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_2001.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_2001.png" title="Bundesliga 2001 - 2002" class="alignnone size-full wp-image-201"></a></p>

<h2>2002 &#8211; 2003</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_2002.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_2002.png" title="Bundesliga 2002 - 2003" class="alignnone size-full wp-image-201"></a></p>

<h2>2003 &#8211; 2004</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_2003.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_2003.png" title="Bundesliga 2003 - 2004" class="alignnone size-full wp-image-201"></a></p>

<h2>2004 &#8211; 2005</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_2004.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_2004.png" title="Bundesliga 2004 - 2005" class="alignnone size-full wp-image-201"></a></p>

<h2>2005 &#8211; 2006</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_2005.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_2005.png" title="Bundesliga 2005 - 2006" class="alignnone size-full wp-image-201"></a></p>

<h2>2006 &#8211; 2007</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_2006.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_2006.png" title="Bundesliga 2006 - 2007" class="alignnone size-full wp-image-201"></a></p>

<h2>2007 &#8211; 2008</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_2007.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_2007.png" title="Bundesliga 2007 - 2008" class="alignnone size-full wp-image-201"></a></p>

<h2>2008 &#8211; 2009</h2>

<p><a href="/wp-content/uploads/2010/04/tabelle_2008.png"><img height="400" width="600" alt="" src="/wp-content/uploads/2010/04/tabelle_2008.png" title="Bundesliga 2008 - 2009" class="alignnone size-full wp-image-201"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/04/tabellenverlauf-der-fusball-bundesliga-1963-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bundesliga 1963-2008 in Bildern</title>
		<link>http://suelzomat.de/2010/04/bundesliga-1963-2008-in-bildern/</link>
		<comments>http://suelzomat.de/2010/04/bundesliga-1963-2008-in-bildern/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 11:32:37 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Fussball]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Bundesliga]]></category>
		<category><![CDATA[Diagramme]]></category>
		<category><![CDATA[ElementTree]]></category>
		<category><![CDATA[Google Chart Api]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=157</guid>
		<description><![CDATA[Für eine Wettanalysesoftware brauchte ich sämtliche Spiele der Fussball Bundesliga seit der Gründung. Und da man an diese Daten recht simpel ran kommt, dachte ich mir heute das ich damit ja auch andere Dinge anstellen kann außer reich zu werden   Hier mal sämtliche Saisons seit 1963 als Diagramm. Die X-Achse gibt die Spieltage [...]]]></description>
			<content:encoded><![CDATA[<p>Für eine Wettanalysesoftware brauchte ich sämtliche Spiele der Fussball Bundesliga seit der Gründung. Und da man an diese Daten recht simpel ran kommt, dachte ich mir heute das ich damit ja auch andere Dinge anstellen kann außer reich zu werden <img src='http://suelzomat.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Hier mal sämtliche Saisons seit 1963 als Diagramm. Die X-Achse gibt die Spieltage wieder, die Y-Achse die Punkte. Als Berechnungfaktor habe ich konsequent 1 Punkt für Unentschieden, 3 Punkte für Sieg und 0 Punkte für eine Niederlage vergeben. Das ist zwar nicht historisch korrekt, aber ich wollte heute auch nicht allzulange vor dem Rechner sitzen <img src='http://suelzomat.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h2>1963 &#8211; 1964</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1963.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1963" src="http://suelzomat.de/wp-content/uploads/2010/04/1963.png" alt="" width="600" height="400" /></a></p>

<p><span id="more-157"></span></p>

<h2>1964 &#8211; 1965</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1964.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1964" src="http://suelzomat.de/wp-content/uploads/2010/04/1964.png" alt="" width="600" height="400" /></a></p>

<h2>1965 &#8211; 1966</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1965.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1965" src="http://suelzomat.de/wp-content/uploads/2010/04/1965.png" alt="" width="600" height="400" /></a></p>

<h2>1966 &#8211; 1967</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1966.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1966" src="http://suelzomat.de/wp-content/uploads/2010/04/1966.png" alt="" width="600" height="400" /></a></p>

<h2>1967 &#8211; 1968</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1967.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1967" src="http://suelzomat.de/wp-content/uploads/2010/04/1967.png" alt="" width="600" height="400" /></a></p>

<h2>1968 &#8211; 1969</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1968.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1968" src="http://suelzomat.de/wp-content/uploads/2010/04/1968.png" alt="" width="600" height="400" /></a></p>

<h2>1969 &#8211; 1970</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1969.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1969" src="http://suelzomat.de/wp-content/uploads/2010/04/1969.png" alt="" width="600" height="400" /></a></p>

<h2>1970 &#8211; 1971</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1970.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1970" src="http://suelzomat.de/wp-content/uploads/2010/04/1970.png" alt="" width="600" height="400" /></a></p>

<h2>1971 &#8211; 1972</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1971.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1971" src="http://suelzomat.de/wp-content/uploads/2010/04/1971.png" alt="" width="600" height="400" /></a></p>

<h2>1972 &#8211; 1973</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1972.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1972" src="http://suelzomat.de/wp-content/uploads/2010/04/1972.png" alt="" width="600" height="400" /></a></p>

<h2>1973 &#8211; 1974</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1973.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1973" src="http://suelzomat.de/wp-content/uploads/2010/04/1973.png" alt="" width="600" height="400" /></a></p>

<h2>1974 &#8211; 1975</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1974.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1974" src="http://suelzomat.de/wp-content/uploads/2010/04/1974.png" alt="" width="600" height="400" /></a></p>

<h2>1975 &#8211; 1976</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1975.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1975" src="http://suelzomat.de/wp-content/uploads/2010/04/1975.png" alt="" width="600" height="400" /></a></p>

<h2>1976 &#8211; 1977</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1976.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1976" src="http://suelzomat.de/wp-content/uploads/2010/04/1976.png" alt="" width="600" height="400" /></a></p>

<h2>1977 &#8211; 1978</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1977.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1977" src="http://suelzomat.de/wp-content/uploads/2010/04/1977.png" alt="" width="600" height="400" /></a></p>

<h2>1978 &#8211; 1979</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1978.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1978" src="http://suelzomat.de/wp-content/uploads/2010/04/1978.png" alt="" width="600" height="400" /></a></p>

<h2>1979 &#8211; 1980</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1979.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1979" src="http://suelzomat.de/wp-content/uploads/2010/04/1979.png" alt="" width="600" height="400" /></a></p>

<h2>1980 &#8211; 1981</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1980.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1980" src="http://suelzomat.de/wp-content/uploads/2010/04/1980.png" alt="" width="600" height="400" /></a></p>

<h2>1981 &#8211; 1982</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1981.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1981" src="http://suelzomat.de/wp-content/uploads/2010/04/1981.png" alt="" width="600" height="400" /></a></p>

<h2>1982 &#8211; 1983</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1982.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1982" src="http://suelzomat.de/wp-content/uploads/2010/04/1982.png" alt="" width="600" height="400" /></a></p>

<h2>1983 &#8211; 1984</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1983.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1983" src="http://suelzomat.de/wp-content/uploads/2010/04/1983.png" alt="" width="600" height="400" /></a></p>

<h2>1984 &#8211; 1985</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1984.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1984" src="http://suelzomat.de/wp-content/uploads/2010/04/1984.png" alt="" width="600" height="400" /></a></p>

<h2>1985 &#8211; 1986</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1985.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1985" src="http://suelzomat.de/wp-content/uploads/2010/04/1985.png" alt="" width="600" height="400" /></a></p>

<h2>1986 &#8211; 1987</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1986.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1986" src="http://suelzomat.de/wp-content/uploads/2010/04/1986.png" alt="" width="600" height="400" /></a></p>

<h2>1987 &#8211; 1988</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1987.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1987" src="http://suelzomat.de/wp-content/uploads/2010/04/1987.png" alt="" width="600" height="400" /></a></p>

<h2>1988 &#8211; 1989</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1988.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1988" src="http://suelzomat.de/wp-content/uploads/2010/04/1988.png" alt="" width="600" height="400" /></a></p>

<h2>1989 &#8211; 1990</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1989.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1989" src="http://suelzomat.de/wp-content/uploads/2010/04/1989.png" alt="" width="600" height="400" /></a></p>

<h2>1990 &#8211; 1991</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1990.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1990" src="http://suelzomat.de/wp-content/uploads/2010/04/1990.png" alt="" width="600" height="400" /></a></p>

<h2>1992 &#8211; 1993</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1992.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1992" src="http://suelzomat.de/wp-content/uploads/2010/04/1992.png" alt="" width="600" height="400" /></a></p>

<h2>1993 &#8211; 1994</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1993.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1993" src="http://suelzomat.de/wp-content/uploads/2010/04/1993.png" alt="" width="600" height="400" /></a></p>

<h2>1994 &#8211; 1995</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1994.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1994" src="http://suelzomat.de/wp-content/uploads/2010/04/1994.png" alt="" width="600" height="400" /></a></p>

<h2>1995 &#8211; 1996</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1995.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1995" src="http://suelzomat.de/wp-content/uploads/2010/04/1995.png" alt="" width="600" height="400" /></a></p>

<h2>1996 &#8211; 1997</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1996.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1996" src="http://suelzomat.de/wp-content/uploads/2010/04/1996.png" alt="" width="600" height="400" /></a></p>

<h2>1997 &#8211; 1998</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1997.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1997" src="http://suelzomat.de/wp-content/uploads/2010/04/1997.png" alt="" width="600" height="400" /></a></p>

<h2>1998 &#8211; 1999</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1998.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1998" src="http://suelzomat.de/wp-content/uploads/2010/04/1998.png" alt="" width="600" height="400" /></a></p>

<h2>1999 &#8211; 2000</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/1999.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 1999" src="http://suelzomat.de/wp-content/uploads/2010/04/1999.png" alt="" width="600" height="400" /></a></p>

<h2>2000 &#8211; 2001</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/2000.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 2000" src="http://suelzomat.de/wp-content/uploads/2010/04/2000.png" alt="" width="600" height="400" /></a></p>

<h2>2001 &#8211; 2002</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/2001.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 2001" src="http://suelzomat.de/wp-content/uploads/2010/04/2001.png" alt="" width="600" height="400" /></a></p>

<h2>2002 &#8211; 2003</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/2002.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 2002" src="http://suelzomat.de/wp-content/uploads/2010/04/2002.png" alt="" width="600" height="400" /></a></p>

<h2>2003 &#8211; 2004</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/2003.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 2003" src="http://suelzomat.de/wp-content/uploads/2010/04/2003.png" alt="" width="600" height="400" /></a></p>

<h2>2004 &#8211; 2005</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/2004.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 2004" src="http://suelzomat.de/wp-content/uploads/2010/04/2004.png" alt="" width="600" height="400" /></a></p>

<h2>2005 &#8211; 2006</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/2005.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 2005" src="http://suelzomat.de/wp-content/uploads/2010/04/2005.png" alt="" width="600" height="400" /></a></p>

<h2>2006 &#8211; 2007</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/2006.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 2006" src="http://suelzomat.de/wp-content/uploads/2010/04/2006.png" alt="" width="600" height="400" /></a></p>

<h2>2008 &#8211; 2009</h2>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/04/2008.png"><img class="alignnone size-full wp-image-201" title="Bundesliga 2008" src="http://suelzomat.de/wp-content/uploads/2010/04/2008.png" alt="" width="600" height="400" /></a></p>

<p>Die Daten habe ich mit <a href="http://www.python.org">Pyhtons</a> <a href="http://docs.python.org/library/xml.etree.elementtree.html">ElementTree</a> verarbeitet, die Grafiken mit <a href="http://pygooglechart.slowchop.com/">pygooglechart</a> und der <a href="http://code.google.com/intl/de/apis/charttools/">Google Chart Api</a> erzeugt.</p>

<p>Warum die Grafiken für 1991/92 und 2007/08 nicht erzeugt worden sind kann ich gerade nicht sagen. Mal schauen.</p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/04/bundesliga-1963-2008-in-bildern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mail.app mit Python steuern</title>
		<link>http://suelzomat.de/2010/03/mail-app-mit-python-steuern/</link>
		<comments>http://suelzomat.de/2010/03/mail-app-mit-python-steuern/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 18:15:20 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple Script]]></category>
		<category><![CDATA[appscript]]></category>
		<category><![CDATA[IPC]]></category>
		<category><![CDATA[Mail.app]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=130</guid>
		<description><![CDATA[Ich bin ein großer Fan von Mail.app. Die sqlitebasierte Suche ist super schnell und hilft mir im beruflichen Alltag ungemein. Da ich regelmäßig viele Dateien versenden muss, und nein, ich kann die nicht irgendwo zum Download anbieten, habe ich nach einer smarten Lösung gesucht um Mail.app von der Konsole aus zu steuern. Genauer gesagt wollte [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin ein großer Fan von Mail.app. Die sqlitebasierte Suche ist super schnell und hilft mir im beruflichen Alltag ungemein. Da ich regelmäßig viele Dateien versenden muss, und nein, ich kann die nicht irgendwo zum Download anbieten, habe ich nach einer smarten Lösung gesucht um Mail.app von der Konsole aus zu steuern. Genauer gesagt wollte ich einen Skript haben das ich mit den benötigten Informationen wie div. Emfpänger, Betreff und eben jede Menge Dateien aufrufe. Das Skript öffnet anschließend Mail.app, erstellt eine neue Nachricht, trägt die Empfänger und den Betreff ein und fügt die Dateien als Anhänge hinzu.</p>

<p>Bei <a href="http://superuser.com">SuperUser.com</a> wurde ich fündig:<a href="http://superuser.com/questions/125707/write-an-email-with-attachment-with-mail-app-from-terminal/">http://superuser.com/questions/125707/write-an-email-with-attachment-with-mail-app-from-terminal/</a>. Doch wollte ich das ganz nicht mit nem billigen Shellskript sondern dauerhaft mit Python machen. Da kam mir <a href="http://appscript.sf.net">appscript</a> gerade recht.</p>

<p>Appscript bietet eine Schnittstelle zu Apple Script, sowohl für Ruby als auch für Python. Wuhuuu. Damit kann man so ziemlich jede Anwendung steuern, Stichwort <a href="http://de.wikipedia.org/wiki/Interprozesskommunikation">Interprozesskommunikation</a>, oder kurz IPC. Nach ein wenig Spielerei kam dabei das hier raus:</p>

<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span><br />
<span style="color: #808080; font-style: italic;"># encoding: utf-8</span><br />
<span style="color: #483d8b;">&quot;&quot;&quot;<br />
mailapp.py<br />
&nbsp;<br />
Created by Fabian Schächter on 2010-03-31.<br />
Copyright (c) 2010 . All rights reserved.<br />
&quot;&quot;&quot;</span><br />
&nbsp;<br />
&nbsp;<br />
__author__ = <span style="color: #483d8b;">'Fabian Schächter &lt;fabian@schaechter.info&gt;'</span><br />
__version__ = <span style="color: #483d8b;">'0.1'</span><br />
&nbsp;<br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">optparse</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> appscript<br />
<span style="color: #ff7700;font-weight:bold;">import</span> mactypes<br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span><br />
&nbsp;<br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">def</span> talk_to_mailapp<span style="color: black;">&#40;</span>recipients, subject, files<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot;talks to mail.app through appscript&quot;&quot;&quot;</span><br />
&nbsp; &nbsp; mail = appscript.<span style="color: black;">app</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Mail'</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; k = appscript.<span style="color: black;">k</span><br />
&nbsp; &nbsp; message = mail.<span style="color: black;">make</span><span style="color: black;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">new</span>=k.<span style="color: black;">outgoing_message</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; with_properties=<span style="color: black;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; k.<span style="color: black;">visible</span>: <span style="color: #008000;">True</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; k.<span style="color: black;">subject</span>: <span style="color: #008000;">unicode</span><span style="color: black;">&#40;</span>subject<span style="color: black;">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: black;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> recipient <span style="color: #ff7700;font-weight:bold;">in</span> recipients:<br />
&nbsp; &nbsp; &nbsp; &nbsp; message.<span style="color: black;">to_recipients</span>.<span style="color: black;">end</span>.<span style="color: black;">make</span><span style="color: black;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">new</span>=k.<span style="color: black;">to_recipient</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; with_properties=<span style="color: black;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; k.<span style="color: black;">address</span>: recipient,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: black;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> files <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">None</span> <span style="color: #ff7700;font-weight:bold;">and</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>files<span style="color: black;">&#41;</span> <span style="color: #66cc66;">&gt;</span> 0:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> f <span style="color: #ff7700;font-weight:bold;">in</span> files:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; message.<span style="color: black;">content</span>.<span style="color: black;">make</span><span style="color: black;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; at=message.<span style="color: black;">content</span>.<span style="color: black;">paragraphs</span>.<span style="color: black;">first</span>.<span style="color: black;">before</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">new</span>=k.<span style="color: black;">paragraph</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; with_data=<span style="color: #483d8b;">'nn'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file_path = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">realpath</span><span style="color: black;">&#40;</span>f<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; app_file = mactypes.<span style="color: black;">Alias</span><span style="color: black;">&#40;</span>file_path<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; message.<span style="color: black;">content</span>.<span style="color: black;">make</span><span style="color: black;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; at=message.<span style="color: black;">content</span>.<span style="color: black;">paragraphs</span>.<span style="color: black;">first</span>.<span style="color: black;">after</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">new</span>=k.<span style="color: black;">attachment</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; with_properties=<span style="color: black;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; k.<span style="color: black;">file_name</span>: app_file,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: black;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: black;">&#41;</span><br />
&nbsp;<br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">def</span> main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot;main&quot;&quot;&quot;</span><br />
&nbsp; &nbsp; <span style="color: #dc143c;">parser</span> = <span style="color: #dc143c;">optparse</span>.<span style="color: black;">OptionParser</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #dc143c;">parser</span>.<span style="color: black;">add_option</span><span style="color: black;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">'-t'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">'--to'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; dest=<span style="color: #483d8b;">'recipient'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; action=<span style="color: #483d8b;">'append'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">help</span>=<span style="color: #483d8b;">'recipient'</span><br />
&nbsp; &nbsp; <span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #dc143c;">parser</span>.<span style="color: black;">add_option</span><span style="color: black;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">'-s'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">'--subject'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; dest=<span style="color: #483d8b;">'subject'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">help</span>=<span style="color: #483d8b;">'subject'</span>,<br />
&nbsp; &nbsp; <span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #dc143c;">parser</span>.<span style="color: black;">add_option</span><span style="color: black;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">'-f'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">'--file'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; dest=<span style="color: #483d8b;">'files'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; action=<span style="color: #483d8b;">'append'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">help</span>=<span style="color: #483d8b;">'files to be added as an attachment'</span><br />
&nbsp; &nbsp; <span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: black;">&#40;</span>options, args<span style="color: black;">&#41;</span> = <span style="color: #dc143c;">parser</span>.<span style="color: black;">parse_args</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> options.<span style="color: black;">recipient</span> == <span style="color: #008000;">None</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">parser</span>.<span style="color: black;">error</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'recipient is required'</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> options.<span style="color: black;">subject</span> == <span style="color: #008000;">None</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">parser</span>.<span style="color: black;">error</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'subject is required'</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; talk_to_mailapp<span style="color: black;">&#40;</span>options.<span style="color: black;">recipient</span>, options.<span style="color: black;">subject</span>, options.<span style="color: black;">files</span><span style="color: black;">&#41;</span><br />
&nbsp;<br />
&nbsp;<br />
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">'__main__'</span>:<br />
&nbsp; &nbsp; main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></td></tr></tbody></table></div>

<p>Nun reicht mit ein einfaches mailapp.py -t aneine@addresse.de -t undnoch@eine.de -s &#8220;der betreff&#8221; -f datei1.txt -f datei2.txt -f datei3.txt und schon habe ich eine Mail in Mail.app angelegt und alle Dateien sind schon angehängt.</p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/03/mail-app-mit-python-steuern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ClientForm mit HTML betanken</title>
		<link>http://suelzomat.de/2010/03/clientform-mit-html-betanken/</link>
		<comments>http://suelzomat.de/2010/03/clientform-mit-html-betanken/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 15:35:58 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[ClientForm]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tipp]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=82</guid>
		<description><![CDATA[Ich benötigte Informationen aus einem Formular einer Website. Dazu kann man wunderbar ClientForm verwenden. Doch ClientForm will entweder eine Datei oder den Response der urllib2. Doch ich hatte schon den Inhalt der Seite. Und da ich keinen weiteren Response erzeugen wollte habe ich mir einfach mit der Klasse TemporaryFile aus dem Modul tempfile geholfen:

12345678910111213141516from ClientForm [...]]]></description>
			<content:encoded><![CDATA[<p>Ich benötigte Informationen aus einem Formular einer Website. Dazu kann man wunderbar <a title="ClientForm" href="http://wwwsearch.sourceforge.net/ClientForm/" target="_blank">ClientForm</a> verwenden. Doch ClientForm will entweder eine Datei oder den Response der <a title="urllib2" href="http://docs.python.org/library/urllib2.html" target="_blank">urllib2</a>. Doch ich hatte schon den Inhalt der Seite. Und da ich keinen weiteren Response erzeugen wollte habe ich mir einfach mit der Klasse TemporaryFile aus dem Modul <a title="tempfile" href="http://docs.python.org/library/tempfile.html" target="_blank">tempfile</a> geholfen:</p>

<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #ff7700;font-weight:bold;">from</span> ClientForm <span style="color: #ff7700;font-weight:bold;">import</span> ParseFile<br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">tempfile</span><br />
<br />
<span style="color: #808080; font-style: italic;"># ...</span><br />
<span style="color: #808080; font-style: italic;"># der ganze response/request-spass ist schon passiert</span><br />
<span style="color: #808080; font-style: italic;"># die variable html existiert, ist ein string und enthält die ganze website</span><br />
<br />
<br />
f = <span style="color: #dc143c;">tempfile</span>.<span style="color: black;">TemporaryFile</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
f.<span style="color: black;">write</span><span style="color: black;">&#40;</span>html<span style="color: black;">&#41;</span><br />
<span style="color: #808080; font-style: italic;"># wichtig... zum den zeiger im tempfile wieder auf 0 setzten, sonst kann clientform das nicht</span><br />
<span style="color: #808080; font-style: italic;"># korrekt parsen</span><br />
f.<span style="color: black;">seek</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span><br />
forms = &nbsp;ParseFile<span style="color: black;">&#40;</span>f, <span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> forms<br />
f.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></td></tr></tbody></table></div>

<p>Das angenehme an TemporaryFile, wenn der Zugriff mittels close() beendet wird, wird auch die Datei dahinter gelöscht. Man muss also nicht mal mehr den Müll rausbringen <img src='http://suelzomat.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/03/clientform-mit-html-betanken/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Auflistung der nächsten 100 Tage in Python</title>
		<link>http://suelzomat.de/2010/03/auflistung-der-naechsten-100-tage-in-python/</link>
		<comments>http://suelzomat.de/2010/03/auflistung-der-naechsten-100-tage-in-python/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 15:00:53 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tipp]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=67</guid>
		<description><![CDATA[Ich brauchte gerade eine Auflistung der kommen 100 Tage und ich wollte dafür nicht extra ein Tabellenkalkulationsmonster ala Excel aufmachen. Python bietet dafür genügend Zucker damit das Spaß macht:

123456789101112from datetime import date, timedelta


def main&#40;&#41;:
&#160; &#160; &#34;&#34;&#34;spass mit daten&#34;&#34;&#34;
&#160; &#160; start_date = date.today&#40;&#41;
&#160; &#160; for i in range&#40;1, 100&#41;:
&#160; &#160; &#160; &#160; print start_date + timedelta&#40;days=i&#41;


if __name__ [...]]]></description>
			<content:encoded><![CDATA[<p>Ich brauchte gerade eine Auflistung der kommen 100 Tage und ich wollte dafür nicht extra ein Tabellenkalkulationsmonster ala Excel aufmachen. Python bietet dafür genügend Zucker damit das Spaß macht:</p>

<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">datetime</span> <span style="color: #ff7700;font-weight:bold;">import</span> date, timedelta<br />
<br />
<br />
<span style="color: #ff7700;font-weight:bold;">def</span> main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot;spass mit daten&quot;&quot;&quot;</span><br />
&nbsp; &nbsp; start_date = date.<span style="color: black;">today</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>1, 100<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> start_date + timedelta<span style="color: black;">&#40;</span>days=i<span style="color: black;">&#41;</span><br />
<br />
<br />
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">'__main__'</span>:<br />
&nbsp; &nbsp; main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></td></tr></tbody></table></div>

<p>Und hier das Ergebnis:
<pre>1.: 2010-03-07
2.: 2010-03-08
3.: 2010-03-09
4.: 2010-03-10
5.: 2010-03-11
6.: 2010-03-12
7.: 2010-03-13
8.: 2010-03-14
9.: 2010-03-15
10.: 2010-03-16
11.: 2010-03-17
12.: 2010-03-18
13.: 2010-03-19
14.: 2010-03-20
15.: 2010-03-21
16.: 2010-03-22
17.: 2010-03-23
18.: 2010-03-24
19.: 2010-03-25
20.: 2010-03-26
21.: 2010-03-27
22.: 2010-03-28
23.: 2010-03-29
24.: 2010-03-30
25.: 2010-03-31
26.: 2010-04-01
27.: 2010-04-02
28.: 2010-04-03
29.: 2010-04-04
30.: 2010-04-05
31.: 2010-04-06
32.: 2010-04-07
33.: 2010-04-08
34.: 2010-04-09
35.: 2010-04-10
36.: 2010-04-11
37.: 2010-04-12
38.: 2010-04-13
39.: 2010-04-14
40.: 2010-04-15
41.: 2010-04-16
42.: 2010-04-17
43.: 2010-04-18
44.: 2010-04-19
45.: 2010-04-20
46.: 2010-04-21
47.: 2010-04-22
48.: 2010-04-23
49.: 2010-04-24
50.: 2010-04-25
51.: 2010-04-26
52.: 2010-04-27
53.: 2010-04-28
54.: 2010-04-29
55.: 2010-04-30
56.: 2010-05-01
57.: 2010-05-02
58.: 2010-05-03
59.: 2010-05-04
60.: 2010-05-05
61.: 2010-05-06
62.: 2010-05-07
63.: 2010-05-08
64.: 2010-05-09
65.: 2010-05-10
66.: 2010-05-11
67.: 2010-05-12
68.: 2010-05-13
69.: 2010-05-14
70.: 2010-05-15
71.: 2010-05-16
72.: 2010-05-17
73.: 2010-05-18
74.: 2010-05-19
75.: 2010-05-20
76.: 2010-05-21
77.: 2010-05-22
78.: 2010-05-23
79.: 2010-05-24
80.: 2010-05-25
81.: 2010-05-26
82.: 2010-05-27
83.: 2010-05-28
84.: 2010-05-29
85.: 2010-05-30
86.: 2010-05-31
87.: 2010-06-01
88.: 2010-06-02
89.: 2010-06-03
90.: 2010-06-04
91.: 2010-06-05
92.: 2010-06-06
93.: 2010-06-07
94.: 2010-06-08
95.: 2010-06-09
96.: 2010-06-10
97.: 2010-06-11
98.: 2010-06-12
99.: 2010-06-13
100.: 2010-06-14</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/03/auflistung-der-naechsten-100-tage-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vom Terminal in die Zwischenablage</title>
		<link>http://suelzomat.de/2010/03/vom-terminal-in-die-zwischenablage/</link>
		<comments>http://suelzomat.de/2010/03/vom-terminal-in-die-zwischenablage/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 19:15:01 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Tipp]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=60</guid>
		<description><![CDATA[Da ich viel mit der Terminal.app arbeite kommt es häufig vor das ich die Maus verwende um Inhalt aus dem Terminal zu kopieren und dann irgendwo, zum Beispiel in Mail, wieder einfüge&#8230; Das kann man auch einfacher haben. Dazu gibt es das Programm pbcopy. Dieses kleine Tool nimmt Inhalt über die STDIN entgegen und stellt [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich viel mit der Terminal.app arbeite kommt es häufig vor das ich die Maus verwende um Inhalt aus dem Terminal zu kopieren und dann irgendwo, zum Beispiel in Mail, wieder einfüge&#8230; Das kann man auch einfacher haben. Dazu gibt es das Programm <strong>pbcopy</strong>. Dieses kleine Tool nimmt Inhalt über die STDIN entgegen und stellt den Inhalt in der Zwischenablage zur Verfügung. Hier ein Beispiel. Ich benötigte den Inhalt der /etc/hosts in der Zwischen Ablage:</p>

<ol>
    <li>Terminal.app öffnen</li>
    <li>Folgendes eingeben:
cat /etc/hosts|pbcopy</li>
    <li>Und schon ist der Inhalt der /etc/hosts in der Zwischenablage</li>
</ol>

<p>Das macht einem das Leben unter Mac nochmal ein Ticken leichter.</p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/03/vom-terminal-in-die-zwischenablage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Terminal langsam nach MacPorts update</title>
		<link>http://suelzomat.de/2010/03/terminal-langsam-nach-macports-update/</link>
		<comments>http://suelzomat.de/2010/03/terminal-langsam-nach-macports-update/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 18:30:12 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MacPorts]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Tipp]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=39</guid>
		<description><![CDATA[Um sein MacPorst zügig zu updaten folgendes im Terminal eingeben:


    sudo port -d selfupdate
    sudo port upgrade outdated
    sudo port clean all


Und immer wieder kommt es vor das danach mein Terminal langsam startet und es dauert so 5 bis 10 Sekunden bis ich am Prompt arbeiten [...]]]></description>
			<content:encoded><![CDATA[<p>Um sein MacPorst zügig zu updaten folgendes im Terminal eingeben:</p>

<ol>
    <li>sudo port -d selfupdate</li>
    <li>sudo port upgrade outdated</li>
    <li>sudo port clean all</li>
</ol>

<p>Und immer wieder kommt es vor das danach mein Terminal langsam startet und es dauert so 5 bis 10 Sekunden bis ich am Prompt arbeiten kann. Vor ein paar Wochen bin ich dann über die Ursache gestolpert. Damals habe ich das Problem behoben gehabt, doch nun war es wieder da&#8230; Es liegt an dem Paket BashCompletion. Das Paket hilft ungemein wenn man viel &#8220;zu Fuss&#8221; auf dem Mac unterwegs ist. Autocompletion für git, rsync und ssh will ich einfach nicht mehr missen. Einfach mal <em>git checkout [TAB]</em> und schon werden alle Branches und Tags gelistet. SUPER!!! Doch das MacPorts-Paket bringt auch jede Menge andere Dinger mit und die brauche ich einfach nicht. Und&#8230; die werden jedesmal eingelesen beim öffnen eines neuen Shell-Logins.</p>

<p><a href="http://suelzomat.de/wp-content/uploads/2010/03/terminal.png"><img class="size-full wp-image-40 alignleft" title="Mein Terminal" src="http://suelzomat.de/wp-content/uploads/2010/03/terminal.png" alt="Screenshot von Terminal.app" width="705" height="706" /></a>Jede Menge Completion-Dateien die ich nie verwenden werde. Daher einfach mal alle Dateien irgenwohin sichern, man weis ja nicht man nicht doch aufeinmal den vncviewer verwenden will, und dann startet Terminal.app wieder richtig schnell.</p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/03/terminal-langsam-nach-macports-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multipartsemails mit Zend-Framework verarbeiten</title>
		<link>http://suelzomat.de/2010/03/multipartsemails-mit-zend-framework-verarbeiten/</link>
		<comments>http://suelzomat.de/2010/03/multipartsemails-mit-zend-framework-verarbeiten/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 18:30:16 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Multipart]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend-Framework]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=31</guid>
		<description><![CDATA[Kollega hatte Probleme Multipartemails mit dem Zend-Framework zu verarbeiten. Nach ein wenig Dokuleserei hier ein kleines funktionierendes Beispiel:

123456789101112&#60;?php

// autoloading und co funktioniert soweit...

$mail = new Zend_Mail_Message&#40;array&#40;'file' =&#62; 'test.eml'&#41;&#41;;

if &#40;$mail-&#62;isMultiPart&#40;&#41;&#41; &#123;
&#160; &#160; foreach &#40;new RecursiveIteratorIterator&#40;$mail&#41; as $part&#41; &#123;
&#160; &#160; &#160; &#160; // irgendwas mit den teilen machen
&#160; &#160; &#160; &#160; echo $part-&#62;contentType . PHP_EOL;
&#160; &#160; &#125;
&#125;
]]></description>
			<content:encoded><![CDATA[<p>Kollega hatte Probleme Multipartemails mit dem Zend-Framework zu verarbeiten. Nach ein wenig Dokuleserei hier ein kleines funktionierendes Beispiel:</p>

<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<br />
<span style="color: #666666; font-style: italic;">// autoloading und co funktioniert soweit...</span><br />
<br />
<span style="color: #000088;">$mail</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Mail_Message<span style="color: #009900;">&#40;</span><a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'file'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'test.eml'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isMultiPart</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> RecursiveIteratorIterator<span style="color: #009900;">&#40;</span><span style="color: #000088;">$mail</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$part</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// irgendwas mit den teilen machen</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$part</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">contentType</span> <span style="color: #339933;">.</span> PHP_EOL<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/03/multipartsemails-mit-zend-framework-verarbeiten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
