<?xml version="1.0"?>
<!-- name="generator" content="blojsom v3.2" -->
<rdf:RDF xmlns:wfw="http://wellformedweb.org/CommentAPI/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns="http://purl.org/rss/1.0/">

	<channel rdf:about="http://blog.akkaya.de/jpabel">
		<title>Jürgen Pabel&#39;s Blog</title>
		<link>http://blog.akkaya.de/jpabel/</link>
		<description>This and that</description>
		<dc:publisher>Jürgen Pabel</dc:publisher>
		<dc:creator>jpabel@akkaya.de</dc:creator>
		<dc:date>2010-08-25T00:14:12+02:00</dc:date>
		<dc:language>en</dc:language>

        <items>
        <rdf:Seq>
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/08/25/Secure-PIN-entry-and-cheap-RFID-readers" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/08/13/Alive-and-kickin" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/05/26/Response-to-Solar-Designers-MoPS-submission" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/05/22/Configuration-Encryption-Patch-for-Suhosin" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/05/21/SIGINT-sneak-preview" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/05/09/CCC-Pentabarf-Password-reset" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/04/01/chumPod" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/03/28/Firefly-crossdomain-xml-plugin" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/03/27/Google-NativeClient-on-the-server" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/03/21/And-yet-another-mod-dav-svn-idea-sort-of" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/03/12/Reverse-DNS-advertising" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/03/10/Another-mod-dav-svn-idea" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/03/07/Palm-webOS-Hot-Apps-mischief" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/02/26/Reverse-DNS-pseudomizer" />
                                <rdf:li rdf:resource="http://blog.akkaya.de/jpabel/thisandthat/2010/02/25/A-true-HP-UX-gem" />
                </rdf:Seq>
        </items>
    </channel>

            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/08/25/Secure-PIN-entry-and-cheap-RFID-readers">
	    <title>Secure PIN entry and cheap RFID readers</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/08/25/Secure-PIN-entry-and-cheap-RFID-readers</link>
        <description>&lt;p&gt;The German government will start issuing national ID cards equipped with RFID chips later on this year. One of the proclaimed scenarios is to use it with a RFID reader for identification and/or age verification on the Internet. To promote adoption the government will distribute one million USB reader devices for free upon request. One catch is that these reader devices are simple RFID reader devices - they lack essential security features like a build-in keypad for secure PIN entry. Rather, the PIN is entered into a software running on the computer via computer&#39;s keyboard and relayed into the RFID card reader. Any computer security expert will tell you that this is a fairly risky endeavour: the PIN might be intercepted during entry on the computer if malware is present on the computer.&lt;/p&gt;

&lt;p&gt;Obviously, the question to ask is how can such reader devices be designed to be more secure and still be manufactured cheaply? Here&#39;s an idea: embed a USB host port and a simple microcontroller on the RFID reader device and connect your USB keyboard (assuming a non-laptop computer) to the reader device (instead of the computer&#39;s USB port). In normal operation mode, the reader device would relay all input from its attached keyboard to the computer&#39;s USB port; thus, the reader will act as a simple data relay. However, any time an application issues a request to the ID card and the user is asked to authenticate by entering their PIN than the reader device could choose to not relay key input to the computer but rather re-route (for lack of a better term) it to the RFID interface for authentication to the ID card.&lt;/p&gt;

&lt;p&gt;I&#39;m not going to delve into technical details right now, but I&#39;m sure such a design would be resistant against PIN interception if implemented correctly. Leave some comments and I&#39;ll detail this idea further (multiple USB device classes, driver implementation aspects, etc) - I won&#39;t bother otherwise.&lt;/p&gt;
</description>
	    <dc:date>2010-08-25T00:14:12+02:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/08/25/Secure-PIN-entry-and-cheap-RFID-readers</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/08/25/Secure-PIN-entry-and-cheap-RFID-readers?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/08/13/Alive-and-kickin">
	    <title>Alive and kickin</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/08/13/Alive-and-kickin</link>
        <description>&lt;p&gt;Well, it&#39;s been a few days, weeks, months - I&#39;ve been really busy with work lately, so that&#39;s my excuse for not blogging.&lt;/p&gt;

