<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Martin Geisler Online</title>
	<atom:link href="http://mgeisler.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://mgeisler.net</link>
	<description>Adventures with Computers</description>
	<pubDate>Fri, 02 May 2008 08:50:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6-bleeding</generator>
	<language>en</language>
			<item>
		<title>DAIMI Mail System Upgraded</title>
		<link>http://mgeisler.net/2008/05/daimi-mail-system-upgraded/</link>
		<comments>http://mgeisler.net/2008/05/daimi-mail-system-upgraded/#comments</comments>
		<pubDate>Fri, 02 May 2008 08:50:58 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://mgeisler.net/?p=690</guid>
		<description><![CDATA[I am storing all my mail since 1999 on DAIMI&#8217;s IMAP server &#8212; around 750 MiB in total for 26,726 mails. It is very nice of them to provide such a server, but unfortunately it is slow&#8230; so slow that I have finally taken the time to switch to something better.

It was actually quite simple [...]]]></description>
			<content:encoded><![CDATA[<p>I am storing all my mail since 1999 on <a href="http://www.daimi.au.dk/">DAIMI</a>&#8217;s IMAP server &#8212; around 750 MiB in total for 26,726 mails. It is very nice of them to provide such a server, but unfortunately it is <em>slow</em>&#8230; so slow that I have finally taken the time to switch to something better.</p>

<p>It was actually quite simple to switch. DAIMI uses the <a href="http://www.washington.edu/imap/">UW-IMAP</a> server configured to store mails in <a href="http://wiki.dovecot.org/MailboxFormat/mbx">mbx files</a> which work similar to <a href="http://wiki.dovecot.org/MailboxFormat/mbox">mbox files</a> except that they contain some extra meta data that should speed up access to them. In my experience it still took the IMAP server 10&#8211;30 seconds to look at my 35 mailboxes only to determine that all but one contained no new messages!</p>

<p>I have had great success with the <a href="http://dovecot.org/">Dovecot</a> IMAP server in the past, so that is what I switched to. It is very fast, easy to configure, and robust. Dovecot can use the excellent <a href="http://wiki.dovecot.org/MailboxFormat/Maildir">Maildir</a> mailbox format which I like because it is simple and fast. Each mail sits in its own file which makes it fast to delete a single message or more it from one folder to another since you don&#8217;t have to rewrite a 200 MiB mbx file&#8230;</p>

<p>Converting the mbx files to Maildir directories was a two-step process: first I used <a href="http://linux.die.net/man/1/mailutil">mailutil</a> to convert from mbx to mbox files:</p>

<pre><code>for f in *; do mailutil -verbose copy $f "#driver.unix/../mboxes/$f"; done
</code></pre>

<p>That was done in the root <code>IMAP</code> folder used by UW-IMAP. The result is a bunch of mbox files in a directory called <code>mboxes</code> besides the <code>IMAP</code> directory. Converting these into Maildir directories was done using the <a href="http://batleth.sapienti-sat.org/projects/mb2md/">mb2md</a> tool. I first converted <code>/var/spool/mail/mg</code> into <code>~/Maildir</code>:</p>

<pre><code>mb2md -m
</code></pre>

<p>I then converted the mbx files in <code>mboxes</code>:</p>

<pre><code>mb2md -s mboxes
</code></pre>

<p>It might have been better to use the <code>-f</code> flag which seems to strip out the dummy messages inserted by UW-IMAP. But deleting them afterwards was easy:</p>

<pre><code>rm ~/Maildir/.*/cur/*.000000.*
</code></pre>

<p>I first looked at the files with <code>cat</code> to verify that they were all dummy messages.  A final problem was the <code>INBOX</code> file which ended up as <code>~/Maildir/.INBOX</code> where it was shadowed by the normal <code>~/Maildir/{cur,new,tmp}</code> directories (which represent <code>INBOX</code> in Dovecot). Moving the contents of <code>~/Maildir/.INBOX/{cur,new,tmp}</code> to <code>~/Maildir/{cur,new,tmp}</code> makes the old inbox messages visible again.</p>

<p>After the conversion I had a nice <code>~/Maildir</code> directory which can be read directly by <a href="http://gnus.org/">Gnus</a> and other mail clients. But I also want to read it remotely from my home machine. This is where Dovecot comes into the picture &#8212; I wanted to use it to present the Maildir as an IMAP server to my Gnus at home. This was very easy:</p>

<pre><code>(setq imap-shell-program "ssh mail.daimi.au.dk dovecot --exec-mail imap")
(setq gnus-secondary-select-methods '((nnimap "daimi" (nnimap-stream shell))))
</code></pre>

<p>This makes Gnus connect to DAIMI via SSH and launch dovecot as an IMAP server. Dovecot defaults to look at <code>~/Maildir</code> so this works out of the box. And it is <em>much</em> faster than the old UW-IMAP server, scanning for new mail now takes about 1 second.</p>

<p>Getting new mail into the Maildir instead of the usual place is a simple matter of making a <code>.forward</code> file:</p>

<pre><code>"|/mail/mg/opt/libexec/dovecot/deliver"
</code></pre>

<p>I compiled Dovecot using <code>--prefix=$HOME/opt</code> so its local delivery agent ends up at <code>$HOME/opt/libexec/dovecot/deliver</code>. I actually use <a href="http://www.courier-mta.org/maildrop/">maildrop</a> to sort and SPAM check my mail (the DAIMI filter is way to lenient) before passing it on to deliver. But the principle is the same.</p>

<p>What I am missing out on here is the ability to use the webmail interface offered by DAIMI. I mostly used this to check that I really saw all message in Gnus since the old IMAP server would often fail to show me new messages in INBOX. That should no longer be necessary with Dovecot&#8230; I guess I could also install my own webmail if needed &#8212; it just has to be able to manipulate a Maildir.</p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2008/05/daimi-mail-system-upgraded/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Get the new VIFF 0.5</title>
		<link>http://mgeisler.net/2008/04/get-the-new-viff-05/</link>
		<comments>http://mgeisler.net/2008/04/get-the-new-viff-05/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 19:23:28 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[VIFF]]></category>

		<guid isPermaLink="false">http://mgeisler.net/?p=689</guid>
		<description><![CDATA[VIFF 0.5 has been released &#8212; this is the latest and greatest VIFF release so far with preliminary support for pre-processing, an actively secure multiplication protocol (it is only twice as slow as the passively secure protocol!) and much more&#8230; Download at http://viff.dk/.

For the next release we are working on improving the documentation by using [...]]]></description>
			<content:encoded><![CDATA[<p>VIFF 0.5 has been released &#8212; this is the latest and greatest VIFF release so far with preliminary support for pre-processing, an actively secure multiplication protocol (it is only twice as slow as the passively secure protocol!) and much more&#8230; Download at <a href="http://viff.dk/">http://viff.dk/</a>.</p>

<p>For the next release we are working on improving the documentation by using the excellent <a href="http://sphinx.pocoo.org/">Sphinx</a> documentation generator. This is the same system used by <a href="http://docs.python.org/dev/">Python itself</a> and I really like the way it encourages us to write documentation for <em>humans</em> instead of <em>computers</em>. By that I mean that the documentation is more free-form and so you automatically stop writing stuff like</p>

<pre><code>@param share_a: The first share.
@type share_a: Share
</code></pre>

<p>which adds nothing to the documentation, except filling out some blanks in the generated API doc.</p>

<p>If you have any ideas for VIFF, then please <a href="http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk">let us hear</a>! We would love to see more people use it &#8212; please tell us what is good and what is bad about the framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2008/04/get-the-new-viff-05/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lots of releases</title>
		<link>http://mgeisler.net/2008/03/lots-of-releases/</link>
		<comments>http://mgeisler.net/2008/03/lots-of-releases/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 10:14:10 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[Computing]]></category>

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

		<guid isPermaLink="false">http://mgeisler.net/2008/03/lots-of-releases/</guid>
		<description><![CDATA[A lot is happening in the Python world right now:


VIFF 0.4 was released two weeks ago. It has the usual number of bug fixes and introduces new asymmetric commands. This means that you can write MPC programs where only a subset of the players give or receive output.
Mercurial 1.0 has been released! I have been [...]]]></description>
			<content:encoded><![CDATA[<p>A lot is happening in the Python world right now:</p>

<ul>
<li><p><a href="http://viff.dk/">VIFF 0.4</a> was released two weeks ago. It has the usual number of bug fixes and introduces new asymmetric commands. This means that you can write MPC programs where only a subset of the players give or receive output.</p></li>
<li><p><a href="http://www.selenic.com/mercurial/">Mercurial 1.0</a> has been released! I have been a happy Mercurial user for about a year now, and I must say that I&#8217;m very impressed with the speed and flexibility it offers. Subversion was simpler and cleaner than CVS, and Mercurial is even simpler, yet more powerfull. I strongly suggest that you consider using Mercurial for your next project, it is already used by large players like Mozilla and Solaris.</p></li>
<li><p><a href="http://twistedmatrix.com/">Twisted 8.0</a> is also freshly released. We are using Twisted in VIFF, and I have been very happy with it. The Twisted code has this nice property that when you read it you realize that there is no magic going on and that things are generally written the way you would expect them to be.</p></li>
</ul>

<p>Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2008/03/lots-of-releases/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VIFF version 0.3</title>
		<link>http://mgeisler.net/2007/12/viff-version-03/</link>
		<comments>http://mgeisler.net/2007/12/viff-version-03/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 20:33:12 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://mgeisler.net/2007/12/viff-version-03/</guid>
		<description><![CDATA[Tonight I released the third major version of VIFF: version 0.3. This version introduces secure communication using Transport Layer Security (TLS, the successor to SSL). This is quite cool, for that means that we can finally judge the performance in a realistic setting with all the network overhead. My initial benchmarking seems to indicate that [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight I released the third major version of <a href="http://viff.dk/" title="Virtual Ideal Functionality Framework">VIFF</a>: version 0.3. This version introduces secure communication using Transport Layer Security (TLS, the successor to SSL). This is quite cool, for that means that we can finally judge the performance in a realistic setting with all the network overhead. My initial benchmarking seems to indicate that TLS gives <a href="http://article.gmane.org/gmane.comp.cryptography.viff.devel/43">no or only a very little slowdown</a>.</p>

<p>You can download VIFF from <a href="http://viff.dk/">http://viff.dk/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2007/12/viff-version-03/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VIFF 0.2</title>
		<link>http://mgeisler.net/2007/11/viff-02/</link>
		<comments>http://mgeisler.net/2007/11/viff-02/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 14:18:41 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://mgeisler.net/2007/12/viff-02/</guid>
		<description><![CDATA[Version 0.2 of my little pet project has been released! Changes since version 0.1.1 include:


  Implemented overloaded arithmetic operators, so w = x + y * z now
   adds and multiplies the three shares as expected. Updated API
   documentation. Released using a Distutils setup.py script.


Get it at http://viff.dk/
]]></description>
			<content:encoded><![CDATA[<p>Version 0.2 of my little pet project has been <a href="http://article.gmane.org/gmane.comp.cryptography.viff.devel/9">released</a>! Changes since version 0.1.1 include:</p>

<blockquote>
  <p>Implemented overloaded arithmetic operators, so <code>w = x + y * z</code> now
   adds and multiplies the three shares as expected. Updated API
   documentation. Released using a Distutils setup.py script.</p>
</blockquote>

<p>Get it at <a href="http://viff.dk/">http://viff.dk/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2007/11/viff-02/feed/</wfw:commentRss>
		</item>
		<item>
		<title>In case you haven&#8217;t noticed: VIFF 0.1 is released</title>
		<link>http://mgeisler.net/2007/10/in-case-you-havent-noticed-viff-01-is-released/</link>
		<comments>http://mgeisler.net/2007/10/in-case-you-havent-noticed-viff-01-is-released/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 06:36:00 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[Computing]]></category>

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

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

		<guid isPermaLink="false">http://mgeisler.net/2007/10/if-case-you-havent-noticed-viff-01-released/</guid>
		<description><![CDATA[In my last post I asked you what name you preferred for my cryptographic runtime, and the winner is VIFF, which stands for Virtual Ideal Functionality Framework. Now I just need someone to make a logo with a cute little dog that says &#8220;Viff!&#8221; :-)

I packaged things up in a 0.1 release &#8212; VIFF is [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="/2007/10/vote-for-your-favorite-name/">last post</a> I asked you what name you preferred for my cryptographic runtime, and the winner is VIFF, which stands for Virtual Ideal Functionality Framework. Now I just need someone to make a logo with a cute little dog that says &#8220;Viff!&#8221; :-)</p>

<p>I packaged things up in a 0.1 release &#8212; VIFF is now <a href="http://viff.dk/" title="Virtual Ideal Functionality Framework">online at http://viff.dk/</a> with the Mercurial repository at <a href="http://hg.viff.dk/viff/">http://hg.viff.dk/viff/</a>. If you are interested in the development of VIFF, then consider subscribing to new releases on <a href="http://freshmeat.net/projects/viff/">Freshmeat</a>.  There will be a mailinglist up as soon as Gmane approves my application, stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2007/10/in-case-you-havent-noticed-viff-01-is-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vote for your favorite name</title>
		<link>http://mgeisler.net/2007/10/vote-for-your-favorite-name/</link>
		<comments>http://mgeisler.net/2007/10/vote-for-your-favorite-name/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 12:39:06 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[Computing]]></category>

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

		<guid isPermaLink="false">http://mgeisler.net/2007/10/vote-for-your-favorite-name/</guid>
		<description><![CDATA[Some people complained that my last post contained too much text&#8230; I&#8217;ll make this shorter :-)

A week ago I asked you to help me find a name for a project I am working on. The project is a library of tools for writing secure multi-party computations in Python, and thus I have been calling it [...]]]></description>
			<content:encoded><![CDATA[<p>Some people complained that my <a href="http://mgeisler.net/2007/10/please-help-me-choose-a-name-for-my-project/">last post</a> contained too much text&#8230; I&#8217;ll make this shorter :-)</p>

<p>A week ago I <a href="http://mgeisler.net/2007/10/please-help-me-choose-a-name-for-my-project/">asked you to help me find a name for a project I am working on</a>. The project is a library of tools for writing secure multi-party computations in Python, and thus I have been calling it <em>PySMPC</em> until now. But since the project might one day be rewritten in another language, I would prefer to have another name.</p>

<p>Tord, Dan and Chris suggested new names, and including the ones I had come up with myself, we now have (in alphabetical order):</p>

<ul>
<li>AMPC: Asynchronous Multi-Party Computation, <strong>1 vote</strong></li>
<li>AntiTrust</li>
<li>DTTP: Distributed Trusted Third Party, <strong>1 vote</strong></li>
<li>Jokke: no idea what that would mean, but Rune votes for it. <strong>1 vote</strong></li>
<li>NoTrent</li>
<li>NoTTP: No Trusted Third Party</li>
<li>NoTrust</li>
<li>PEBLE: Paranoid Economy Benchmarking Liability Elimination</li>
<li>SMPC: Secure Multi-Party Computation, <strong>2 votes</strong></li>
<li>smpacman: secure multi-party comp. manager, <strong>1 vote</strong></li>
<li>Trent</li>
<li>VIFF: Virtual Ideal Functionality Framework, <strong>3 votes</strong> (give or take an ∞ or two&#8230;)</li>
</ul>

<p>Please vote for your favorite name (multiple votes are okay) by leaving a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2007/10/vote-for-your-favorite-name/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Please help me choose a name for my project</title>
		<link>http://mgeisler.net/2007/10/please-help-me-choose-a-name-for-my-project/</link>
		<comments>http://mgeisler.net/2007/10/please-help-me-choose-a-name-for-my-project/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 08:00:24 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[Computing]]></category>

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

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

		<guid isPermaLink="false">http://mgeisler.net/2007/10/please-help-me-choose-a-name-for-my-project/</guid>
		<description><![CDATA[I have been busy with a new project this summer, a project that will be part of my PhD in cryptographic protocols. It is working well, but I am not satisfied with the name I have come up with so far.

It is a library which enables you to write multi-party computations (MPC) in an easy [...]]]></description>
			<content:encoded><![CDATA[<p>I have been busy with a new project this summer, a project that will be part of my PhD in cryptographic protocols. It is working well, but I am not satisfied with the name I have come up with so far.</p>

<p>It is a library which enables you to write <a href="http://en.wikipedia.org/wiki/Secure_multi-party_computation">multi-party computations (MPC)</a> in an easy way. A secure MPC protocol is a protocol between a number of players who seek to execute some joint computation, but done in a way in which they reveal nothing about their inputs. If the computation is the evaluation of a function <em>f</em>, then imagine each player <em>Pi</em> holding an input <em>xi</em>. When the protocol is finished, all players must know <em>y</em> = <em>f</em>(<em>x1</em>, <em>x2</em>, &#8230;, <em>xn</em>), but nothing more.</p>

<p>As an example where MPC is helpful, consider a bunch of companies that want to know how they compare to each other. So they want to compute their average profit, but are of course unwilling to share the private information about their expenses and incomes. This is the problem of <em>benchmarking</em> and traditionally this has been solved by having the companies reveal their sensitive information to a mutually <em>trusted third-party</em>. This could be a consulting company which has been paid so much money by the benchmarking participants that they can trust the consulting company not to cheat (the companies have essentially bribed the consulting company to be honest).</p>

<p>Paying a third-party so much money that he or she has no incentive to collude with a player is of course an expensive option. A secure multi-party computation can do the same, but without a trusted third-party. The protocol is designed in such a way that it acts as if there was a trusted third-party, a so-called <em>ideal functionality</em> present. An ideal functionality (IF) should be thought of as a computer which cannot be hacked and which faithfully carries out the program put into it. The players can therefore trust this computer and should simply reveal their private inputs to it.</p>

<p>In real life there is not such computer, but the MPC protocol creates a situation that look exactly as if there had been. This is the definition of security: the real protocol must look exactly as a protocol done in an ideal world. Because no attacks can occur in the ideal world (the IF cannot be attacked by definition) then we conclude that no attacks can occur in the real world as well. And so the protocol is called secure.</p>

<p>My library is written in Python and program written using it looks like this:</p>

<pre><code>import sys
from X.field import GF
from X.config import load_config
from X.runtime import Runtime
from X.util import dprint

Z31 = GF(31)
my_id, conf = load_config(sys.argv[1])
my_input = Z31(int(sys.argv[2]))

rt = Runtime(conf, my_id, 1)
x, y, z = rt.shamir_share(my_input)
result = rt.open(rt.mul(rt.add(x, y), z))

dprint(&#8221;Result: %s&#8221;, result)
rt.wait_for(result)
</code></pre>

<p>This program starts by including some stuff from <strong>X</strong>, which stands for the package name of my library. It is this X that I want to see replaced by something else. The program then defines a field for the computation, loads the configuration and input. A Runtime is then created. The Runtime is used for all computations, it has methods for addition, multiplication, comparison and so on. In this example we compute (<em>x</em>+<em>y</em>)*<em>z</em>. The result is opened, printed and finally we ask the runtime to wait for the result.</p>

<p>The last point where we wait for a result is necessary since my library is asynchronous. The <code>wait_for</code> method goes into an event loop and only returns when the variables given have received a value. I use <a href="http://twistedmatrix.com/">Twisted</a> for the asynchronous infrastructure and it has worked extremely well.</p>

<p>So, if you&#8217;re with me so far, then you should have at least a rudimentary knowledge about MPC and what it is good for. I have already some name suggestions and I hope to get some feedback on them (listed in no particular order):</p>

<ul>
<li><p><strong>NoTTP</strong>, short for <strong>No Trusted Third-Party</strong>. This is what MPC does: it removes the trusted third-party. But does it look good if you write <code>from nottp.field import GF256</code>? Also, the name almost sounds like NoTCP which could be some weird project that loves UDP :-)</p></li>
<li><p><strong>PySMPC</strong>, short for <strong>Python Secure Multi-Party Computation</strong>. The library is written in Python and does SMPC. One might drop the &#8220;S&#8221; and go with PyMPC since nobody wants to deal with in-secure MPC anyway :-) I don&#8217;t like that the name ties the library to Python since I might want to rewrite it in another language in the future.</p></li>
<li><p><strong>Trent</strong> or <strong>NoTrent</strong>. Accourding to Wikipedia, <a href="http://en.wikipedia.org/wiki/Alice_and_Bob">Trent</a> is sometimes used as the name of the trusted arbitrator in cryptographic protocols (like Alice and Bob is used instead of A and B). So this library could be said to give you a virtual &#8220;Trent&#8221; and help you get rid of a real one. I don&#8217;t like the word &#8220;Trent&#8221; since I don&#8217;t think it is that widely used.</p></li>
<li><p><strong>VIFF</strong>, short for <strong>Virtual Ideal Functionality Framework</strong>. The library helps you create protocols that look exactly as if there has been an IF present. Therefore I think it can be said to create a virtual ideal functionality. Accourding to Google, VIFF <a href="http://www.google.com/search?q=VIFF">mostly stands for</a> &#8220;<a href="http://www.viff.org/">Vancouver International Film Festival</a>&#8220;.</p></li>
<li><p><strong>AMPC</strong>, short for <strong>Asynchronous Multi-Party Computation</strong>. This emphasizes the asynchronous nature of the library. I think it is somewhat difficult to pronounce &#8220;AMPC&#8221;.</p></li>
</ul>

<p>Any other suggestions? Which name do you like the most? Please vote by <em>leaving a comment</em>! (Those of you who already know the name I have used so far are kindly asked not to reveal it &#8212; I want to collect some opinious first.)</p>

<p>By the way: instead of the abbreviations, I would prefer a name like &#8220;Twisted&#8221; or &#8220;Python&#8221; which can be pronounced and which people know how to spell and capitalize. There is another project in this area called <a href="http://www.cs.huji.ac.il/project/Fairplay/">FairPlay</a> and I think this is a very good name: easy to remember, it can be abbreviated to just FP, and it actually says a bit about the project. So if you could suggest something along the lines of that it would be great! :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2007/10/please-help-me-choose-a-name-for-my-project/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vrrmmm!</title>
		<link>http://mgeisler.net/2007/10/vrrmmm/</link>
		<comments>http://mgeisler.net/2007/10/vrrmmm/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 16:40:15 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://mgeisler.net/2007/10/vrrmmm/</guid>
		<description><![CDATA[Yes, we now have a car! Stephanie and I have just signed the contract for a Mitsubishi Colt Insport 1.5 &#8212; we will get it next Wednesday, yeah! Behold:



We tried a lot of different small cars, and the Colt was the one that fitted our needs and budget the best. It comes with three years [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, we now have a car! <a href="http://folly.dk/">Stephanie</a> and I have just signed the contract for a <a href="http://www.coltinsport.dk/">Mitsubishi Colt Insport 1.5</a> &#8212; we will get it next Wednesday, yeah! Behold:</p>

<p><img class="centered" src="/images/colt-insport.jpg" alt="Mitsubishi Colt Insport" /></p>

<p>We tried a lot of different small cars, and the Colt was the one that fitted our needs and budget the best. It comes with three years of insurance for only 6,900 DKK ($US 1,300, 925€) which is <em>very</em> cheap in Denmark for first-time drivers. The normal prices are around 10,000&#8211;15,000 DKK <em>per year</em>.</p>

<p>Now we just have to wait nine days&#8230; I&#8217;m so looking forward to it!</p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2007/10/vrrmmm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Thank you so much!</title>
		<link>http://mgeisler.net/2007/07/thank-you-so-much/</link>
		<comments>http://mgeisler.net/2007/07/thank-you-so-much/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 20:50:26 +0000</pubDate>
		<dc:creator>Martin Geisler</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://mgeisler.net/2007/07/thank-you-so-much/</guid>
		<description><![CDATA[
I&#8217;m married! I just want to thank everybody for making yesterday such a wonderful day for me and Stephanie!

I&#8217;ll put the pictures up somewhere later &#8212; for now the &#8220;preview&#8221; on the right will have to make do. Thanks again to everybody for all the presents, thanks for being there and celebrating with us!
]]></description>
			<content:encoded><![CDATA[<p><img src="/images/wedding-preview.jpg" alt="Kissing outside the church." class="alignright" />
I&#8217;m married! I just want to thank everybody for making yesterday such a wonderful day for me and <a href="http://folly.dk/">Stephanie</a>!</p>

<p>I&#8217;ll put the pictures up somewhere later &#8212; for now the &#8220;preview&#8221; on the right will have to make do. Thanks again to everybody for all the presents, thanks for being there and celebrating with us!</p>
]]></content:encoded>
			<wfw:commentRss>http://mgeisler.net/2007/07/thank-you-so-much/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
