<?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"
	>

<channel>
	<title>Flofloflo</title>
	<atom:link href="http://flofloflo.de/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://flofloflo.de</link>
	<description>Flo und seine Welt - Es lebe die Rauhfasertapette -</description>
	<pubDate>Tue, 29 Sep 2009 14:38:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>GBrowes: Feature names (DAS) may not start with a dash(&#8217;-')</title>
		<link>http://flofloflo.de/?p=27</link>
		<comments>http://flofloflo.de/?p=27#comments</comments>
		<pubDate>Tue, 29 Sep 2009 14:37:55 +0000</pubDate>
		<dc:creator>Flo</dc:creator>
		
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://flofloflo.de/?p=27</guid>
		<description><![CDATA[Dear Lazyweb,
I just spent 5 hours learning that if you supply features to GBrowse 2 via DAS (for example with my custom python based pyDasD server), their names must not start with a dash (&#8217;-').
Otherwise the (weird, backwards compatibility) heuristic in Bio::Graphics::Panel-&#62;_do_add_track will silently eat the first feature, because it thinks it&#8217;s an option.
Hooray for [...]]]></description>
			<content:encoded><![CDATA[<p>Dear Lazyweb,</p>
<p>I just spent 5 hours learning that if you supply features to GBrowse 2 via DAS (for example with my custom python based pyDasD server), their names must not start with a dash (&#8217;-').</p>
<p>Otherwise the (weird, backwards compatibility) heuristic in Bio::Graphics::Panel-&gt;_do_add_track will silently eat the first feature, because it thinks it&#8217;s an option.<br />
Hooray for in band data transmission, I&#8217;d say.</p>
<p>So long,<br />
Flo</p>
]]></content:encoded>
			<wfw:commentRss>http://flofloflo.de/?feed=rss2&amp;p=27</wfw:commentRss>
		</item>
		<item>
		<title>openGrok Applicance</title>
		<link>http://flofloflo.de/?p=24</link>
		<comments>http://flofloflo.de/?p=24#comments</comments>
		<pubDate>Wed, 04 Jun 2008 08:36:27 +0000</pubDate>
		<dc:creator>Flo</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://flofloflo.de/?p=24</guid>
		<description><![CDATA[OpenGrok is an open source soure code browser.
It creates and index over code and allows you to quickly find and browse the annotated source.
To use it, you&#8217;d need a java webserver, and of course some code to run it on  
OpenGrok&#8217;s creators use it for the Open Solaris Source - incidentially a good example [...]]]></description>
			<content:encoded><![CDATA[<p>OpenGrok is an open source soure code browser.<br />
It creates and index over code and allows you to quickly find and browse the annotated source.<br />
To use it, you&#8217;d need a java webserver, and of course some code to run it on <img src='http://flofloflo.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <br />
<a href="http://opensolaris.org/os/project/opengrok/leaders/">OpenGrok&#8217;s creators</a> use it for the Open Solaris Source - incidentially a good example - try searching for the defintion of strcmp.</p>
<p>OpenGrok isn&#8217;t difficult to set up - if you have a running Tomcat with a Java runtime 1.5, that is. Now, that&#8217;s a bit unussual for the shop I work with, so I decided to implement a central code browser using VMWare (Player) and a virtual Debian.</p>
<p>Step 1: Get yourself a Debian vm<br />
Either download the vm found on Vmware&#8217;s VM Applicances site, or get the Debian Netinstall. I went with the Netinstall (and VBX Creator), since I wanted my VM to have two virtual harddrives, one for the Debian system and one for our code. This will allow me easily to replace the code harddisk later on with a bigger one (this turned out to be necessary a few years later).</p>
<p>After answering the basic installations questions ( manual package selection, nothing ), I suggest apt-get install ssh, so you can access the vm from your favourite SSH client - I use Putty when on windows.</p>
<p>Step 2: Uprade to Debian Etch<br />
Since Tomcat 5 isn&#8217;t in the current stable Debian (sarge) we&#8217;ll switch to testing (Etch) instead.<br />
#first, my favourite editor&#8230;<br />
apt-get install joe<br />
joe /etc/apt/sources.list<br />
add contrib&#8230;
</p>
<p>Step 3: Java</p>
<p>Now, power off the VM and make a backup. During the package creation for Java, you&#8217;ll save some largish files that will enlarge your VM. I&#8217;ll only sketch the step here.<br />
First, we&#8217;ll need the most current Java Runtime.<br />
#Webbrowser<br />
apt-get install w3m<br />
w3m http://java.sun.com/javase/downloads/index.jsp<br />
Fetch the <a href="http://java.sun.com/javase/downloads/index.jsp">java se runtime</a></p>
<p>Now, we&#8217;ll create an installable java package<br />
apt-get install java-package<br />
su nonRootUser<br />
fakeroot fakeroot make-jpkg jre-1_5_0_06-linux-i586.bin<br />
(obviously change the file name for your java runtime)</p>
<p>SCP the created .deb file to a different machine, throw away the VM and start your backup.<br />
Install the .dev here.</p>
<p>Step 4: Install Tomcat<br />
apt-get install tomcat 5</p>
<p>Step 5: Fetch and install openGrok<br />
Download openGrok and move the source.jar to /var/lib/tomcat5/webapps<br />
Move openGrok.jar and lib to /opt/openGrok<br />
Restart Tomcat (/etc/init.d/tomcat 5 restart )</p>
<p>Step 6: Mount the second harddrive<br />
fdisk /dev/hdb # one partition is enough<br />
mkfs.ext3 /dev/hdb5<br />
joe /etc/fstab<br />
&#8230;<br />
mount /var/lib/tomcat5/webapps/source/code/<br />
mkdir /var/lib/tomcat5/webapps/source/code/src<br />
mkdir /var/lib/tomcat5/webapps/source/code/data</p>
<p>Step 6: Configure Tomcat<br />
If your&#8217;re paranoid like me, Tomcat Apps need explicit permissions.<br />
So place the following in your /etc/tomcat5/policies/04webapps.policy</p>
<p>grant codeBase &#8220;file:${catalina.home}/webapps/source/-&#8221; {<br />
  permission java.util.PropertyPermission &#8220;subversion.native.library&#8221;, &#8220;read&#8221;;<br />
  permission java.lang.RuntimePermission &#8220;loadLibrary.svnjavahl-1&#8243;;<br />
  permission java.lang.RuntimePermission &#8220;loadLibrary.libsvnjavahl-1&#8243;;<br />
  permission java.lang.RuntimePermission &#8220;loadLibrary.svnjavahl&#8221;;<br />
  permission java.util.PropertyPermission &#8220;disableLuceneLocks&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;catalina.home&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;java.io.tmpdir&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;org.apache.lucene.lockdir&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;org.apache.lucene.writeLockTimeout&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;org.apache.lucene.commitLockTimeout&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;org.apache.lucene.mergeFactor&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;org.apache.lucene.minMergeDocs&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;org.apache.lucene.*&#8221;, &#8220;read&#8221;;<br />
  permission java.io.FilePermission &#8220;/var/lib/tomcat5/temp&#8221;, &#8220;read&#8221;;<br />
  permission java.io.FilePermission &#8220;/var/lib/tomcat5/temp/*&#8221;, &#8220;write&#8221;;<br />
  permission java.io.FilePermission &#8220;/var/lib/tomcat5/temp/*&#8221;, &#8220;delete&#8221;;<br />
};</p>
<p>grant codeBase &#8220;file:${catalina.home}/webapps/source/WEB-INF/lib/-&#8221; {<br />
  permission java.util.PropertyPermission &#8220;subversion.native.library&#8221;, &#8220;read&#8221;;<br />
  permission java.lang.RuntimePermission &#8220;loadLibrary.svnjavahl-1&#8243;;</p>
<p>Â  permission java.util.PropertyPermission &#8220;disableLuceneLocks&#8221;, &#8220;read&#8221;;<br />
 permission java.util.PropertyPermission &#8220;catalina.home&#8221;, &#8220;read&#8221;;<br />
 permission java.util.PropertyPermission &#8220;java.io.tmpdir&#8221;, &#8220;read&#8221;;<br />
};</p>
<p>grant codeBase &#8220;file:${catalina.home}/webapps/source/WEB-INF/classes/-&#8221; {<br />
 permission java.util.PropertyPermission &#8220;subversion.native.library&#8221;, &#8220;read&#8221;;<br />
  permission java.lang.RuntimePermission &#8220;loadLibrary.svnjavahl-1&#8243;;<br />
  permission java.util.PropertyPermission &#8220;disableLuceneLocks&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;catalina.home&#8221;, &#8220;read&#8221;;<br />
  permission java.util.PropertyPermission &#8220;java.io.tmpdir&#8221;, &#8220;read&#8221;;<br />
};</p>
<p>Restart Tomcat</p>
<p>Step 7: Fetch code<br />
I use python and subversion (command line) to fetch our repositories each night, but then I already had a webbased repository list at hand.<br />
apt-get install python subversion<br />
Basically, I just call svn update on each working copy (or delete it and do a new checkout if that fails for some reason).<br />
I could be using pysvn, but I never got it to work with Umlauts in the svn repository. Apperantly it simply ignores the locale I set&#8230;</p>
<p>Step 8: Create a shellscript and a cron<br />
joe /opt/fetchAndIndexCode.sh<br />
python /opt/fetchCode.py<br />
java -jar /opt/openGrok.jar -s //var/lib/tomcat5/webapps/source/code/src /var/lib/tomcat5/webapps/source/code/data</p>
<p>chmod +x fetchAndIndexCode.sh<br />
crontab -e
</p>
<p>Step 9:<br />
Run fetchAndIndexCode</p>
<p>Step 10: Visit http://yourip:8888/source</p>
<p>Step 11: Make tomcat accessible via Port 80<br />
This is optional - for something more secure, I suggest using Apache and mod_proxy</p>
<p>I&#8217;d love to make it accessible from /, but apperantly there are some hardcoded paths in the webapp - and it&#8217;s not annyoing enough for me to work on that. I simple placed a meta redirect in /var/lib/tomcat5/webapps/ROOT/index.html</p>
<p>That&#8217;s it, I hope this quick guide has helped you.<br />
I&#8217;d also love to get some comments, expieriences, improvements, etc.</p>
<p>So long,<br />
Flo</p>
]]></content:encoded>
			<wfw:commentRss>http://flofloflo.de/?feed=rss2&amp;p=24</wfw:commentRss>
		</item>
		<item>
		<title>Citing Wikipedia</title>
		<link>http://flofloflo.de/?p=23</link>
		<comments>http://flofloflo.de/?p=23#comments</comments>
		<pubDate>Thu, 23 Feb 2006 16:57:02 +0000</pubDate>
		<dc:creator>Flo</dc:creator>
		
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://flofloflo.de/?p=23</guid>
		<description><![CDATA[Some of us have to write scholarly articles/papers/thesisis from time to time.
Here&#8217;s a quick German guide how to not only cite Wikipedia correctly, but how to cite a page as it was on the day you looked at it.
]]></description>
			<content:encoded><![CDATA[<p>Some of us have to write scholarly articles/papers/thesisis from time to time.</p>
<p><a title="Zitieren aus Wikipedia" href="http://nodomain.cc/archives/2006/02/22/501-Zitieren-aus-Wikipedia.html" target="_blank">Here&#8217;s a quick German guide </a>how to not only cite Wikipedia correctly, but how to cite a page as it was on the day you looked at it.</p>
]]></content:encoded>
			<wfw:commentRss>http://flofloflo.de/?feed=rss2&amp;p=23</wfw:commentRss>
		</item>
		<item>
		<title>Sissi</title>
		<link>http://flofloflo.de/?p=8</link>
		<comments>http://flofloflo.de/?p=8#comments</comments>
		<pubDate>Mon, 09 Jan 2006 17:44:25 +0000</pubDate>
		<dc:creator>Flo</dc:creator>
		
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://flofloflo.de/?p=8</guid>
		<description><![CDATA[Thou art all fair, my love; there is no spot in thee.
]]></description>
			<content:encoded><![CDATA[<p>Thou art all fair, my love; there is no spot in thee.</p>
]]></content:encoded>
			<wfw:commentRss>http://flofloflo.de/?feed=rss2&amp;p=8</wfw:commentRss>
		</item>
		<item>
		<title>Retrieving SMS via Bluetooth from a K700i Phone</title>
		<link>http://flofloflo.de/?p=4</link>
		<comments>http://flofloflo.de/?p=4#comments</comments>
		<pubDate>Tue, 03 Jan 2006 20:02:42 +0000</pubDate>
		<dc:creator>Flo</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://flofloflo.de/?p=4</guid>
		<description><![CDATA[Documentation is sparse on the web on actually talking to your phone, so here&#8217;s a little guide to extract your SMS from a bluetooth phone, decode them, and send them out via email.
Components (ie. required):

a Sony Ericsson K700i (other Sony Ericsson&#8217;s should work - but I have none at hand to test them)
Python
A linux system [...]]]></description>
			<content:encoded><![CDATA[<p>Documentation is sparse on the web on actually talking to your phone, so here&#8217;s a little guide to extract your SMS from a bluetooth phone, decode them, and send them out via email.</p>
<p>Components (ie. required):</p>
<ul>
<li>a Sony Ericsson K700i (other Sony Ericsson&#8217;s should work - but I have none at hand to test them)</li>
<li>Python</li>
<li>A linux system with a running bluez stack (and an appropriate bluetooth dongle) (I used debian)</li>
<li><a title="All Sony Erricson AT command references" href="http://developer.sonyericsson.com/site/global/docstools/phonespecs/p_phonespecs.jsp">AT Command reference for the K700i</a> - available from <a href="http://developer.sonyericsson.com/">http://developer.sonyericsson.com/</a></li>
<li><a href="http://people.csail.mit.edu/albert/bluez-intro/index.html">Bluetooth (bluez) support for python </a></li>
</ul>
<p>Â <span id="more-4"></span></p>
<p>From small to even more bloody detailed&#8230;</p>
<p>AT commands were used back in the day to talk to modems (way before broadband ever was)&#8230; modern day cell phones still speak them, and they&#8217;re the easiest way to talk to your phone.</p>
<p>Bluetooth requires devices to be coupled. You&#8217;ll also need to know yourÂ phone&#8217;s bluetooth address. So turn on bluetooth on your phone and execute &#8216;hcitool scan&#8217; in your shell.<br />
You should see a line like 00:12:EE:55:10:F2Â Â Â Â Â Â  Name of your phone</p>
<p>00:12:EE:55:10:F2Â would be your address. Note that for later.</p>
<p>Now, we&#8217;ll talk to your phone via bluetooth.<br />
Fire up python, type the following.</p>
<p>from bluetooth import *;<br />
s = BluetoothSocket (RFCOMM)<br />
strAddr = &#8220;00:12:EE:55:10:F2&#8243;<br />
x = s.connect ( ( strAddr , 2) ) # 2 is the channel. This might change from phone to phone.<br />
s.send(&#8221;AT\r\n&#8221;)<br />
print s.recv(1000)</p>
<p>you should get an &#8216;AT\r\nOK&#8217; back.</p>
<p>If your phone wants you to pair, and you don&#8217;t know the pin, you might need to dig through your bluez settings.<br />
On a shell only (no X) debian system, the standard pin tool bluez-pin won&#8217;t work (it requires GTK). I wrote a quick &#8220;echo PIN:1234&#8243; shell script and (after chmod +x) set that in /etc/bluetooth/hcid.conf as my pin_helper</p>
<p>Now to getting your messages<br />
Step 1<br />
Choose the appropriate phone memory (SIM or built in).<br />
The command in question is AT+CPMS=&#8221;ME&#8221; (don&#8217;t forget the newlines when sending!).</p>
<p>Step 2<br />
Ask for all SMS - AT+CMGL=4.</p>
<p>Step 3<br />
Get mad because your recv() returns without the phone having send all data.</p>
<p>Step 4Â <br />
Learn about <a title="Python documentation for select" href="http://docs.python.org/lib/module-select.html">select</a>(). Then define your own wrapper<br />
def readFromSock (s):<br />
Â Â Â  i = [s]<br />
Â Â Â  w = []<br />
Â Â Â  e = [s]<br />
Â Â Â  out = &#8221;<br />
Â Â Â  while True:<br />
Â Â Â Â Â Â Â  ir, wr, er = select.select(i,w,e,3)<br />
Â Â Â Â Â Â Â  if len(ir) == 0:<br />
Â Â Â Â Â Â Â Â Â Â  break<br />
Â Â Â Â Â Â Â  if len(er) > 0:<br />
Â Â Â Â Â Â Â Â Â Â Â  break<br />
Â Â Â Â Â Â Â  out += i[0].recv(1000)<br />
Â Â Â Â Â Â Â  if (out.find(&#8221;OK\r\n&#8221;) != -1):<br />
Â Â Â Â Â Â Â Â Â Â Â  return out<br />
Â Â Â  return out</p>
<p>Step 5<br />
Wonder at what gibberish you&#8217;re getting back.</p>
<p>No worries - the phone is dutifully returning all your SMS. Unfortunatly, they&#8217;re encoded in a format called PDU, defined in GSM 03.40 and GSM 03.38. Now there are some <a href="http://www.dreamfabric.com/sms/">examples for pdu decoding out there</a>. But still, it&#8217;s a headache ;-).</p>
<p><a href="http://www.koders.com">Koders.com</a>, an open sourceÂ code search engine,Â to the rescue:<br />
I found a basicÂ gpl&#8217;ed SMS decoder class written by a guy called Dominik Pytlewski.<br />
It worked for some SMS., but it failed on some others, particulary outgoing SMS.<br />
Attached you&#8217;ll find an improved version that seems to handle all my SMS ok. (out of sheer paranoia, I still store the PDU with every message, just in case of a decoding error).</p>
<p>Step 6<br />
Explode output on &#8220;CMGL: &#8220;, strip, seperate body and header (message id - you&#8217;ll need this later to delete a particular message), turn into SMS decoder objects. Save the message id along with the decoded SMS.</p>
<p>Step 7<br />
I split my messages into incoming and outgoing messages - but that&#8217;s just because the phone doesn&#8217;t provide a date for outgoing message, and I use a seperate deletion scheme for them.</p>
<p>Step 8<br />
Do some clever &#8216;have I seen this message before&#8217; caching (basically: Store last 1000 messages in PDU and use them as they keys for a dictionary. If has_key(), don&#8217;t bother mailing this message again)</p>
<p>Step 9<br />
Assemble messages into a mail text, use <a href="http://docs.python.org/lib/module-smtplib.html">smtplib</a>Â to mail them wherever you like. Look up numbers from the cell&#8217;s phone book (retrieve (lazy evaluation) via AT+CPBS=&#8221;ME&#8221; (memory) and AT+CPBR=1,255 (get phonebook). Then split and store in a dictionary. Finally, look the phone numbers up (beware - they might be stored with a 0, but you get the international (+xy) number . Or the other way around. Think up some heuristic.Â Personally, IÂ try both variants, then I remove theÂ first threeÂ characters and searchÂ for a string matchÂ ).</p>
<p>Step 10<br />
Decide which SMS you want to remove from the phone (I delete incoming SMS after seven days and keep only 10 sent SMS. But that&#8217;s a configuration option in the other attached file - blueMailSuck.py. Yeah, that&#8217;s what it does. It sucks SMS from your phone ;-).</p>
<p>Step 11<br />
For each SMS to remove, send a AT+CMGD=message_id.</p>
<p>Step 12<br />
Play a neat sound on the phone (AT+CRMP=5,0,1 for the alarm sound). I&#8217;d have displayed an image during the procedure, but apperantly the AT*EAPP command is broken and interprets only 4 letters of the text to pass in. Stupid if you *need* to specify a folder like images/whatever. (If you were playing the sound before another command, make sure to use socket.recv() instead of the select() version - otherwise your select will timeout and you&#8217;ll send the next command before the phone is ready).</p>
<p>I believe that&#8217;s pretty much it&#8230;<br />
Feedback of course is always welcome.</p>
<p>So long,<br />
Flo</p>
<p>Attached files:</p>
<ul>
<li><a onmousedown="selectLink(5);" id="p5" href="http://flofloflo.de/wp-content/uploads/2006/01/smsdecoder.py">smsdecoder.py</a></li>
<li><a id="p6" title="blueMailSuck.py" onclick="doPopup(6);return false;" href="http://flofloflo.de/?attachment_id=6" rel="attachment">blueMailSuck.py</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://flofloflo.de/?feed=rss2&amp;p=4</wfw:commentRss>
		</item>
		<item>
		<title>Valuable Research</title>
		<link>http://flofloflo.de/?p=3</link>
		<comments>http://flofloflo.de/?p=3#comments</comments>
		<pubDate>Mon, 02 Jan 2006 22:06:13 +0000</pubDate>
		<dc:creator>Flo</dc:creator>
		
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://flofloflo.de/?p=3</guid>
		<description><![CDATA[finding naked people apperantly is a valid research topic.
They not only got it published in the
Proceedings of the 4th European Conference on Computer Vision-Volume II in 1996,
no, they even got grant money for it!
]]></description>
			<content:encoded><![CDATA[<p><a href="http://citeseer.ist.psu.edu/rd/0%2C158773%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/4650/http:zSzzSzwww.cs.hmc.eduzSz~fleckzSznaked-people.pdf/fleck96finding.pdf">finding naked people</a> apperantly is a valid research topic.</p>
<p>They not only got it published in the<br />
Proceedings of the 4th European Conference on Computer Vision-Volume II in 1996,<br />
no, they even got grant money for it!</p>
]]></content:encoded>
			<wfw:commentRss>http://flofloflo.de/?feed=rss2&amp;p=3</wfw:commentRss>
		</item>
		<item>
		<title>Welcome</title>
		<link>http://flofloflo.de/?p=1</link>
		<comments>http://flofloflo.de/?p=1#comments</comments>
		<pubDate>Mon, 02 Jan 2006 06:40:43 +0000</pubDate>
		<dc:creator>Flo</dc:creator>
		
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">/?p=1</guid>
		<description><![CDATA[To Flo&#8217;s Blog.
You&#8217;re probably either here because I directed you here myself,
or because google thought I had a good article ;-).
So, exepect the usual&#8230; ramblings, tech, human interest, plain old weirdness.
Comments are on, but I&#8217;ll have to aprove your first comment.
]]></description>
			<content:encoded><![CDATA[<p>To Flo&#8217;s Blog.</p>
<p>You&#8217;re probably either here because I directed you here myself,<br />
or because google thought I had a good article ;-).</p>
<p>So, exepect the usual&#8230; ramblings, tech, human interest, plain old weirdness.</p>
<p>Comments are on, but I&#8217;ll have to aprove your first comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://flofloflo.de/?feed=rss2&amp;p=1</wfw:commentRss>
		</item>
		<item>
		<title>Credits / Contact / Impressum</title>
		<link>http://flofloflo.de/?p=2</link>
		<comments>http://flofloflo.de/?p=2#comments</comments>
		<pubDate>Sun, 01 Jan 2006 21:52:22 +0000</pubDate>
		<dc:creator>Flo</dc:creator>
		
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://flofloflo.de/?p=2</guid>
		<description><![CDATA[To contact me, simply leave a comment on one of my blog entries.
It will get to my inbox.
Â The logo image was created using
a photo of a butterfly Â© Michael Jastremski for openphoto.net which is under the CC:Attribution-ShareAlike licence
and another one - the ice cube/cherry creation - , gracefully provided to meÂ by my favourite Punk Rock [...]]]></description>
			<content:encoded><![CDATA[<p>To contact me, simply leave a comment on one of my blog entries.<br />
It will get to my inbox.</p>
<p>Â The logo image was created using</p>
<p>a photo of a butterfly Â© Michael Jastremski for <a href="http://openphoto.net">openphoto.net</a> which is under the CC:Attribution-ShareAlike licence<br />
and another one - the ice cube/cherry creation - , gracefully provided to meÂ by my favourite <a href="http://punkrockprincess.de">Punk Rock Princess Miri</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flofloflo.de/?feed=rss2&amp;p=2</wfw:commentRss>
		</item>
	</channel>
</rss>
