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

<channel>
	<title>fifo.nl &#187; xinit</title>
	<atom:link href="http://fifo.nl/author/xinit/feed" rel="self" type="application/rss+xml" />
	<link>http://fifo.nl</link>
	<description>the #fifo aggregate blog</description>
	<lastBuildDate>Wed, 01 Sep 2010 17:32:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Why memcacheDB sucks (and it&#8217;s not just the server side)</title>
		<link>http://www.evenflow.nl/2010/06/12/why-memcachedb-sucks-and-its-not-just-the-server-side/</link>
		<comments>http://www.evenflow.nl/2010/06/12/why-memcachedb-sucks-and-its-not-just-the-server-side/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 19:16:54 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=759</guid>
		<description><![CDATA[Over the last week, at Delta Projects, I've been working on replacing MemcacheDB with Cassandra. We have run with MemcacheDB for a while, because we store data that we can't store client side and we need some way of storing this serverside. Since the data needs to be available really quickly and has to be [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last week, at Delta Projects, I've been working on replacing MemcacheDB with Cassandra. We have run with MemcacheDB for a while, because we store data that we can't store client side and we need some way of storing this serverside. Since the data needs to be available really quickly and has to be persistent, MemcacheDB (a server that exposes more or less the same API as Memcache, but persists to disk) was put in place some time ago. This worked well for a while, but since we're expanding, the requirements changed for storing data server side. The initial requirements were pretty clear: we can get away with a key/value store, latency is important and the data should be persistent. However, since we're going to run with multiple data centers, the requirements have changed. The initial requirements are still valid, but when running over multiple locations, we would like to have all data available in all locations. Next to that, scaling MemcacheDB is hard. We ran with two MemcacheDB servers, where data was sharded, but the databases on both machines outgrew the physical memory in the servers, which caused a huge impact on performance. Since data is sharded and not replicated, you can't just pop in an extra box and lessen the load on the other servers. You have to rebalance manually. So we went on a quest for different server side storage solutions that would fulfill our requirements.</p>
<p>Long story short, we decided on Cassandra.</p>
<p>Cassandra is more than a key/value store. It's a distributed data store that uses Bigtable's ColumnFamily design, which will allow us to use our data differently than just storing and retrieving data by using keys; we can actually query the data. Anyway, the decision was made to move from MemcacheDB to Cassandra and we had to come up with a migration path. The path we envisioned would be:</p>
<ul>
<li>Keep reading and writing from and to MemcacheDB but also write to Cassandra.</li>
<li>Stop writing to MemcacheDB and start reading from Cassandra first and have MemcacheDB as a fall-back if we can't read from Cassandra.</li>
<li>In the mean time copy data from MemcacheDB. Keys that are not in Cassandra will be copied, the others will be skipped</li>
<li>Disable reading from MemcacheDB.</li>
</ul>
<p>This meant that we had to run with both Cassandra and MemcacheDB at the same time.</p>
<p>While investigating the use of Cassandra, we found out that the Ruby client for Cassandra doesn't deliver. Mainly because Cassandra uses Thrift and the Thrift client for Ruby isn't too good. However, Hector, a Java client for Cassandra, worked flawlessly. This, together with some other discoveries<sup>1</sup> made us decide to move our application from MRI Ruby (the standard Ruby interpreter) to JRuby (a Ruby interpreter on the JVM). The nice thing about JRuby is that we were able to use best of both the Java and the Ruby world. Most Ruby code runs well in Ruby, but sometimes code has to be adjusted a little or sometimes it's better to use a JRuby version of a specific library; one that's more suited for running on the JVM.</p>
<p>So, we added Cassandra support to our application and moved from the standard Ruby memcache client to the JRuby version. The JRuby version is a small wrapper that exposes the same API as the Ruby version and wraps an existing Java Memcache client. However, after some testing, we found out that the way keys are distributed over the MemcacheDB servers is not the same in both implementations. Both implementations used different algorithms to determine which key should be placed on which server. The Java version provides the ability to choose between three different algorithms, while the Ruby version only provides one, but neither one is compatible with the others.</p>
<p>For getting our JRuby application to talk to our MemcacheDB servers, we had two options; patch the Java version so it behaved like the Ruby version, or just run with the Ruby version (JRuby is still Ruby, right?). Initially, we chose the latter option, which seemed to be the quickest fix. Just pop in the gem and you're done.</p>
<p>Right.</p>
<p>In the MRI Ruby version of our application, we used one MemcacheDB client per process (and then running with multiple processes), while in the JRuby version, we had to run with one client per Java thread. The standard Ruby version of the client is not very good with Java threads and apparently, TCP sockets are handled differently in Java then when using the MRI interpreter. Sockets would linger for a very long time and when the MemcacheDB server would be unresponsive for a while and we would try to reconnect, we would end up with a lot of established connections that were never going to be used, but also never closed. The JRuby version didn't seem to have all these problems and is (obviously) much better suited to run in the JVM; it uses nice socket pools and such.</p>
<p>Not to waste time, we started patching the JRuby client to mimic the behavior of it's Ruby counterpart, which worked out pretty well. We still have to test it a little bit more thoroughly, but the first tests look promising.</p>
<p>The last couple of days have been a head-breaking quest, but I think we've finally nailed it. We really need to move to Cassandra soon, since MemcacheDB is only going to give us a lot more headaches. At least I got to code some Java again and I learned quite a few things about MemcacheDB and how sharding actually works. I also learned that MemcacheDB is a bad choice. Implementing it is done fairly quickly (since you can just use a Memcache client), but it doesn't scale and apparently the sharding differs from one implementation to the other (what if you run multiple applications accessing MemcacheDB and all are written in different languages?). It's too bad that we spent a lot of time finding a solution for something that is going to be replaced very soon.</p>
<p>If you're writing a new application and need persistent cache or something other than a SQL database, check out alternatives like Cassandra or MongoDB.</p>
<address>1. We decided not to use Scribe for writing to HDFS, but rolled our own code using ActiveMQ, in-process.</address>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2010/06/12/why-memcachedb-sucks-and-its-not-just-the-server-side/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is it worth contributing to open source software?</title>
		<link>http://www.evenflow.nl/2010/06/05/is-it-worth-contributing-to-open-source-software/</link>
		<comments>http://www.evenflow.nl/2010/06/05/is-it-worth-contributing-to-open-source-software/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 11:00:54 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=755</guid>
		<description><![CDATA[Over the last couple of weeks, my colleagues and me at Delta Projects have been working on some extra functionality for Facebook's Scribe server. Scribe is a server that logs messages. It can do this to multiple different "stores" and does failover from one store to the other if one fails. In our case, we [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">Over the last couple of weeks, my colleagues and me at Delta Projects have been working on some extra functionality for Facebook's Scribe server. Scribe is a server that logs messages. It can do this to multiple different "stores" and does failover from one store to the other if one fails. In our case, we wanted Scribe to log messages from our ad servers to HDFS and in case of an HDFS failure, write to local disk and replay those logs, once HDFS becomes available again.</div>
<div id="_mcePaste">After some investigation, we noticed that Scribe was very static in the way file paths were constructed and we couldn't fulfill our requirements; we want to have our log files structured in a directory structure like /year/month/day/hour/adserver.log.</div>
<div id="_mcePaste">Here is where open source software is great: you have the code, so you can modify it yourself. So we did. We spent a couple of hours implementing dynamic file paths and then committed the feature to our own github fork of scribe. We posted the patch to the Scribe mailing list and spoke about it on IRC with some guys of Facebook and Twitter, but not much happened.</div>
<div id="_mcePaste">Another requirement is that we store our data compressed on HDFS, but Scribe doesn't come with compression. There is a patch for LZO from Twitter, but because of license issues, this patch will never make it into the main branch of Scribe. Because of this, we decided that we would either use FastLZ or BZip2 for our purposes. But again, Scribe has no built-in support for compression.</div>
<div id="_mcePaste">Since we already poked around in the Scribe code, we decided to implement compression ourselves. The problem with Scribe however is that it basically untested. There are a couple of tests written in PHP, but the don't cover the whole application. Next to that, the Scribe source (written in C++) is a mess. It's one big hack. No neat design patterns, a lot of dead code everywhere, classes with way too much responsibility, etc. So, for our implementation of compression, we figured that it would be nice not to hack it in there (even the LZO patch from Twitter seemed like a quick hack), but do it correctly, so that we wouldn't only introduce new functionality, but also clean up a lot and refractor ugly parts of the code. We extracted and abstracted a lot of code and put it in the right place (using a lot of practices that Uncle Bob preaches in "Clean Code"). And as icing on the cake, we threw in tests. We introduced Google Tests, a C++ testing framework and wrote tests for every piece of code that we wrote.</div>
<div id="_mcePaste">Then the day came that our work was finished, so we committed our changes to our github branch and posted our patch to the scribe mailing list. The patch was around 200k (including the tests), which is big and apparently, it scared the guys at Facebook, because after that, nothing happened. The only response was that the patch was too big and we we're asked if we could cut it up in smaller pieces, so reviewing the code would be easier. Unfortunately, we couldn't do this, since so many interweaved concepts were pulled apart and put into different places. We would have to retrace our steps and create a patch for every one of them, with having a working system after every step.</div>
<div id="_mcePaste">The end result is that we have a lot of (imho really nice) code, that probably nobody is going to use. I even think that we're not going to use it either, since it's in a branch of Scribe that is only maintained by us. If it would be in the main branch of Facebook's Scribe, the code would be maintained by "the community", but keeping it only in our branch will cause a divergence of our branch in the future and we don't want to maintain a spin-off of Scribe for ages to come.</div>
<div id="_mcePaste">I think it's great that companies like Facebook and Twitter open source a lot of software, but when there is no large community outside of those companies, adding features might not be worth it. Scribe only seems to be used (on a large scale) by Twitter and Facebook and whatever suits them will make it to the main branch. If only it was covered by tests, then the maintainers could have quickly verified our work, but now, there is no reason for Facebook to merge in our patch, so there is no need for allocating resources to review our changes. And again, forking the whole project and maintaining it isn't an option for us. We'll move on to other technology..</div>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2010/06/05/is-it-worth-contributing-to-open-source-software/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby&#8217;s garbage collector and caching</title>
		<link>http://www.evenflow.nl/2010/02/20/rubys-garbage-collector-and-caching/</link>
		<comments>http://www.evenflow.nl/2010/02/20/rubys-garbage-collector-and-caching/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 19:01:07 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=753</guid>
		<description><![CDATA[My current job at Delta Projects is great in terms of working with high volumes. The fact that we serve around 50+ million ads a day creates the need for different approaches in terms of storing and retrieving data. Our ad servers for example are completely independent from the backend. Business logic and models are [...]]]></description>
			<content:encoded><![CDATA[<p>My current job at <a href="http://www.deltaprojects.se" >Delta Projects</a> is great in terms of working with high volumes. The fact that we serve around 50+ million ads a day creates the need for different approaches in terms of storing and retrieving data. Our ad servers for example are completely independent from the backend. Business logic and models are exported as code in our backend systems and pushed to our array of ad servers. Content itself is put into a git repository and is updated regularly by the ad servers. The backend system is unaware of which ad servers there are. Raw data is pushed back from the ad servers and processed later.</p>
<p>Because we want to serve ads as quickly as possible (and creating the least possible delay on the page that uses ads that are served by us), we cache ads on the ad servers. Some weeks ago however, we noticed that CPU usage was increasing at a very high rate over time. Memory usage was also increasing, but not as quickly as the CPU usage. The memory increase was caused by the fact that we stored ad meta data in memory inside our application. Since we run around 10 Unicorn processes, an ad would be in memory 10 times, but that wasn't such a big deal, since we run with a lot of RAM. The CPU consumption was more worrying. After some investigation we found out that when all ads are loaded in memory, we had a lot of string objects in memory (around 1.2 million) that were retained, since a global cache array would keep a reference to them. In other words, the objects are never garbage collected. But, since ruby 1.8 has a non-generational GC, all objects are inspected by the GC and having 10 processes performing a GC run over 1.2 million objects every now and then, caused a lot of CPU load.</p>
<p>So, we needed a better way of caching. Memcached was our first idea, but having yet another process on which we depend didn't feel like such a good idea. Since it's a local cache, my colleague <a href="http://www.cpost.se" >Kalle</a> came up with the idea of storing our cache data on tmpfs. Our application takes care of filling the cache (since it serializes ad meta data) and reading from it. Invalidating cache items is now done through a git hook, that simply removes a file that has been updated or deleted from tmpfs.</p>
<p>This al lead to a tenth of the memory consumption and  a lot less and constant cpu usage.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2010/02/20/rubys-garbage-collector-and-caching/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finger part II</title>
		<link>http://www.evenflow.nl/2010/02/12/finger-part-ii/</link>
		<comments>http://www.evenflow.nl/2010/02/12/finger-part-ii/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 21:09:16 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=751</guid>
		<description><![CDATA[Last time I blogged, I was sitting at the hospital (Huddinge Sjukhus, for the people who like to know where I go), waiting for my doctors appointment to check out how my finger was. Well, the fractures in my finger (about five or six in the little bone) were healing, but my finger was rotated. [...]]]></description>
			<content:encoded><![CDATA[<p>Last time I blogged, I was sitting at the hospital (Huddinge Sjukhus, for the people who like to know where I go), waiting for my doctors appointment to check out how my finger was. Well, the fractures in my finger (about five or six in the little bone) were healing, but my finger was rotated. When making a fist, my finger doesn't go in the normal direction, but a few degrees too much to the other side. The orthopedic doctor didn't really know what to do with it and told me that I should go to the hand surgeon in a different hospital (Södersjukhuset this time) and let him check what we should do. The doctor made me and appointment on Monday morning, which meant that they would wrap up my finger in plaster again for the weekend. She told me that I should be at the hand surgeon sober, since if this guy wanted to operate on my finger, he might do it the same day. Well that kind of sucked. I wasn't really looking forward to getting my finger operated, since I want to use a computer. On Monday, I went there and after another set of x-rays the surgeon told me that my finger was rotated a bit and that there were 3 options: operate now and make it straight, operate later (which means breaking it again) and make it straight or just live with it and accept the fact that I have a crooked finger. The doctor wasn't a big fan of operating now, since the results might not be that great and there would be a chance of having scar tissue, since my muscles are still recovering. The same goes for operating later, but then the results might be slightly better. But operating would mean a stiff finger for 3 to 6 months. Keeping it as it is would give me back 100% strength and grip with the help of physiotherapy, but the only thing would be that my finger will always be a little bit rotated. No biggie I think, so I decided to leave it for now and do physiotherapy. The doctor gave me a splint that I can take off at work and that I have to wear for two weeks, outside and when I sleep, since my finger is still broken. After that, I should use the thing for 4 more weeks when doing something dangerous (whatever that means). Så, all well, I think.. I can type and thus code again, which was (apart from the difficulty of wiping my ass with my left hand) the biggest annoyance of not being able to use my right fingers..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2010/02/12/finger-part-ii/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Awesomeness and a broken finger</title>
		<link>http://www.evenflow.nl/2010/02/05/awesomeness-and-a-broken-finger/</link>
		<comments>http://www.evenflow.nl/2010/02/05/awesomeness-and-a-broken-finger/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 08:10:03 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=748</guid>
		<description><![CDATA[Sorry, I'm a bad blogger. I promised a lot of people to blog about my move to Sweden, but I haven't. And since I still don't have a mobile phone subscription, I can't use twitter as I used to, every moment of the day. The short version is in the title: Sweden is awesome and [...]]]></description>
			<content:encoded><![CDATA[<p>Sorry, I'm a bad blogger. I promised a lot of people to blog about my move to Sweden, but I haven't. And since I still don't have a mobile phone subscription, I can't use twitter as I used to, every moment of the day. The short version is in the title: Sweden is awesome and I broke a finger.</p>
<p>The somewhat longer version is that life is great here. Me and Kasia are doing great; I'm having such a great time being with her. Work is great too. I'm doing pretty cool stuff, both coding and tinkering with networks and unix systems to squeeze out every possibility to get even better performance. We're currently serving 50 million ads a day (and yes, online ads.. I sold my soul) with just a hand full of servers, running a Ruby application. The team I'm working with consists of only smart an experienced people, which makes it even better. I'm learning every day.</p>
<p>My Swedish isn't really great yet. I've signed up for a course, but I have to wait some months to start, since it's fully booked. In the mean time I'm doing some Rosetta Stone, but not so much. I hear a lot of Swedish at work, but everybody speaks English, so there is no real need to speak Swedish. Reading is not so hard, since there are a lot of commonalities with Dutch, but speaking is a lot more difficult.  However, I had a small breakthrough yesterday, when I went to the hairdresser. She doesn't speak English, so I was forced to speak Swedish and I had an actual (and pretty decent) conversation with her! I guess it's all about not being shy and just try.</p>
<p>Swedes are friendly people and very modest. Business is somewhat different than in the Netherlands. For example, meetings are different. In the Netherlands, often people go into a meeting with a goal. Decisions should be made. A general consensus is OK, but there should be a result after a meeting. Here it's different. Meetings are for listening to people and talk about the stuff that needs attention, but decisions are made at the coffee machine. I read some articles about this and some said that Swedish mentality is closer to the way people do business in Belgium, but I'm not sure. Belgians seem far more hierarchical; one person is the boss. Here, it's more about compromises and talking.</p>
<p>Some people asked me if Sweden is expensive. I guess it can be, but apart from the alcohol, it feels a bit like the Netherlands. Of course my salary is in Swedish Kronor, so it's harder to compare, but I don't really have the feeling that products are that more expensive here. I must admit that I'm not very price aware, so it's more a gut feeling. VAT is higher; 25% and 12% instead of 19% and 6%, but I guess you get a lot back from that. Alcohol is excessively expensive though. Half a liter (note to Wayne: "I'm sorry sir, I don't know what a liter is") of beer costs roughly Euro 6,50 in a bar and a Mojito is roughly Euro 13,-. Next to that, you can't buy wine or (normal) beer in the supermarket. There is only one company that sells alcohol and it's run by the government and there a bottle of beer is about Euro 1,50. In the supermarket you can buy 3.5% vol. beer, but that just tastes like water.</p>
<p>But you get a lot back for the stuff you pay. Public transport is good. I think it's better than in the Netherlands. Metro runs pretty much on time (in the Dutch meaning of the word) and often. Swedes tend to have a thing for time. If the metro is 3 minutes late, it's late. 13 past the hour isn't a quarter past, it's 13 past. Interesting difference.</p>
<p>Another thing you get is health care. Paying for that is done through taxes, directly. Not through strange systems with insurance companies. If you need health care, you will get it. Everybody is equal. The first 900 kr (90 euro's) per year, you'll have to pay by yourself, and then it's free for 365 days.</p>
<p>How do I know this? Experience. 3 weeks ago I broke my right ring finger. I went snow boarding with a friend and at the beginning of the first run, I touched the ground with my hand while trying to keep balance. It hurt, but I thought that it would be just a contusion. It wasn't even a cool crash or anything and I had been standing on my board for only 5 seconds. I went to the first aid at the slope to have it checked, but the guy there said it was probably only a contusion and that it was just a little bit swollen. so, I continued boarding for a couple of hours. My finger turned blue and purple the next day, but when the swelling disappeared after a couple of days. I still couldn't move it and it still hurt, so I decided to see a doctor and after some x-rays it turned out to be broken. At the hospital, I got a cast that is coming off today. I'm actually sitting at the hospital while writing this piece. I just had x-rays and I have a doctors appointment in an hour. Hope it healed a bit and that they'll take off the cast, because it's really uncomfortable and typing is pretty hard.</p>
<p>I'll try to make some more time in the future to blog and I hope I can get a mobile subscription soon, so I'm able to be online a bit more. But I'm alright!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2010/02/05/awesomeness-and-a-broken-finger/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The first week</title>
		<link>http://www.evenflow.nl/2009/12/02/the-first-week/</link>
		<comments>http://www.evenflow.nl/2009/12/02/the-first-week/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 19:44:13 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=744</guid>
		<description><![CDATA[For everybody I didn't speak, or who doesn't follow me through other ways: I have arrived and I'm great! The last week has been pretty busy. On Thursday, I moved. Wayne drove me and it took about 15 hours to get from Utrecht to Stockholm. It was kind of strange to close the door behind [...]]]></description>
			<content:encoded><![CDATA[<p>For everybody I didn't speak, or who doesn't follow me through other ways: I have arrived and I'm great! The last week has been pretty busy. On Thursday, I moved. Wayne drove me and it took about 15 hours to get from Utrecht to Stockholm. It was kind of strange to close the door behind me, but I was really prepared for the moment. We drove through Germany, took the ferry to Denmark (probably the most boring country in Europe) and from there drove to Sweden, using the tunnel and bridge between Copenhagen and Malmö. Malmö is about halfway, so it took around 7 hours to drive up to Stockholm. In the evening we finally arrived and it was great to see my girl again. My sister and my mom were already there and the following weekend we spent strolling around Stockholm. My girl threw me a welcome party on Saturday, which was awesome. Some people I already knew where there and I met some new ones. On Sunday, my mom and sister said goodbye and went back to the Netherlands. Because of all the traveling, moving and stress of the last couple of months, we didn't do a lot in the evening. On Monday, I went to some government offices to take care of the paperwork and on Tuesday, I started my new job. The company is great; a lot of very smart people and a great atmosphere. In the next couple of days/weeks I'll get more adjusted, but I really feel home here. Life is great!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2009/12/02/the-first-week/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ready.. set.. go!</title>
		<link>http://www.evenflow.nl/2009/11/22/ready-set-go/</link>
		<comments>http://www.evenflow.nl/2009/11/22/ready-set-go/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 19:19:33 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=742</guid>
		<description><![CDATA[I'm almost done. Yesterday, I said goodbye to a lot of friends and some family during the party I threw. It was amazing to see how many people came and to talk to all of them. Of course I'm not gone, but I know that I will see many a lot less and will probably [...]]]></description>
			<content:encoded><![CDATA[<p>I'm almost done. Yesterday, I said goodbye to a lot of friends and some family during the party I threw. It was amazing to see how many people came and to talk to all of them. Of course I'm not gone, but I know that I will see many a lot less and will probably not speak with them so often, so it was good to speak and remember great times together. Thanks to all of you who joined me in celebrating the beginning of a new chapter in my life! I had a lovely day and will remember this for the rest of my life.</p>
<p>My task list is almost empty. I sold my car, my dad took care of the beds and tomorrow I will bring the cats to their temporary home. In February I will fly back to get them. The last thing to do is to actually drive. Thursday the 26th at 5 o'clock in the morning, we drive. It's a 16 hour drive through Germany and Denmark and I really can't wait. Over the last weeks I felt a little nervous and excited, I felt stressed, but after yesterday, I feel only excitement. I took care of everything and everything worked out very well, so I am ready!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2009/11/22/ready-set-go/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Only 2 weeks to go..</title>
		<link>http://www.evenflow.nl/2009/11/13/only-2-weeks-to-go/</link>
		<comments>http://www.evenflow.nl/2009/11/13/only-2-weeks-to-go/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 21:15:16 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=739</guid>
		<description><![CDATA[I thought I'd write more about the progress of moving to Sweden, but I've been terribly busy lately. In short, the status is that almost everything is done! At least the most important stuff. First, I found a job. I'll start the 1st of December at a company called The Delta Projects, where I'll start [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I'd write more about the progress of moving to Sweden, but I've been terribly busy lately. In short, the status is that almost everything is done! At least the most important stuff. First, I found a job. I'll start the 1st of December at a company called <a href="http://www.deltaprojects.se" >The Delta Projects</a>, where I'll start as a System Developer. I'll probably start working on their flagship product <a href="http://www.adaction.se/" >AdAction</a>, with which they serve about 30 million online ads a day. I've met with my new manager 3 times already and spoken to my new colleagues twice and I'm really excited to start. I'll probably code in Ruby a lot and play with new technology.</p>
<p>The second biggy is that my house is rented. Thanks to Wayne, I was able to rent it to a company. The house worried me a bit, since it's not that easy to rent it for the price I wanted to get for it, but it finally worked out.</p>
<p>My cats will stay in the Netherlands for about 3,5 months, since they need a rabies check, 120 days after their vaccination. Through <a href="http://clubvan100.rvu.nl" >http://clubvan100.rvu.nl</a> I found someone that is willing to take care of them for a couple of months.</p>
<p>The rest was basically canceling  lot of subscriptions, getting the right documents from the Dutch government, canceling my company and so on.</p>
<p>My friend Wayne is going to drive me to Stockholm on the 26th of November. Today I started packing my stuff, since next week we're going to try if everything fits in his car, but from the looks of it, it might fit.</p>
<p>The only things I still need to do is to sell my car and take care of my bed. Since 4 expats will live in my house, I would like to trade my bed (boxspring) for 4 single beds. So if you happen to know anyone, let me know.</p>
<p>The final date comes is really in sight and I can't wait to go. Me and the misses are great and it feels more and more that this has been the right choice.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2009/11/13/only-2-weeks-to-go/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pre-migration party!</title>
		<link>http://www.evenflow.nl/2009/09/26/pre-migration-party/</link>
		<comments>http://www.evenflow.nl/2009/09/26/pre-migration-party/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 20:44:18 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=734</guid>
		<description><![CDATA[At the 21st of November, I'm throwing a party. This is of course because because I'm migrating. I don't like the words farewell or goodbye party, since I'm not saying goodbye to anyone. I'm just moving to another country. If you feel that you should celebrate with me, you should be there. The location isn't [...]]]></description>
			<content:encoded><![CDATA[<p>At the 21st of November, I'm throwing a party. This is of course because because I'm migrating. I don't like the words farewell or goodbye party, since I'm not saying goodbye to anyone. I'm just moving to another country. If you feel that you should celebrate with me, you should be there. The location isn't clear yet. Could be my house, could be somewhere else. Details will follow. If you want to join me, let me know (I have an <a href="http://www.facebook.com/event.php?eid=141913462946&amp;ref=mf" >event page on Facebook</a>, or you can just email me, <a href="http://twitter.com/xinit">twitter</a> or comment below), so I can make sure that there will be enough drinks. It will probably be the last time that I'll be able to throw a party with (relatively) cheap booze.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2009/09/26/pre-migration-party/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A new date &#8211; moving early</title>
		<link>http://www.evenflow.nl/2009/09/15/a-new-date-moving-early/</link>
		<comments>http://www.evenflow.nl/2009/09/15/a-new-date-moving-early/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 21:02:18 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=731</guid>
		<description><![CDATA[In my last post, I wrote about my plans for moving to Stockholm, Sweden. I forgot to mention the exact date, but later, I edited the post and said that it would be the 1st of February 2010. Over the last few weeks I've been speaking to people to find a job and I already [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://www.evenflow.nl/2009/09/07/big-news-im-migrating/">last post</a>, I wrote about my plans for moving to Stockholm, Sweden. I forgot to mention the exact date, but later, I edited the post and said that it would be the 1st of February 2010. Over the last few weeks I've been speaking to people to find a job and I already had a job interview in Stockholm with a company that seems very interesting. Because I sold my shares in Jewel Labs and staying in the Netherlands will only cost me money, I decided (after discussing this with my colleagues, my family and my girl) to move to Stockholm early. The planning now is to move before the 1st of December. Of course, I still need to rent my apartment to someone (contacted some companies that rent stuff to expats) and find a job, but I know that everything will work out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2009/09/15/a-new-date-moving-early/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Big news: I&#8217;m migrating</title>
		<link>http://www.evenflow.nl/2009/09/07/big-news-im-migrating/</link>
		<comments>http://www.evenflow.nl/2009/09/07/big-news-im-migrating/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 18:00:11 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=717</guid>
		<description><![CDATA[Let me just cut to the chase: I'm moving to Stockholm.
For real. Not just for a holiday, or something else. I'm moving there to start a new life. Some months ago, I met an incredible girl and fell in love. She's living in Stockholm, Sweden and since I've had a long distance relationship before, I [...]]]></description>
			<content:encoded><![CDATA[<p>Let me just cut to the chase: I'm moving to Stockholm.</p>
<p>For real. Not just for a holiday, or something else. I'm moving there to start a new life. Some months ago, I met an incredible girl and fell in love. She's living in Stockholm, Sweden and since I've had a long distance relationship before, I know that being apart for too long is not going to work for me. We spoke about how a relationship would be possible and the only way seems to be close to each other. Because of circumstances, I would be the one that should move and after some consideration, I decided to take the plunge an just go.</p>
<p>Of course, there will be stuff and people that I leave behind. Family and friends, but Stockholm isn't so far (cheap 1.5 hour flights from and to Eindhoven), my house (I will rent it to someone), my company (this was actually the hardest part of the decision) and swimming with my visually impaired friends. I told most of the people close to me about my plans already (I'm really sorry for the people who I didn't tell yet. It's not something personal).</p>
<p>Since I want me and her to be boyfriend and girlfriend like other people, I will rent my own place at first. Next to that, I'm currently looking for a job as a Ruby developer in Stockholm, so if you happen to have connections there or you are looking for a developer in Stockholm, let me know. I deliberately decided to quit my current job, since I also want to build social life. I know it sucks for my current colleagues, but this is something I need to do. Some time ago (before I met her actually), I figured that I don't want to regret stuff I didn't do. Some things I did, I regret, but I learned from my mistakes, but <strong>not</strong> doing things that I could have done.. It's a whole different story.</p>
<p>My house, I will rent to someone. Preferably to a friend or an acquaintance, so if you would like live in Utrecht, 5 minutes from the central station, in the middle of the great neighborhood of Lombok, let me know. It's a two story house (about 85 m2) with a large living room, two bedrooms, kitchen, bathroom (with bath) and a small back yard. I'm considering renting it furnished, but this depends who is going to rent my house (I might do it through a rental company if I don't find someone I know).</p>
<p>Of course there will be things that I'm going to miss (think peanut butter, stroopwafels and other typical Dutch things), but most of all, I'll miss my friends and family. But since flying is cheap, I will still be able to see all of them. Because of the Internet, everybody is only 30ms away. The only thing is that if someone will visit me there, he or she needs to take alcohol, since in Sweden alcohol is very expensive. Swimming every Wednesday, I will miss. If there's anyone out there that wants to do some voluntary work and drive 2 or 3 people from Utrecht to Amersfoort once a week and swim for an hour, let me know. I've been doing this for over 2 years now and I still like it a lot.</p>
<p>Luckily people speak English very well in Sweden, but I've already started learning the Swedish language. I bought Rosetta Stone and I really like it. Swedish isn't so hard for Dutch people; there are a lot of similarities and the grammar is not so difficult (no cases, no conjugation of verbs), so I'll manage.</p>
<p>As said, I already told most people that are really close and I got great support from all of them. Since I've never done this before, I'm very open for advice from anyone. Over the coming months, I'll keep all of you updated on the progress I make on my blog and probably also on Twitter.</p>
<p>All in all, this feels like the right decision and I'm looking forward to living there, in a beautiful country, with a beautiful girl.</p>
<p>And oh, my cats will be moving too <img src='http://www.evenflow.nl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Edit</strong>: I forgot to mention the date. I'm moving before the 1st of February 2010</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2009/09/07/big-news-im-migrating/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HAR2009 and a social experiment</title>
		<link>http://www.evenflow.nl/2009/08/16/har2009-and-a-social-experiment/</link>
		<comments>http://www.evenflow.nl/2009/08/16/har2009-and-a-social-experiment/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 21:37:51 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=713</guid>
		<description><![CDATA[Last 4 days I spent at Hacking At Random, a festival for hackers held here in the Netherlands and I really enjoyed everything that was going on there. The atmosphere was great and I had great conversations with a lot of people from all over the world. This time, I really liked that a small [...]]]></description>
			<content:encoded><![CDATA[<p>Last 4 days I spent at <a href="http://www.har2009.net">Hacking At Random</a>, a festival for hackers held here in the Netherlands and I really enjoyed everything that was going on there. The atmosphere was great and I had great conversations with a lot of people from all over the world. This time, I really liked that a small project was born amongst the people I was with (mainly pruts.nl members). At the festival, visitors had the ability to register their DECT telephone to <a href="http://www.eventphone.de">Eventphone</a>, so you could use your own phone to call other visitors and even call to the outside world. More than 800 visitors (out of 2200) had their phone registered which made meeting people very easy. Next to using a DECT phone, you were also able to hookup SIP enabled stuff to the telephony network.</p>
<p>Since we wanted to stimulate social interaction at the festival, we set up an Asterisk server and connected it to the telephony network via SIP. Then we took the whole address book that is published by Eventphone and put it in a database. After writing some scripts, we had the possibility to randomly select a phone extension and call this. After listening to <a href="http://www.evenflow.nl/wp-content/uploads/2009/08/hello-8k.wav">an announcement</a>, the call was put into a conference call. Since not all phones were connected and not everybody picked up, we participated in the calls sometimes, to keep things alive. Normally a person would pick up the phone and we'd pretend that we were also randomly called, so that an actual conversation was held. When more people picked up and added to the call, we stopped talking and let the others (mostly 2) people have their conversation.</p>
<p>The nice thing about this was that everybody reacted in a very positive way. People who were called and also the (not so many) people we told what we were up to were all enthusiastic by the whole thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evenflow.nl/2009/08/16/har2009-and-a-social-experiment/feed/atom/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.evenflow.nl/wp-content/uploads/2009/08/hello-8k.wav" length="282726" type="audio/x-wav" />
		</item>
		<item>
		<title>This years holiday</title>
		<link>http://www.evenflow.nl/2009/07/25/this-years-holiday/</link>
		<comments>http://www.evenflow.nl/2009/07/25/this-years-holiday/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 20:22:31 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=710</guid>
		<description><![CDATA[Since I've started taking lessons to ride a motorcycle, I decided not to go on a holiday this year. I'm going to both HAR2009 and Lowlands and thought that would be enough fun this summer, but things turned out differently. Currently, I'm in Stockholm, Sweden. My two colleagues are on a summer vacation for two [...]]]></description>
			<content:encoded><![CDATA[<p>Since I've started taking lessons to ride a motorcycle, I decided not to go on a holiday this year. I'm going to both HAR2009 and Lowlands and thought that would be enough fun this summer, but things turned out differently. Currently, I'm in Stockholm, Sweden. My two colleagues are on a summer vacation for two weeks and I really didn't want to sit at the office by myself, so I decided to go to Stockholm. Since I can work anywhere when I have my laptop and an internet connection, I'm doing some work here. Next to that, I'm partying with friends and just having fun. Stockholm is a great city. Swedish culture is quite close to the Dutch one and even the language has a lot of resemblance (although it's hard to understand when spoken). Because I didn't want to travel by plane and wanted to see a bit more of Northern Europe, I drove here by car. It was a 16 hour drive, but it was doable. I left Utrecht at 7:30 in the morning and arrived here 15 hours later. Some days ago, we went on a booze cruise to Finland. It was a one-day trip in a big cruise ship (Love Boat style) from Stockholm to Aland. On the boat, there was a huge tax free shop where all Swedish people went crazy. I've never seen so many people buying so much alcohol. Apparently alcohol is expensive here.</p>
<p>Although the countries I drove through (Germany, Denmark and Sweden) are quite similar, there are some things that I noticed and I need to write down for future reference (I might edit this list over the course of my stay):</p>
<ul>
<li>In Germany, a Frikadelbrotchen is something different than in the Netherlands.</li>
<li>Danish people can't drive. They stick on the left lane, which is quite annoying when you want to put the pedal to the metal.</li>
<li>Swedish ATMs and other machines that eat credit cards want your card upside down.</li>
<li>Supermarkets and other shops have an ingenious system of giving you cash change. Everything is automated.</li>
<li>Swedish highways are great. Not a lot of cars (except around Stockholm).</li>
<li>Parking is much cheaper in Sweden then in the Netherlands. Where I'm staying, it's 5 SEK (0,50 euro) per hour and 30 SEK (3 euro) for a whole day.</li>
<li>Traffic lights go to orange before switching to green (we should have this in NL too..)</li>
<li>Only saw one police car (without cops in it).</li>
<li>Most people drive exactly the maximum speed.</li>
<li>There are some nice rock and metal radio stations here in Stockholm. Not only mainstream crap.</li>
<li>There is a toll system in Stockholm. It's automated with license plate recognition, but I'm not sure if they can read mine and if, where and when I have to pay.</li>
<li>The bridges in Denmark and the one from Denmark to Sweden is awesome.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1984/this-years-holiday/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby SOAP &#8211; the story continues..</title>
		<link>http://www.evenflow.nl/2009/05/27/ruby-soap-the-story-continues/</link>
		<comments>http://www.evenflow.nl/2009/05/27/ruby-soap-the-story-continues/#comments</comments>
		<pubDate>Wed, 27 May 2009 10:39:25 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=707</guid>
		<description><![CDATA[As written before, I've been struggling with Ruby and SOAP. Apart from the fact that I really don't understand why the world likes to use SOAP, I've ran into a couple of issues I'd like to share for future generations:

soap4r and ActionWebService don't play nicely. The SOAP implementation that is included in the standard Ruby [...]]]></description>
			<content:encoded><![CDATA[<p>As written before, I've been struggling with Ruby and SOAP. Apart from the fact that I really don't understand why the world likes to use SOAP, I've ran into a couple of issues I'd like to share for future generations:</p>
<ul>
<li>soap4r and ActionWebService don't play nicely. The SOAP implementation that is included in the standard Ruby distribution isn't very nice at all (issues with validating WSDLs), so I tried using soap4r to make SOAP requests to remote services. Single scripts worked eventually, but when including this in a Rails project that also acts as a SOAP server (using AWS), things broke majorly. Not spending too much time, I decided to make SOAP requests from external scripts that I call with exec().</li>
<li>soap4r doesn't set the xsi:nil attribute to elements that allow this when the content is nil, but the element is a ComplexType. The solution here was to manually construct the SOAP elements (using SOAP::SOAPElement).</li>
<li>On my development machine (OSX with Ruby 1.8.6) things finally worked fine, but when deploying to a production environment (Linux with Ruby 1.8.7), things broke when calling "id" on a SOAP result object with the message "warning: Object#id will be deprecated; use Object#object_id" and instead of the id in the SOAP result, I got the object_id (which is an internal id for the object and utterly useless for my purposes). The solution here was to not call methods on the result object, but treating it as a Hash. So result.id becomes result['id'].</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1545/ruby-soap-the-story-continues/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cultural ignorance</title>
		<link>http://www.evenflow.nl/2009/05/11/cultural-ignorance/</link>
		<comments>http://www.evenflow.nl/2009/05/11/cultural-ignorance/#comments</comments>
		<pubDate>Sun, 10 May 2009 23:48:31 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=700</guid>
		<description><![CDATA[Just before I was going to sleep, I was reading my daily news sources and stumbled apon a small article about Gordon, a famous Dutch singer, who's competing in the Euro Vision Song contest, saying he's not going to sing at the EVS if some gay people in Moscow can't have a gay pride there [...]]]></description>
			<content:encoded><![CDATA[<p>Just before I was going to sleep, I was reading my daily news sources and stumbled apon a small article about Gordon, a famous Dutch singer, who's competing in the Euro Vision Song contest, saying he's not going to sing at the EVS if some gay people in Moscow can't have a gay pride there during the song contest. Now I think this is such a stupid action that I had to sit behind my computer and write something about this.</p>
<p>First of all, don't get me wrong here. I'm totally cool with gay people. I have gay friends and I'm absolutely tolerant on the way people are (I'm not even going to defend myself on this one). But what bothers me is that some gay singer from a tiny country called the Netherlands thinks he's somebody internationally and trying to make a statement by not performing at the EVS. As if the Russians would care. This really shows that Gordon has absolutely no sense of the (in this case) Russian culture. Now, I've been to Russia a couple of times, and I'm no expert on Russian culture, but I have tasted a bit of Russian culture in general and from what I have experienced, I can say that it's so very different from Dutch culture. Here, people would be shocked if a celebrity would cancel a gig for an idealistic reason, but I'm afraid that Russia doesn't work that way. Of course there are gay people everywhere, even in Russia (although most straight Russians would disagree with me), but the general mentality isn't as tolerant and progressive as we have here in the Netherlands. I think we live in one of the most progressive and tolerant countries in the world (or at least I love to think I do), but that doesn't mean that the rest of the world works in the same way and that we should expect that people react the same way as we are used to. (I have the same feeling about forcing democracy on people that are not used to this, but that's something for a different post, I guess). Russians are proud people that have a strong opinion that they don't change for nothing, so why would they care if some gay singer from a tiny country is not going to sing at an already very gay contest? Of course I understand that Gordon wants to make a statement and that he wants to fight for gay emancipation worldwide, but as with many things I think that every culture needs its own way of dealing with issues. If you really want to change peoples views, use the right way. In my opinion, Gordon should perform and use the moment he's performing to make a statement. Do a speech in Russian and tell all Russian viewers what you want them to know. That will at least make the headlines.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1505/cultural-ignorance/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Festivals and other concerts</title>
		<link>http://www.evenflow.nl/2009/04/17/festivals-and-other-concerts/</link>
		<comments>http://www.evenflow.nl/2009/04/17/festivals-and-other-concerts/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 22:01:49 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=697</guid>
		<description><![CDATA[Over the last two weeks, I bought some tickets for the upcoming festival season and some concerts. I have no materialized ideas where I'll spend my summer holidays (thinking about a trip to Ukraine; Kiev, Crimea, Odessa), but I know which festivals and concerts I'll go to. For this year it will be Dredg (Melkweg), [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last two weeks, I bought some tickets for the upcoming festival season and some concerts. I have no materialized ideas where I'll spend my summer holidays (thinking about a trip to Ukraine; Kiev, Crimea, Odessa), but I know which festivals and concerts I'll go to. For this year it will be Dredg (Melkweg), The Mars Volta (Paradiso), Hacking at Random (Vierhouten), Lowlands (Biddinghuizen) and Porcupine Tree (HMH)! Really looking forward to all these nice events!</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1449/festivals-and-other-concerts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Song</title>
		<link>http://www.evenflow.nl/2009/04/11/a-song/</link>
		<comments>http://www.evenflow.nl/2009/04/11/a-song/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 22:01:18 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=687</guid>
		<description><![CDATA[As some people might know (mostly close friends and family), last year, I wrote a song. I wrote it for my (then) girlfriend, initially on acoustic guitar and I planned to only play it a couple of times for her and keep it a private thing. After some time, I decided to make a non-acoustic [...]]]></description>
			<content:encoded><![CDATA[<p>As some people might know (mostly close friends and family), last year, I wrote a song. I wrote it for my (then) girlfriend, initially on acoustic guitar and I planned to only play it a couple of times for her and keep it a private thing. After some time, I decided to make a non-acoustic version and recorded different instruments using my computer. The only problem was that I didn't have a good microphone to record the vocals and the drums were very flat, since I punched them in using a keyboard. But nevertheless, I distributed amongst some friends and family. As a birthday present from my Russian family, I got a session in a professional recording studio in Russia to record the vocals. Back home I mixed those in and the thing got better. Since I really wanted the thing to be sort of complete, I bought an electronic drum kit and recorded the drums as well. Just before christmas, my girlfriend broke up with me and my song was put on a shelf. I didn't listen to it for some time, but a couple of weeks ago, I played it again and I figured that I should do something with it. Today I decided to just put it in the wild for everybody to hear. The song is released under <a href="http://creativecommons.org/licenses/by-sa/3.0/nl/deed.en" >Creative Commons License</a>.</p>
<p>Listen to it and let me know what you think. <a href="/media/you.mp3" >You can download it here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1432/a-song/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails and SOAP part II</title>
		<link>http://www.evenflow.nl/2009/04/07/rails-and-soap-part-ii/</link>
		<comments>http://www.evenflow.nl/2009/04/07/rails-and-soap-part-ii/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 15:32:53 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=673</guid>
		<description><![CDATA[As written in a previous last post, I've been busy with Rails and SOAP. I've been figuring out how to pass hashes to my remote calls instead of an argument list.
The default API requires something like:

api_method :get_my_thingy, :expects =&#38;amp;gt; [:id =&#38;amp;gt; :int, :name =&#38;amp;gt; :string], :returns =&#38;amp;gt; [Thingy.struct]

When calling this (e.g. with a ruby soap [...]]]></description>
			<content:encoded><![CDATA[<p>As written in a previous last post, I've been busy with Rails and SOAP. I've been figuring out how to pass hashes to my remote calls instead of an argument list.</p>
<p>The default API requires something like:</p>
<pre class="brush: ruby;">
api_method :get_my_thingy, :expects =&amp;amp;gt; [:id =&amp;amp;gt; :int, :name =&amp;amp;gt; :string], :returns =&amp;amp;gt; [Thingy.struct]
</pre>
<p>When calling this (e.g. with a ruby soap thingy) it looks something like:</p>
<pre class="brush: ruby;">
soap.getMyThingy(2, &amp;amp;quot;foo&amp;amp;quot;)
</pre>
<p>But I would like to do:</p>
<pre class="brush: ruby;">
soap.getMyThingy(:id =&amp;amp;gt; 2, :name =&amp;amp;gt; &amp;amp;quot;foo&amp;amp;quot;)
</pre>
<p>For this to happen, I introduced an OptionStruct:</p>
<pre class="brush: ruby;">
module ActionWebService
 class OptionStruct &amp;amp;lt; ActionWebService::Struct
 member :id, :int
 member :name, :string
 end
end
</pre>
<p>After this, the API should be like:</p>
<pre class="brush: ruby;">
api_method :get_my_thingy, :expects =&amp;amp;gt; [OptionStruct], :returns =&amp;amp;gt; [Thingy.struct]
</pre>
<p>See my previous post for the Thingy.struct</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1408/rails-and-soap-part-ii/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jewel Labs</title>
		<link>http://www.evenflow.nl/2009/04/06/jewel-labs/</link>
		<comments>http://www.evenflow.nl/2009/04/06/jewel-labs/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 20:44:08 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=670</guid>
		<description><![CDATA[Over the last couple of months I've been starting new business with two friends. With one pal, I've been working on and off over the last couple of years and last autumn we decided to join forces in software development. We started developing a system for festival management (initially inspired by the lack of good [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last couple of months I've been starting new business with two friends. With one pal, I've been working on and off over the last couple of years and last autumn we decided to join forces in software development. We started developing a system for festival management (initially inspired by the lack of good systems for managing complex film festivals) and over the last months our product has taken shape. We're currently doing all the legal stuff, but we've already launched our website at <a href="http://www.jewellabs.net" >http://www.jewellabs.net</a>. Work will be done on the site over the coming weeks (some people requested screenshots of our product so I guess we'll have to make those), but I'm pretty pleased for now.</p>
<p>If you have any questions/comments/remarks/business proposals, let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1405/jewel-labs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails and SOAP</title>
		<link>http://www.evenflow.nl/2009/04/02/rails-and-soap/</link>
		<comments>http://www.evenflow.nl/2009/04/02/rails-and-soap/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 13:56:56 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=659</guid>
		<description><![CDATA[For a project, I'm currently implementing a SOAP API in Rails. The Rails application will function as a SOAP server and I'm using the datanoise activewebservice plugin for this. Implementing a SOAP API is pretty easy with this, however, I ran into some problems with returning complete model objects.
I have a model called Customer that [...]]]></description>
			<content:encoded><![CDATA[<p>For a project, I'm currently implementing a SOAP API in Rails. The Rails application will function as a SOAP server and I'm using the <a href="http://github.com/datanoise/actionwebservice/tree/master" >datanoise activewebservice plugin</a> for this. Implementing a SOAP API is pretty easy with this, however, I ran into some problems with returning complete model objects.</p>
<p>I have a model called Customer that I want to expose via my API. After setting up the API controller, I specified the following in /app/services/customer_api.rb:</p>
<pre class="brush: ruby;">
class CustomerAPI &amp;lt; ActionWebService::API::Base
  api_method :get, :expects =&amp;gt; [:int], :returns =&amp;gt; [Customer]
end
</pre>
<p>Implemented with:</p>
<pre class="brush: ruby;">
def get(id)
  return Customer.find(id)
end
</pre>
<p>Requesting the WSDL nicely gives the definition of Customer, but when making a request for a specific customer errored with the message "Cannot map Customer to SOAP/OM.". It appears that boolean values (in Ruby presented as true/false) and emtpy values (presented in Ruby as nil), were the problem. SOAP wants them as "true", "false" and "".</p>
<p>I solved this by extending my models with a to_struct() method that returns all attributes in a Struct. I extended both ActiveRecord::Base instances to get the instance method to_struct() inside my models and I extended ActiveRecord::Base class so it would return a Struct. The latter is needed, since the SOAP plugin wants to know the attributes and types of the Struct, without actually creating one. Here's what I did:</p>
<p>To extend ActiveRecord::Base with class methods create a module and put the following in your /config/environment.rb:</p>
<pre class="brush: ruby;">
require 'model_extensions'
ActiveRecord::Base.send(:extend, ModelExtensions)
</pre>
<p>Then in the module:</p>
<pre class="brush: ruby;">
module ModelExtensions
  def struct
    # Check if the DataStruct is already defined
    begin
      eval(&amp;quot;#{self}::DataStruct&amp;quot;)
    rescue
      # Define the DataStruct class and fill it with
      # members that resemble the model
      class_eval &amp;lt;&amp;lt;-EOF
        class DataStruct &amp;lt; ActionWebService::Struct
          #{self}.columns.map{|c| member c.name.to_s, c.type.to_s}
        end
      EOF
    end
    return eval(&amp;quot;#{self}::DataStruct&amp;quot;)
  end
end
</pre>
<p>Now to create a DataStruct in a model, we define the following:</p>
<pre class="brush: ruby;">
module ActiveRecord
  class Base
    def to_struct
      # Get a DataStruct and instantiate
      struct = self.class.struct.new
      # Set the attributes after clean-up
      self.attributes.each do |k,v|
        v = (v.nil?) ? &amp;quot;&amp;quot; : ((v == true) ? &amp;quot;true&amp;quot; : (v == false) ? &amp;quot;false&amp;quot; : v)
        struct.send(&amp;quot;#{k}=&amp;quot;, v)
      end
      return struct
    end
  end
end
</pre>
<p>To finish off, we change the API implementation a bit to the following:</p>
<pre class="brush: ruby;">
class CustomerAPI &amp;lt; ActionWebService::API::Base
  api_method :get, :expects =&amp;gt; [:int], :returns =&amp;gt; [Customer.struct]
end
</pre>
<p>Implemented with:</p>
<pre class="brush: ruby;">
def get(id)
  return Customer.find(id).to_struct
end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1388/rails-and-soap/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What were you doing in Stockholm, Kevin Rose?</title>
		<link>http://www.evenflow.nl/2009/03/22/what-were-you-doing-in-stockholm-kevin-rose/</link>
		<comments>http://www.evenflow.nl/2009/03/22/what-were-you-doing-in-stockholm-kevin-rose/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 20:54:34 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=648</guid>
		<description><![CDATA[Last week, I went to Stockholm, Sweden, with two friends. In some trendy club, we met Kevin Rose, or at least, a guy that really looks like Kevin. Now, there are a couple of theories here:

It is Kevin, but he wouldn't admit it
Kevin was separated at birth
Kevin was cloned
It's Hippie Glen, dressed up as Kevin

Anyway, [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I went to Stockholm, Sweden, with two friends. In some trendy club, we met <a href="http://www.kevinrose.com" >Kevin Rose</a>, or at least, a guy that really looks like Kevin. Now, there are a couple of theories here:</p>
<ul>
<li>It is Kevin, but he wouldn't admit it</li>
<li>Kevin was separated at birth</li>
<li>Kevin was cloned</li>
<li>It's Hippie Glen, dressed up as Kevin</li>
</ul>
<p>Anyway, here are the pictures. Let me know what you think.</p>
<p><a href="http://www.evenflow.nl/wp-content/uploads/2009/03/dscn1680.jpg"><img class="alignnone size-medium wp-image-649" title="dscn1680" src="http://www.evenflow.nl/wp-content/uploads/2009/03/dscn1680-300x225.jpg" alt="dscn1680" width="300" height="225" /></a><a href="http://www.evenflow.nl/wp-content/uploads/2009/03/dscn1685.jpg"><img class="alignnone size-medium wp-image-650" title="dscn1685" src="http://www.evenflow.nl/wp-content/uploads/2009/03/dscn1685-300x225.jpg" alt="dscn1685" width="300" height="225" /></a></p>
<p>PS. We have no clue why this Kevin is pointing at the camera.. Could it be some habit?</p>
<p><script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1364/what-were-you-doing-in-stockholm-kevin-rose/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails will_paginate plugin</title>
		<link>http://www.evenflow.nl/2009/02/18/rails-will_paginate-plugin/</link>
		<comments>http://www.evenflow.nl/2009/02/18/rails-will_paginate-plugin/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 21:40:53 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=641</guid>
		<description><![CDATA[I know, it has been a long time since I've blogged and actually people have complained about the fact that I didn't do this for a long time. Well, in short, I'm fine. A lot has happened since the last time I've blogged, but I'll write about that when I make the time somewhere in [...]]]></description>
			<content:encoded><![CDATA[<p>I know, it has been a long time since I've blogged and actually people have complained about the fact that I didn't do this for a long time. Well, in short, I'm fine. A lot has happened since the last time I've blogged, but I'll write about that when I make the time somewhere in the upcoming weeks. Since I've been coding a lot with Rails lately, I just wanted to share some geek stuff with the rest of the world today.</p>
<p>In one of my projects, I'm using the <a href="http://github.com/mislav/will_paginate/tree/master" >will_paginate plug-in</a>, which is pretty cool. Without a lot of stuff, it will give you pagination in your views. It also works for generic Arrays. Anyway, there is one problem. The project I'm working with can contain a lot of records per table. Since will_paginate doesn't act like a named scope (or at least not in this case, since we're not directly calling paginate() on an AssociationProxy, but on an Array) and requires the whole set returned. This is, because it needs the size of the array as well, so it will calculate the total amount of pages and records in the collection. Obviously, this can be quite expensive if you have a lot of records in your table. It will retrieve all records, create objects in the Array and finally cut of just a very small part of it to display. Because of this, we came up with the following solution:</p>
<pre class="brush: ruby;">
# The amount of objects per page we want to show
limit = $OBJECTS_PER_PAGE

# If the page was set to 0 (shouldn't happen), or nil (yeah, nil.to_i == 0),
# set the offset to 0
offset_page = (page.to_i &gt; 0) ? page.to_i - 1 : 0
offset = limit * offset_page

# Create args hash with which we count
count_args = args.dup

# Add the limit and the offset to the arguments hash
args[:limit] = limit unless args[:limit]
args[:offset] = offset unless args[:offset]

# Count all object that would be there
total_count = objects.count(:all, count_args)

# Find all objects (this is limited)
objects = find(:all, args)

# Create an array filled with nil values, the size of the total collection
objects_array = Array.new(total_count, nil)

# Insert the found objects at the right place in the array
objects_array[(offset)..(offset + limit - 1)] = objects

# Call paginate() on the array with limit and page   
return objects_array.paginate(:per_page =&gt; limit, :page =&gt; page)
</pre>
<p>What this does is only getting the required records, using :limit and <img src='http://www.evenflow.nl/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> ffset in find() and an additional count() without :limit and <img src='http://www.evenflow.nl/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> ffset. To make sure that will_paginate gets a collection the size of the total collection, we create an Array filled with nil values, the size of count(). Then we insert the found records in this array.</p>
<p>The only problem is that the whole operation isn't atomic. The count could differ from the real objects array.</p>
<p>I haven't run any benchmarks, but the Rails logs tell me that only a very small subset of the complete table is selected.</p>
<p><strong>Update: </strong>Pointed out by <a href="http://www.dataloss.nl" >Habbie</a>, using SQL OFFSET is very slow. Back to the drawing board.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1292/rails-will_paginate-plugin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Birthday wrap-up</title>
		<link>http://www.evenflow.nl/2008/11/27/birthday-wrap-up/</link>
		<comments>http://www.evenflow.nl/2008/11/27/birthday-wrap-up/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 14:31:59 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=639</guid>
		<description><![CDATA[Some weeks ago, I got one year closer to the awful and frightening age of 30. The counter is at 28 now and I'm really afraid of losing my hair and turning gray after 30. Since I have my fathers hair, it's not likely that I'll get bald soon, but grey for sure. Anyway, this [...]]]></description>
			<content:encoded><![CDATA[<p>Some weeks ago, I got one year closer to the awful and frightening age of 30. The counter is at 28 now and I'm really afraid of losing my hair and turning gray after 30. Since I have my fathers hair, it's not likely that I'll get bald soon, but grey for sure. Anyway, this year, celebrating my birthday was awesome; I celebrated two times.  My actual birthday, I spent in Russia, which for obvious reasons was great. I flew east-bound on the 6th and turned 28 the same night at 0:00. Lena gave me my present (which I actually took with me from the Netherlands, but I didn't know what was in that strange looking package) just after midnight. She got me a binary watch, the ultimate geek wrist jewlery! The next day, my Russian family prepared a very nice lunch and I got meet Lena's grandfather. Communicating was hard, since my Russian is still very basic and her grandfathers English is pretty rusty. Anyway, I think we hit it off pretty well.</p>
<p>In the evening we went to a restaurant to celebrate with my Russian friends. Lena's family gave me half a day in a professional music studio to record the vocal tracks for a song I wrote for her a few months back. On Saturday we went there and it was super. I was pretty nervous to sing, but after 4 attempts, the sound engineer had enough stuff to make a mix. After 3 hours of montage, the vocals were ready and I was handed a CD. And no, I'm not going to publish it.</p>
<p>The next day, we were invited to a wedding of Lena's best friend. Very nice and interesting, since it was my first Russian wedding. Weddings there and here are different, but I'll not go into the details now. The experience itself was great. On Monday, the inevitable moment came to fly back. Always hard, but I managed.</p>
<p>The second part of my birthday was the Dutch version. I invited some Dutch friends and we celebrated at my house. The atmosphere was nice, although the party turned out to be a circle-party (typical Dutch party where people sit in a circle talking and I actually hate these kinds of parties), but the all beer and wine finished, someone puked and most were pretty drunk. After midnight we went out to the city center to continue celebrating. The pinnacle of the evening was a round of Vodka, where one of my friends decided to not pour the drink into his mouth, but splashed it into his eyes. Zanas!</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1096/birthday-wrap-up/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Office in a day</title>
		<link>http://www.evenflow.nl/2008/10/29/office-in-a-day/</link>
		<comments>http://www.evenflow.nl/2008/10/29/office-in-a-day/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 23:01:42 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=625</guid>
		<description><![CDATA[Since some time, I've been working on some software with a friend of mine, but since things accelerated over the last couple of months, we decided that it was time for a real office. We're both freelance geeks but we decided to join forces and start a new business. I'm currently working on an awesome [...]]]></description>
			<content:encoded><![CDATA[<p>Since some time, I've been working on some software with a friend of mine, but since things accelerated over the last couple of months, we decided that it was time for a real office. We're both freelance geeks but we decided to join forces and start a new business. I'm currently working on an awesome application for a customer and the development for this is coming on very well, but since a freelancer can work more than 40 hours a week, I have plenty of time to do extra stuff. Most of the time, I work at home, with the ocassional meeting with my customers, but I sometimes notice that at home I'm distracted; doing some laundry, feeding the cats, getting some groceries, etc. And, the room I initially planned as my office is still full of stuff I haven't found a place for. I figured I needed a place that is a better working environment and to really get things going with my friend, we need to sit face-to-face a lot to discuss the design and implementation of our soon-to-be application. So, in the last months, we looked for office space and found it. Currently we're renting a place in Diemen for very little money.</p>
<p>Last week we got the keys and we wanted to get the whole thing up and running as soon as possible. Since <a title="Insida" href="http://www.insida.nl" >my sister</a> is an interior decorator and has her own company, we decided to give her carte blance on the interior. We're both male geeks and don't have a lot of knowledge on interior stuff, having my sister do the interior was a very good choice. Since she was thinking about advertising a new service called "office in a day", this was a perfect test case for her. Last week I made some photos of the place and sent them, together with a very basic map to her. On Sunday, she made a design and showed us Monday morning. We both were very excited about the design and the concept behind it, so we rushed to various stores to buy furnitures and office supplies. Since my sister has a big network of people in her business, we were able to get flooring tiles in two hours. We drove to the factory to pick them up and got the whole floor done in an hour or two. We put the furniture together and put the stuff in and the result is amazing! Test case succesful and customer happy! Here are the results:</p>
<p><a href="http://www.evenflow.nl/wp-content/uploads/2008/10/img_0093.jpg">
<a href='http://www.evenflow.nl/2008/10/29/office-in-a-day/img_0092/' title='img_0092'><img src="http://www.evenflow.nl/wp-content/uploads/2008/10/img_0092-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.evenflow.nl/2008/10/29/office-in-a-day/img_0093/' title='img_0093'><img src="http://www.evenflow.nl/wp-content/uploads/2008/10/img_0093-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.evenflow.nl/2008/10/29/office-in-a-day/img_0094/' title='img_0094'><img src="http://www.evenflow.nl/wp-content/uploads/2008/10/img_0094-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.evenflow.nl/2008/10/29/office-in-a-day/img_0095/' title='img_0095'><img src="http://www.evenflow.nl/wp-content/uploads/2008/10/img_0095-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.evenflow.nl/2008/10/29/office-in-a-day/img_0096/' title='img_0096'><img src="http://www.evenflow.nl/wp-content/uploads/2008/10/img_0096-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
</a></p>
<p>Of course, I wouldn't be me if I didn't make a shameless plug, so, if you need an awesome interior designer, especially for your office needs, call my sister. You can find more information on her website at <a title="Insida" href="http://www.insida.nl" >http://www.insida.nl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/1022/office-in-a-day/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tech and the visually impaired</title>
		<link>http://www.evenflow.nl/2008/10/03/tech-and-the-visually-impaired/</link>
		<comments>http://www.evenflow.nl/2008/10/03/tech-and-the-visually-impaired/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 09:13:43 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=610</guid>
		<description><![CDATA[For over 1.5 years now, I've been doing some voluntary work. Every week, I swim with visually impaired people. I pick them up by car and we drive to a swimming pool in another city. The group of people is quite large and it feels like some kind of community.  It's actually not about swimming, [...]]]></description>
			<content:encoded><![CDATA[<p>For over 1.5 years now, I've been doing some voluntary work. Every week, I swim with visually impaired people. I pick them up by car and we drive to a swimming pool in another city. The group of people is quite large and it feels like some kind of community.  It's actually not about swimming, but more about social interaction. Over the last 1.5 years, I've gotten to know quite some people and often have very interesting discussions about the abilities and disabilities of the visually impaired. What really surprised me is the technology adoption level of most of the people I talk to. Almost everybody uses email and mobile phones to communicate. The youngest in the group is 23 years old and the oldest is over 85. Even the people that could easily be my grand parents use email all the time and browse the Internet a lot. I don't know a lot of people over 65 that are so actively involved in tech.</p>
<p>Since I am the proud owner of an iPhone, I handed my new gadget to some people last week and the reactions were quite interesting. Of course, this device is utterly useless for people that can't see (well), since there is only one button on the thing, that doesn't even allow you to call. Now, I notice a lot of touch screen devices appearing lately. Samsung, LG and Noka, among others have neat devices with just a piece of plastic that is used for user interaction. My guess is that in a couple of years, all phones will have touch displays and no more buttons. The same happened with color displays. Some years ago, there were only phones with black/white displays, but nowadays, there aren't a lot of these devices on the market anymore. I'm very curious to see how phone buttons evolve and if there are any manufacturers that keep an eye on visually impaired people. Maybe this is such a small market that it's not profitable, so only smaller companies will produce special (expensive) devices, but I hope not.</p>
<p>It's interesting to see how a whole group of people sometimes is just left out. In 2001, a similar thing happened with the Euro notes. Before, we had the Guilder (Gulden in Dutch) and on every bank note, there were dots of ink that you would be able to feel and would tell you what the value of the note was. This is currently not the case for Euro notes. There is no way to tell what value the note has, except by it's size. The higher the value, the bigger the note, but without any comparison, it's not easy to tell what kind of note you have, without seeing it. The difference between a 20 Euro and a 50 Euro note for example isn't that distinguishable. A lot of blind people carry special devices with which they can measure the size of the note, but obviously, this is very inconvenient. I really don't understand why the good idea of putting dots on a note wasn't inherited when the Euro was introduced.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/978/tech-and-the-visually-impaired/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone jailbreak and vendor lock-in</title>
		<link>http://www.evenflow.nl/2008/09/18/iphone-jailbreak-and-vendor-lock-in/</link>
		<comments>http://www.evenflow.nl/2008/09/18/iphone-jailbreak-and-vendor-lock-in/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 09:57:40 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=599</guid>
		<description><![CDATA[Last week, I jailbroke my iPhone. This means that I can install applications without having to use the Apple appstore. Of course, this is nice. Outside of the appstore, there are lots of packages that you can install and applications that haven't been published by Apple (yet). I mainly jailbroke it because I wanted to [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I jailbroke my iPhone. This means that I can install applications without having to use the Apple appstore. Of course, this is nice. Outside of the appstore, there are lots of packages that you can install and applications that haven't been published by Apple (yet). I mainly jailbroke it because I wanted to use SyncJe for SyncML stuff.</p>
<p>When the first generation iPhone was there (without SDK) I understand that there was a need for jailbreaking, but nowadays, with a huge appstore, this need seems to be less, at least for normal users. iPhone hackers obviously want to be able to install additional tools on the device, but what I noticed is that the software that you can dowload on a jailbroken iPhone is often pretty crappy. Stuff crashes or doesn't really work the way you want it to (if you can install it at all; SyncJe doesn't on my phone). Since there are lots of free packages at the appstore, I prefer using them, in favour of the ones you can download from other sources. Another problem with these non-appstore packages is that there seems to be a huge number of sources, all providing different packages. Currently there are 2 installer packages (Installer.app and Cydia) which both contain a subset of available packages.</p>
<p>I like centralized repositories that contain packages that went through a quality check. The same applies for my Linux systems, where I don't want to add 100 extra sources to my apt config, just to run specific software, from which I don't know the quality. Of course, the whole appstore thing creates a vendor lock-in, which in a way is kind of bad, but on the other hand often guarantees some sort of quality control.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/948/iphone-jailbreak-and-vendor-lock-in/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone</title>
		<link>http://www.evenflow.nl/2008/09/11/iphone/</link>
		<comments>http://www.evenflow.nl/2008/09/11/iphone/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 22:26:49 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=597</guid>
		<description><![CDATA[Today, I got an iPhone 3g! And yes, it's very very very sexy. I hadn't played a lot with iPhones from friends, but I must say that it rocks. The interface is so nice and snappy. The only thing I don't like it that it seems that Apple doesn't really care about integrating with other [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I got an iPhone 3g! And yes, it's very very very sexy. I hadn't played a lot with iPhones from friends, but I must say that it rocks. The interface is so nice and snappy. The only thing I don't like it that it seems that Apple doesn't really care about integrating with other systems than with their own platform. I happen to own an iMac, but even then, I had to jump through hoops to get my stuff migrated from my 'old' Nokia n61i.</p>
<p>I happen to use <a href="http://www.zyb.com">Zyb.com </a>as an online backup for my contacts and calendars. My Nokia played nice with it and synced things with SyncML, but Apple decided not to support this. 3rd party apps aren't really that great or don't support syncing calendars. What I finally did was using the "Funambol" application to sync my contacts with Zyb, but because Apple closed the format of the iCal database, Funambol only does the contacts (same for Synthesis SyncML2iPhone). Then I exported my calendars from the Zyb site to vcalendars and imported them in Apple's desktop iCal application. From there, I could sync my calendar with iTunes.</p>
<p>The problem I'm facing is that I now can sync my contacts from my phone to Zyb, but not my calendar, which kind of sucks. I'm still trying to figure out a way to (except from installing an Exchange server) sync all my things (calendar, notes, etc).</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/940/iphone/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Life update</title>
		<link>http://www.evenflow.nl/2008/09/10/life-update/</link>
		<comments>http://www.evenflow.nl/2008/09/10/life-update/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 11:05:18 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=594</guid>
		<description><![CDATA[Just a quick update on life. Currently, I'm very busy finishing a project for one of my customers, which will be done by the 14th of October. A new project is already in the pipeline, for which I'm very eager to start with. The project will be about implementing a brand new Ruby on Rails [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick update on life. Currently, I'm very busy finishing a project for one of my customers, which will be done by the 14th of October. A new project is already in the pipeline, for which I'm very eager to start with. The project will be about implementing a brand new Ruby on Rails application and I really can't wait to do some hardcore coding again. Being a freelance developer allows me to pick the projects I really like and after 6 months of managing people and talking a lot in meetings, it's time to dive into some code again. Next to that, there is another upcoming project that I started with a good friend of mine last year, but is now getting very serious. The planning is to rent some office space and start coding to finish the product before January.</p>
<p>For the rest, things are going well. Last weekend I travelled to St. Petersburg again (for obvious reasons). The weekend was so great. The only thing we did was visit a birthday party of some friends and the rest was just spending time together. I decided to fly from Dusseldorf this time, since it was a lot cheaper than from Amsterdam and the scheduled times were also much better (Friday in the afternoon and back on late Sunday evening). I flew with BlueWings, a German budget company, and the service was nice.</p>
<p>The day after returning, I suffered my usual post-Russia depression, but now I'm doing fine. I know that this was not the last time.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/938/life-update/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And back online..</title>
		<link>http://www.evenflow.nl/2008/08/18/and-back-online/</link>
		<comments>http://www.evenflow.nl/2008/08/18/and-back-online/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 14:27:05 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=591</guid>
		<description><![CDATA[Today I realized that it's been over a month that I've blogged anything here. Lately, I've been kind of busy and spend less time online. Also other media have suffered my absence latetely. Various people even asked if I'm ok and asked about stories about NYC and Russia.
Actually, nothing happened. I'm ok, but kind of [...]]]></description>
			<content:encoded><![CDATA[<p>Today I realized that it's been over a month that I've blogged anything here. Lately, I've been kind of busy and spend less time online. Also other media have suffered my absence latetely. Various people even asked if I'm ok and asked about stories about NYC and Russia.</p>
<p>Actually, nothing happened. I'm ok, but kind of busy lately. In short, NYC was great; the HOPE conference was awesome with a lot of interesting speakers, a lot of fun stuff to do and to see. I really enjoyed my time there. The rest of NYC was also nice; I saw the stuff I didn't see before (couple of museums, neighborhoods, building) and with Bart and Ronald, I had a trip (in a Ford Mustang) to Atlantic City.</p>
<p>Russia was also great. Of course, the main thing was my girl and this was awesome. Therefore I'm back in Russia in the beginning of September. Next to that, I took extra Russian classes. I learned a lot, maybe too much. I really need to go over the lessons again to process the boost of information I got.</p>
<p>After coming back home, I really missed Russia. Obiously, her, but also all other people I got to know, the food, the language, the city. So, now I'm still recovering. Since a lot of people that work in my projects were on a holiday over the last two weeks, I've been working a lot to fill in for some of them, but now most of them are back and things are getting back to normal.</p>
<p>All in all, I'm feeling ok, maybe a bit tired from last weeks. I didn't really take rest during my holidays, so I think I'll need to recharge a bit over the coming weekends. And obviously, I can't wait to travel to Russia again!</p>
<p>For the people that missed me online: I'm back <img src='http://www.evenflow.nl/wp-includes/images/smilies/icon_smile.gif' alt=')' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/920/and-back-online/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NYC again!</title>
		<link>http://www.evenflow.nl/2008/07/12/nyc-again/</link>
		<comments>http://www.evenflow.nl/2008/07/12/nyc-again/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 12:54:52 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=589</guid>
		<description><![CDATA[Currently I'm in New York City again. I'm now sitting on a bench in Central Park, because apparently they have wifi here.
The city is still great. I'm very relaxed and at ease and feel great. Travel journals will come later and especially some reports from Hackers On Planet Earth, next weekend.
]]></description>
			<content:encoded><![CDATA[<p>Currently I'm in New York City again. I'm now sitting on a bench in Central Park, because apparently they have wifi here.</p>
<p>The city is still great. I'm very relaxed and at ease and feel great. Travel journals will come later and especially some reports from Hackers On Planet Earth, next weekend.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/851/nyc-again/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Going out stinks</title>
		<link>http://www.evenflow.nl/2008/07/05/going-out-stinks/</link>
		<comments>http://www.evenflow.nl/2008/07/05/going-out-stinks/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 13:29:51 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=588</guid>
		<description><![CDATA[Yesterday, it was the first time I went out in Utrecht since smoking is prohibited in clubs, restaurants and bars. Things were different; some places have separate smoking areas, others are completely empty, because everybody stays outside to smoke. Next to that, going out smells differently. Normally, the smell of going out was a combination [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, it was the first time I went out in Utrecht since smoking is prohibited in clubs, restaurants and bars. Things were different; some places have separate smoking areas, others are completely empty, because everybody stays outside to smoke. Next to that, going out smells differently. Normally, the smell of going out was a combination of smoke and beer smell. Now, the beer smell is still there, but the smoke is replaced by all sorts of body odours. Since smoke smells like smoke, normally you aren't surprised by other smells, but since body odours come in all sorts and sizes and are different for all people, yesterday evening was an interesting, but stinky experience for my nose. Sweat, bad breath, farts and sometimes very bad perfumes could now be easily distinguished. Sanne, with whom I was going out, also noticed and told me that she noticed that people smelled very bad. Although it's healthier to go out without people smoking, I really have to get used to stinky people.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/841/going-out-stinks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s not about usability</title>
		<link>http://www.evenflow.nl/2008/06/30/its-not-about-usability/</link>
		<comments>http://www.evenflow.nl/2008/06/30/its-not-about-usability/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 17:17:23 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=587</guid>
		<description><![CDATA[When it comes to applications or websites for the masses, it's not about usability, it's about userbase. I noticed this yesterday, when a new friend of mine invited me to use facebook. Currently I'm using Hyves, a Dutch social network to keep in touch with friends and Linkedin for some business contacts. Since a few [...]]]></description>
			<content:encoded><![CDATA[<p>When it comes to applications or websites for the masses, it's not about usability, it's about userbase. I noticed this yesterday, when a new friend of mine invited me to use facebook. Currently I'm using Hyves, a Dutch social network to keep in touch with friends and Linkedin for some business contacts. Since a few months I'm also familiar with vkontakte, a big Russian network, but I don't have my own account there. During my recent trip to St. Petersburg, I made some new friends and one asked me if I had a facebook account. I didn't have one yet, but I decided to get one, just to keep in contact with my international friends. I've been playing around with it for some time now and I must say that it's so much better than Hyves. Basically Hyves sucks; it's slow, ugly and very hairy in navigation. But why is it the biggest network in the Netherlands? Not because it's user friendly, but because everybody uses it. Obviously the nature of social networks contributes to this kind of behaviour; who wants to be on a network without any friends? But I think this statement is also true for a lot of other software. Since the days of byte-islands have passed a long time ago, it's necessary to interface, and so, using what everybody uses is key. This is true for file formats, but also for usage of applications in general. The people I know are mostly geeks or have some affinity with IT. For them it's easy to use something out of the ordinary, because they can manage (converting file formats, jumping through holes to get their linux machine hooked up to a mac, finding out how a different system works, etc), but for the masses the most important thing seems to be able to do what everybody does. Only to be able to ask a non geeky friend how things work. The geeky geeky friend wouldn't know it anyway; my usual response normally is "ooh, I don't know this windows stuff.. I use Linux.."</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/832/its-not-about-usability/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Birthday in Russia</title>
		<link>http://www.evenflow.nl/2008/06/29/birthday-in-russia/</link>
		<comments>http://www.evenflow.nl/2008/06/29/birthday-in-russia/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 15:47:37 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=586</guid>
		<description><![CDATA[Last week was a busy, but great one. Friday morning, Jur and I took the train from Utrecht CS to Schiphol airport. There we first had to pick up our tickets, since Rossiya Air doesn't do the nifty e-ticketing yet. After the woman behind the counter finally found our tickets, it was check-in time. All [...]]]></description>
			<content:encoded><![CDATA[<p>Last week was a busy, but great one. Friday morning, Jur and I took the train from Utrecht CS to Schiphol airport. There we first had to pick up our tickets, since Rossiya Air doesn't do the nifty e-ticketing yet. After the woman behind the counter finally found our tickets, it was check-in time. All went smoothly and after jumping the queue at the passport control by waving our Privium passes, we had some time to buy stuff at the duty free shops. Since Jur didn't have a present for Elena yet and we needed some extra orange stuff for the upcoming match we spent some money in one of the many souvenir shops that are at the Schiphol terminals. The rest was pretty standard; walking to the gate and finally boarding the plane.</p>
<p>After 2.5 hours in the air, we arrived at St. Peterburg airport. Customs took some time, but finally I saw her again in the arrival hall! It had only been 2 weeks since we'd been apart again, but I was so glad to see her again. By bus and metro we went to the apartments we rented and there, we had to say goodbye to Elena, since she had snuk out of the office and had to finish some work until 21:00. This was OK, since there was some unfinished business I had to take care of. First we went to the bakery to pay for the birthday cake I ordered. Katja, a friend of Elena helped me with preparing earlier on and helped me communicating with the girls at the bakery, but only by phone. Finally I payed and understood that the cake (with Miffy/Nijntje on it) would be ready at 16:00 the next day.</p>
<p>Next stop was the restaurant. I called them before and already made a reservation for 15 to 20 people, but they asked me to come to the restaurant before Saturday to discuss the evening. Since we had about 3 hours to take care of this and the restaurant was 45 minute drive from the city center, we took the metro to a train station on the north side of the city from where we wanted to take a train. When we arrived at the metro station we discovered that we took a big detour and found out that we just missed the train by 5 minutes. The next train would go an hour later, so we decided to take a taxi to the restaurant. After about 30 minutes we arrived there and had a nice meeting with an English speaking waitress and the manager. We created a menu and talked about all things involved. At first, the manager didn't allow us to bring our own cake, but after giving her a very sweet look, she finally agreed. All set, we took a bus back to the city and picked up Elena from her work. Here we met some people I worked with in a previous project and finally went to have dinner.</p>
<p>After dinner, Elena showed us a part of the city, next to the Neva river, where all sorts of festivities were, since it was the day that a lot of high school kids graduated. There was a big concert next to the river and lots of people looking at boats on the river. The atmosphere was very good and all people were happy. During this time of year, the sun doesn't go down and I found it pretty awkward to be on the street at midnight without complete darkness. The sun is somewhere on the horizon at 2 o'clock in the morning and it never gets completely dark.</p>
<p>Somewhere at 1 AM, Elena had to go home, so I decided to bring her (we took a car) and went back to the apartment. Jur and I decided to go out for a beer and finally found a nice pub where we could sit outside. Then it was off to bed.</p>
<p>The next day, Jur and I went to get a car we rented, but we couldn't find the rental place so we decided to skip this because we didn't need a car anyway. After, I went to Elena's house to meet her parents for the first time. I'm not a hero when it comes to the meet-the-parents-thing, but now I was even more nervous, since I didn't know what to expect in terms of the language barrier and cultural differences, but finally everything turned out very well. I felt very welcome and after the tour around the house, I had nice conversations with both Elena's mom and dad. I felt at home very quickly.</p>
<p>After some time Elena had to go to the hairdresser to get a new haircut for the evening and I went with her. The girl at the salon did a great job and she looked stunning. After she changed clothes at home we were off to go to celebrate her birthday. First we took a taxi to the apartment, so I could change my clothes and met there Oleg, a friend of Elena. I quickly went to get the cake, which turned out great. Then we took a taxi to the restaurant.</p>
<p><a title="Golden Hor'de" href="http://www.zorda.ru">The restaurant </a>was about 40 minutes by taxi and we arrived secondly, just after Julia and her boyfriend Andrei. The table was made and the menu was printed and closed with a seal. The cake was put in to the fridge by the staff. In 30 minutes all guests were there and the party started. Elena got a load of gifts from her friends and lots of flowers. For starters, guests could choose from the menu and as a main course the restaurant prepared a big meat and fish dish, a couple of big plates on the table where people could take from. The food was really good and very tasty and also the service was super. Dirty cutlery was replaced instantly and our waitress was very friendly, but also nice to look at. Especially Jur found her very interesting. Somewhere during the evening, Elena whispered to me that she would get the girls phone number if Jur didn't ask himself. As far as I know, everybody had fun and enjoyed the food, drinks and talks. After dinner we went for a quick walk to the beach, just to look at the sun going down and get some fresh air.</p>
<p>When we got back after 30 minutes, the soccer match between the Netherlands and Russia was about to start. Before, we had decided to watch it at the restaurant, since they had put up a big screen. Even though Jur and I were the only Dutch guys there, we still were dressed in orange. The match was very exciting, but finally Russia turned out to be the stronger team. Too bad for my country, but I think we were lucky to be in Russia when they won and not back home, since the party then really started. People dancing, shouting, singing and going completely crazy. One random guy in the restaurant came to us to thank for the game and was shouting "My friends! My friends" all the time. After taking some pictures with him, I decided to give him my orange "Holland" cap. After some time, we decided to go, but not before Elena got the waitress' (called Maria) number for Jur.  We got a ride from Slava back to the apartment. Since I was completely exhausted, I decided to go to sleep, while Jur decided to go out. He wanted to go to the city center, but since all bridges open during the night, his ride there took him over an hour, but apparently he had a great time there, partying with people in the street.</p>
<p>The next day, I spent some time with Elena in the city center, before going to her parents house again for dinner. This time, Jur joined us also and we had great Middle Asian food, prepared by Elena's dad. After lots of nice stories from her parents, we went back to the city center to check St. Pete's night life. Finally we ended up in a place called Rossi's with lots of girls on the dance floor. After some time, Elena said goodbye, for she was very tired. Jur and I stayed until very late and drank too much.</p>
<p>The day after, we decided to go to Peterhof, the Russian Versaille, but first, Jur and I had to go to some office to get a registration for our visa. After we met with Elena to go to Peterhof. At first, Maria would join us, but since she had exams, she didn't have time. However, she told us that I had left my credit card at the restaurant, but that she woulld take it with her, so we could get it from her. By hydrofoil boat it took about 30 minutes to arrive at Peterhof, which is located on the south side of Spb. Peterhof is a lovely place with lots of fountains, golden statues and nice trees. After walking around for some time and taking pictures, we took a bus back to the city, where we had Sushi at a great restaurant and some cocktails at the 7SkyBar, a trendy bar located on the top floor of a big shopping mall. After this I went back and off to bed and Jur decided to go to the city again to party.</p>
<p>The following day there was news that the invitation for my Russian business visa was ready. Also, we had to get our registration. First Jur and I went to the registration office, only to find out that the registration wasn't finished, but should be picked up later that day. Jur would take care of this after his visit to the Hermitage museum. Me and Elena met in a different part of the city to get my invitation. After this, Maria called where we could meet her so she could give me back my credit card. We met her, but she didn't have much time to talk, because she was going to celebrate her holiday, but told us that we should really call her next time we were in Russia. Then Elena en I went to her parents place for dinner again. Jur was also invited, but spent 2 hours in the queue for the Hermitage, so he decided to get some dinner by himself after the museum. After lovely dinner and a nice conversation, we went to the theater to watch Tchaikovsky's Nutcracker. Elena got two tickets from her colleagues for this beautiful ballet. Since we were in a big traffic jam while driving there, we were about 10 minutes late. Our tickets said that we had places in a lodge somewhere, but since we were late, they put us in a very nice place, just in front of the stage!</p>
<p>After the ballet, I went back to the apartment again and said goodbye to Elena. On the way, I bought some beers to celebrate our great time in Spb with Jur. At the apartment we drank a bit, just until Jur got a text message from a girl he had met in a taxi, the night before, asking him to join her at a birthday party somewhere in the center. Even though it was going to be a short night (we had to get a taxi at 6 AM back to the airport), he decided to go there anyway. I packed my stuff and fell sound a sleep at 1 AM, for I was exhausted.</p>
<p>At 5:45, my alarm clock sounded and I got up, took a quick shower and waited for the taxi. Elena called that we should go downstairs, because she arrived. 30 minutes we were at the airport. After standing in a queue for security it was time to say goodbye. This part is always the hardest. After a long kiss, I finally went through security. Before check-in we had to wait again in a very big queue, but finally we checked in our stuff. Then through customs, security again and then to the airplane.</p>
<p>Some 2.5 hours later, I arrived on Dutch soil again. Completely exhausted, but it was all worth it. The hardest is the emptiness that sets in after saying goodbye, but I'm going back to Russia in 25 days. I decided to shorten my trip to NYC by one week and then go to see my girl again.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/828/birthday-in-russia/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Euro 2008 &#8211; Russia vs the Netherlands?</title>
		<link>http://www.evenflow.nl/2008/06/16/euro-2008-russia-vs-the-netherlands/</link>
		<comments>http://www.evenflow.nl/2008/06/16/euro-2008-russia-vs-the-netherlands/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 11:53:01 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=585</guid>
		<description><![CDATA[Looks like things are really coming together. As I wrote before, I'll be in Saint-Petersburg the coming weekend. People who watch the Euro 2008 soccer championship know that the Netherlands is through to the quarter finals, but who will they play there? Well, this really depends on who will win the match Russia vs Sweden. [...]]]></description>
			<content:encoded><![CDATA[<p>Looks like things are really coming together. As I wrote before, I'll be in Saint-Petersburg the coming weekend. People who watch the Euro 2008 soccer championship know that the Netherlands is through to the quarter finals, but who will they play there? Well, this really depends on who will win the match Russia vs Sweden. The one who wins will be second in that group and will play the quarter finals agains the Netherlands. Obviously, I hope that Russia will win, but not only because I have a special connection with that country, but also because it would be very nice to watch that game in Russia itself.</p>
<p>I've already spoken about this with a Russian friend of mine and he already booked seats at a sports bar, somewhere in the city center of Saint-Petersburg. Elena also wants to see this match, so after her birthday, we will go there to watch the game.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/800/euro-2008-russia-vs-the-netherlands/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Birthday organisation</title>
		<link>http://www.evenflow.nl/2008/06/11/birthday-organisation/</link>
		<comments>http://www.evenflow.nl/2008/06/11/birthday-organisation/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 13:57:24 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=584</guid>
		<description><![CDATA[As I wrote before, I'm going to be in St. Petersburg from next Friday until the Wednesday after. Obviously, I'm very much looking forward to this and really can't wait to arrive there. Since it's Elena's birthday, but she didn't want to organize something big, I decided to organize the party. Because it should be [...]]]></description>
			<content:encoded><![CDATA[<p>As I wrote before, I'm going to be in St. Petersburg from next Friday until the Wednesday after. Obviously, I'm very much looking forward to this and really can't wait to arrive there. Since it's Elena's birthday, but she didn't want to organize something big, I decided to organize the party. Because it should be a surprise, I can't tell too much about it here, but I'm almost ready in organizing it and I hope it's going to be a blast. It's very interesting to organize a birthday from 1700 km away and do much of it online. Luckily, some friends of Elena are very willing to help me, which makes things easier.</p>
<p>Next to that, the place to stay has finally been arranged. Since the 21st of June is mid-summer night (in Russia, they call this white nights, since the sun will not go down), the city is swamped with tourists and other people that want to be there for a lot of festivities. As far as I heard, that weekend there will also be lots of festivities because of students graduating and thus partying. Elena called more than a hundred hotels to check for vacant rooms, but all hotels were booked. Finally she found an apartment in a nice location.</p>
<p>So, all is set and I'm really excited to be in Russia again! I even found a solution for my cats; <a href="http://www.sanneterlingen.nl">Sanne</a> offered to look after them and will sit my house as well during my stay in Russia. Super!</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/790/birthday-organisation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>30 hours in Kiev</title>
		<link>http://www.evenflow.nl/2008/06/03/30-hours-in-kiev/</link>
		<comments>http://www.evenflow.nl/2008/06/03/30-hours-in-kiev/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 17:07:00 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=583</guid>
		<description><![CDATA[Last weekend I went to Kiev, Ukraine. This was because the Ukraine is one of the few countries me and her can visit without a visa. Since I made a great business deal last week, I decided that we should celebrate this. Therefore we decided to meet in Kiev. Since we both couldn't take days [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend I went to Kiev, Ukraine. This was because the Ukraine is one of the few countries me and her can visit without a visa. Since I made a great business deal last week, I decided that we should celebrate this. Therefore we decided to meet in Kiev. Since we both couldn't take days off we only had a weekend.</p>
<p>Last Saturday morning, I took a plane from Amsterdam and arrived in Kiev around 11:30. She was already there and from the airport we took the bus and metro to the apartment we rented, somewhere in the city center. Kiev is nice city, but since the whole purpose of the trip was to be able to see eachother again, I didn't see too much of it. After spending some time at the apartment, we went out for diner and had sushi in a place across the street. After, we went to the main square and walked around a bit. Then we went back to the apartment to spend the night together.</p>
<p>The following morning, we took it easy and finally went back to the airport, because her flight left at 16:50. After saying goodbye, I went back on my own to the apartment again, since my flight would be at 6:45 the next morning. I figured I should get some sleep, since my taxi would pick me up at 4:00, but I couldn't sleep actually after the lovely time we spent together. I only slept for about 2 hours before I got up. The taxi ride was pretty ok and I even had a chat with the driver, half in English, half in Russian. At 8:40, I landed in Amsterdam again. Since I had a business meeting in the afternoon in Leeuwarden, I rushed back home, fed the cats and took the train to Leeuwarden, which is a 2 hour trip. After the meeting, I went back home, completely exhausted. Luckily, last night I was able to get some sleep finally. Too bad it was only 30 hours I spent with her, but it's only 15 days until I travel to Russia again! Really can't wait.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/771/30-hours-in-kiev/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Russia again!</title>
		<link>http://www.evenflow.nl/2008/05/18/russia-again/</link>
		<comments>http://www.evenflow.nl/2008/05/18/russia-again/#comments</comments>
		<pubDate>Sun, 18 May 2008 17:34:39 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=582</guid>
		<description><![CDATA[Today I booked a ticket to Saint-Petersburg! I'll be there from the 20th until the 25th of June, to be at her birthday on the 21st. My good friend Jur is going with me, so I bet we're going to have a good time. Next to the time I will spend with her (of course), [...]]]></description>
			<content:encoded><![CDATA[<p>Today I booked a ticket to Saint-Petersburg! I'll be there from the 20th until the 25th of June, to be at her birthday on the 21st. My good friend Jur is going with me, so I bet we're going to have a good time. Next to the time I will spend with her (of course), I think we will discover Piter's nightlife!</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/718/russia-again/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cogito Sentio, ergo sum</title>
		<link>http://www.evenflow.nl/2008/05/03/sentio-ergo-sum/</link>
		<comments>http://www.evenflow.nl/2008/05/03/sentio-ergo-sum/#comments</comments>
		<pubDate>Sat, 03 May 2008 20:10:06 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=580</guid>
		<description><![CDATA[I feel, therefore I am. This is how I feel lately. Sometimes my life seems like a roller coaster that doesn't stop. 2007 wasn't a very nice year for me. Changed jobs twice, broke up with my girlfriend, got back together, bought a house and broke up again. When going to a new year party [...]]]></description>
			<content:encoded><![CDATA[<p>I feel, therefore I am. This is how I feel lately. Sometimes my life seems like a roller coaster that doesn't stop. 2007 wasn't a very nice year for me. Changed jobs twice, broke up with my girlfriend, got back together, bought a house and broke up again. When going to a new year party on December 31st, I twittered "Hope 2008 will be less rocky then last year". Back then I really hoped that 2008 would be less emotional than 2007. Things turned out not to be this way. I can't say that the last 4 months were rocky, but for some reason, I find myself in new or emotional situations quite often. Of course, things started with the real breakup between Amber and me. As I wrote before, it was the best thing to do, but it wasn't easy. In December, I started my own business and of course, this brings extra excitement; meeting new people, doing business, making decisions. Business is going great, but of course there are always tough customers, debtors that don't pay, the usual. Not that this is a bad thing and I really feel that I made the right decision to start my own thing. Especially because of this, I can do the things I really want. I love to travel and having my own business allows me to see a lot of the world. I went to Prague, planned a 3 week trip to NYC again and planning on more trips this year. Traveling is great, it gives me lots of nice memories of people, different cultures and really feeds my hunger for knowledge and experience. But traveling can also be pretty emotional for me. Not in a bad way, but it does something with me. After Prague for example, I really missed the people, the city, the parties, etc.<br />
On top of this all, I met this great girl. Last year, I met her on a business trip abroad, just as a colleague and last December we started talking again after I switched on one of my IM clients that I hadn't used for 6 months. At first it was just normal chit-chat, but after my breakup with Amber, we started to talk more about life stuff. Finally we saw each other again during the easter weekend and we spent the last two week together. I don't want to go into too much detail, but I can say it was great. The only thing is that I'm here, and she's there. I don't know what's going to happen with this in the future, I will see, but of course this is something emotional again. "What am I doing? Didn't I want a less emotional 2008?", I asked myself multiple times of the last couple of weeks. But today, I realized I was wrong last new years eve. I don't want a dull life. I don't want the same thing every day. I want to progress. I need change, so I know I live.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/685/cogito-sentio-ergo-sum/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenPanel released</title>
		<link>http://www.evenflow.nl/2008/04/25/openpanel-released/</link>
		<comments>http://www.evenflow.nl/2008/04/25/openpanel-released/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 14:12:38 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=578</guid>
		<description><![CDATA[A couple of days ago, OpenPanel, an open source control panel for web hosting has been released. The guys at PanelSix just released the beta version and their stuff looks very promising. I haven't had the chance to play with it, but what I hear from others, it's absolutely awesome. Plesk and other panels are [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of days ago, <a href="http://www.openpanel.org">OpenPanel</a>, an open source control panel for web hosting has been released. The guys at <a href="http://www.panelsix.com">PanelSix</a> just released the beta version and their stuff looks very promising. I haven't had the chance to play with it, but what I hear from others, it's absolutely awesome. Plesk and other panels are usually a pain in the ass, because they are far from transparent. This stuff seems really promising, since it's open source and even has a CLI, which enables you to script hosting setups!<br />
Anyway, check it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/604/openpanel-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digital life expanded</title>
		<link>http://www.evenflow.nl/2008/04/16/digital-life-expanded/</link>
		<comments>http://www.evenflow.nl/2008/04/16/digital-life-expanded/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 10:20:37 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=577</guid>
		<description><![CDATA[In regards to my last post about digital life, I have expanded my digital life a bit more over the last few weeks. It started with adding Jabber to my list, after EURUKO08 and last week I signed up for a del.icio.us account. Also, my old ICQ number popped-up in my head again, so I [...]]]></description>
			<content:encoded><![CDATA[<p>In regards to my <a href="http://www.evenflow.nl/2008/02/14/21st-century-digital-life/">last post about digital life</a>, I have expanded my digital life a bit more over the last few weeks. It started with adding <a href="http://www.jabber.org">Jabber</a> to my list, after EURUKO08 and last week I signed up for a <a href="http://del.icio.us/weedebee">del.icio.us</a> account. Also, my old ICQ number popped-up in my head again, so I also started idling on that network again. It's nice that I was able to tie most of these things together. In jabber, I now have transports for jabber, MSN and ICQ and enabled twitter notification to my jabber account. My delicious network is now a feed in my Google Reader and in Firefox I installed the Google Reader notification plug-in. I know that more integration is possible, but for me, this is enough. Mail notification in my email client, IM stuff in jabber and slower media in my browser. And of course IRC. I know I can add this to jabber as well, but for me, irssi works best.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/577/digital-life-expanded/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Published!</title>
		<link>http://www.evenflow.nl/2008/04/13/published/</link>
		<comments>http://www.evenflow.nl/2008/04/13/published/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 12:57:36 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/?p=576</guid>
		<description><![CDATA[As written before, I wrote an article for the 2006 Hacker's Quarterly magazine, about an April Fools' joke I pulled on Wiard once. A couple of months ago, I got an email that said that the article would be published, but didn't say exactly when. Today, I checked the 2600.com website and found that my [...]]]></description>
			<content:encoded><![CDATA[<p>As written before, I wrote an article for the <a href="http://2600.com">2006</a> Hacker's Quarterly magazine, about an April Fools' joke I pulled on Wiard once. A couple of months ago, I got an email that said that the article would be published, but didn't say exactly when. Today, I checked the <a href="http://2600.com">2600.com</a> website and found that my article is in the <a href="http://store.2600.com/spring2008.html">Spring 2008 issue</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/576/published/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring</title>
		<link>http://www.evenflow.nl/2008/03/31/spring/</link>
		<comments>http://www.evenflow.nl/2008/03/31/spring/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 10:27:02 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/2008/03/31/spring/</guid>
		<description><![CDATA[It's sunny here, It's spring. But is this why I feel this way? Is it spring, or is it her?
]]></description>
			<content:encoded><![CDATA[<p>It's sunny here, It's spring. But is this why I feel this way? Is it spring, or is it her?</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/205/spring/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Euruko 2008, Prague and people</title>
		<link>http://www.evenflow.nl/2008/03/31/euruko-2008-prague-and-people/</link>
		<comments>http://www.evenflow.nl/2008/03/31/euruko-2008-prague-and-people/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 10:22:26 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/2008/03/31/euruko-2008-prague-and-people/</guid>
		<description><![CDATA[It's almost done for me. Euruko08 was fantastic! I took a plane on Friday and was kind of lucky. Since the plane was apparently overbooked, there was already someone in my seat, so I had to sit somewhere else. The nice stewardess told me to sit in the front of the plane, where normally the [...]]]></description>
			<content:encoded><![CDATA[<p>It's almost done for me. Euruko08 was fantastic! I took a plane on Friday and was kind of lucky. Since the plane was apparently overbooked, there was already someone in my seat, so I had to sit somewhere else. The nice stewardess told me to sit in the front of the plane, where normally the people sit who get the special treatment. Because of this, I also had some extra services like a newspaper and great food. The flight only took 90 minutes and was comfortable. After customs and luggage claim, I took the bus and metro to my hostel. The hostel was pretty basic, but ok.<br />
After strolling around the city center a bit, I took a tram to the opening party. On the way, I crossed one of Pragues many bridges and because of the great view over the river and the light (sun was just going down, which gave spectacular lighting), I stopped after the bridge, walked back and took some great pictures (I'll upload them later on). Afterwards I went on to the party.<br />
Here, there were some people already and very quickly I started some conversations. In the end there were around a hundred people. I talked to so many people from so many different countries; awesome. After the party, I took a taxi to the city center with Thomas and Niklas (from Germany) and Alex from Greece. We had some food (midnight snack) and then I went back to the hostel.<br />
Next day, I went to the conference and spent all day listening to talks, talking to people and so on. I had lunch with Thomas and Niklas and after the conference, we had dinner together at a nice pizza place. After that, party again. There were more people than the day before and again I had lots of conversations. After the party, I took a taxi back to the hostel again.<br />
The following morning, I got up and walked to the conference, alongside the river. Beautiful view! The conference again had nice talks and we had lunch together. The conference ended with 2.5 hours of lightning talks, where I was speaking last. The talk went alright. When the conference was really over, I met Marek, a dutch guy with whom I worked with a couple of years ago, but hadn't seen him since. Together with him, some colleagues, Niklas and Alex, we went to a Mexican bar/restaurant to drink and eat. Here we talked a lot and even tried out some cool code Alex came up with. When the bar was closing we left. I walked back to my hostel through the city center. Prague is such a beautiful city, especially by night!<br />
This morning, I woke up at 8:30 am, had breakfast and checked out of my hostel. Then I roamed the streets, looking at shops and so on. Now I'm in a small restaurant and will leave in a couple of minutes. I'll be doing the tourist thing a bit more and will go to the airport around 3 pm to get my flight back home at 5 pm.<br />
All in all, the weekend was absolutely fantastic! I feel great, met so many nice and interesting people. The only thing is that my voice is absolute crap now, because of all the talking and liters of beer I drank, but that will be fine.. Anyway, I'll be at Euruko 09 next year! Definitely!</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/206/euruko-2008-prague-and-people/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geeks and (spoken) language interest</title>
		<link>http://www.evenflow.nl/2008/03/29/geeks-and-spoken-language-interest/</link>
		<comments>http://www.evenflow.nl/2008/03/29/geeks-and-spoken-language-interest/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 16:06:16 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/2008/03/29/geeks-and-spoken-language-interest/</guid>
		<description><![CDATA[As written before, I'm currently in Prague for the Euruko 2008 Ruby congress. Yesterday evening, the congress was officially opened with a party at a very nice club. There I spoke with a lot of people, from all over Europe.  I had expected that most talks would be about Ruby or Rails, but actually, [...]]]></description>
			<content:encoded><![CDATA[<p>As written before, I'm currently in Prague for the Euruko 2008 Ruby congress. Yesterday evening, the congress was officially opened with a party at a very nice club. There I spoke with a lot of people, from all over Europe.  I had expected that most talks would be about Ruby or Rails, but actually, this didn't happen. What I found very interesting is that most conversations I had (and overheard) were about spoken languages. Apparently, geeks have a fascination for spoken languages. I, myself sucked very badly at French and German in high school (as I did in multiple subjects), but this was mainly because of a lack of interest in learning in general. Since I started programming, I really developed an interest in languages in general; comparing languages and structures within a language. Maybe because of this, I looked for a real challenge and started to learn Russian somewhere last year.<br />
The nice thing to notice is that it's not just me who's really fond of languages in general. I really wouldn't have guessed to find so many people with the same thing at a programming language congress.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/207/geeks-and-spoken-language-interest/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaking at EURUKO 2008</title>
		<link>http://www.evenflow.nl/2008/03/25/speaking-at-euruko-2008/</link>
		<comments>http://www.evenflow.nl/2008/03/25/speaking-at-euruko-2008/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 10:53:39 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/2008/03/25/speaking-at-euruko-2008/</guid>
		<description><![CDATA[Friday, I'll be flying to Prague for the EURUKO 2008 Ruby conference and will be doing a 10 minute "lightning talk" about Capistrano and Webistrano (stuff for deploying (Rails) applications in bigger environments).
]]></description>
			<content:encoded><![CDATA[<p>Friday, I'll be flying to Prague for the <a href="http://www.euruko2008.org">EURUKO 2008</a> Ruby conference and will be doing a 10 minute "lightning talk" about Capistrano and Webistrano (stuff for deploying (Rails) applications in bigger environments).</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/208/speaking-at-euruko-2008/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NYC, here I come (again)!</title>
		<link>http://www.evenflow.nl/2008/03/14/nyc-here-i-come-again/</link>
		<comments>http://www.evenflow.nl/2008/03/14/nyc-here-i-come-again/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 15:33:11 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/2008/03/14/nyc-here-i-come-again/</guid>
		<description><![CDATA[Today, I booked my ticket to NYC! I'll fly from Amsterdam on the 11th of July and will be back in the Netherlands the 4th of August. Planning so far is to spend the first week in New York City, visit some friends and just hang around. At the end of this week, I'll be [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I booked my ticket to NYC! I'll fly from Amsterdam on the 11th of July and will be back in the Netherlands the 4th of August. Planning so far is to spend the first week in New York City, visit some friends and just hang around. At the end of this week, I'll be spending my time at the HOPE conference. After that, I still have 2 weeks left and I don't quite know what I'll do then. I'll probably travel to some cities in the eastern part of the US, like Boston and Chicago.<br />
Anyway, I'm really looking forward to this!! Whoooo!!</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/209/nyc-here-i-come-again/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>De-pimping complete</title>
		<link>http://www.evenflow.nl/2008/03/07/de-pimping-complete/</link>
		<comments>http://www.evenflow.nl/2008/03/07/de-pimping-complete/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 15:58:36 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/2008/03/07/de-pimping-complete/</guid>
		<description><![CDATA[On monday, I got new rims installed on my car. Now it looks much more classy than it did before. Also, the original springs were installed, which lifted the care about 4 centimeters. We also found out that the rims and tires that came with the car were too small. They were 2 or 3 [...]]]></description>
			<content:encoded><![CDATA[<p>On monday, I got new rims installed on my car. Now it looks much more classy than it did before. Also, the original springs were installed, which lifted the care about 4 centimeters. We also found out that the rims and tires that came with the car were too small. They were 2 or 3 centimeters smaller in diameter than original BMW stuff. So, in total, I guess the car was lifted some 6 centimeters, which is great for all the speed bumps here in the neighborhood. Anyway, thanks to <a href="http://www.jayscarconnect.nl">Jay's Carconnect</a> for helping me out!</p>
<p>And here are the before and after pictures:</p>
<table>
<tr>
<td><a href='http://www.evenflow.nl/wp-content/uploads/2008/03/p1010350.JPG' title='p1010350.JPG'><img src='http://www.evenflow.nl/wp-content/uploads/2008/03/p1010350.thumbnail.JPG' alt='p1010350.JPG' /></a></td>
<td align="center">Before</td>
</tr>
<tr>
<td><a href='http://www.evenflow.nl/wp-content/uploads/2008/03/dscn0862.JPG' title='After'><img src='http://www.evenflow.nl/wp-content/uploads/2008/03/dscn0862.thumbnail.JPG' alt='After' /></a></td>
<td align="center">After</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/210/de-pimping-complete/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOPE 2008</title>
		<link>http://www.evenflow.nl/2008/03/07/hope-2008/</link>
		<comments>http://www.evenflow.nl/2008/03/07/hope-2008/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 14:13:55 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/2008/03/07/hope-2008/</guid>
		<description><![CDATA[I just preregistered for "Hackers On Planet Earth 2008&#8243;!!! As usual, HOPE will be held at the Pennsylvania Hotel in New York City (yes, NYC I'll be back!) July 18-20 2008.
Next thing is booking a flight..
]]></description>
			<content:encoded><![CDATA[<p>I just preregistered for "Hackers On Planet Earth 2008&#8243;!!! As usual, <a href="http://www.hope.net">HOPE</a> will be held at the Pennsylvania Hotel in New York City (yes, NYC I'll be back!) July 18-20 2008.<br />
Next thing is booking a flight..</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/211/hope-2008/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Angry neighbor</title>
		<link>http://www.evenflow.nl/2008/03/06/angry-neighbor/</link>
		<comments>http://www.evenflow.nl/2008/03/06/angry-neighbor/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 10:22:45 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/2008/03/06/angry-neighbor/</guid>
		<description><![CDATA[Today, I'm at home, sweating out a fever that struck me 2 days ago. I was lying in bed when the doorbell rang. I quickly got dressed and went downstairs. An older man was at the door. He seemed angry. Without introducing himself he told me that if he saw my cat in his yard [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I'm at home, sweating out a fever that struck me 2 days ago. I was lying in bed when the doorbell rang. I quickly got dressed and went downstairs. An older man was at the door. He seemed angry. Without introducing himself he told me that if he saw my cat in his yard again, he would kill him. Totally flabbergasted (my mind going into wtf-mode), I asked him to explain. He told me that he has "very expensive" pigeons and that my cat was constantly in his yard looking at them. He told me that he didn't want my cat near his animals and that I should keep my cats inside. I told him that this was not an option and that I considered his statement a threat. I also told him that if my cat would kill a pigeon, I would pay for it, but he kept on telling me that he would kill my cat if he would see it again. This totally pissed me off. After 10 minutes of discussion, he left, still in anger.<br />
Since I didn't know what my rights were, I called the police and they were very helpful. It turns out that this guys is responsible for securing his animals and if he wants to have a cat-free yard, he should take precautionary measures, but he's not allowed to do anything to my cats. The strange thing is that I never ever met the guy before. He lives somewhere on my block, but I don't know where exactly he lives. The police asked me to find out where he lives and try to talk to him and convey the message about him securing his animals. Cats are allowed to walk wherever they want.<br />
I'll try to find out where he lives somewhere next week and try to talk to him, but I have the feeling that this story will have a sequel.</p>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/212/angry-neighbor/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 7.10 and Huawei e220</title>
		<link>http://www.evenflow.nl/2008/02/28/ubuntu-710-and-huawei-e220/</link>
		<comments>http://www.evenflow.nl/2008/02/28/ubuntu-710-and-huawei-e220/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 17:07:36 +0000</pubDate>
		<dc:creator>xinit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evenflow.nl/2008/02/28/ubuntu-710-and-huawei-e220/</guid>
		<description><![CDATA[Yesterday, I got a HSDPA/UMTS USB modem. It's a Huawei e220, shipped standard with a KPN (and probably also an xs4all) HSDPA subscription. I hooked it up, but didn't seem to work out of the box with Linux. I run Ubuntu 7.10 (gutsy) on my laptop. After some research I found out that there were [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I got a HSDPA/UMTS USB modem. It's a Huawei e220, shipped standard with a KPN (and probably also an xs4all) HSDPA subscription. I hooked it up, but didn't seem to work out of the box with Linux. I run Ubuntu 7.10 (gutsy) on my laptop. After some research I found out that there were more people having problems with using the device in Linux. Some suggested that kernels > 2.6.20 shouldn't have a problem, but that's not what I experienced.<br />
After trying many options, I got it working. First some background. The device holds both a GSM modem and a flash drive. The flash drive contains the installation bloatware for use on windows (and maybe even mac) systems. When you connect the device, the usb-mass-storage driver is loaded and you can mount the thing, but that's not what we want.<br />
For some reason, when connecting the device, one serial port (managed by the usbserial driver) is found at /dev/ttyUSB0. However, for the device to work, you need to have 3 serial interfaces; ttyUSB0, ttyUSB1 and ttyUSB2. If it only gives you the first one (0), it won't work, not even a simple "ATZ" on the serial port. I'm not sure why you need three, because (we'll see that later) you just use ttyUSB0 to dial out.</p>
<p>Anyway, the following steps allowed me to use the device:</p>
<p>1. Download HuwaweiAktBbo tool from <a href="http://www.kanoistika.sk/bobovsky/archiv/umts/">http://www.kanoistika.sk/bobovsky/archiv/umts/</a> and run (or fist compile and then run) it. This tool does some magic with the usb library and will enable the extra 2 ports on the device.</p>
<p><del>2. rmmod usbserial and then run "modprobe usbserial vendor=0&#215;12d1 product=0&#215;1003&#8243;. This will force the driver to get things going well. (Check with lsusb if the product is 0&#215;1003, since I read it could also be 0&#215;1001)</del></p>
<p>3. Run the tool you just downloaded. You should now find ttyUSB0-2 in you /dev directory. </p>
<p>To execute the tool (I renamed it to e220setup), I put the following in /etc/udev/rules.d/51-mobiledata.rules:</p>
<pre>
#/etc/udev/rules.d/51-mobiledata.rules
# Rules for HAUWEI e220
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="1003",
RUN="/usr/local/bin/e220setup"
KERNEL=="ttyUSB0", SYMLINK="modem", GROUP="dialout", MODE="0660"
KERNEL=="ttyUSB1", GROUP="dialout" MODE="0660"
KERNEL=="ttyUSB2", GROUP="dialout" MODE="0660"
</pre>
<p>Now the device is setup and you can use /dev/ttyUSB0 to setup your connection. I use wvdial and my config looks like this:</p>
<pre>
[Modem1]
Modem = /dev/ttyUSB0
Baud = 460800
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
Init3 = ATM0
FlowControl = crtscts

[Dialer kpn]
Username = KPN
Password = KPN
Phone = *99#
Init2 = AT&#038;F
Init3 = ATQ0 V1 E1 S0=0 &#038;C1 &#038;D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","fastinternet","",0,0
Stupid Mode = 1
Inherits = Modem1
New PPPD = yes
Dial Command = ATDT
ISDN = 0
Modem Type = Analog Modem
</pre>
]]></content:encoded>
			<wfw:commentRss>http://fifo.nl/xinit/213/ubuntu-710-and-huawei-e220/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
