<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.f4k3.net/fake/index.php/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>fake's blog</title>
  <link>http://blog.f4k3.net/fake/index.php/</link>
  <atom:link href="http://blog.f4k3.net/fake/index.php/feed/rss2" rel="self" type="application/rss+xml"/>
  <description>everything fake</description>
  <language>en</language>
  <pubDate>Wed, 29 Jun 2011 16:51:30 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>PS3Eye GUID support for sysfs/udev</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2011/02/12/PS3Eye-GUID-support-for-sysfs/udev</link>
    <guid isPermaLink="false">urn:md5:fe449d376eb5f2c277b00d5ec41bc011</guid>
    <pubDate>Sat, 12 Feb 2011 04:09:00 +0100</pubDate>
    <dc:creator>fake</dc:creator>
        <category>code</category><category>linux</category><category>multitouch</category>    
    <description>    &lt;p&gt;You've got a twin- or quad-&lt;a href=&quot;http://en.wikipedia.org/wiki/PlayStation_Eye&quot;&gt;PS3 Eye&lt;/a&gt; setup for a multitouch solution? On linux? Then you probably noticed there is no way to uniquely identify the cameras for persistant device names, if you change usb ports you're out of luck.&lt;/p&gt;
&lt;p&gt;On windows, the CL-Eye SDK from &lt;a href=&quot;http://www.codelaboratories.com&quot;&gt;codelaboratories&lt;/a&gt;&amp;nbsp;has GUID support, which makes assigning the cameras in your code very reliable. On linux, the way to implement this would be udev rules.&lt;/p&gt;
&lt;p&gt;I wrote a patch to expose the GUID and hardware version attributes of the cameras in sysfs. This required adding 2 hooks to the gspca framework, and implementing them in the ov534 driver file - i have no idea about the side effects this causes for the other gspca drivers, i don't have any other device to test this with. Also, i have never used sysfs before, and i didn't really test the usb sound stuff after my modifications, but for my use case it works perfectly. Be warned: use at your own risk.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.f4k3.net/fake/public/ps3eye-guid-support_linux-2.6.35.patch&quot;&gt;Get the patch&lt;/a&gt; for kernel 2.6.35 - i use Ubuntu 10.10. Rough usage instructions, assuming you have your kernel source ready in /usr/src/linux&lt;/p&gt;
&lt;pre&gt;# patch -p1 &amp;lt; ~/ps3eye-guid-support_linux-2.6.35.patch
# make M=drivers/media/video/gspca
# cp drivers/media/video/gspca/*.ko /lib/modules/`uname -r`/kernel/drivers/media/video/gspca
# depmod -a
&lt;/pre&gt;
&lt;p&gt;Then plug in the cam. The hardware version should be printed in the dmesg output, and /sys/classes/video4linux/video0/guid should show you the GUID of the cam. This can be used in ATTR{guid} - udev rules like this:&lt;/p&gt;
&lt;pre&gt;SUBSYSTEM==&quot;video4linux&quot;, ACTION==&quot;add&quot;, DRIVERS==&quot;?*&quot;, ATTR{guid}==&quot;123456-ABCD-DCBA-AAAA-BBCCDDEEFFAA&quot;, NAME=&quot;cam1&quot;
&lt;/pre&gt;
&lt;p&gt;This should create a device called cam1 for this (and only this!) camera.&lt;/p&gt;
&lt;p&gt;Have fun!&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2011/02/12/PS3Eye-GUID-support-for-sysfs/udev#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2011/02/12/PS3Eye-GUID-support-for-sysfs/udev#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/59</wfw:commentRss>
      </item>
    
  <item>
    <title>OS X Snow Leopard, Bootcamp 3.0 and mounted Mac partitions</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2009/09/17/OS-X-Snow-Leopard%2C-Bootcamp-3.0-and-mounted-Mac-partitions</link>
    <guid isPermaLink="false">urn:md5:f597ad75f60c62b3deb57a235c087084</guid>
    <pubDate>Thu, 17 Sep 2009 17:09:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
            
    <description>    &lt;p&gt;In case you - like me - are unhappy about &lt;a href=&quot;http://www.apple.com/macosx/compatibility/&quot;&gt;bootcamp 3.0&lt;/a&gt;, shipped with &lt;a href=&quot;http://www.apple.com/macosx/&quot;&gt;mac os x 10.6 &quot;snow leopard&quot;&lt;/a&gt;, mounting your mac partitions read only in windows and assignig them drive letters, here's a heads up:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DO NOT TRY TO REMOVE THESE DRIVE LETTERS&lt;/strong&gt; using the &quot;Computer Management -&amp;gt; Disk Management -&amp;gt; Remove drive letter&quot; way.&lt;/p&gt;
&lt;p&gt;Windows re-sets the partition's type if you choose this option, and the EFI Bios of your mac will no longer regard the partitions as bootable. Even if you re-add drive letters, the partition type will still be MSDATA. Yes, windows really sucks big time.&lt;/p&gt;
&lt;p&gt;having tried quite a few tricks, i have to say: it's not easy to get out of this trap. Simply changing back the partition type is not the way to go, as the GUID partition table is way more complex than i thought.&lt;/p&gt;
&lt;p&gt;You will have to dump the partition contents using &lt;a href=&quot;http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/dd.1.html&quot;&gt;dd&lt;/a&gt; into partitions with a correct GPT, while being extremely careful about the /dev/disk assignments - these change from boot to boot! Another tip: The &quot;dd&quot; shipped on the OS X boot cd is horribly slow (and the dvd drive keeps spinning all the time), it ran at about 17MB/s for me. Take the time to install &lt;a href=&quot;http://refit.sourceforge.net/&quot;&gt;rEFIt&lt;/a&gt; using the rescue system, and boot an &lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;ubuntu&lt;/a&gt; livecd. The dd in ubuntu ran at 95MB/s. Saves you a few hours.&lt;/p&gt;
&lt;p&gt;If you need assistance, please comment on this entry, i will try to help you - but be warned: this procedure requires console-fu.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2009/09/17/OS-X-Snow-Leopard%2C-Bootcamp-3.0-and-mounted-Mac-partitions#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2009/09/17/OS-X-Snow-Leopard%2C-Bootcamp-3.0-and-mounted-Mac-partitions#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/58</wfw:commentRss>
      </item>
    
  <item>
    <title>openfire 3.6 and lotus domino/notes ldap</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2009/08/31/openfire-3.6-and-lotus-domino/notes-ldap</link>
    <guid isPermaLink="false">urn:md5:79f3f2bfa181737201bc4fac22a2fc67</guid>
    <pubDate>Mon, 31 Aug 2009 15:03:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>code</category><category>linux</category>    
    <description>    &lt;p&gt;i just found the time to finally get the 3.6.4 &lt;a href=&quot;http://www.igniterealtime.org/projects/openfire/index.jsp&quot; hreflang=&quot;en&quot;&gt;openfire&lt;/a&gt; working with my company's notes ldap server again. &lt;a href=&quot;http://f4k3.net/~fake/notes-ldap-support-36.patch&quot;&gt;here is the new patch&lt;/a&gt;&amp;nbsp;to the sources, it's a -p1 (when in the untared openfire_src dir) unified diff.&lt;/p&gt;
&lt;p&gt;one hunk of &lt;a href=&quot;http://www.igniterealtime.org/community/message/167276&quot;&gt;my old patch&lt;/a&gt; was merged it seems (though no one even commented on that post, hence the blog post this time), but additional fixing was necessary so the setup tool does disable DN enclosing by default, which breaks authentication in the case of lotus notes. the no-base-dn fix (which is in fact a workaround for the broken notes ldap, but i stopped argueing a while ago) is also updated.&lt;/p&gt;
&lt;p&gt;after installation and setup, if your admin users were found and added but you're still unable to log in, you will need to set the following properties, either in your sql database or in the embedded database script file while openfire is stopped:&lt;/p&gt;
&lt;pre&gt;ldap.encloseDNs = false
ldap.encloseGroupDN = false
ldap.encloseUserDN = false
&lt;/pre&gt;&lt;p&gt;That way, the DN enclosing will also be switched off after installation. Start up openfire and you're good to go.&lt;/p&gt;
&lt;p&gt;Another property of interest for lotus domino ldap users is &quot;ldap.override.avatar&quot;, it will enable the display and transmission of user icons. yay... technology just can't be stopped ;-)&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2009/08/31/openfire-3.6-and-lotus-domino/notes-ldap#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2009/08/31/openfire-3.6-and-lotus-domino/notes-ldap#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/57</wfw:commentRss>
      </item>
    
  <item>
    <title>multitouch table first test run</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2009/08/16/multitouch-table-first-test-run</link>
    <guid isPermaLink="false">urn:md5:d3b94d019598334f11d2a68cf4491d3c</guid>
    <pubDate>Sun, 16 Aug 2009 20:27:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>multitouch</category>    
    <description>    &lt;p&gt;yesterday we did a first test run of the &lt;a href=&quot;http://bytewerk.org&quot; hreflang=&quot;de&quot;&gt;bytewerk.org&lt;/a&gt;&amp;nbsp;ftir multitouch table, see for yourself:&lt;/p&gt;