&lt;p&gt;I&#39;ve submitted a talk proposal to &lt;a href=&quot;https://www.hashdays.ch/&quot;&gt;HashDays (&quot;#days&quot;) 2010&lt;/a&gt; and I am really happy that it got accepted. Now it&#39;s up to me to polish my Proof-of-Concept for &lt;a href=&quot;http://frozencache.blogspot.com/&quot;&gt;FrozenCache&lt;/a&gt; into a release-worthy state.&lt;/p&gt;
</description>
	    <dc:date>2010-08-13T13:03:01+02:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/08/13/Alive-and-kickin</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/08/13/Alive-and-kickin?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/05/26/Response-to-Solar-Designers-MoPS-submission">
	    <title>Response to Solar Designers MoPS submission</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/05/26/Response-to-Solar-Designers-MoPS-submission</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://php-security.org/2010/05/26/mops-submission-10-how-to-manage-a-php-applications-users-and-passwords/index.html&quot;&gt;Great write-up about catcha&#39;s when implementing user authentication/management for PHP/web applications&lt;/a&gt;, especially because he explains why things should be done a certain way. The only aspect I am missing is why it is important to construct (especially) the credential verification logic as a combination of application logic and database query instead of just combining everything into a SQL query. I have seen constructs like &lt;pre&gt;SELECT uid FROM users WHERE username=&#39;foo&#39; AND password=&#39;bar&#39;&lt;/pre&gt; (or any derivative that includes the hashed and/orstretched password value). The application logic would than only use the returned record for obtaining the uid of the (assumed to be correctly authenticated user). The core problem is that this approach combines both user record loading and user authentication into one operation (and also off-loads this task to the database). By separating the credential verification into two parts, one handled by the SQL layer and the other handled by the application logic, it becomes harder for an attacker to mount an attack on the authentication logic by exploiting a vulnerability in the SQL layer (assuming that whatever target the attacker is after can not be accomplished by exploiting such an SQL layer vulnerability itself).&lt;/p&gt;
</description>
	    <dc:date>2010-05-26T20:57:55+02:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/05/26/Response-to-Solar-Designers-MoPS-submission</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/05/26/Response-to-Solar-Designers-MoPS-submission?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/05/22/Configuration-Encryption-Patch-for-Suhosin">
	    <title>Configuration Encryption Patch for Suhosin</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/05/22/Configuration-Encryption-Patch-for-Suhosin</link>
        <description>&lt;p&gt;My &lt;a href=&quot;http://php-security.org/2010/05/22/mops-submission-08-configuration-encryption-patch-for-suhosin/index.html&quot;&gt;submission&lt;/a&gt; for the Month of PHP Security was published today. I implemented a new feature for Suhosin which allows configuration values (any data actually) to be encrypted using an encryption key specified in the php.ini configuration file. In addition to the patch I&#39;ve written an article explaining the necessity for encrypting passwords in confguration files - especially in enterprise environments.&lt;/p&gt;

</description>
	    <dc:date>2010-05-22T18:24:03+02:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/05/22/Configuration-Encryption-Patch-for-Suhosin</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/05/22/Configuration-Encryption-Patch-for-Suhosin?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/05/21/SIGINT-sneak-preview">
	    <title>SIGINT sneak preview</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/05/21/SIGINT-sneak-preview</link>
        <description>&lt;p&gt;You, my loyal blog readers, are the first to learn about my newest creation: &lt;a href=&quot;http://webserver.pabel.net/cssuid/&quot;&gt;CSS history hack based user tracking&lt;/a&gt; . Everyone else will have to wait until my &lt;a href=&quot;http://events.ccc.de/sigint/2010/wiki/Fahrplan/events/3785.de.html&quot;&gt;presentation at SIGINT tomorrow&lt;/a&gt; (sorry, it&#39;ll be in german by request of the organizers).&lt;/p&gt;
