<?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; Tipp</title>
	<atom:link href="http://suelzomat.de/tag/tipp/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>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>
	</channel>
</rss>