&lt;object data=&quot;http://www.youtube-nocookie.com/v/hrHCW2slOP0&amp;amp;hl=de&amp;amp;fs=1&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;
&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube-nocookie.com/v/hrHCW2slOP0&amp;amp;hl=de&amp;amp;fs=1&amp;amp;rel=0&quot; /&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;/object&gt;
&lt;br /&gt;</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2009/08/16/multitouch-table-first-test-run#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2009/08/16/multitouch-table-first-test-run#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/56</wfw:commentRss>
      </item>
    
  <item>
    <title>Server-side caching php twitter widget</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2009/07/29/Server-side-caching-php-twitter-widget</link>
    <guid isPermaLink="false">urn:md5:baeed67f744d5d738b39e3212f5094a9</guid>
    <pubDate>Wed, 29 Jul 2009 17:50:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
            
    <description>    &lt;p&gt;i was looking for a server-side twitter widget displaying a few tweets for the &lt;a href=&quot;http://www.nachtwerk-online.de&quot; hreflang=&quot;de&quot;&gt;nachtwerk-online.de&lt;/a&gt; page, and i did not find an out-of-the-box solution. the twitter widget on my blog is a javascript client-side thingy. having some php experience i hacked this up (note you need the code below too, for the &quot;niceTimeDiff&quot;-method):&lt;/p&gt;
&lt;pre style=&quot;color:#000000;background:#ffffff;&quot;&gt;&lt;span style=&quot;color:#a65700; background:#ffffe8; &quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span style=&quot;color:#696969; background:#ffffe8; &quot;&gt;// load the tweets&lt;/span&gt;
&lt;span style=&quot;color:#696969; background:#ffffe8; &quot;&gt;// uses a cache to easen on the twitter server.&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$twitter_cache_file&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;'/path/to/some/writable/file/twitter_cache.xml'&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$mtime&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt; null&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;file_exists&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$twitter_cache_file&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;{&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$mtime&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;filemtime&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$twitter_cache_file&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$mtime&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt; null &lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$mtime&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#696969; background:#ffffe8; &quot;&gt;// 9 minutes or older?&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$url&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;sprintf&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot;http://twitter.com/statuses/user_timeline/%s.xml?count=%d&quot;&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot;Nachtwerk_IN&quot;&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color:#696969; background:#ffffe8; &quot;&gt;// load 5 tweets&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$content&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;@&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;file_get_contents&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$url&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;strlen&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$content&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;{&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$cache_static&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;fopen&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$twitter_cache_file&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;'wb'&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;fwrite&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$cache_static&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$content&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;fclose&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$cache_static&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$tcontent&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;@&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;file_get_contents&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$twitter_cache_file&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$all_tweets&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;strlen&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$tcontent&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;{&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$parsed&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt; SimpleXMLElement&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$tcontent&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;foreach&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$parsed&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;as&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$status&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;{&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$message&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;preg_replace&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; &quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;http:&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;?&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;^&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; &quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\\&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;0'&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$status&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$message&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#bb7977; background:#ffffe8; font-weight:bold; &quot;&gt;ereg_replace&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[:&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;alpha&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;:]&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;://&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;^&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[:&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;space&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;:]&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[:&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;alnum&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;:]&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot;&amp;lt;a href=&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\&quot;&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\\&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\&quot;&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt; rel=&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\&quot;&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;nofollow&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\&quot;&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#0f69ff; background:#ffffe8; &quot;&gt;\\&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;0&amp;lt;/a&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$message&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$tweet&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$tweet&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;'timeDiff'&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt; niceTimeDiff&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$status&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;created_at&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$tweet&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;'message'&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$message&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$all_tweets&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$tweet&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color:#a65700; background:#ffffe8; &quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Of course you will want to replace &quot;Nachtwerk_IN&quot; by your twitter id, and the 5 after it by the nr. of tweets you want to load. The file pointed to by $twitter_cache_file needs to be writable.&lt;/p&gt;
&lt;p&gt;urls will be links. the method &quot;niceTimeDiff&quot; is written like this:&lt;/p&gt;
&lt;pre style=&quot;color:#000000;background:#ffffff;&quot;&gt;&lt;span style=&quot;color:#a65700; background:#ffffe8; &quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt; niceTimeDiff&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$ref_date&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;{&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$now&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;mktime&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$other&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;strtotime&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$ref_date&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$diffmsecs&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$now&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$other&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$days&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$diffmsecs&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;24&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$hours&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$diffmsecs&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$minutes&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$diffmsecs&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$secs&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$diffmsecs&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$ret&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$days&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$ret&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;round&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$days&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot; days&quot;&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$hours&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$ret&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;round&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$hours&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot; hours&quot;&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$minutes&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$ret&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;round&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$minutes&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot; minutes&quot;&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$secs&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#008c00; background:#ffffe8; &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$ret&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#400000; background:#ffffe8; &quot;&gt;round&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$secs&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot; seconds&quot;&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#800000; background:#ffffe8; font-weight:bold; &quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color:#000000; background:#ffffe8; &quot;&gt;$ret&lt;/span&gt;&lt;span style=&quot;color:#808030; background:#ffffe8; &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#0000e6; background:#ffffe8; &quot;&gt;&quot; ago&quot;&lt;/span&gt;&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color:#800080; background:#ffffe8; &quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color:#a65700; background:#ffffe8; &quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Using this code, you will end up with an array called $all_tweets, containing assoziative arrays with 'message' and 'timeDiff' keys. Twitter will be checked every 9 minutes tops.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2009/07/29/Server-side-caching-php-twitter-widget#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2009/07/29/Server-side-caching-php-twitter-widget#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/55</wfw:commentRss>
      </item>
    
  <item>
    <title>Wenn einer eine Demo macht...</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2009/06/07/Wenn-einer-eine-Demo-macht...</link>
    <guid isPermaLink="false">urn:md5:eaaa24225c6736010e2b820bca367b97</guid>
    <pubDate>Sun, 07 Jun 2009 16:23:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>politics</category>    
    <description>    ... dann kann er was lernen.