</description>
	    <dc:date>2010-05-21T18:03:46+02:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/05/21/SIGINT-sneak-preview</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/05/21/SIGINT-sneak-preview?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/05/09/CCC-Pentabarf-Password-reset">
	    <title>CCC Pentabarf Password reset </title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/05/09/CCC-Pentabarf-Password-reset</link>
        <description>&lt;p&gt;I had to reset my pentabarf password for the CCC, here&#39;s the confirmation E-Mail I received:&lt;/p&gt;

&lt;pre&gt;
Dear ***,

Someone (probably you, from IP address 127.0.0.11)
requested a password reset.

To reset your password just follow the link where you can define a new
password:

&lt;--snip--&gt;
&lt;/pre&gt;

&lt;p&gt;That&#39;s funny because 127.0.0.11 is a loopback IP address (originating from their own system).&lt;/p&gt;
&lt;p&gt;By the way: &lt;a href=&quot;http://events.ccc.de/sigint/2010/wiki/Fahrplan/events/3785.de.html&quot;&gt;http://events.ccc.de/sigint/2010/wiki/Fahrplan/events/3785.de.html&lt;/a&gt; (in german)&lt;/p&gt;

</description>
	    <dc:date>2010-05-09T21:37:32+02:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/05/09/CCC-Pentabarf-Password-reset</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/05/09/CCC-Pentabarf-Password-reset?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/04/01/chumPod">
	    <title>chumPod</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/04/01/chumPod</link>
        <description>&lt;p&gt;The chumPod is a music widget for the &lt;a href=&quot;http://www.chumby.com/&quot;&gt;Chumby&lt;/a&gt;. This is no April&#39;s fools joke. Why would anyone create a music widget for the Chumby? Because I like to listen to some internet radio stations on my Chumby and always having to navigate through the chumby menus is very annoying. I would rather have that control &quot;up front&quot; as a widget. Sure, this does not exactly fit the chumby&#39;s &quot;widget&quot; paradigm - but it suits my needs.&lt;/p&gt;

&lt;p&gt;The current version is barely more than a proof-of-concept. It looks rather ugly (I have no design skills at all) and doesn&#39;t yet have a configuration tool for widget configuration (internet radio stations are currently sort of hardcoded). I am working on implementing support for &lt;a href=&quot;http://www.fireflymediaserver.org/&quot;&gt;Firefly&lt;/a&gt; (or any other Roku Soundbridge Protocol compatible server).&lt;/p&gt;

&lt;p&gt;The chumby widget page can be found &lt;a href=&quot;http://www.chumby.com/guide/widget/chumPod&quot;&gt;here&lt;/a&gt;. The sourceforge project page is &lt;a href=&quot;http://sourceforge.net/projects/chumpod/&quot;&gt;here&lt;/a&gt;. And the source code repository is located &lt;a href=&quot;https://chumpod.svn.sourceforge.net/svnroot/chumpod/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
	    <dc:date>2010-04-01T00:37:14+02:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/04/01/chumPod</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/04/01/chumPod?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/03/28/Firefly-crossdomain-xml-plugin">
	    <title>Firefly crossdomain.xml plugin</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/03/28/Firefly-crossdomain-xml-plugin</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://www.fireflymediaserver.org/&quot;&gt;Firefly&lt;/a&gt; is an open-source media player (iTunes for the poor). I&#39;ve implemented a plugin that serves up a crossdomain.xml file: this allows Flash &quot;applications&quot; to use Firefly (for streaming music).&lt;/p&gt;

&lt;p&gt;The source code is &lt;a href=&quot;http://blog.akkaya.de/blojsom/resources/jpabel/crossdomain_xml.c&quot;&gt;here&lt;/a&gt;. Place it in the src/plugins folder of the firefly sources and compile it like so:
&lt;pre&gt;
  gcc -shared -o crossdomain_xml.so -I.. -I../.. crossdomain_xml.c