&lt;br /&gt;&lt;br /&gt;
Vor gut einem Jahr haben Sanni und ich die &lt;a href=&quot;http://wiki.vorratsdatenspeicherung.de/Freiheit_statt_Angst_2008/Ingolstadt&quot; hreflang=&quot;de&quot;&gt;Demo gegen die Vorratsdatenspeicherung in Ingolstadt&lt;/a&gt; organisiert. Dabei haben wir ein paar Fehler gemacht:
&lt;br /&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;
&lt;strong&gt;Gegen die Sonne laufen, nicht mit der Sonne&lt;/strong&gt;&lt;br /&gt;
Mehrere Fotografen haben uns im Anschluss an die Demo darauf hingewiesen, dass das bei Demos so üblich ist &lt;a href=&quot;http://f4k3.net/~fake/demo-3105-ingolstadt/Pages/Paradeplatz_3.html&quot; hreflang=&quot;de&quot;&gt;wegen der Fotos&lt;/a&gt;. Macht auch total Sinn, und es is eigentlich meist egal ob man von A nach B oder von B nach A läuft...
&lt;/li&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;
&lt;strong&gt;Megaphone, etc&lt;/strong&gt;&lt;br /&gt;
Da wir beide keine großen Freunde lauten Krachs sind, haben wir schon bei der Anmeldung gesagt, dass wir keine Megaphone, etc einsetzen wollen. Das ist schlecht - bei einer Demo geht es darum, Aufmerksamkeit auf das Thema zu lenken, für das demonstriert wird. Da muss es laut zugehen! Pfeifen, Ratschen, Megaphone... Hauptsache laut! Solche Demos sind eh so schnell wieder vorbei, dass es keinen wirklich &quot;nervt&quot;.
&lt;/li&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;
&lt;strong&gt;Leute einstimmen&lt;/strong&gt;&lt;br /&gt;
Ebenso wichtig ist es, die Mitziehenden zum Skandieren zu animieren.&amp;nbsp;Überlegt&amp;nbsp;euch vorher einige gute&amp;nbsp;Sprüche, und probt sie in der Gruppe auf&amp;nbsp;Rhythmus&amp;nbsp;und&amp;nbsp;Verständlichkeit. Dann am besten vor dem Abmarsch der Demo mit der Menge einmal durchprobieren. Es gibt nix Blöderes, als einen schweigenden Trauermarsch. Plant Abwechslung ein, und probt das auch mal in &quot;Echtzeit&quot; - reichen die&amp;nbsp;Sprüche? Werden sie fad? Sagt ihr immer wieder das Gleiche?
&lt;/li&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;
&lt;strong&gt;Plakate + Transparente lange vorher vorbereiten&lt;/strong&gt;&lt;br /&gt;
Wir hatten für die Planung und Umsetzung der gesamten Sache nur 2 Wochen Zeit. Die Plakate haben wir 2 Tage vor Ende gemalt, und einen Tag vor Ende erst geklebt (weil wir da erst die&amp;nbsp;Plakatständer&amp;nbsp;bekommen hatten). &lt;br /&gt;
&lt;br /&gt;
Auch die Transparente entstanden am Vorabend. Das ist schlecht. Transparente sollten genau wie Plakate gut aussehen - und nicht nach einer 68er-Studentenspontandemo (wobei, klar, das is cool, spricht aber viele Leute falsch an). Macht die Transparente ruhig Wochen vorher - und macht viele. Die Erfahrung zeigt, dass niemand sowas mitnimmt zu einer Demo, der nicht schon in einer Gruppe organisiert ist.  Schneidet euch Schablonen bloß net aus labbrigem Papier, sondern aus dickerem Karton. Einmal&amp;nbsp;schöne&amp;nbsp;Schablonen geschnitten, gehen viele Transparente ratzfatz.&lt;br /&gt;
&lt;br /&gt;
Für die Plakate hatten wir Vordrucke vom AK Vorrat, wo unten Platz war für die spezielle Demo. Bei den A3-Dingern konnte man das noch schön draufdrucken, aber bei den Riesenteilen für&amp;nbsp;Plakatständer&amp;nbsp;ging das dann nicht mehr - also: Eine Version mit schönen TZ-Schablonen vorgezeichnet, unteren Teil abkopiert, von unten an einen Glastisch gepappt und dann durchgepaust. So sieht es zumindest noch &lt;a href=&quot;http://f4k3.net/~fake/demo-3105-ingolstadt/Pages/Infostand_Abends_6.html&quot; hreflang=&quot;de&quot;&gt;einigermaßen brauchbar&lt;/a&gt; aus.&lt;br /&gt;&lt;br /&gt;Auch wichtig: Beim Kleistern der Plakate, die PLAKATE mit Kleister bestreichen, NICHT die Plakatständer! Sonst wellen sich die Dinger so auf...&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;&lt;strong&gt;Verstärker? Strom!&lt;/strong&gt;&lt;br /&gt;
Wenn ihr für irgendwelche Reden einen&amp;nbsp;Verstärker&amp;nbsp;braucht, denkt daran, die Anwohner *vor* der Demo zu fragen, ob ihr euch irgendwo&amp;nbsp;einstöpseln&amp;nbsp;dürft. Wir hatten das erst am Vormittag gemacht, und von einigen Ladenbesitzern gut eine vor die Nase bekommen von wegen &quot;na, sowas mach ma ned&quot;.&amp;nbsp;Glücklicherweise&amp;nbsp;haben wir dann den&amp;nbsp;äußerst&amp;nbsp;freundlichen amerikanischen Uhrmacher in Ingolstadt kennengelernt, dem es die reinste Freude war, uns Strom zur&amp;nbsp;Verfügung&amp;nbsp;zu stellen (und der auch mitmarschiert ist). Danke!&lt;/li&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;&lt;strong&gt;Was passiert an dem Tag noch?&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; &quot;&gt;Gut, bei uns war der Tag fest vorgegeben, aber wir&amp;nbsp;wären&amp;nbsp;voll reingerannt: Es war ein gaaanz wichtiges lokales Fußballturnier, da wollten&amp;nbsp;natürlich&amp;nbsp;alle hin. Sowas weiß ja kein normaler Geek ;-) Also: vorher ein bisschen rumfragen und auf lokalen Webseiten checken, was an welchem geplanten&amp;nbsp;möglichen&amp;nbsp;Tag los ist.&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
Weiters gab es ein paar Themen, wo wir das&amp;nbsp;Gefühl&amp;nbsp;hatten, dass wir es gut gemacht haben:
&lt;ul&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;
&lt;strong&gt;Anmeldung, Kooperation mit der Exekutive&lt;/strong&gt;&lt;br /&gt;
Der erste Schritt bei der Planung einer Demo sollte die Anmeldung beim Ordnungsamt sein. Sie&amp;nbsp;können&amp;nbsp;euch eine Demo nicht verbieten oder so, und in unserem Fall waren sie sogar sehr hilfreich und freundlich. Seid kompromissbereit - aber nicht zu sehr. Ihr wollt Aufmerksamkeit, die kriegt ihr nicht, wenn ihr in Vorort XYZ von der Ampel bis zum Zebrastreifen lauft. Und ganz wichtig: Besucht das Amt&amp;nbsp;persönlich!&lt;br /&gt;
&lt;br /&gt;
Die lassen euch einen Zettel&amp;nbsp;ausfüllen, auf Grund dessen sich dann in den&amp;nbsp;nächsten&amp;nbsp;Tagen jemand von der Polizei (Nummer:&amp;nbsp;unterdrückt&amp;nbsp;*g*) bei der eingetragenen Kontaktperson meldet. Seid ehrlich und realistisch, was eure erwarteten Besucherzahlen angeht, dann ist das eigentlich kein Problem. In unserem Fall war der Beamte sogar sehr nett und scherzte &quot;eigentlich&amp;nbsp;wäre&amp;nbsp;er ja für mehr&amp;nbsp;Überwachung, aber jeder soll ja seine Meinung vertreten&amp;nbsp;dürfen&quot; ;-)
&lt;/li&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;
&lt;strong&gt;Infostand&lt;/strong&gt;&lt;br /&gt;
Das gilt insbesondere für Demos, bei denen die Aufschriften auf den Transparenten die meisten&amp;nbsp;Bürger&amp;nbsp;eher verwirren (Meine Daten&amp;nbsp;gehören&amp;nbsp;mir? Ja, eh, nicht? Oder wie?) oder allgemein komplexerer Natur sind. Macht einen &lt;a href=&quot;http://f4k3.net/~fake/demo-3105-ingolstadt/Pages/Infostand_Abends_2.html&quot; hreflang=&quot;de&quot;&gt;Infostand&lt;/a&gt;, der vor,&amp;nbsp;während&amp;nbsp;und nach der Demo besetzt bleibt. So&amp;nbsp;können&amp;nbsp;Passanten, die den Zug&amp;nbsp;zufällig&amp;nbsp;sehen, sich&amp;nbsp;nachher Informieren, worum es da ging - ohne einen von diesen &quot;Anarchisten&quot; ansprechen zu&amp;nbsp;müssen&amp;nbsp;;-)
&lt;/li&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;
&lt;strong&gt;Pressearbeit&lt;/strong&gt;&lt;br /&gt;Schreibt eigene Pressemitteilungen (wir sind mit 2 Wochen vorher, &lt;a href=&quot;http://wiki.vorratsdatenspeicherung.de/Freiheit_statt_Angst_2008/Ingolstadt/PM&quot; hreflang=&quot;de&quot;&gt;2 Tagen vorher&lt;/a&gt; und einem &lt;a href=&quot;http://wiki.vorratsdatenspeicherung.de/Freiheit_statt_Angst_2008/Ingolstadt/PM_Berichterstattung&quot; hreflang=&quot;de&quot;&gt;Nachbericht&lt;/a&gt; gut gefahren) und schickt sie vor allem auch an regionale Zeitung/Radio/Fernsehen. Ruft dort an, wenn keine Rückmeldung kommt und fragt nach Veröffentlichung. Wir haben den &lt;a href=&quot;http://www.donaukurier.de/&quot; hreflang=&quot;de&quot;&gt;Donaukurier&lt;/a&gt; direkt nach Unterstützung gefragt und haben offene Türen eingerannt. Dank der &lt;a href=&quot;http://www.donaukurier.de/lokales/ingolstadt/wochennl222008-Buerger-wehren-sich;art599,1884373&quot; hreflang=&quot;de&quot;&gt;Ankündigung&lt;/a&gt;&amp;nbsp;(plus &lt;a href=&quot;http://www.donaukurier.de/lokales/kurzmeldungen/ingolstadt/Am-Samstag-Aktionstag-gegen-Beschneidung-der-Grundrechte-in-der-Innenstadt-Donaukurier-beteiligt-sich;art74355,1884201&quot; hreflang=&quot;de&quot;&gt;Kurzmeldung&lt;/a&gt;) in der Zeitung (DK ist super!)&amp;nbsp;wurde auch bei Radio IN halbstündig ein Hinweis gesendet. Und durch INTV haben wir ein &lt;a href=&quot;http://www.vorratsdatenspeicherung.de/content/view/233/135/lang,de/&quot; hreflang=&quot;de&quot;&gt;schönes Video mit Eindrücken der Demo&lt;/a&gt; bekommen. Der DK druckte dann tags drauf &lt;a href=&quot;http://www.donaukurier.de/lokales/ingolstadt/wochennl232008-Buerger-demonstrieren-fuer-ihre-Freiheit;art599,1885585&quot; hreflang=&quot;de&quot;&gt;einen sehr guten Bericht&lt;/a&gt; (das mit dem &quot;Hammer&quot; ignorieren wir mal *g*).&lt;/li&gt;
&lt;li style=&quot;padding-bottom: 10px&quot;&gt;
&lt;strong&gt;Parteien ins Boot holen&lt;/strong&gt;&lt;br /&gt;
Sprecht *alle* Parteien an - auch die, von denen ihr glaubt zu wissen, dass sie gegen euch sind. Wenn sie auf Emails nicht reagieren, ist auch ein kurzer Anruf sinnvoll. Lasst entweder alle oder keine Parteivertreter eine kurze Begrüßungsrede halten. Wir hatten gar nicht an Reden gedacht und wurden am Abend vorher erst danach gefragt. Etwas kurzfristig natürlich, um das noch mit allen Parteien zu klären. Thomas Thöne von der SPD war dann fast schon&amp;nbsp;empört, dass er nicht gefragt wurde, und kam&amp;nbsp;während&amp;nbsp;der&amp;nbsp;Begrüßungsreden&amp;nbsp;auf mich zu, weil er auch was sagen wollte... (Wir hatten ihn eigentlich schon angeschrieben, irgendwie muss die Mail verloren gegangen sein). Sorry an der Stelle auch nochmal an Andreas Popp von den Piraten!&lt;br /&gt;
&lt;br /&gt;
Alle Parteien, die teilnahmen, waren sehr hilfsbereit und engagiert, dennoch muss ich &lt;a href=&quot;http://www.gruene-ingolstadt.de/&quot; hreflang=&quot;de&quot;&gt;die&amp;nbsp;Grünen&lt;/a&gt;&amp;nbsp;besonders hervorheben. Von ihnen bekamen wir kurzfristig,&amp;nbsp;unbürokratisch&amp;nbsp;und ohne großen Hickhack eine ganze Menge&amp;nbsp;Plakatständer&amp;nbsp;(ja, irgendwoher muss man die Dinger nehmen!) und die&amp;nbsp;Verstärker/Mikrogeschichte&amp;nbsp;für die&amp;nbsp;Begrüßung. Außerdem haben sie das auch mit dem Ordnungsamt gedeichselt, dass wir die Plakate noch aufstellen durften (das kostet nochmal eine Kleinigkeit) - an dieser Stelle nochmals Danke!!
&lt;/li&gt;
&lt;/ul&gt;
Ich&amp;nbsp;hätte&amp;nbsp;mir so eine Liste&amp;nbsp;gewünscht, als es in die Planung ging. Vielleicht hilft's ja jemandem ...&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Danke nochmal an alle unsere Freunde und Mitstreiter, die uns so wundervoll unterstützt haben und bis in die Nacht Plakate gemalt und Transparente gesprüht haben. Ihr seid Klasse!&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2009/06/07/Wenn-einer-eine-Demo-macht...#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2009/06/07/Wenn-einer-eine-Demo-macht...#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/54</wfw:commentRss>
      </item>
    
  <item>
    <title>72 Stunden Countdown für #Zensursula - ePetition</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2009/05/24/72-Stunden-Countdown-f%C3%BCr-Zensursula-ePetition</link>
    <guid isPermaLink="false">urn:md5:88e7a5ab497972a519cd8c2fbbac0f4c</guid>
    <pubDate>Sun, 24 May 2009 23:09:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>politics</category>    
    <description>    &lt;div style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;&lt;em&gt;the following blog post is german, because once again it covers a german politics topic. please ask me to translate it by commenting or use the google translator if you need to know ;-)&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;am mittwoch findet vormittags eine &lt;a href=&quot;http://www.bundestag.de/aktuell/archiv/2009/24487981_kw22_wirtschaft/&quot; hreflang=&quot;de&quot;&gt;oeffentliche anhoerung zu den internet-sperren&lt;/a&gt; statt.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ziel der &lt;a href=&quot;http://netzpolitik.org/2009/72-stunden-countdown-fuer-zensursula-epetition/&quot; hreflang=&quot;de&quot;&gt;aktion von netzpolitik.org&lt;/a&gt; ist es, bis dahin die 100.000er-grenze bei den &lt;a href=&quot;http://twitter.com/Mitzeichner&quot; hreflang=&quot;de&quot;&gt;mitzeichnern&lt;/a&gt; als argumentationsgrundlage und deutliches signal mindestens zu knacken. daher moechte ich euch auch ermutigen, noch einmal alle leute in eurem bekanntenkreis zu nerven, ob sie schon mitgezeichnet haben, und die thematik gegebenenfalls zu erklaeren, damit sie sich eine meinung bilden koennen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;es gibt da &lt;a href=&quot;http://blog.f4k3.net/fake/index.php/post/2009/05/24/ http://www.heise.de/ct-tv/Video-Nach-der-Kritik-folgen-die-Warnungen--/video/2009/05/09/webcast/pruefstand/137373&quot; hreflang=&quot;de&quot;&gt;ein nettes video von c't-tv&lt;/a&gt;, das ich schamlos von &lt;a href=&quot;http://matthias.mahrhofer.in/blog/&quot; hreflang=&quot;de&quot;&gt;brians blog&lt;/a&gt; entwendet habe, und die thematik sehr fein zusammenfasst.&lt;/div&gt;&lt;/div&gt;</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2009/05/24/72-Stunden-Countdown-f%C3%BCr-Zensursula-ePetition#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2009/05/24/72-Stunden-Countdown-f%C3%BCr-Zensursula-ePetition#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/53</wfw:commentRss>
      </item>
    
  <item>
    <title>one-liner for changing file endings</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2009/05/10/one-liner-for-renaming-files</link>
    <guid isPermaLink="false">urn:md5:21bc2ef7b0d55be727b1c7db86073744</guid>
    <pubDate>Sun, 10 May 2009 19:13:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>code</category><category>linux</category><category>osx</category>    
    <description>    i have not been blogging for quite some time, i noticed when replacing the blog software; so now i keep constantly thinking about what i may blog, so a little more density in the posts evolves ;-)&lt;br /&gt;
&lt;br /&gt;
here's today's note; i just needed it and figured someone might say &quot;aaw! that's useful&quot; - a one-liner to use in bash for changing the extension of given files in a directory. bash is the shell that is by default installed in mac os x, and opens when you start the &quot;Terminal&quot; application. It is also the default in almost all linux distributions.&lt;br /&gt;
&lt;br /&gt;
in this example, i rename all .mp4 files to .m4v (thanks, ps3...). adapt as needed.&lt;br /&gt;
&lt;pre&gt;for i in *.mp4 ; do mv &quot;$i&quot; &quot;${i%%mp4}m4v&quot; ; done
&lt;/pre&gt;
the %% operator strips the string following it from the end of the variable's content. the ## operator does the same, but at the beginning of the string.</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2009/05/10/one-liner-for-renaming-files#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2009/05/10/one-liner-for-renaming-files#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/52</wfw:commentRss>
      </item>
    
  <item>
    <title>Graphing Desktop Backgrounds</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2009/05/06/Graphing-Desktop-Backgrounds</link>
    <guid isPermaLink="false">urn:md5:52a85b09c266958aded264f7fc3a40b6</guid>
    <pubDate>Wed, 06 May 2009 21:53:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
            
    <description>    Math, me bored, wildly typing whatever the guy upfront is talking about into Grapher.app, and oh, look, my new desktop background ;-)&lt;br/&gt;