&lt;/pre&gt;
Then copy the library to /usr/lib/mt-daapd/plugins/ (or wherever the plugins directory for your installation may be) and add the crossdomain_xml.so plugin to the &quot;plugins&quot; configuration directive in /etc/mt-daapd.conf (don&#39;t forget to restart firefly).&lt;/p&gt;
</description>
	    <dc:date>2010-03-28T01:43:52+01:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/03/28/Firefly-crossdomain-xml-plugin</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/03/28/Firefly-crossdomain-xml-plugin?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/03/27/Google-NativeClient-on-the-server">
	    <title>Google NativeClient on the server</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/03/27/Google-NativeClient-on-the-server</link>
        <description>&lt;p&gt;Well, I thought I had a novel idea while driving today; turns out &lt;a href=&quot;http://work.j832.com/2010/01/google-native-client-belongs-on-server.html&quot;&gt;someone else had already written (pretty much exactly) what I had in mind&lt;/a&gt;.&lt;/p&gt;

</description>
	    <dc:date>2010-03-27T02:31:49+01:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/03/27/Google-NativeClient-on-the-server</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/03/27/Google-NativeClient-on-the-server?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/03/21/And-yet-another-mod-dav-svn-idea-sort-of">
	    <title>And yet another mod_dav_svn idea -- sort of</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/03/21/And-yet-another-mod-dav-svn-idea-sort-of</link>
        <description>&lt;p&gt;I refrain from having subversion repositories for my personal documents on a public (&quot;root&quot;) server. I rather keep them in repositories on my home network. I don&#39;t like the idea of a (constantly exposed) internet-server containing all my documents. That&#39;s why there should be a second line of defense in case such a system is hacked. The &quot;obvious&quot; solution would be to use a cryptographic filesystem on the server that has to be mounted before the repository is accessed. However, that approach introduces a whole slew of technical issues (only root can/should mount, has to be manually dismounted, ...). Why not instead implement a new (or extend an existing) SVN backend that provides such cryptographic capabilities? Unfortunately, it looks like this can&#39;t be implemented as a source code patch (instead of a plug-in or extension).&lt;/p&gt;

&lt;p&gt;On a side note: I recently stumbled across this &lt;a href=&quot;http://homepages.paradise.net.nz/~ejrh/subversion/mysql/&quot;&gt;SQL backend for Subversion&lt;/a&gt; (sadly it hasn&#39;t been continued and looks incompatible with current releases).&lt;/p&gt;
</description>
	    <dc:date>2010-03-21T00:40:41+01:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/03/21/And-yet-another-mod-dav-svn-idea-sort-of</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/03/21/And-yet-another-mod-dav-svn-idea-sort-of?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/03/12/Reverse-DNS-advertising">
	    <title>Reverse DNS advertising</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/03/12/Reverse-DNS-advertising</link>
        <description>&lt;p&gt;A log entry from my blog&#39;s log file: 
&lt;pre&gt;XXX.XX-get-oneprice-adsl-for-only-R169.cybersmart.co.za&lt;/pre&gt;
That&#39;s funny (by the way: 169 Rand is roughly 16,50€ or 22,80US$).&lt;/p&gt;
</description>
	    <dc:date>2010-03-12T16:01:17+01:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/03/12/Reverse-DNS-advertising</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/03/12/Reverse-DNS-advertising?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/03/10/Another-mod-dav-svn-idea">
	    <title>Another mod_dav_svn idea</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/03/10/Another-mod-dav-svn-idea</link>
        <description>&lt;p&gt;Some online storage (WebDAV) services provide mechanisms to share specific resources with others easily: usually, a link can be generated that allows access to the specified resource within the online storage (but can&#39;t be used to access any other resources). That way it&#39;s easy to share documents without having to create user accounts, set passwords and apply the corresponding ACL settings. It would be pretty cool if such a feature were to be implemented in mod_dav_svn (actually, mod_dav might be the more suitable module for this).&lt;/p&gt;
&lt;p&gt;On another note: &lt;a href=&quot;http://chestofbooks.com/computers/revision-control/subversion-svn/Customizing-The-Look-Serverconfig-Httpd-Extra-Browsing-Xslt.html&quot;&gt;SVNIndexXSLT&lt;/a&gt; might be a good way to implement HTML output containing RSS feed links for &lt;a href=&quot;http://blog.akkaya.de/jpabel/2010/02/05/RSS-feeds-in-mod-dav-svn&quot;&gt;this idea&lt;/a&gt;. The benefit would be not having to patch &lt;a href=&quot;http://svn.apache.org/repos/asf/subversion/tags/1.4.6/subversion/mod_dav_svn/repos.c&quot;&gt;mod_dav_svn&#39;s source code&lt;/a&gt; (search for &quot;gen_html&quot;) and thus to create an independant module that builds upon mod_dav_svn.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; As it turns out, using the SVNIndexXSLT is a no-go because there is no practical way to determine the current URL using XSLT in that context: the items in the xml document lack the basepath and unparsed-entity-uri() is not implemented in TransforMiiX (Firefox&#39;s XSLT engine) for determining the basepath later on. Sure, using the HTTP referrer on the server-side should work for most use-cases, but that&#39;s too hackish for my taste.&lt;/p&gt;
</description>
	    <dc:date>2010-03-10T21:57:02+01:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/03/10/Another-mod-dav-svn-idea</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/03/10/Another-mod-dav-svn-idea?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/03/07/Palm-webOS-Hot-Apps-mischief">
	    <title>Palm webOS Hot Apps mischief</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/03/07/Palm-webOS-Hot-Apps-mischief</link>
        <description>&lt;p&gt;Too bad I didn&#39;t think of this earlier in the contest: the terms &amp; conditions for the &lt;a href=&quot;http://developer.palm.com/index.php?option=com_content&amp;view=article&amp;id=1841&amp;Itemid=35&quot;&gt;Palm webOS Hot App contest&lt;/a&gt; declare no restrictions about the type of app for the contest; I am sure that a &quot;$5.000 Giveaway&quot; app would have good changes of winning (by registering the most downloads). Of course, this money would only be paid if the app does win the contest itself (multiple winners should be drawn if this app would win any of the big $100.000 prizes).&lt;/p&gt;
</description>
	    <dc:date>2010-03-07T23:12:04+01:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/03/07/Palm-webOS-Hot-Apps-mischief</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/03/07/Palm-webOS-Hot-Apps-mischief?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/02/26/Reverse-DNS-pseudomizer">
	    <title>Reverse DNS pseudomizer</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/02/26/Reverse-DNS-pseudomizer</link>
        <description>&lt;p&gt;There&#39;s a debate here in Germany about whether an IP address is a piece of data that can (or could) identify a person. This is an important question for the IT industry in Germany because of our stringent data privacy laws: storing and/or processing personal data requires the person&#39;s (prior) agreement. The current headlines revolve around Google Analytics but the general question is whether the established procedure of logging IP addresses is in line with the law.&lt;/p&gt;
&lt;p&gt;What if IP addresses are declared as personal data? Two questions twirl around in my head:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What about other uses of IP addresses (like in dynamically generated firewall rules)?&lt;/li&gt;
&lt;li&gt;What&#39;s a practical alternative to logging IP addresses?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;While my first question is in fact to be taken seriously - albeit it&#39;s sort of funny to think about the implications. Hoever, I don&#39;t have any further thoughts with respect to question #1. I&#39;ve seen several academic papers in the past with respect to question #2 but can&#39;t currently locate them - with one exception: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.9078&amp;rep=rep1&amp;type=pdf&quot;&gt;Ulrich Flegel&#39;s paper about pseudomizing Unix log files using a modified syslog daemon&lt;/a&gt; (which has additional pseudomizing aspects like unix usernames and the like). My main issue is that the deployment of such a solution would be rather involved for most environments. My (rather easy to deploy) suggestion is a pseudomizing reverse DNS server; the web server would need to be configured to not log IP addresses but rather the reverse DNS name of the visitor (which is a standard configuration option for most servers). However, most webserver admins (understandably) shy away from logging reverse DNS names because of the potential for delays incurred by unsuccessful reverse lookups. However, if a DNS server handling reverse lookups was deployed locally then performance wouldn&#39;t be an issue. If this reverse DNS server served not the real reverse DNS name but rather a pseudomized DNS name then all the sudden we would have solved those legal concerns. Well, not quite: of course the IP addreses would need to be stored within the reverse DNS pseudomizer itself; however, I am sure that there are ways to design and operate such a device in that it would be considered compliant to the law (ie: access restricted to a designated privacy officer).&lt;/p&gt;
</description>
	    <dc:date>2010-02-26T19:51:29+01:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/02/26/Reverse-DNS-pseudomizer</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/02/26/Reverse-DNS-pseudomizer?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.akkaya.de/jpabel/thisandthat/2010/02/25/A-true-HP-UX-gem">
	    <title>A true HP-UX gem</title>
	    <link>http://blog.akkaya.de/jpabel/thisandthat/2010/02/25/A-true-HP-UX-gem</link>
        <description>&lt;p&gt;Yesterday I&#39;ve stumbled across a tool Pit and I wrote a few years ago. In honor of his birthday I decided to devote a blog entry to this (don&#39;t worry: the technical details are quite interesting).&lt;/p&gt;

&lt;p&gt;The scenario: we were facing issues in our production environment with a multi-process server application that binds an UDP port to a multicast address on HP-UX. Every now and than the system would stop processing messages sent to its multicast address. After quite some time we realized that this ocurred whenever one of the server applications processes terminated (ie: crashed). Since this server application was a service provider on the corporate/enterprise service bus it meant that that particular service was available in one less server (as in system) instance to the service bus whenever a process terminated. That could turn in to a real problem quickly, so we needed a solution that would allow a quick problem recovery until the real issue was fixed.&lt;/p&gt;

&lt;p&gt;The problem: HP-UX 11.11 had a bug that didn&#39;t account for multiple &quot;participants&quot; (processes bound to the same multicast address). In other words: if you had multiple processes on the server that used the same multicast address and one of these processes terminates then HP-UX (incorrectly) instructed the network card to not listen for incoming packets to that multicast address any longer (well, the corresponding MAC address). The remaining server processes would keep on waiting for incoming packets but the network card just didn&#39;t want them any more. The theorectical solution looked easy: if a process bound itself on that multicast address then HP-UX would instruct the network card to listen to multicast packets again. The two obvious implementation alternatives weren&#39;t quite acceptable:
&lt;ul&gt;
&lt;li&gt;restart the entire process tree -&amp;gt; a restart took too long&lt;/li&gt;
&lt;li&gt;start a dummy process that binds to the multicast address and puts itself to sleep (it must not terminate because that would reverse the intended effect) -&amp;gt; how many dummy processes would we have over the course of several months?&lt;/li&gt;
&lt;/ul&gt;
So, we needed another solution and we found one. HP-UX implements an interface named DLPI (&lt;a href=&quot;http://docs.hp.com/en/B2355-90139/index.html&quot;&gt;Data Link Provider Interface&lt;/a&gt;), which allows low-level manipulation of network card state. We wrote a small tool that used DLPI to manually add the corresponding MAC address of the multicast address to the network card&#39;s MAC address for which it should accept packets. This tool was run via CRON every minute and the problem was &quot;solved&quot; until a fix became available for HP-UX (which happened with 11.20 if I remember correctly). Here&#39;s your birthday present, Pit: &lt;a href=&quot;http://pastie.org/private/qeazuwrqnmar25hzo4reg&quot;&gt;http://pastie.org/private/qeazuwrqnmar25hzo4reg&lt;/a&gt; (I am pretty sure you did&#39;t have the sources for that tool any more)&lt;/p&gt;
</description>
	    <dc:date>2010-02-25T00:00:00+01:00</dc:date>
	                                <wfw:comment>http://blog.akkaya.de/blojsom/commentapi/jpabel/thisandthat/2010/02/25/A-true-HP-UX-gem</wfw:comment>
            <wfw:commentRss>http://blog.akkaya.de/jpabel/thisandthat/2010/02/25/A-true-HP-UX-gem?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
    
</rdf:RDF>