&lt;br/&gt;
the formula is sin^2(x), scaled up and down a bit.&lt;br/&gt;
&lt;br/&gt;
&lt;img src=&quot;http://blog.f4k3.net/fake/public/sinsquarex_tn.png&quot; alt=&quot;sinsquarex_tn.png&quot; border=&quot;0&quot; width=&quot;400&quot; height=&quot;257&quot; /&gt;&lt;/a&gt; 
&lt;br/&gt;
&lt;a href=&quot;http://blog.f4k3.net/fake/public/sinsquarex.png&quot;&gt;PNG Bitmap Version&lt;/a&gt; | 
&lt;a href=&quot;http://blog.f4k3.net/fake/public/sinsquarex.pdf&quot;&gt;PDF Vector Graphic&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
got any better stuff i can still understand the math behind? ;-)</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2009/05/06/Graphing-Desktop-Backgrounds#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2009/05/06/Graphing-Desktop-Backgrounds#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/51</wfw:commentRss>
      </item>
    
  <item>
    <title>GPIO to I2C on a Soekris net4801</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/11/20/GPIO-to-I2C-on-a-Soekris-net4801</link>
    <guid isPermaLink="false">urn:md5:3ff8da83706def116bcd7de882a17b79</guid>
    <pubDate>Thu, 20 Nov 2008 21:22:00 +0100</pubDate>
    <dc:creator>fake</dc:creator>
        <category>code</category><category>embedded</category><category>linux</category>    
    <description>    &lt;div style=&quot;float: left; margin: 10px 10px 10px 10px;&quot;&gt;&lt;a href=&quot;http://blog.f4k3.net/fake/resource/rp6-soekris.jpg&quot;&gt;&lt;img src=&quot;http://blog.f4k3.net/fake/resource/rp6-soekris.jpg&quot; width=&quot;200&quot; height=&quot;160&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I recently started playing around with robots from &lt;a href=&quot;http://www.arexx.com/&quot; target=&quot;_new&quot;&gt;arexx&lt;/a&gt; - a friend introduced me to the &lt;a href=&quot;http://www.arexx.com/arexx.php?cmd=goto&amp;amp;cparam=p_asuro&quot; target=&quot;_new&quot;&gt;asuro&lt;/a&gt;, and - impressed by the steep learning curve - i got myself an &lt;a href=&quot;http://www.arexx.com/rp6/&quot; target=&quot;_new&quot;&gt;RP6&lt;/a&gt;.
&lt;br /&gt;&lt;br /&gt;
having toyed around with it, i remembered i had an old &lt;a href=&quot;http://www.soekris.com/&quot; target=&quot;_new&quot;&gt;soekris&lt;/a&gt; &lt;a href=&quot;http://www.soekris.com/net4801.htm&quot; target=&quot;_new&quot;&gt;net4801&lt;/a&gt; lying around... which, unfortunately, does not have i2c ports pinned out - but it has &lt;a href=&quot;http://www.soekris.com/manuals/net4801_manual.pdf&quot; target=&quot;_new&quot;&gt;12 GPIO pins &lt;/a&gt;... i quickly found i2c-gpio in the linux kernel, but that uses the arch-independent gpio layer called gpiolib. the soekris pc8736x gpio driver does not support this layer :(
&lt;br /&gt;&lt;br /&gt;
i'm by far not a kernel developer, but i managed to insert a small wrapping layer that seems to work. it basically registers the pc8736x as generic gpio chip, additionally to the character device(s).
&lt;br /&gt;&lt;br /&gt;
i repeat: i am not a kernel developer. this is a hack so ugly it will most likely not work for you. if you have a soekris net4801 (no, a &lt;a href=&quot;http://www.soekris.com/net4501.htm&quot; target=&quot;_new&quot;&gt;net4501&lt;/a&gt; will not work! it has &lt;a href=&quot;http://www.soekris.com/manuals/net4501_manual.pdf&quot; target=&quot;_new&quot;&gt;lesser gpio pins&lt;/a&gt;! go count!) your chances are indefinitely higher it may work, but i don't guarantee anything. also, even the most basic cleanup code is missing - i am not removing the gpio chip on unload, i just dont' care for now.
&lt;br /&gt;&lt;br /&gt;
included in the patch below is a i2c-gpio-generic module i found in the &lt;a href=&quot;http://openwrt.org/&quot; target=&quot;_new&quot;&gt;openwrt&lt;/a&gt; &lt;a href=&quot;https://dev.openwrt.org/browser/trunk/package/i2c-gpio-custom/&quot; target=&quot;_new&quot;&gt;subversion&lt;/a&gt; by pure coincidence, it works very well. i just patched it so it hardcodes sda and scl to open drain, which is the default on the soekris.
&lt;br /&gt;&lt;br /&gt;
to get i2c up and running on the gpio pins 0 and 1 (jp5 pins 3 and 4 on the connector!) with 0 being sda and 1 being scl,  you have to
&lt;br /&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;modprobe pc8736x_gpio&lt;/li&gt;
&lt;li&gt;read dmesg and note the assigned lowest pin nr (244 for me)&lt;/li&gt;
&lt;li&gt;modprobe i2c-generic-custom bus0=245,244,245 (the latter two being the number from above 1st, and 1 added to it 2nd. the first nr. is the i2c bus id. choose it to your liking.)&lt;/li&gt;
&lt;li&gt;modprobe i2c-dev&lt;/li&gt;
&lt;/ul&gt;
that should enable you to run i2cdetect on the newly appeared bus.
&lt;br /&gt;&lt;br /&gt;
a little warning: i wouldn't mess around with the character device while using this, especially not for the pins in use for i2c. you have been warned.
&lt;br /&gt;&lt;br /&gt;
i also wrote &lt;a href=&quot;http://blog.f4k3.net/fake/resource/_test-i2c.c&quot;&gt;a small test program&lt;/a&gt; that reads out the current light sensor value (left) of the rp6 running the IC2_Slave example program that it has been shipped with.
&lt;br /&gt;&lt;br /&gt;
also, the *actual* pinout-to-minor-device-nr for the gpio character device might be of interest here: &lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;float: right; margin: 10px 10px 10px 10px;&quot;&gt;&lt;a href=&quot;http://blog.f4k3.net/fake/resource/soekris-rp6-2.jpg&quot;&gt;&lt;img src=&quot;http://blog.f4k3.net/fake/resource/soekris-rp6-2.jpg&quot; width=&quot;200&quot; height=&quot;240&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Soekris&lt;/th&gt;&lt;th&gt;PC8736x&lt;/th&gt;&lt;th&gt;Minor Device #&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 0&lt;/td&gt;&lt;td&gt;GPIO 20, 117&lt;/td&gt;&lt;td&gt;16&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 1&lt;/td&gt;&lt;td&gt;GPIO 21, 118&lt;/td&gt;&lt;td&gt;17&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 2&lt;/td&gt;&lt;td&gt;GPIO 22, 119&lt;/td&gt;&lt;td&gt;18&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 3&lt;/td&gt;&lt;td&gt;GPIO 23, 120&lt;/td&gt;&lt;td&gt;19&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 4&lt;/td&gt;&lt;td&gt;GPIO 24, 121&lt;/td&gt;&lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 5&lt;/td&gt;&lt;td&gt;GPIO 24, 122&lt;/td&gt;&lt;td&gt;21&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 6&lt;/td&gt;&lt;td&gt;GPIO 26, 123&lt;/td&gt;&lt;td&gt;22&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 7&lt;/td&gt;&lt;td&gt;GPIO 26, 124&lt;/td&gt;&lt;td&gt;23&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 8&lt;/td&gt;&lt;td&gt;GPIO 4, 6&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 9&lt;/td&gt;&lt;td&gt;GPIO 5, 7&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 10&lt;/td&gt;&lt;td&gt;GPIO 13, 55&lt;/td&gt;&lt;td&gt;11&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPIO 11&lt;/td&gt;&lt;td&gt;GPIO 12, 54&lt;/td&gt;&lt;td&gt;10&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
kudos to the guy who found this out, it cost me 2 days to figure out the straightforward approach (GPIO 20 = minor 20?) was wrong.
&lt;br /&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.f4k3.net/fake/resource/_soekris-gpio-i2c-linux-2.6.27.6.patch&quot;&gt;here is the patch&lt;/a&gt;. handle with care. it's against linux-2.6.27.6. i used &lt;a href=&quot;http://blog.f4k3.net/fake/resource/_soekris-config&quot;&gt;this .config&lt;/a&gt; to build the kernel.
&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/11/20/GPIO-to-I2C-on-a-Soekris-net4801#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/11/20/GPIO-to-I2C-on-a-Soekris-net4801#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/49</wfw:commentRss>
      </item>
    
  <item>
    <title>exportPB4Fritz updated</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/11/09/exportPB4Fritz-updated</link>
    <guid isPermaLink="false">urn:md5:456c6247e5a05985aed89008747c901a</guid>
    <pubDate>Sun, 09 Nov 2008 14:04:00 +0100</pubDate>
    <dc:creator>fake</dc:creator>
        <category>code</category><category>osx</category>    
    <description>    i just updated the exportPB4Fritz.py skript so it can handle contacts that do not have a first, but a lastname set.
a minor fix, of course, just thought i'd quickly replace the version from &lt;a href=&quot;http://blog.f4k3.net/fake/entry/avm_fritz_box_vs_os&quot;&gt;the original posting&lt;/a&gt; so people not into python can use it with &quot;interesting&quot; os x address books ;-)
the download url is the same, it's in the blog post linked above.</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/11/09/exportPB4Fritz-updated#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/11/09/exportPB4Fritz-updated#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/48</wfw:commentRss>
      </item>
    
  <item>
    <title>AVM Fritz! Box vs. OS X Address Book</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/10/04/AVM-Fritz%21-Box-vs.-OS-X-Address-Book</link>
    <guid isPermaLink="false">urn:md5:2cadc8c94718352e35dacb1ca18c148a</guid>
    <pubDate>Sat, 04 Oct 2008 21:43:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>code</category><category>osx</category>    
    <description>    &lt;div style=&quot;float: right; padding-left: 8px; padding-bottom: 8px; padding-top: 8px;&quot;&gt;&lt;img src=&quot;http://blog.f4k3.net/fake/resource/fritzappleab.png&quot; border=&quot;0&quot; /&gt;&lt;/div&gt;
I am a pretty happy user of a &lt;a href=&quot;http://www.freetz.org/&quot; target=&quot;_new&quot;&gt;freetz&lt;/a&gt;'d AVM Fritz! Box 7140 for a while now, the only thing bugging me was the lack of an address book import built into the box.
i tried messing around with the &lt;a href=&quot;http://www.wehavemorefun.de/fritzbox/index.php/XML-Adressbuch&quot; target=&quot;_new&quot;&gt;/var/flash/phonebook&lt;/a&gt; file, but for some reason my xml files kept being rejected.
ultimately, i found a utility called &quot;Fritz!box Monitor&quot; or short FBM, which is &lt;a href=&quot;ftp://ftp.avm.de/fritz.box/tools/fbm/&quot; target=&quot;_new&quot;&gt;supplied by AVM&lt;/a&gt;. It can import CSV files in a certain (pretty weird) format, so i re-wrote my xml-generator to print out that format instead. FBM's a windows program of course, so fire up your parallels/fusion/qemu/whatever.
You have to edit &lt;tt&gt;fritzboxmonitor.ini&lt;/tt&gt; in it's program directory before using this, and set the key &lt;tt&gt;ExportAll&lt;/tt&gt; to &lt;tt&gt;1&lt;/tt&gt;. I also set the &lt;tt&gt;AutoSpeedDial&lt;/tt&gt; entry to &lt;tt&gt;0&lt;/tt&gt; because i don't use speed dialing and thus the csv exporter doesn't support it.
The exporter is written in python, i used &lt;a href=&quot;http://www.programmish.com/?p=26&quot; target=&quot;_new&quot;&gt;this script&lt;/a&gt; as a basis. It's an ugly quick hack, so bear with me. It should work with mac os x 10.5.5 stock python, probably earlier, too.
You can find the exporter script &lt;a href=&quot;http://blog.f4k3.net/fake/resource/exportPB4Fritz.py&quot;&gt;here&lt;/a&gt;.
i also came up with a version that exports to a windows-addressbook-reimportable format; i use it to push my contacts to a siemens gigaset sl56 bluetooth enabled dect phone, which only supports a windows program as source either. that version is &lt;a href=&quot;http://blog.f4k3.net/fake/resource/exportPB4GigaSet.py&quot;&gt;here&lt;/a&gt;.</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/10/04/AVM-Fritz%21-Box-vs.-OS-X-Address-Book#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/10/04/AVM-Fritz%21-Box-vs.-OS-X-Address-Book#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/47</wfw:commentRss>
      </item>
    
  <item>
    <title>Das peinliche &quot;i-Team&quot;</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/08/06/Das-peinliche-%22i-Team%22</link>
    <guid isPermaLink="false">urn:md5:d7b023214a4efadf1ae9effe618970b7</guid>
    <pubDate>Wed, 06 Aug 2008 00:50:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>tv</category>    
    <description>    Zufaellig entdeckt: Die deutsche, schlechte und wirklich peinlich exakte Kopie der &lt;s&gt;amerikanischen&lt;/s&gt; britischen Kult-Serie &quot;&lt;a href=&quot;http://www.channel4.com/entertainment/tv/microsites/I/itcrowd/&quot; target=&quot;_new&quot;&gt;The IT Crowd&lt;/a&gt;&quot; : Das &quot;i-Team&quot; (absichtlich kein Link. Verdient es nicht). Mir dreht sich der Magen um. Urspruenglich wollte ich &quot;Abklatsch&quot; statt &quot;Kopie&quot; schreiben - waere aber eine Untertreibung.
Vergleicht selbst:
&lt;div style=&quot;float: left&quot;&gt;
&lt;img src=&quot;http://blog.f4k3.net/fake/resource/itcrowd.jpg&quot; width=&quot;200&quot; /&gt;
&lt;p&gt;The IT Crowd&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;float: right&quot;&gt;
&lt;img src=&quot;http://blog.f4k3.net/fake/resource/iteam.jpg&quot; width=&quot;200&quot; /&gt;
&lt;p&gt;scheiss Team&lt;/p&gt;
&lt;/div&gt;
&lt;br clear=&quot;all&quot;&gt;
Arm.
Danke, DaddyD, hab' mir inziwschen den Spass gemacht und die 2ten Folgen jeweils 1:1 verglichen, da is mir das auch aufgefallen - es war sehr lange her, dass ich das Original gesehen hatte; Jetzt bin ich um so schockierter: Selbst der Titelsong ist uebernommen!</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/08/06/Das-peinliche-%22i-Team%22#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/08/06/Das-peinliche-%22i-Team%22#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/46</wfw:commentRss>
      </item>
    
  <item>
    <title>Joss Whedon is at it again!</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/07/16/Joss-Whedon-is-at-it-again%21</link>
    <guid isPermaLink="false">urn:md5:bd7715ff6461fd08defd13356fc5b3d8</guid>
    <pubDate>Wed, 16 Jul 2008 22:05:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>tv</category>    
    <description>    &lt;a href=&quot;http://www.drhorrible.com&quot;&gt;&lt;img src=&quot;http://www.drhorrible.com/images/banners/banner2.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
Joss Whedon, creator of Buffy and Firefly, has done it again - go watch the 3-part musical &quot;&lt;a href=&quot;http://drhorrible.com/&quot; target=&quot;_new&quot;&gt;Dr. Horrible's Sing-along Blog&lt;/a&gt;&quot; while it lasts! The 3 acts will show up starting yesterday, 1 episode every 2 days (if i got it right), and they will disappear on July 20th.
Still not convinced? Nathan Fillion is in it, too, so it' kinda bound to have some guts! ;-)
There is also a &quot;&lt;a href=&quot;http://drhorrible.com/plan.html&quot; target=&quot;_new&quot;&gt;Master plan&lt;/a&gt;&quot;. Boy, i like the sound of that!</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/07/16/Joss-Whedon-is-at-it-again%21#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/07/16/Joss-Whedon-is-at-it-again%21#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/45</wfw:commentRss>
      </item>
    
  <item>
    <title>Freiheit statt Angst 2008 - Demo in Ingolstadt</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/05/20/Freiheit-statt-Angst-2008-Demo-in-Ingolstadt</link>
    <guid isPermaLink="false">urn:md5:d18f1ae937817f0cb6d6ac7b3d757637</guid>
    <pubDate>Tue, 20 May 2008 12:26:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>politics</category>    
    <description>    this post is in german, because it concerns only germans - you lucky non-germans...
&lt;img src=&quot;http://blog.f4k3.net/fake/resource/Banner-31.5.gif&quot; border=&quot;0&quot; /&gt;
Am 31.5. hat der &lt;a href=&quot;http://wiki.vorratsdatenspeicherung.de/Arbeitskreis_Vorratsdatenspeicherung&quot; target=&quot;_new&quot;&gt;AK Vorratsdatenspeicherung&lt;/a&gt; bundesweit zu Protestaktioen im Rahmen der &quot;&lt;a href=&quot;http://www.freiheitstattangst.de/&quot; target=&quot;_new&quot;&gt;Freiheit statt Angst 2008&lt;/a&gt;&quot;-Kampagne aufgerufen.
Gestern fleissig von Amt zu Amt gewartet, und schon ist sie angemeldet, die Demo in Ingolstadt gegen die Vorratsdatenspeicherung und was sonst noch so an Grundrechtsbeschneidungen stattfinet...
Treffpunkt ist am 31.5. um 15:30 am Münster, Ecke Sausalitos
Alles weitere auf der &lt;a href=&quot;http://wiki.vorratsdatenspeicherung.de/Freiheit_statt_Angst_2008/Ingolstadt&quot; target=&quot;_new&quot;&gt;AK Vorratsdatenspeicherung Wiki-Seite fuer Ingolstadt&lt;/a&gt;
Den ganzen Tag (10 - 18 Uhr) wird weiters ein Infostand in der Ludwigstrasse, gegenüber der City-Arkaden aufgebaut sein - hierfür sind dringen noch Helfer gesucht... bitte meldet euch bei ingolstadt(ät)vorratsdatenspeicherung(punkt)de und/oder auf der &lt;a href=&quot;http://wiki.vorratsdatenspeicherung.de/TODO_Demo_ingolstadt&quot; target=&quot;_new&quot;&gt;Todo-Wiki-Seite&lt;/a&gt;!</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/05/20/Freiheit-statt-Angst-2008-Demo-in-Ingolstadt#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/05/20/Freiheit-statt-Angst-2008-Demo-in-Ingolstadt#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/44</wfw:commentRss>
      </item>
    
  <item>
    <title>latex part1: the environment</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/05/06/latex-part1%3A-the-environment</link>
    <guid isPermaLink="false">urn:md5:46e325042204dc835cfeb34ed32e78a1</guid>
    <pubDate>Tue, 06 May 2008 14:10:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>latex</category>    
    <description>    LaTeX is the solution to all the headaches you ever had using M$ Word, OpenOffice Writer, ... etc especially when it comes to larger documents like books or scientific work. LaTeX documents look the same, independent of the system they are rendered on (theoretically. but this is more a &quot;this web page should look the same in firefox 1 and firefox 2&quot; - theoretically, NOT a &quot;this page looks the same in IE and Firefox&quot;-theoretically... ;-) ).
This is part 1 of my LaTeX blog series, I start with the basics you need to follow the rest of the posts - the LaTeX environment for your OS and taste.
here are my suggestions:
&lt;ul&gt;&lt;li&gt;Mac OS X:&lt;ul&gt;
&lt;li&gt;LaTeX Distribution: &lt;a href=&quot;http://tug.org/mactex/&quot; target=&quot;_new&quot;&gt;MacTex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Editor: &lt;a href=&quot;http://www.uoregon.edu/~koch/texshop/index.html&quot; target=&quot;_new&quot;&gt;TexShop&lt;/a&gt;&lt;p&gt;TexShop is included in the MacTex distribution, it's a very nice editor with a big &quot;do it now&quot; button.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Linux:&lt;ul&gt;
&lt;li&gt;LaTeX Distribution: &lt;a href=&quot;http://www.tug.org/texlive/&quot; target=&quot;_new&quot;&gt;Texlive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Editor: whichever you like...
&lt;p&gt;Use VI, Emacs melts your brain and kills your pets.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Windows:&lt;ul&gt;
&lt;li&gt;LaTeX Distribution: &lt;a href=&quot;http://miktex.org/&quot; target=&quot;_new&quot;&gt;MikTex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Editor: &lt;a href=&quot;http://www.toolscenter.org/&quot; target=&quot;_new&quot;&gt;TexNicCenter&lt;/a&gt;
&lt;p&gt;The directory you have to set on installation of TexNicCenter is &amp;lt;program files&amp;gt;\miktex\miktex\bin, or wherever you installed MikTex...&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
there are many more environments available, so if something doesn't suit you, keep looking for a better distribution, i haven't seen them all ;-)
Installation instructions can be found on the pages linked above, except for texlive on linux; that should be part of your linux distribution's package manager (if it's not, you should switch *g*). in ubuntu &quot;apt-get install texlive&quot; should do the trick.
if you want to test-drive your shiny, new latex installation, you can pick a sample from &lt;a href=&quot;http://www.tug.org/texshowcase/&quot; target=&quot;_new&quot;&gt;The Tex Showcases&lt;/a&gt; for testing.</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/05/06/latex-part1%3A-the-environment#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/05/06/latex-part1%3A-the-environment#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/43</wfw:commentRss>
      </item>
    
  <item>
    <title>minipokereval</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/04/17/minipokereval</link>
    <guid isPermaLink="false">urn:md5:1a0e37d24c157a6d760cc6af5787ec40</guid>
    <pubDate>Thu, 17 Apr 2008 18:18:00 +0200</pubDate>
    <dc:creator>fake</dc:creator>
        <category>code</category><category>poker</category>    
    <description>    about one year ago i played with poker evaluation libraries, and found one of the &lt;a href=&quot;http://poker.cs.ualberta.ca/&quot; target=&quot;_new&quot;&gt;university of alberta computer poker research group&lt;/a&gt; which i liked best. i hacked up a little &quot;evaluator&quot; using free card graphics from &lt;a href=&quot;http://www.openclipart.org/&quot; target=&quot;_new&quot;&gt;opencliparts.org&lt;/a&gt;. it's not a complete game, but it's still fun. i think ;)
&lt;div style=&quot;text-align:center;&quot;&gt;&lt;img src=&quot;http://blog.f4k3.net/fake/resource/_minipokereval.png&quot; alt=&quot;minipokereval.png&quot; border=&quot;0&quot; width=&quot;301&quot; height=&quot;156&quot; /&gt;&lt;/div&gt;
here you go: &lt;a href=&quot;http://blog.f4k3.net/fake/resource/minipokereval.jar&quot;&gt;minipokerval.jar&lt;/a&gt;
i found the library sufficient in features, easy to use and it has a small footprint. i started to work on some poker server using flex, but didn't really get far before i was overloaded with work and school again ... you know how it is...</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/04/17/minipokereval#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/04/17/minipokereval#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/42</wfw:commentRss>
      </item>
    
  <item>
    <title>Apache, mod_authnz_ldap and the timeouts</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/03/17/Apache%2C-mod_authnz_ldap-and-the-timeouts</link>
    <guid isPermaLink="false">urn:md5:5c9c20459ee0efde02f24040e4b21663</guid>
    <pubDate>Mon, 17 Mar 2008 03:10:00 +0100</pubDate>
    <dc:creator>fake</dc:creator>
        <category>linux</category>    
    <description>    after updating the debian testing on a server at work, access to our subversion repositories was beginning to flicker - the log message related to the 500 Internal Server Error is:
&lt;code&gt;auth_ldap authenticate: user foo authentication failed; URI /bar [ldap_search_ext_s() for user failed][Can't contact LDAP server]&lt;/code&gt;
this happens after the server is up for a few hours, and would go away for a few times again eventually (when you hit another preforked apache worker, or spawn a new one).
i googled, and found &lt;a href=&quot;http://www.irseek.com/show.php?pageid=3fb22d58e93e11dcbe663e43f0d562a5&quot; target=&quot;_new&quot;&gt;a conversation between Knorrie and Covener&lt;/a&gt; in #apache on &lt;a href=&quot;http://freenode.net/&quot; target=&quot;_new&quot;&gt;freenode&lt;/a&gt; dating about a month back. I was unable to find the conclusion they came to, though, so i tried to contact them - both were very helpful. Knorrie and I had the problem, so we tested various scenarios. Then, after about a day, the reason for the mishaps became obvious...
the LDAP_SERVER_DOWN define changed from version 2.1 (0x51 = 81) to 2.2 (-1) of the library, in the main header ldap.h, which makes the connection failure handling of apache bail out, if compiled with a 2.1 ldap.h and run on a 2.2 or later libldap. there is no build log of the current apache-2.2.8-1 debian package for x86, but the one for amd64 shows this is exactly what happened. i recompiled the debian source package with no change to the source, just the correct headers in place for libldap-2.4, and it runs smoothly now.
this problem should be nullified in 6 days when apache2-2.2.8_3 enters debian testing.</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/03/17/Apache%2C-mod_authnz_ldap-and-the-timeouts#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/03/17/Apache%2C-mod_authnz_ldap-and-the-timeouts#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/41</wfw:commentRss>
      </item>
    
  <item>
    <title>Planets 0.2.53</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/03/11/Planets-0.2.53</link>
    <guid isPermaLink="false">urn:md5:83deb587aa88dc91e68349c2afa88bd7</guid>
    <pubDate>Tue, 11 Mar 2008 18:13:00 +0100</pubDate>
    <dc:creator>fake</dc:creator>
        <category>code</category>    
    <description>    I quickly packed to together the changes i made since the last release of planets, which are:&lt;ul&gt;&lt;li&gt;automatically select a planet if &quot;distance&quot; is clicked, so something happens visually&lt;/li&gt;
&lt;li&gt;background- and gridcolors are now configurable through a new &quot;preferences&quot; menu item&lt;/li&gt;
&lt;li&gt;the size of one calculation step is also configurable in that new dialog - bigger values means it becomes less accurate.&lt;/li&gt;
&lt;/ul&gt;
I needed the background- and gridcolors changeable for the documentation i wrote (see below, german only, sorry). i also came up with a few more examples (sorry for the germanisms in the file names...), but removed the screenshots from that package.
here we go: there are again binary builds for windows 32bit (almost untested) and for mac os x 10.4 or later (universal) available:&lt;div style=&quot;float: right; padding-left: 8px; padding-bottom: 2px;&quot;&gt;&lt;img src=&quot;http://blog.f4k3.net/fake/resource/planets-config.png&quot; border=&quot;0&quot; /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Windows Binary: &lt;a href=&quot;http://blog.f4k3.net/resources/fake/planets-0.2.53-bin-win32.zip&quot;&gt;planets-0.2.53-bin-win32.zip&lt;/a&gt; (3.3 MB)&lt;/li&gt;
&lt;li&gt;Mac OS X Binary: &lt;a href=&quot;http://blog.f4k3.net/resources/fake/planets-0.2.53-bin-mac.zip&quot;&gt;planets-0.2.53-bin-mac.zip&lt;/a&gt; (7.5 MB)&lt;/li&gt;
&lt;/ul&gt;
the source:&lt;ul&gt;&lt;li&gt;Source Code, .tar.gz: &lt;a href=&quot;http://blog.f4k3.net/resources/fake/planets-0.2.53-src.tar.gz&quot;&gt;planets-0.2.53-src.tar.gz&lt;/a&gt; (0.65 MB)&lt;/li&gt;
&lt;li&gt;Source Code, .zip: &lt;a href=&quot;http://blog.f4k3.net/resources/fake/planets-0.2.53-src.zip&quot;&gt;planets-0.2.53-src.zip&lt;/a&gt; (0.68 MB)&lt;/li&gt;
&lt;/ul&gt;
and the new samples package:&lt;ul&gt;&lt;li&gt;Sample Files, .zip: &lt;a href=&quot;http://blog.f4k3.net/resources/fake/planets-samples-0.2.zip&quot;&gt;planets-samples-0.2.zip&lt;/a&gt; (0.05 MB) &lt;/li&gt;
&lt;/ul&gt;
the - as mentioned - german-only documentation is &lt;a href=&quot;http://blog.f4k3.net/fake/resource/Physik-Fachreferat-Dokumentation.pdf&quot; target=&quot;_new&quot;&gt;available as PDF file&lt;/a&gt;, it's not exactly a documentation of the software as you would expect it handed alongside a program, but rather a description of the purpose of the project in general, spiced with a few technical details of how the simulation works. nothing special, though - i wish days had more hours ;-)</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/03/11/Planets-0.2.53#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/03/11/Planets-0.2.53#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/39</wfw:commentRss>
      </item>
    
  <item>
    <title>iPhone SDK - first usable output</title>
    <link>http://blog.f4k3.net/fake/index.php/post/2008/03/10/iPhone-SDK-first-usable-output</link>
    <guid isPermaLink="false">urn:md5:da846255a8d4cdba6349acf469d9e19b</guid>
    <pubDate>Mon, 10 Mar 2008 17:38:00 +0100</pubDate>
    <dc:creator>fake</dc:creator>
        <category>code</category><category>iphone</category>    
    <description>    while playing around with the iPhone SDK, i quickly lost my motivation digging through the Cocoa Touch API definitions, not being able to run the code on my phone just removes the fun for me... i want to play, not design ;-) I guess i'll have to start writing some Mac Cocoa apps first, anyway, though this Objective-C they keep talking about doesn't look as weird as i initially thought.
Meanwhile, in part due to the lack of an Interface Builder for the iPhone, i played with the extensions made to Dashcode, quickly hacking up the micro-app i intended to code for my &lt;a href=&quot;http://catb.org/jargon/html/S/SO.html&quot; target=&quot;_new&quot;&gt;SO&lt;/a&gt; in native Objective C (which i will maybe do later on... when it's fun, heh). The overall time i spent on this is about 2 hours.
&lt;div style=&quot;float: left; padding-right: 8px; padding-bottom: 2px;&quot;&gt;&lt;a href=&quot;http://f4k3.net/~fake/PtCalc/&quot; target=&quot;_new&quot;&gt;&lt;img src=&quot;http://blog.f4k3.net/fake/resource/ptcalc_ptcalc.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
It's a points calculator using the (european) formula of &lt;a href=&quot;http://en.wikipedia.org/wiki/Weight_Watchers&quot; target=&quot;_new&quot;&gt;&quot;an international company that offers various dieting products and services to assist weight loss and maintenance&quot;&lt;/a&gt;.
it's called &quot;&lt;strong&gt;PtCalc&lt;/strong&gt;&quot; because i'm so creative. You can check it out at
&lt;center&gt;&lt;a href=&quot;http://f4k3.net/~fake/PtCalc&quot; target=&quot;_new&quot; style=&quot;font-size: 120%;&quot;&gt;http://f4k3.net/~fake/PtCalc/&lt;/a&gt;&lt;/center&gt;
i also uploaded the &lt;a href=&quot;http://blog.f4k3.net/fake/resource/ptcalc_PtCalc.dcproj.zip&amp;quot;&quot; title=&quot;PtCalc.dcproj.zip&quot;&gt;dashcode source file&lt;/a&gt; and the &lt;a href=&quot;http://blog.f4k3.net/fake/resource/ptcalc_PtCalc.zip&quot; title=&quot;PtCalc.zip&quot;&gt;generated output files&lt;/a&gt; in case you want to drop it onto your iPhone / iPod touch and use the file://-Support-Hack (there is a patch in Installer for most firmware versions), copy it onto your home server, print it out, or whatever you may want to do with it, i don't care - in other words: Public Domain...
the scale on the calories is from 0 - 700&amp;nbsp;kcal; the fat is from 0 - 70&amp;nbsp;g. like it or not, i seldom eat something with more than that per 100g. and i can do *5 and alike calculations in my head ;)
if you suggest some new features, i might even give it a whirl and put some more energy into this before the iPhone firmware 2.0 ( + jailbreak + unlock) release.
(2008-03-13) note: i changed the graphics included in the zip file and in the hosted versions to be of optimal size. they were huge...</description>
    
    
    
          <comments>http://blog.f4k3.net/fake/index.php/post/2008/03/10/iPhone-SDK-first-usable-output#comment-form</comments>
      <wfw:comment>http://blog.f4k3.net/fake/index.php/post/2008/03/10/iPhone-SDK-first-usable-output#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.f4k3.net/fake/index.php/feed/atom/comments/38</wfw:commentRss>
      </item>
    
</channel>
</rss>